summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2019-07-15 08:26:43 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2019-07-16 19:53:43 +0200
commit0fd53234e360d4dde8aa53dbcaad89495a4fab7f (patch)
tree8b8626a93e422f8d107a689c39407d15c91cb5e0 /include
parent28f22b78f7738a66f88089ecab135242c4c9156d (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.h16
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 {