summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2020-10-16 18:53:37 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2020-10-16 18:55:30 +0200
commitdab7890f30c2d3b3fd39b63f23e70e78e8dba09e (patch)
treedd063a0b0f0ccce0d28962cad8d1325ea94f15e4
parent4bbe82df9cca976a3e7499af8434536d09582654 (diff)
expr: expose nftnl_expr_build_payload()
This function allows you to build the netlink attributes for expressions. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--include/libnftnl/expr.h2
-rw-r--r--src/expr.c1
-rw-r--r--src/libnftnl.map1
3 files changed, 4 insertions, 0 deletions
diff --git a/include/libnftnl/expr.h b/include/libnftnl/expr.h
index dcbcf5c..c2b2d86 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);
+void nftnl_expr_build_payload(struct nlmsghdr *nlh, struct nftnl_expr *expr);
+
int nftnl_expr_snprintf(char *buf, size_t buflen, const struct nftnl_expr *expr, uint32_t type, uint32_t flags);
int nftnl_expr_fprintf(FILE *fp, const struct nftnl_expr *expr, uint32_t type, uint32_t flags);
diff --git a/src/expr.c b/src/expr.c
index 80c4c36..ed2f60e 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -203,6 +203,7 @@ const char *nftnl_expr_get_str(const struct nftnl_expr *expr, uint16_t type)
return (const char *)nftnl_expr_get(expr, type, &data_len);
}
+EXPORT_SYMBOL(nftnl_expr_build_payload);
void nftnl_expr_build_payload(struct nlmsghdr *nlh, struct nftnl_expr *expr)
{
struct nlattr *nest;
diff --git a/src/libnftnl.map b/src/libnftnl.map
index ceafa3f..7937e05 100644
--- a/src/libnftnl.map
+++ b/src/libnftnl.map
@@ -371,4 +371,5 @@ LIBNFTNL_14 {
LIBNFTNL_15 {
nftnl_obj_get_data;
+ nftnl_expr_build_payload;
} LIBNFTNL_14;