Changeset View
Changeset View
Standalone View
Standalone View
lib/libpfctl/libpfctl.c
Show First 20 Lines • Show All 192 Lines • ▼ Show 20 Lines | pf_nvrule_addr_to_rule_addr(const nvlist_t *nvl, struct pf_rule_addr *addr) | ||||
pf_nvuint_16_array(nvl, "port", 2, addr->port, NULL); | pf_nvuint_16_array(nvl, "port", 2, addr->port, NULL); | ||||
addr->neg = nvlist_get_number(nvl, "neg"); | addr->neg = nvlist_get_number(nvl, "neg"); | ||||
addr->port_op = nvlist_get_number(nvl, "port_op"); | addr->port_op = nvlist_get_number(nvl, "port_op"); | ||||
} | } | ||||
static void | static void | ||||
pfctl_nv_add_pool(nvlist_t *nvparent, const char *name, | pfctl_nv_add_pool(nvlist_t *nvparent, const char *name, | ||||
const struct pf_pool *pool) | const struct pfctl_pool *pool) | ||||
{ | { | ||||
u_int64_t ports[2]; | u_int64_t ports[2]; | ||||
nvlist_t *nvl = nvlist_create(0); | nvlist_t *nvl = nvlist_create(0); | ||||
nvlist_add_binary(nvl, "key", &pool->key, sizeof(pool->key)); | nvlist_add_binary(nvl, "key", &pool->key, sizeof(pool->key)); | ||||
pfctl_nv_add_addr(nvl, "counter", &pool->counter); | pfctl_nv_add_addr(nvl, "counter", &pool->counter); | ||||
nvlist_add_number(nvl, "tblidx", pool->tblidx); | nvlist_add_number(nvl, "tblidx", pool->tblidx); | ||||
ports[0] = pool->proxy_port[0]; | ports[0] = pool->proxy_port[0]; | ||||
ports[1] = pool->proxy_port[1]; | ports[1] = pool->proxy_port[1]; | ||||
nvlist_add_number_array(nvl, "proxy_port", ports, 2); | nvlist_add_number_array(nvl, "proxy_port", ports, 2); | ||||
nvlist_add_number(nvl, "opts", pool->opts); | nvlist_add_number(nvl, "opts", pool->opts); | ||||
nvlist_add_nvlist(nvparent, name, nvl); | nvlist_add_nvlist(nvparent, name, nvl); | ||||
} | } | ||||
static void | static void | ||||
pf_nvpool_to_pool(const nvlist_t *nvl, struct pf_pool *pool) | pf_nvpool_to_pool(const nvlist_t *nvl, struct pfctl_pool *pool) | ||||
{ | { | ||||
size_t len; | size_t len; | ||||
const void *data; | const void *data; | ||||
data = nvlist_get_binary(nvl, "key", &len); | data = nvlist_get_binary(nvl, "key", &len); | ||||
assert(len == sizeof(pool->key)); | assert(len == sizeof(pool->key)); | ||||
memcpy(&pool->key, data, len); | memcpy(&pool->key, data, len); | ||||
▲ Show 20 Lines • Show All 309 Lines • Show Last 20 Lines |