diff options
Diffstat (limited to 'iptables/nft-chain.h')
-rw-r--r-- | iptables/nft-chain.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/iptables/nft-chain.h b/iptables/nft-chain.h new file mode 100644 index 00000000..9adf1738 --- /dev/null +++ b/iptables/nft-chain.h @@ -0,0 +1,30 @@ +#ifndef _NFT_CHAIN_H_ +#define _NFT_CHAIN_H_ + +#include <libnftnl/chain.h> +#include <libiptc/linux_list.h> + +struct nft_handle; + +struct nft_chain { + struct list_head head; + struct hlist_node hnode; + struct nft_chain **base_slot; + struct nftnl_chain *nftnl; +}; + +#define CHAIN_NAME_HSIZE 512 + +struct nft_chain_list { + struct list_head list; + struct hlist_head names[CHAIN_NAME_HSIZE]; +}; + +struct nft_chain *nft_chain_alloc(struct nftnl_chain *nftnl); +void nft_chain_free(struct nft_chain *c); + +struct nft_chain_list *nft_chain_list_alloc(void); +void nft_chain_list_free(struct nft_chain_list *list); +void nft_chain_list_del(struct nft_chain *c); + +#endif /* _NFT_CHAIN_H_ */ |