diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/mnl.h | 72 | ||||
-rw-r--r-- | include/netlink.h | 2 |
2 files changed, 34 insertions, 40 deletions
diff --git a/include/mnl.h b/include/mnl.h index 84c362a2..4662cd04 100644 --- a/include/mnl.h +++ b/include/mnl.h @@ -5,17 +5,11 @@ #include <netlink.h> #include <libmnl/libmnl.h> -struct mnl_ctx { - struct mnl_socket *nf_sock; - unsigned int seqnum; - unsigned int debug_mask; -}; - struct mnl_socket *netlink_open_sock(void); void netlink_close_sock(struct mnl_socket *nf_sock); uint32_t mnl_seqnum_alloc(uint32_t *seqnum); -uint16_t mnl_genid_get(struct mnl_socket *nf_sock, uint32_t seqnum); +uint16_t mnl_genid_get(struct netlink_ctx *ctx); struct mnl_err { struct list_head head; @@ -38,57 +32,56 @@ int mnl_nft_rule_batch_del(struct nftnl_rule *nlr, struct nftnl_batch *batch, int mnl_nft_rule_batch_replace(struct nftnl_rule *nlr, struct nftnl_batch *batch, unsigned int flags, uint32_t seqnum); -struct nftnl_rule_list *mnl_nft_rule_dump(struct mnl_socket *nf_sock, - int family, uint32_t seqnum); +struct nftnl_rule_list *mnl_nft_rule_dump(struct netlink_ctx *ctx, + int family); -int mnl_nft_chain_add(struct mnl_socket *nf_sock, struct nftnl_chain *nlc, - unsigned int flags, uint32_t seqnum); +int mnl_nft_chain_add(struct netlink_ctx *ctx, struct nftnl_chain *nlc, + unsigned int flags); int mnl_nft_chain_batch_add(struct nftnl_chain *nlc, struct nftnl_batch *batch, unsigned int flags, uint32_t seqnum); -int mnl_nft_chain_delete(struct mnl_socket *nf_sock, struct nftnl_chain *nlc, - unsigned int flags, uint32_t seqnum); +int mnl_nft_chain_delete(struct netlink_ctx *ctx, struct nftnl_chain *nlc, + unsigned int flags); int mnl_nft_chain_batch_del(struct nftnl_chain *nlc, struct nftnl_batch *batch, unsigned int flags, uint32_t seqnum); -struct nftnl_chain_list *mnl_nft_chain_dump(struct mnl_socket *nf_sock, - int family, uint32_t seqnum); +struct nftnl_chain_list *mnl_nft_chain_dump(struct netlink_ctx *ctx, + int family); -int mnl_nft_table_add(struct mnl_socket *nf_sock, struct nftnl_table *nlt, - unsigned int flags, uint32_t seqnum); +int mnl_nft_table_add(struct netlink_ctx *ctx, struct nftnl_table *nlt, + unsigned int flags); int mnl_nft_table_batch_add(struct nftnl_table *nlt, struct nftnl_batch *batch, unsigned int flags, uint32_t seqnum); -int mnl_nft_table_delete(struct mnl_socket *nf_sock, struct nftnl_table *nlt, - unsigned int flags, uint32_t seqnum); +int mnl_nft_table_delete(struct netlink_ctx *ctx, struct nftnl_table *nlt, + unsigned int flags); int mnl_nft_table_batch_del(struct nftnl_table *nlt, struct nftnl_batch *batch, unsigned int flags, uint32_t seqnum); -struct nftnl_table_list *mnl_nft_table_dump(struct mnl_socket *nf_sock, - int family, uint32_t seqnum); +struct nftnl_table_list *mnl_nft_table_dump(struct netlink_ctx *ctx, + int family); -int mnl_nft_set_add(struct mnl_socket *nf_sock, struct nftnl_set *nls, - unsigned int flags, uint32_t seqnum); +int mnl_nft_set_add(struct netlink_ctx *ctx, struct nftnl_set *nls, + unsigned int flags); int mnl_nft_set_batch_add(struct nftnl_set *nls, struct nftnl_batch *batch, unsigned int flags, uint32_t seqnum); -int mnl_nft_set_delete(struct mnl_socket *nf_sock, struct nftnl_set *nls, - unsigned int flags, uint32_t seqnum); +int mnl_nft_set_delete(struct netlink_ctx *ctx, struct nftnl_set *nls, + unsigned int flags); int mnl_nft_set_batch_del(struct nftnl_set *nls, struct nftnl_batch *batch, unsigned int flags, uint32_t seqnum); -struct nftnl_set_list *mnl_nft_set_dump(struct mnl_socket *nf_sock, int family, - const char *table, uint32_t seqnum); +struct nftnl_set_list *mnl_nft_set_dump(struct netlink_ctx *ctx, int family, + const char *table); -int mnl_nft_setelem_add(struct mnl_socket *nf_sock, struct nftnl_set *nls, - unsigned int flags, uint32_t seqnum); +int mnl_nft_setelem_add(struct netlink_ctx *ctx, struct nftnl_set *nls, + unsigned int flags); int mnl_nft_setelem_batch_add(struct nftnl_set *nls, struct nftnl_batch *batch, unsigned int flags, uint32_t seqnum); -int mnl_nft_setelem_delete(struct mnl_socket *nf_sock, struct nftnl_set *nls, - unsigned int flags, uint32_t seqnum); +int mnl_nft_setelem_delete(struct netlink_ctx *ctx, struct nftnl_set *nls, + unsigned int flags); int mnl_nft_setelem_batch_del(struct nftnl_set *nls, struct nftnl_batch *batch, - unsigned int flags, uint32_t seq); + unsigned int flags, uint32_t seqnum); int mnl_nft_setelem_batch_flush(struct nftnl_set *nls, struct nftnl_batch *batch, unsigned int flags, uint32_t seqnum); -int mnl_nft_setelem_get(struct mnl_socket *nf_sock, struct nftnl_set *nls, - uint32_t seqnum); +int mnl_nft_setelem_get(struct netlink_ctx *ctx, struct nftnl_set *nls); -struct nftnl_obj_list *mnl_nft_obj_dump(struct mnl_socket *nf_sock, int family, - uint32_t seqnum, const char *table, +struct nftnl_obj_list *mnl_nft_obj_dump(struct netlink_ctx *ctx, int family, + const char *table, const char *name, uint32_t type, bool dump, bool reset); int mnl_nft_obj_batch_add(struct nftnl_obj *nln, struct nftnl_batch *batch, @@ -96,9 +89,10 @@ int mnl_nft_obj_batch_add(struct nftnl_obj *nln, struct nftnl_batch *batch, int mnl_nft_obj_batch_del(struct nftnl_obj *nln, struct nftnl_batch *batch, unsigned int flags, uint32_t seqnum); -struct nftnl_ruleset *mnl_nft_ruleset_dump(struct mnl_socket *nf_sock, - uint32_t family, uint32_t seqnum); -int mnl_nft_event_listener(struct mnl_ctx *ctx, +struct nftnl_ruleset *mnl_nft_ruleset_dump(struct netlink_ctx *ctx, + uint32_t family); +int mnl_nft_event_listener(struct mnl_socket *nf_sock, unsigned int debug_mask, + struct output_ctx *octx, int (*cb)(const struct nlmsghdr *nlh, void *data), void *cb_data); diff --git a/include/netlink.h b/include/netlink.h index b30c05f8..51cd5c9d 100644 --- a/include/netlink.h +++ b/include/netlink.h @@ -191,7 +191,7 @@ extern void netlink_dump_obj(struct nftnl_obj *nlo, struct netlink_ctx *ctx); extern int netlink_batch_send(struct netlink_ctx *ctx, struct list_head *err_list); -extern uint16_t netlink_genid_get(struct mnl_socket *nf_sock, uint32_t seqnum); +extern uint16_t netlink_genid_get(struct netlink_ctx *ctx); extern void netlink_restart(struct mnl_socket *nf_sock); #define netlink_abi_error() \ __netlink_abi_error(__FILE__, __LINE__, strerror(errno)); |