summaryrefslogtreecommitdiffstats
path: root/src/gen.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2016-04-26 14:16:58 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2016-05-09 22:57:10 +0200
commit600890067c40e1846398db373b9c38b6fe9a16a6 (patch)
treea2419ba0f0a817937bce9ca0f048ec43d24e5b42 /src/gen.c
parent813da08a8bd9d320d6a6a52b3cacc87b8d0ed1f9 (diff)
libnftnl: constify object arguments to various functions
flow table support needs constant object arguments to printing functions to avoid ugly casts. While at it, also constify object arguments to message construction, destructor and a few helper functions. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/gen.c')
-rw-r--r--src/gen.c32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/gen.c b/src/gen.c
index f864333..1f94603 100644
--- a/src/gen.c
+++ b/src/gen.c
@@ -35,7 +35,7 @@ struct nftnl_gen *nftnl_gen_alloc(void)
}
EXPORT_SYMBOL_ALIAS(nftnl_gen_alloc, nft_gen_alloc);
-void nftnl_gen_free(struct nftnl_gen *gen)
+void nftnl_gen_free(const struct nftnl_gen *gen)
{
xfree(gen);
}
@@ -93,8 +93,8 @@ void nftnl_gen_set_u32(struct nftnl_gen *gen, uint16_t attr, uint32_t val)
}
EXPORT_SYMBOL_ALIAS(nftnl_gen_set_u32, nft_gen_attr_set_u32);
-const void *nftnl_gen_get_data(struct nftnl_gen *gen, uint16_t attr,
- uint32_t *data_len)
+const void *nftnl_gen_get_data(const struct nftnl_gen *gen, uint16_t attr,
+ uint32_t *data_len)
{
if (!(gen->flags & (1 << attr)))
return NULL;
@@ -107,14 +107,14 @@ const void *nftnl_gen_get_data(struct nftnl_gen *gen, uint16_t attr,
}
EXPORT_SYMBOL_ALIAS(nftnl_gen_get_data, nft_gen_attr_get_data);
-const void *nftnl_gen_get(struct nftnl_gen *gen, uint16_t attr)
+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_ALIAS(nftnl_gen_get, nft_gen_attr_get);
-uint32_t nftnl_gen_get_u32(struct nftnl_gen *gen, uint16_t attr)
+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);
@@ -156,13 +156,15 @@ int nftnl_gen_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_gen *gen)
}
EXPORT_SYMBOL_ALIAS(nftnl_gen_nlmsg_parse, nft_gen_nlmsg_parse);
-static int nftnl_gen_snprintf_default(char *buf, size_t size, struct nftnl_gen *gen)
+static int nftnl_gen_snprintf_default(char *buf, size_t size,
+ const struct nftnl_gen *gen)
{
return snprintf(buf, size, "ruleset generation ID %u", gen->id);
}
-static int nftnl_gen_cmd_snprintf(char *buf, size_t size, struct nftnl_gen *gen,
- uint32_t cmd, uint32_t type, uint32_t flags)
+static int nftnl_gen_cmd_snprintf(char *buf, size_t size,
+ const struct nftnl_gen *gen, uint32_t cmd,
+ uint32_t type, uint32_t flags)
{
int ret, len = size, offset = 0;
@@ -184,23 +186,23 @@ static int nftnl_gen_cmd_snprintf(char *buf, size_t size, struct nftnl_gen *gen,
return offset;
}
-int nftnl_gen_snprintf(char *buf, size_t size, struct nftnl_gen *gen, uint32_t type,
- uint32_t flags)
+int nftnl_gen_snprintf(char *buf, size_t size, const struct nftnl_gen *gen,
+ uint32_t type, uint32_t flags)
{;
return nftnl_gen_cmd_snprintf(buf, size, gen, nftnl_flag2cmd(flags), type,
flags);
}
EXPORT_SYMBOL_ALIAS(nftnl_gen_snprintf, nft_gen_snprintf);
-static inline int nftnl_gen_do_snprintf(char *buf, size_t size, void *gen,
- uint32_t cmd, uint32_t type,
- uint32_t flags)
+static inline int nftnl_gen_do_snprintf(char *buf, size_t size, const void *gen,
+ uint32_t cmd, uint32_t type,
+ uint32_t flags)
{
return nftnl_gen_snprintf(buf, size, gen, type, flags);
}
-int nftnl_gen_fprintf(FILE *fp, struct nftnl_gen *gen, uint32_t type,
- uint32_t flags)
+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);