diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/expression.h | 9 | ||||
-rw-r--r-- | include/hash.h | 7 |
2 files changed, 16 insertions, 0 deletions
diff --git a/include/expression.h b/include/expression.h index b6005ec3..6a509b33 100644 --- a/include/expression.h +++ b/include/expression.h @@ -34,6 +34,7 @@ * @EXPR_BINOP: binary operations (bitwise, shifts) * @EXPR_RELATIONAL: equality and relational expressions * @EXPR_NUMGEN: number generation expression + * @EXPR_HASH: hash expression */ enum expr_types { EXPR_INVALID, @@ -57,6 +58,7 @@ enum expr_types { EXPR_BINOP, EXPR_RELATIONAL, EXPR_NUMGEN, + EXPR_HASH, }; enum ops { @@ -174,6 +176,7 @@ enum expr_flags { #include <exthdr.h> #include <numgen.h> #include <meta.h> +#include <hash.h> #include <ct.h> /** @@ -285,6 +288,12 @@ struct expr { enum nft_ng_types type; uint32_t mod; } numgen; + struct { + /* EXPR_HASH */ + struct expr *expr; + uint32_t mod; + uint32_t seed; + } hash; }; }; diff --git a/include/hash.h b/include/hash.h new file mode 100644 index 00000000..bc8c86af --- /dev/null +++ b/include/hash.h @@ -0,0 +1,7 @@ +#ifndef NFTABLES_HASH_H +#define NFTABLES_HASH_H + +extern struct expr *hash_expr_alloc(const struct location *loc, + uint32_t modulus, uint32_t seed); + +#endif /* NFTABLES_HASH_H */ |