From 41175cec8407da4687493a9f74043656682d470a Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 25 Feb 2014 22:27:12 +0100 Subject: src: early attribute type validation in nft_*_attr_set This allows us to remove the default case in the switch, which show help to spot missing attribute support since gcc will spot a compilation warning. Signed-off-by: Pablo Neira Ayuso --- include/libnftnl/chain.h | 2 ++ include/libnftnl/rule.h | 2 ++ include/libnftnl/set.h | 2 ++ include/libnftnl/table.h | 2 ++ 4 files changed, 8 insertions(+) (limited to 'include') diff --git a/include/libnftnl/chain.h b/include/libnftnl/chain.h index 66626d8..27de302 100644 --- a/include/libnftnl/chain.h +++ b/include/libnftnl/chain.h @@ -29,7 +29,9 @@ enum { NFT_CHAIN_ATTR_PACKETS = 8, NFT_CHAIN_ATTR_HANDLE, NFT_CHAIN_ATTR_TYPE, + __NFT_CHAIN_ATTR_MAX }; +#define NFT_CHAIN_ATTR_MAX (__NFT_CHAIN_ATTR_MAX - 1) bool nft_chain_attr_is_set(const struct nft_chain *c, uint16_t attr); void nft_chain_attr_unset(struct nft_chain *c, uint16_t attr); diff --git a/include/libnftnl/rule.h b/include/libnftnl/rule.h index 4033d3c..13e6c14 100644 --- a/include/libnftnl/rule.h +++ b/include/libnftnl/rule.h @@ -26,7 +26,9 @@ enum { NFT_RULE_ATTR_COMPAT_PROTO, NFT_RULE_ATTR_COMPAT_FLAGS, NFT_RULE_ATTR_POSITION, + __NFT_RULE_ATTR_MAX }; +#define NFT_RULE_ATTR_MAX (__NFT_RULE_ATTR_MAX - 1) void nft_rule_attr_unset(struct nft_rule *r, uint16_t attr); bool nft_rule_attr_is_set(const struct nft_rule *r, uint16_t attr); diff --git a/include/libnftnl/set.h b/include/libnftnl/set.h index 7fa9fb2..ba11315 100644 --- a/include/libnftnl/set.h +++ b/include/libnftnl/set.h @@ -17,7 +17,9 @@ enum { NFT_SET_ATTR_DATA_TYPE, NFT_SET_ATTR_DATA_LEN, NFT_SET_ATTR_FAMILY, + __NFT_SET_ATTR_MAX }; +#define NFT_SET_ATTR_MAX (__NFT_SET_ATTR_MAX - 1) struct nft_set; diff --git a/include/libnftnl/table.h b/include/libnftnl/table.h index 56e7e35..96f2668 100644 --- a/include/libnftnl/table.h +++ b/include/libnftnl/table.h @@ -22,7 +22,9 @@ enum { NFT_TABLE_ATTR_FAMILY, NFT_TABLE_ATTR_FLAGS, NFT_TABLE_ATTR_USE, + __NFT_TABLE_ATTR_MAX }; +#define NFT_TABLE_ATTR_MAX (__NFT_TABLE_ATTR_MAX - 1) bool nft_table_attr_is_set(const struct nft_table *t, uint16_t attr); void nft_table_attr_unset(struct nft_table *t, uint16_t attr); -- cgit v1.2.3