diff options
author | Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com> | 2013-03-30 15:15:19 +0000 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-04-02 13:34:36 +0200 |
commit | 8e35b71052039e84197f0008da780beba9014c7f (patch) | |
tree | e6214d8c35a277d71d4ba5888facdf7ea8bb1ee6 /src/chain.c | |
parent | 8d8b535c9a0b5446558dc169fd8f304576b4b47f (diff) |
src: allow to get and to set NFT_*_ATTR_FAMILY
This patch adds support to get and set the attribute
NFT_{TABLE|CHAIN|RULE}_ATTR_FAMILY.
I found this useful when parsing a XML table|chain|rule (future patch).
Signed-off-by: Arturo Borrero <arturo.borrero.glez@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/chain.c')
-rw-r--r-- | src/chain.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/chain.c b/src/chain.c index 1b1c3fe..9d77179 100644 --- a/src/chain.c +++ b/src/chain.c @@ -90,6 +90,9 @@ void nft_chain_attr_set(struct nft_chain *c, uint16_t attr, void *data) case NFT_CHAIN_ATTR_HANDLE: c->handle = *((uint64_t *)data); break; + case NFT_CHAIN_ATTR_FAMILY: + c->family = *((uint8_t *)data); + break; case NFT_CHAIN_ATTR_TYPE: if (c->type) free(c->type); @@ -177,6 +180,12 @@ void *nft_chain_attr_get(struct nft_chain *c, uint16_t attr) else return NULL; break; + case NFT_CHAIN_ATTR_FAMILY: + if (c->flags & (1 << NFT_CHAIN_ATTR_FAMILY)) + return &c->family; + else + return NULL; + break; case NFT_CHAIN_ATTR_TYPE: if (c->flags & (1 << NFT_CHAIN_ATTR_TYPE)) return c->type; |