diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2019-07-15 08:26:43 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2019-07-16 19:53:43 +0200 |
commit | 0fd53234e360d4dde8aa53dbcaad89495a4fab7f (patch) | |
tree | 8b8626a93e422f8d107a689c39407d15c91cb5e0 /include | |
parent | 28f22b78f7738a66f88089ecab135242c4c9156d (diff) |
src: add set_is_datamap(), set_is_objmap() and set_is_map() helpers
Two map types are currently possible:
* data maps, ie. set_is_datamap().
* object maps, ie. set_is_objmap().
This patch adds helper functions to check for the map type.
set_is_map() allows you to check for either map type.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/rule.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/rule.h b/include/rule.h index aefb24d9..bee1d447 100644 --- a/include/rule.h +++ b/include/rule.h @@ -6,6 +6,7 @@ #include <list.h> #include <netinet/in.h> #include <libnftnl/object.h> /* For NFTNL_CTTIMEOUT_ARRAY_MAX. */ +#include <linux/netfilter/nf_tables.h> /** * struct handle_spec - handle ID @@ -321,6 +322,21 @@ extern const char *set_policy2str(uint32_t policy); extern void set_print(const struct set *set, struct output_ctx *octx); extern void set_print_plain(const struct set *s, struct output_ctx *octx); +static inline bool set_is_datamap(uint32_t set_flags) +{ + return set_flags & NFT_SET_MAP; +} + +static inline bool set_is_objmap(uint32_t set_flags) +{ + return set_flags & NFT_SET_OBJECT; +} + +static inline bool set_is_map(uint32_t set_flags) +{ + return set_is_datamap(set_flags) || set_is_objmap(set_flags); +} + #include <statement.h> struct counter { |