src: Fix exporting symbols with clang
Pablo Neira Ayuso
maintainerPATCH 1/1 src: Fix exporting symbols with clang
From: Armin Krejzi <[email protected]>
When EXPORT_SYMBOL is located after function definition, clang won't properly export the function, resulting in a library with no symbols when built with clang.
Based on libmnl commit dcdb47373a37 ("Move declaration of visibility attributes before definition.")
Signed-off-by Armin Krejzi <[email protected]>
Signed-off-by Pablo Neira Ayuso <[email protected]>
---
Armin cannot post this to the ml for some reason, so I'm sending it for him.
src/batch.c | 14 +++++------ src/chain.c | 68 +++++++++++++++++++++++++-------------------------- src/common.c | 14 +++++------ src/expr.c | 36 +++++++++++++-------------- src/gen.c | 26 ++++++++++---------- src/object.c | 66 ++++++++++++++++++++++++------------------------- src/rule.c | 77 +++++++++++++++++++++++++++++----------------------------- src/ruleset.c | 32 ++++++++++++------------ src/set.c | 66 +++++++++++++++++++++++++------------------------ src/set_elem.c | 49 +++++++++++++++++++------------------ src/table.c | 60 ++++++++++++++++++++++----------------------- src/trace.c | 2 +- src/udata.c | 32 ++++++++++++------------ 13 files changed, 273 insertions(+), 269 deletions(-)
src/batch.c +7 -7
@@ -57,6 +57,7 @@ static void nftnl_batch_add_page(struct nftnl_batch_page *page,list_add_tail (&page->head, &batch->page_list); } +EXPORT_SYMBOL (nftnl_batch_alloc);struct nftnl_batch *nftnl_batch_alloc (uint32_t pg_size,uint32_t pg_overrun_size) {struct nftnl_batch *batch;
@@ -80,8 +81,8 @@ err1:free (batch);return NULL ; } -EXPORT_SYMBOL (nftnl_batch_alloc); +EXPORT_SYMBOL (nftnl_batch_free);void nftnl_batch_free (struct nftnl_batch *batch) {struct nftnl_batch_page *page, *next;
@@ -94,8 +95,8 @@ void nftnl_batch_free(struct nftnl_batch *batch)free (batch); } -EXPORT_SYMBOL (nftnl_batch_free); +EXPORT_SYMBOL (nftnl_batch_update);int nftnl_batch_update (struct nftnl_batch *batch) {struct nftnl_batch_page *page;
@@ -119,20 +120,20 @@ int nftnl_batch_update(struct nftnl_batch *batch) err1:return -1 ; } -EXPORT_SYMBOL (nftnl_batch_update); +EXPORT_SYMBOL (nftnl_batch_buffer);void *nftnl_batch_buffer (struct nftnl_batch *batch) {return mnl_nlmsg_batch_current (batch->current_page->batch); } -EXPORT_SYMBOL (nftnl_batch_buffer); +EXPORT_SYMBOL (nftnl_batch_buffer_len);uint32_t nftnl_batch_buffer_len (struct nftnl_batch *batch) {return mnl_nlmsg_batch_size (batch->current_page->batch); } -EXPORT_SYMBOL (nftnl_batch_buffer_len); +EXPORT_SYMBOL (nftnl_batch_iovec_len);int nftnl_batch_iovec_len (struct nftnl_batch *batch) {int num_pages = batch->num_pages;
@@ -143,8 +144,8 @@ int nftnl_batch_iovec_len(struct nftnl_batch *batch)return num_pages; } -EXPORT_SYMBOL (nftnl_batch_iovec_len); +EXPORT_SYMBOL (nftnl_batch_iovec);void nftnl_batch_iovec (struct nftnl_batch *batch,struct iovec *iov,uint32_t iovlen) {
@@ -160,4 +161,3 @@ void nftnl_batch_iovec(struct nftnl_batch *batch, struct iovec *iov, i++; } } -EXPORT_SYMBOL (nftnl_batch_iovec);
src/chain.c +34 -34
311 lines not on this page · raw message
src/common.c +7 -7
@@ -43,14 +43,15 @@ static struct nlmsghdr *__nftnl_nlmsg_build_hdr(char *buf, uint16_t type,return nlh; } +EXPORT_SYMBOL (nftnl_nlmsg_build_hdr);struct nlmsghdr *nftnl_nlmsg_build_hdr (char *buf,uint16_t type,uint16_t family,uint16_t flags,uint32_t seq) {return __nftnl_nlmsg_build_hdr (buf, (NFNL_SUBSYS_NFTABLES <<8 ) | type, family, flags, seq,0 ); } -EXPORT_SYMBOL (nftnl_nlmsg_build_hdr); +EXPORT_SYMBOL (nftnl_parse_err_alloc);struct nftnl_parse_err *nftnl_parse_err_alloc (void ) {struct nftnl_parse_err *err;
@@ -63,14 +64,14 @@ struct nftnl_parse_err *nftnl_parse_err_alloc(void)return err; } -EXPORT_SYMBOL (nftnl_parse_err_alloc); +EXPORT_SYMBOL (nftnl_parse_err_free);void nftnl_parse_err_free (struct nftnl_parse_err *err) {xfree (err); } -EXPORT_SYMBOL (nftnl_parse_err_free); +EXPORT_SYMBOL (nftnl_parse_perror);int nftnl_parse_perror (const char *msg,struct nftnl_parse_err *err) {switch (err->error) {
@@ -89,7 +90,6 @@ int nftnl_parse_perror(const char *msg, struct nftnl_parse_err *err)return fprintf (stderr,"%s: Undefined error\n" , msg); } } -EXPORT_SYMBOL (nftnl_parse_perror);int nftnl_cmd_header_snprintf (char *buf,size_t size,uint32_t cmd,uint32_t type,uint32_t flags)
@@ -165,20 +165,21 @@ int nftnl_cmd_footer_fprintf(FILE *fp, uint32_t cmd, uint32_t type, nftnl_cmd_footer_fprintf_cb); } +EXPORT_SYMBOL (nftnl_batch_begin);struct nlmsghdr *nftnl_batch_begin (char *buf,uint32_t seq) {return __nftnl_nlmsg_build_hdr (buf,NFNL_MSG_BATCH_BEGIN ,AF_UNSPEC ,0 , seq,NFNL_SUBSYS_NFTABLES ); } -EXPORT_SYMBOL (nftnl_batch_begin); +EXPORT_SYMBOL (nftnl_batch_end);struct nlmsghdr *nftnl_batch_end (char *buf,uint32_t seq) {return __nftnl_nlmsg_build_hdr (buf,NFNL_MSG_BATCH_END ,AF_UNSPEC ,0 , seq,NFNL_SUBSYS_NFTABLES ); } -EXPORT_SYMBOL (nftnl_batch_end); +EXPORT_SYMBOL (nftnl_batch_is_supported);int nftnl_batch_is_supported (void ) {struct mnl_socket *nl;
@@ -236,4 +237,3 @@ err:mnl_nlmsg_batch_stop (b);return -1 ; } -EXPORT_SYMBOL (nftnl_batch_is_supported);
src/expr.c +18 -18
@@ -24,6 +24,7 @@#include <libnftnl/expr.h> +EXPORT_SYMBOL (nftnl_expr_alloc);struct nftnl_expr *nftnl_expr_alloc (const char *name) {struct nftnl_expr *expr;
@@ -43,8 +44,8 @@ struct nftnl_expr *nftnl_expr_alloc(const char *name)return expr; } -EXPORT_SYMBOL (nftnl_expr_alloc); +EXPORT_SYMBOL (nftnl_expr_free);void nftnl_expr_free (const struct nftnl_expr *expr) {if (expr->ops->free)
@@ -52,14 +53,14 @@ void nftnl_expr_free(const struct nftnl_expr *expr)xfree (expr); } -EXPORT_SYMBOL (nftnl_expr_free); +EXPORT_SYMBOL (nftnl_expr_is_set);bool nftnl_expr_is_set (const struct nftnl_expr *expr,uint16_t type) {return expr->flags & (1 << type); } -EXPORT_SYMBOL (nftnl_expr_is_set); +EXPORT_SYMBOL (nftnl_expr_set);int nftnl_expr_set (struct nftnl_expr *expr,uint16_t type,const void *data,uint32_t data_len) {
@@ -73,42 +74,42 @@ int nftnl_expr_set(struct nftnl_expr *expr, uint16_t type, expr->flags |= (1 << type);return 0 ; } -EXPORT_SYMBOL (nftnl_expr_set); +EXPORT_SYMBOL (nftnl_expr_set_u8);void nftnl_expr_set_u8 (struct nftnl_expr *expr,uint16_t type,uint8_t data) {nftnl_expr_set (expr, type, &data,sizeof (uint8_t )); } -EXPORT_SYMBOL (nftnl_expr_set_u8); +EXPORT_SYMBOL (nftnl_expr_set_u16);void nftnl_expr_set_u16 (struct nftnl_expr *expr,uint16_t type,uint16_t data) {nftnl_expr_set (expr, type, &data,sizeof (uint16_t )); } -EXPORT_SYMBOL (nftnl_expr_set_u16); +EXPORT_SYMBOL (nftnl_expr_set_u32);void nftnl_expr_set_u32 (struct nftnl_expr *expr,uint16_t type,uint32_t data) {nftnl_expr_set (expr, type, &data,sizeof (uint32_t )); } -EXPORT_SYMBOL (nftnl_expr_set_u32); +EXPORT_SYMBOL (nftnl_expr_set_u64);void nftnl_expr_set_u64 (struct nftnl_expr *expr,uint16_t type,uint64_t data) {nftnl_expr_set (expr, type, &data,sizeof (uint64_t )); } -EXPORT_SYMBOL (nftnl_expr_set_u64); +EXPORT_SYMBOL (nftnl_expr_set_str);int nftnl_expr_set_str (struct nftnl_expr *expr,uint16_t type,const char *str) {return nftnl_expr_set (expr, type, str,strlen (str) +1 ); } -EXPORT_SYMBOL (nftnl_expr_set_str); +EXPORT_SYMBOL (nftnl_expr_get);const void *nftnl_expr_get (const struct nftnl_expr *expr,uint16_t type,uint32_t *data_len) {
@@ -129,8 +130,8 @@ const void *nftnl_expr_get(const struct nftnl_expr *expr,return ret; } -EXPORT_SYMBOL (nftnl_expr_get); +EXPORT_SYMBOL (nftnl_expr_get_u8);uint8_t nftnl_expr_get_u8 (const struct nftnl_expr *expr,uint16_t type) {const void *data;
@@ -145,8 +146,8 @@ uint8_t nftnl_expr_get_u8(const struct nftnl_expr *expr, uint16_t type)return *((uint8_t *)data); } -EXPORT_SYMBOL (nftnl_expr_get_u8); +EXPORT_SYMBOL (nftnl_expr_get_u16);uint16_t nftnl_expr_get_u16 (const struct nftnl_expr *expr,uint16_t type) {const void *data;
@@ -161,8 +162,8 @@ uint16_t nftnl_expr_get_u16(const struct nftnl_expr *expr, uint16_t type)return *((uint16_t *)data); } -EXPORT_SYMBOL (nftnl_expr_get_u16); +EXPORT_SYMBOL (nftnl_expr_get_u32);uint32_t nftnl_expr_get_u32 (const struct nftnl_expr *expr,uint16_t type) {const void *data;
@@ -177,8 +178,8 @@ uint32_t nftnl_expr_get_u32(const struct nftnl_expr *expr, uint16_t type)return *((uint32_t *)data); } -EXPORT_SYMBOL (nftnl_expr_get_u32); +EXPORT_SYMBOL (nftnl_expr_get_u64);uint64_t nftnl_expr_get_u64 (const struct nftnl_expr *expr,uint16_t type) {const void *data;
@@ -193,16 +194,16 @@ uint64_t nftnl_expr_get_u64(const struct nftnl_expr *expr, uint16_t type)return *((uint64_t *)data); } -EXPORT_SYMBOL (nftnl_expr_get_u64); +EXPORT_SYMBOL (nftnl_expr_get_str);const char *nftnl_expr_get_str (const struct nftnl_expr *expr,uint16_t type) {uint32_t data_len;return (const char *)nftnl_expr_get (expr, type, &data_len); } -EXPORT_SYMBOL (nftnl_expr_get_str); +EXPORT_SYMBOL (nftnl_expr_cmp);bool nftnl_expr_cmp (const struct nftnl_expr *e1,const struct nftnl_expr *e2) { if (e1->flags != e2->flags ||
@@ -211,7 +212,6 @@ bool nftnl_expr_cmp(const struct nftnl_expr *e1, const struct nftnl_expr *e2)return e1->ops->cmp (e1, e2); } -EXPORT_SYMBOL (nftnl_expr_cmp);void nftnl_expr_build_payload (struct nlmsghdr *nlh,struct nftnl_expr *expr) {
@@ -275,6 +275,7 @@ err1:return NULL ; } +EXPORT_SYMBOL (nftnl_expr_snprintf);int nftnl_expr_snprintf (char *buf,size_t size,const struct nftnl_expr *expr,uint32_t type,uint32_t flags) {
@@ -292,7 +293,6 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr,return offset; } -EXPORT_SYMBOL (nftnl_expr_snprintf);static int nftnl_expr_do_snprintf (char *buf,size_t size,const void *e,uint32_t cmd,uint32_t type,uint32_t flags)
@@ -300,10 +300,10 @@ static int nftnl_expr_do_snprintf(char *buf, size_t size, const void *e,return nftnl_expr_snprintf (buf, size, e, type, flags); } +EXPORT_SYMBOL (nftnl_expr_fprintf);int nftnl_expr_fprintf (FILE *fp,const struct nftnl_expr *expr,uint32_t type,uint32_t flags) {return nftnl_fprintf (fp, expr,NFTNL_CMD_UNSPEC , type, flags, nftnl_expr_do_snprintf); } -EXPORT_SYMBOL (nftnl_expr_fprintf);
src/gen.c +13 -13
@@ -29,24 +29,25 @@ struct nftnl_gen {uint32_t flags; }; +EXPORT_SYMBOL (nftnl_gen_alloc);struct nftnl_gen *nftnl_gen_alloc (void ) {return calloc (1 ,sizeof (struct nftnl_gen )); } -EXPORT_SYMBOL (nftnl_gen_alloc); +EXPORT_SYMBOL (nftnl_gen_free);void nftnl_gen_free (const struct nftnl_gen *gen) {xfree (gen); } -EXPORT_SYMBOL (nftnl_gen_free); +EXPORT_SYMBOL (nftnl_gen_is_set);bool nftnl_gen_is_set (const struct nftnl_gen *gen,uint16_t attr) {return gen->flags & (1 << attr); } -EXPORT_SYMBOL (nftnl_gen_is_set); +EXPORT_SYMBOL (nftnl_gen_unset);void nftnl_gen_unset (struct nftnl_gen *gen,uint16_t attr) {if (!(gen->flags & (1 << attr)))
@@ -58,12 +59,12 @@ void nftnl_gen_unset(struct nftnl_gen *gen, uint16_t attr) } gen->flags &= ~(1 << attr); } -EXPORT_SYMBOL (nftnl_gen_unset);static uint32_t nftnl_gen_validate[NFTNL_GEN_MAX +1 ] = { [NFTNL_GEN_ID ] =sizeof (uint32_t ), }; +EXPORT_SYMBOL (nftnl_gen_set_data);int nftnl_gen_set_data (struct nftnl_gen *gen,uint16_t attr,const void *data,uint32_t data_len) {
@@ -78,20 +79,20 @@ int nftnl_gen_set_data(struct nftnl_gen *gen, uint16_t attr, gen->flags |= (1 << attr);return 0 ; } -EXPORT_SYMBOL (nftnl_gen_set_data); +EXPORT_SYMBOL (nftnl_gen_set);int nftnl_gen_set (struct nftnl_gen *gen,uint16_t attr,const void *data) {return nftnl_gen_set_data (gen, attr, data, nftnl_gen_validate[attr]); } -EXPORT_SYMBOL (nftnl_gen_set); +EXPORT_SYMBOL (nftnl_gen_set_u32);void nftnl_gen_set_u32 (struct nftnl_gen *gen,uint16_t attr,uint32_t val) {nftnl_gen_set_data (gen, attr, &val,sizeof (uint32_t )); } -EXPORT_SYMBOL (nftnl_gen_set_u32); +EXPORT_SYMBOL (nftnl_gen_get_data);const void *nftnl_gen_get_data (const struct nftnl_gen *gen,uint16_t attr,uint32_t *data_len) {
@@ -105,21 +106,20 @@ const void *nftnl_gen_get_data(const struct nftnl_gen *gen, uint16_t attr, }return NULL ; } -EXPORT_SYMBOL (nftnl_gen_get_data); +EXPORT_SYMBOL (nftnl_gen_get);const void *nftnl_gen_get (const struct nftnl_gen *gen,uint16_t attr) {uint32_t data_len;return nftnl_gen_get_data (gen, attr, &data_len); } -EXPORT_SYMBOL (nftnl_gen_get); +EXPORT_SYMBOL (nftnl_gen_get_u32);uint32_t nftnl_gen_get_u32 (const struct nftnl_gen *gen,uint16_t attr) {const void *ret =nftnl_gen_get (gen, attr);return ret ==NULL ?0 : *((uint32_t *)ret); } -EXPORT_SYMBOL (nftnl_gen_get_u32);static int nftnl_gen_parse_attr_cb (const struct nlattr *attr,void *data) {
@@ -140,6 +140,7 @@ static int nftnl_gen_parse_attr_cb(const struct nlattr *attr, void *data)return MNL_CB_OK ; } +EXPORT_SYMBOL (nftnl_gen_nlmsg_parse);int nftnl_gen_nlmsg_parse (const struct nlmsghdr *nlh,struct nftnl_gen *gen) {struct nlattr *tb[NFTA_GEN_MAX +1 ] = {};
@@ -154,7 +155,6 @@ int nftnl_gen_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_gen *gen) }return 0 ; } -EXPORT_SYMBOL (nftnl_gen_nlmsg_parse);static int nftnl_gen_snprintf_default (char *buf,size_t size,const struct nftnl_gen *gen)
@@ -186,6 +186,7 @@ static int nftnl_gen_cmd_snprintf(char *buf, size_t size,return offset; } +EXPORT_SYMBOL (nftnl_gen_snprintf);int nftnl_gen_snprintf (char *buf,size_t size,const struct nftnl_gen *gen,uint32_t type,uint32_t flags) {
@@ -195,7 +196,6 @@ int nftnl_gen_snprintf(char *buf, size_t size, const struct nftnl_gen *gen,return nftnl_gen_cmd_snprintf (buf, size, gen,nftnl_flag2cmd (flags), type, flags); } -EXPORT_SYMBOL (nftnl_gen_snprintf);static int nftnl_gen_do_snprintf (char *buf,size_t size,const void *gen,uint32_t cmd,uint32_t type,uint32_t flags)
@@ -203,10 +203,10 @@ static int nftnl_gen_do_snprintf(char *buf, size_t size, const void *gen,return nftnl_gen_snprintf (buf, size, gen, type, flags); } +EXPORT_SYMBOL (nftnl_gen_fprintf);int nftnl_gen_fprintf (FILE *fp,const struct nftnl_gen *gen,uint32_t type,uint32_t flags) {return nftnl_fprintf (fp, gen,NFTNL_CMD_UNSPEC , type, flags, nftnl_gen_do_snprintf); } -EXPORT_SYMBOL (nftnl_gen_fprintf);
src/object.c +33 -33
299 lines not on this page · raw message
src/rule.c +39 -38
353 lines not on this page · raw message
src/ruleset.c +16 -16
@@ -55,12 +55,13 @@ struct nftnl_parse_ctx {uint16_t flags; }; +EXPORT_SYMBOL (nftnl_ruleset_alloc);struct nftnl_ruleset *nftnl_ruleset_alloc (void ) {return calloc (1 ,sizeof (struct nftnl_ruleset )); } -EXPORT_SYMBOL (nftnl_ruleset_alloc); +EXPORT_SYMBOL (nftnl_ruleset_free);void nftnl_ruleset_free (const struct nftnl_ruleset *r) {if (r->flags & (1 <<NFTNL_RULESET_TABLELIST ))
@@ -73,14 +74,14 @@ void nftnl_ruleset_free(const struct nftnl_ruleset *r)nftnl_rule_list_free (r->rule_list);xfree (r); } -EXPORT_SYMBOL (nftnl_ruleset_free); +EXPORT_SYMBOL (nftnl_ruleset_is_set);bool nftnl_ruleset_is_set (const struct nftnl_ruleset *r,uint16_t attr) {return r->flags & (1 << attr); } -EXPORT_SYMBOL (nftnl_ruleset_is_set); +EXPORT_SYMBOL (nftnl_ruleset_unset);void nftnl_ruleset_unset (struct nftnl_ruleset *r,uint16_t attr) {if (!(r->flags & (1 << attr)))
@@ -102,8 +103,8 @@ void nftnl_ruleset_unset(struct nftnl_ruleset *r, uint16_t attr) } r->flags &= ~(1 << attr); } -EXPORT_SYMBOL (nftnl_ruleset_unset); +EXPORT_SYMBOL (nftnl_ruleset_set);void nftnl_ruleset_set (struct nftnl_ruleset *r,uint16_t attr,void *data) {switch (attr) {
@@ -128,8 +129,8 @@ void nftnl_ruleset_set(struct nftnl_ruleset *r, uint16_t attr, void *data) } r->flags |= (1 << attr); } -EXPORT_SYMBOL (nftnl_ruleset_set); +EXPORT_SYMBOL (nftnl_ruleset_get);void *nftnl_ruleset_get (const struct nftnl_ruleset *r,uint16_t attr) {if (!(r->flags & (1 << attr)))
@@ -148,8 +149,8 @@ void *nftnl_ruleset_get(const struct nftnl_ruleset *r, uint16_t attr)return NULL ; } } -EXPORT_SYMBOL (nftnl_ruleset_get); +EXPORT_SYMBOL (nftnl_ruleset_ctx_free);void nftnl_ruleset_ctx_free (const struct nftnl_parse_ctx *ctx) {switch (ctx->type) {
@@ -171,14 +172,14 @@ void nftnl_ruleset_ctx_free(const struct nftnl_parse_ctx *ctx)break ; } } -EXPORT_SYMBOL (nftnl_ruleset_ctx_free); +EXPORT_SYMBOL (nftnl_ruleset_ctx_is_set);bool nftnl_ruleset_ctx_is_set (const struct nftnl_parse_ctx *ctx,uint16_t attr) {return ctx->flags & (1 << attr); } -EXPORT_SYMBOL (nftnl_ruleset_ctx_is_set); +EXPORT_SYMBOL (nftnl_ruleset_ctx_get);void *nftnl_ruleset_ctx_get (const struct nftnl_parse_ctx *ctx,uint16_t attr) {if (!(ctx->flags & (1 << attr)))
@@ -203,14 +204,13 @@ void *nftnl_ruleset_ctx_get(const struct nftnl_parse_ctx *ctx, uint16_t attr)return NULL ; } } -EXPORT_SYMBOL (nftnl_ruleset_ctx_get); +EXPORT_SYMBOL (nftnl_ruleset_ctx_get_u32);uint32_t nftnl_ruleset_ctx_get_u32 (const struct nftnl_parse_ctx *ctx,uint16_t attr) {const void *ret =nftnl_ruleset_ctx_get (ctx, attr);return ret ==NULL ?0 : *((uint32_t *)ret); } -EXPORT_SYMBOL (nftnl_ruleset_ctx_get_u32);#if defined(JSON_PARSING ) static void nftnl_ruleset_ctx_set(struct nftnl_parse_ctx *ctx, uint16_t attr,
@@ -593,14 +593,15 @@ nftnl_ruleset_do_parse(enum nftnl_parse_type type, const void *data,return ret; } +EXPORT_SYMBOL (nftnl_ruleset_parse_file_cb);int nftnl_ruleset_parse_file_cb (enum nftnl_parse_type type,FILE *fp,struct nftnl_parse_err *err,void *data,int (*cb)(const struct nftnl_parse_ctx *ctx)) {return nftnl_ruleset_do_parse (type, fp, err,NFTNL_PARSE_FILE , data, cb); } -EXPORT_SYMBOL (nftnl_ruleset_parse_file_cb); +EXPORT_SYMBOL (nftnl_ruleset_parse_buffer_cb);int nftnl_ruleset_parse_buffer_cb (enum nftnl_parse_type type,const char *buffer,struct nftnl_parse_err *err,void *data,int (*cb)(const struct nftnl_parse_ctx *ctx))
@@ -608,7 +609,6 @@ int nftnl_ruleset_parse_buffer_cb(enum nftnl_parse_type type, const char *bufferreturn nftnl_ruleset_do_parse (type, buffer, err,NFTNL_PARSE_BUFFER , data, cb); } -EXPORT_SYMBOL (nftnl_ruleset_parse_buffer_cb);static int nftnl_ruleset_cb (const struct nftnl_parse_ctx *ctx) {
@@ -671,19 +671,19 @@ static int nftnl_ruleset_cb(const struct nftnl_parse_ctx *ctx)return 0 ; } +EXPORT_SYMBOL (nftnl_ruleset_parse);int nftnl_ruleset_parse (struct nftnl_ruleset *r,enum nftnl_parse_type type,const char *data,struct nftnl_parse_err *err) {return nftnl_ruleset_parse_buffer_cb (type, data, err, r, nftnl_ruleset_cb); } -EXPORT_SYMBOL (nftnl_ruleset_parse); +EXPORT_SYMBOL (nftnl_ruleset_parse_file);int nftnl_ruleset_parse_file (struct nftnl_ruleset *rs,enum nftnl_parse_type type,FILE *fp,struct nftnl_parse_err *err) {return nftnl_ruleset_parse_file_cb (type, fp, err, rs, nftnl_ruleset_cb); } -EXPORT_SYMBOL (nftnl_ruleset_parse_file);static const char *nftnl_ruleset_o_opentag (uint32_t type) {
@@ -930,6 +930,7 @@ static int nftnl_ruleset_cmd_snprintf(char *buf, size_t size, } } +EXPORT_SYMBOL (nftnl_ruleset_snprintf);int nftnl_ruleset_snprintf (char *buf,size_t size,const struct nftnl_ruleset *r,uint32_t type,uint32_t flags) {
@@ -948,7 +949,6 @@ int nftnl_ruleset_snprintf(char *buf, size_t size, const struct nftnl_ruleset *rreturn -1 ; } } -EXPORT_SYMBOL (nftnl_ruleset_snprintf);static int nftnl_ruleset_fprintf_tables (FILE *fp,const struct nftnl_ruleset *rs,uint32_t type,uint32_t flags)
@@ -1162,10 +1162,10 @@ static int nftnl_ruleset_cmd_fprintf(FILE *fp, const struct nftnl_ruleset *rs,return len; } +EXPORT_SYMBOL (nftnl_ruleset_fprintf);int nftnl_ruleset_fprintf (FILE *fp,const struct nftnl_ruleset *rs,uint32_t type,uint32_t flags) {return nftnl_ruleset_cmd_fprintf (fp, rs,nftnl_flag2cmd (flags), type, flags); } -EXPORT_SYMBOL (nftnl_ruleset_fprintf);
src/set.c +34 -32
306 lines not on this page · raw message
src/set_elem.c +25 -24
241 lines not on this page · raw message
src/table.c +30 -30
277 lines not on this page · raw message
src/trace.c +1 -1
@@ -324,8 +324,8 @@ static int nftnl_trace_parse_verdict(const struct nlattr *attr, }return 0 ; } -EXPORT_SYMBOL (nftnl_trace_nlmsg_parse); +EXPORT_SYMBOL (nftnl_trace_nlmsg_parse);int nftnl_trace_nlmsg_parse (const struct nlmsghdr *nlh,struct nftnl_trace *t) {struct nfgenmsg *nfg =mnl_nlmsg_get_payload (nlh);
src/udata.c +16 -16
@@ -16,6 +16,7 @@#include <stdint.h> #include <string.h> +EXPORT_SYMBOL (nftnl_udata_buf_alloc);struct nftnl_udata_buf *nftnl_udata_buf_alloc (uint32_t data_size) {struct nftnl_udata_buf *buf;
@@ -28,46 +29,46 @@ struct nftnl_udata_buf *nftnl_udata_buf_alloc(uint32_t data_size)return buf; } -EXPORT_SYMBOL (nftnl_udata_buf_alloc); +EXPORT_SYMBOL (nftnl_udata_buf_free);void nftnl_udata_buf_free (const struct nftnl_udata_buf *buf) {xfree (buf); } -EXPORT_SYMBOL (nftnl_udata_buf_free); +EXPORT_SYMBOL (nftnl_udata_buf_len);uint32_t nftnl_udata_buf_len (const struct nftnl_udata_buf *buf) {return (uint32_t )(buf->end - buf->data); } -EXPORT_SYMBOL (nftnl_udata_buf_len); +EXPORT_SYMBOL (nftnl_udata_buf_data);void *nftnl_udata_buf_data (const struct nftnl_udata_buf *buf) {return (void *)buf->data; } -EXPORT_SYMBOL (nftnl_udata_buf_data); +EXPORT_SYMBOL (nftnl_udata_buf_put);void nftnl_udata_buf_put (struct nftnl_udata_buf *buf,const void *data,uint32_t len) {memcpy (buf->data, data, len <= buf->size ? len : buf->size); buf->end = buf->data + len; } -EXPORT_SYMBOL (nftnl_udata_buf_put); +EXPORT_SYMBOL (nftnl_udata_start);struct nftnl_udata *nftnl_udata_start (const struct nftnl_udata_buf *buf) {return (struct nftnl_udata *)buf->data; } -EXPORT_SYMBOL (nftnl_udata_start); +EXPORT_SYMBOL (nftnl_udata_end);struct nftnl_udata *nftnl_udata_end (const struct nftnl_udata_buf *buf) {return (struct nftnl_udata *)buf->end; } -EXPORT_SYMBOL (nftnl_udata_end); +EXPORT_SYMBOL (nftnl_udata_put);bool nftnl_udata_put (struct nftnl_udata_buf *buf,uint8_t type,uint32_t len,const void *value) {
@@ -85,54 +86,54 @@ bool nftnl_udata_put(struct nftnl_udata_buf *buf, uint8_t type, uint32_t len,return true; } -EXPORT_SYMBOL (nftnl_udata_put); +EXPORT_SYMBOL (nftnl_udata_put_strz);bool nftnl_udata_put_strz (struct nftnl_udata_buf *buf,uint8_t type,const char *strz) {return nftnl_udata_put (buf, type,strlen (strz) +1 , strz); } -EXPORT_SYMBOL (nftnl_udata_put_strz); +EXPORT_SYMBOL (nftnl_udata_put_u32);bool nftnl_udata_put_u32 (struct nftnl_udata_buf *buf,uint8_t type,uint32_t data) {return nftnl_udata_put (buf, type,sizeof (data), &data); } -EXPORT_SYMBOL (nftnl_udata_put_u32); +EXPORT_SYMBOL (nftnl_udata_type);uint8_t nftnl_udata_type (const struct nftnl_udata *attr) {return attr->type; } -EXPORT_SYMBOL (nftnl_udata_type); +EXPORT_SYMBOL (nftnl_udata_len);uint8_t nftnl_udata_len (const struct nftnl_udata *attr) {return attr->len; } -EXPORT_SYMBOL (nftnl_udata_len); +EXPORT_SYMBOL (nftnl_udata_get);void *nftnl_udata_get (const struct nftnl_udata *attr) {return (void *)attr->value; } -EXPORT_SYMBOL (nftnl_udata_get); +EXPORT_SYMBOL (nftnl_udata_get_u32);uint32_t nftnl_udata_get_u32 (const struct nftnl_udata *attr) {uint32_t *data = (uint32_t *)attr->value;return *data; } -EXPORT_SYMBOL (nftnl_udata_get_u32); +EXPORT_SYMBOL (nftnl_udata_next);struct nftnl_udata *nftnl_udata_next (const struct nftnl_udata *attr) {return (struct nftnl_udata *)&attr->value[attr->len]; } -EXPORT_SYMBOL (nftnl_udata_next); +EXPORT_SYMBOL (nftnl_udata_parse);int nftnl_udata_parse (const void *data,uint32_t data_len,nftnl_udata_cb_t cb,void *cb_data) {
@@ -147,4 +148,3 @@ int nftnl_udata_parse(const void *data, uint32_t data_len, nftnl_udata_cb_t cb,return ret; } -EXPORT_SYMBOL (nftnl_udata_parse);
Signature · 1 line
2.15.1