diff options
author | Carlos Falgueras García <carlosfg@riseup.net> | 2016-08-17 16:07:09 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-08-17 16:08:06 +0200 |
commit | e35693fd13de771e1e047ffa4f799f72f1446e8d (patch) | |
tree | 4727255558de280341f39a3514c996ab92654cc4 /include/libnftnl | |
parent | 48a71a20420e307d0a1d8a89ac9fc7b46ec5a1ca (diff) |
src: Implement rule comparison
This patch implements the function:
bool nftnl_rule_cmp(const struct nftnl_rule *r1,
const struct nftnl_rule *r2)
for rule comparison.
Expressions within rules need to be compared, so also has been created the
function:
bool nftnl_expr_cmp(const struct nftnl_expr *e1,
const struct nftnl_expr *e2);
Also includes all expression comparators.
Signed-off-by: Carlos Falgueras García <carlosfg@riseup.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'include/libnftnl')
-rw-r--r-- | include/libnftnl/expr.h | 2 | ||||
-rw-r--r-- | include/libnftnl/rule.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/include/libnftnl/expr.h b/include/libnftnl/expr.h index 1efe31c..5dd5e10 100644 --- a/include/libnftnl/expr.h +++ b/include/libnftnl/expr.h @@ -36,6 +36,8 @@ uint32_t nftnl_expr_get_u32(const struct nftnl_expr *expr, uint16_t type); uint64_t nftnl_expr_get_u64(const struct nftnl_expr *expr, uint16_t type); const char *nftnl_expr_get_str(const struct nftnl_expr *expr, uint16_t type); +bool nftnl_expr_cmp(const struct nftnl_expr *e1, const struct nftnl_expr *e2); + int nftnl_expr_snprintf(char *buf, size_t buflen, const struct nftnl_expr *expr, uint32_t type, uint32_t flags); enum { diff --git a/include/libnftnl/rule.h b/include/libnftnl/rule.h index e3bd6b8..adeedf2 100644 --- a/include/libnftnl/rule.h +++ b/include/libnftnl/rule.h @@ -50,6 +50,8 @@ uint64_t nftnl_rule_get_u64(const struct nftnl_rule *r, uint16_t attr); void nftnl_rule_add_expr(struct nftnl_rule *r, struct nftnl_expr *expr); +bool nftnl_rule_cmp(const struct nftnl_rule *r1, const struct nftnl_rule *r2); + struct nlmsghdr; void nftnl_rule_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_rule *t); |