From dde20393f929f22636dcedd82e5a2fe81394139e Mon Sep 17 00:00:00 2001 From: Arturo Borrero Gonzalez Date: Fri, 7 Jun 2013 00:52:17 +0000 Subject: src: add nft_*_unset functions These functions unset the given attribute in each object and release the data if needed. Signed-off-by: Arturo Borrero Gonzalez Signed-off-by: Pablo Neira Ayuso --- include/libnftables/chain.h | 1 + include/libnftables/rule.h | 1 + include/libnftables/set.h | 2 ++ include/libnftables/table.h | 1 + 4 files changed, 5 insertions(+) (limited to 'include/libnftables') diff --git a/include/libnftables/chain.h b/include/libnftables/chain.h index b12474f..f06f743 100644 --- a/include/libnftables/chain.h +++ b/include/libnftables/chain.h @@ -26,6 +26,7 @@ enum { NFT_CHAIN_ATTR_TYPE, }; +void nft_chain_attr_unset(struct nft_chain *c, uint16_t attr); void nft_chain_attr_set(struct nft_chain *t, uint16_t attr, const void *data); void nft_chain_attr_set_u32(struct nft_chain *t, uint16_t attr, uint32_t data); void nft_chain_attr_set_s32(struct nft_chain *t, uint16_t attr, int32_t data); diff --git a/include/libnftables/rule.h b/include/libnftables/rule.h index 9c4ab0d..9989f19 100644 --- a/include/libnftables/rule.h +++ b/include/libnftables/rule.h @@ -23,6 +23,7 @@ enum { NFT_RULE_ATTR_COMPAT_FLAGS, }; +void nft_rule_attr_unset(struct nft_rule *r, uint16_t attr); void nft_rule_attr_set(struct nft_rule *r, uint16_t attr, const void *data); void nft_rule_attr_set_u32(struct nft_rule *r, uint16_t attr, uint32_t val); void nft_rule_attr_set_u64(struct nft_rule *r, uint16_t attr, uint64_t val); diff --git a/include/libnftables/set.h b/include/libnftables/set.h index 53c2947..211c065 100644 --- a/include/libnftables/set.h +++ b/include/libnftables/set.h @@ -16,6 +16,7 @@ struct nft_set; struct nft_set *nft_set_alloc(void); void nft_set_free(struct nft_set *s); +void nft_set_attr_unset(struct nft_set *s, uint16_t attr); void nft_set_attr_set(struct nft_set *s, uint16_t attr, const void *data); void nft_set_attr_set_u32(struct nft_set *s, uint16_t attr, uint32_t val); void nft_set_attr_set_str(struct nft_set *s, uint16_t attr, const char *str); @@ -61,6 +62,7 @@ void nft_set_elem_free(struct nft_set_elem *s); void nft_set_elem_add(struct nft_set *s, struct nft_set_elem *elem); +void nft_set_elem_attr_unset(struct nft_set_elem *s, uint16_t attr); void nft_set_elem_attr_set(struct nft_set_elem *s, uint16_t attr, const void *data, size_t data_len); void nft_set_elem_attr_set_u32(struct nft_set_elem *s, uint16_t attr, uint32_t val); void nft_set_elem_attr_set_str(struct nft_set_elem *s, uint16_t attr, const char *str); diff --git a/include/libnftables/table.h b/include/libnftables/table.h index 19f322c..a999770 100644 --- a/include/libnftables/table.h +++ b/include/libnftables/table.h @@ -18,6 +18,7 @@ enum { NFT_TABLE_ATTR_FLAGS, }; +void nft_table_attr_unset(struct nft_table *t, uint16_t attr); void nft_table_attr_set(struct nft_table *t, uint16_t attr, const void *data); const void *nft_table_attr_get(struct nft_table *t, uint16_t attr); -- cgit v1.2.3