diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/data_reg.h | 3 | ||||
-rw-r--r-- | include/expr_ops.h | 1 | ||||
-rw-r--r-- | include/libnftnl/expr.h | 2 | ||||
-rw-r--r-- | include/libnftnl/rule.h | 2 |
4 files changed, 8 insertions, 0 deletions
diff --git a/include/data_reg.h b/include/data_reg.h index e749b5b..3fec7cd 100644 --- a/include/data_reg.h +++ b/include/data_reg.h @@ -3,6 +3,7 @@ #include <linux/netfilter/nf_tables.h> #include <stdint.h> +#include <stdbool.h> #include <unistd.h> enum { @@ -27,6 +28,8 @@ int nftnl_data_reg_snprintf(char *buf, size_t size, const union nftnl_data_reg *reg, uint32_t output_format, uint32_t flags, int reg_type); +bool nftnl_data_reg_cmp(const union nftnl_data_reg *r1, + const union nftnl_data_reg *r2, int reg_type); struct nlattr; int nftnl_parse_data(union nftnl_data_reg *data, struct nlattr *attr, int *type); diff --git a/include/expr_ops.h b/include/expr_ops.h index 3c0cb18..a334732 100644 --- a/include/expr_ops.h +++ b/include/expr_ops.h @@ -13,6 +13,7 @@ struct expr_ops { uint32_t alloc_len; int max_attr; void (*free)(const struct nftnl_expr *e); + bool (*cmp)(const struct nftnl_expr *e1, const struct nftnl_expr *e2); int (*set)(struct nftnl_expr *e, uint16_t type, const void *data, uint32_t data_len); const void *(*get)(const struct nftnl_expr *e, uint16_t type, uint32_t *data_len); int (*parse)(struct nftnl_expr *e, struct nlattr *attr); 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); |