summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-05-16 18:38:10 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-05-16 18:38:10 +0200
commit22419ba3f9f0b3acf08a3c79a70538901ff169a6 (patch)
tree4b2804a0449b1e73122d113e0fb74b104ad802d8
parent3bcf3bae07405e3463f111edf21bf5d1facf9cad (diff)
chain: add nft_chain_attr_set_str
And constify data passed to nft_chain_attr_set. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--include/libnftables/chain.h3
-rw-r--r--src/chain.c8
-rw-r--r--src/libnftables.map1
3 files changed, 10 insertions, 2 deletions
diff --git a/include/libnftables/chain.h b/include/libnftables/chain.h
index a7f6a50..9d356d7 100644
--- a/include/libnftables/chain.h
+++ b/include/libnftables/chain.h
@@ -26,10 +26,11 @@ enum {
NFT_CHAIN_ATTR_TYPE,
};
-void nft_chain_attr_set(struct nft_chain *t, uint16_t attr, void *data);
+void nft_chain_attr_set(struct nft_chain *t, uint16_t attr, const void *data);
void nft_chain_attr_set_u32(struct nft_chain *t, uint16_t attr, uint32_t data);
void nft_chain_attr_set_s32(struct nft_chain *t, uint16_t attr, int32_t data);
void nft_chain_attr_set_u64(struct nft_chain *t, uint16_t attr, uint64_t data);
+void nft_chain_attr_set_str(struct nft_chain *t, uint16_t attr, const char *str);
void *nft_chain_attr_get(struct nft_chain *c, uint16_t attr);
const char *nft_chain_attr_get_str(struct nft_chain *c, uint16_t attr);
diff --git a/src/chain.c b/src/chain.c
index 44a0e66..e91682c 100644
--- a/src/chain.c
+++ b/src/chain.c
@@ -57,7 +57,7 @@ void nft_chain_free(struct nft_chain *c)
}
EXPORT_SYMBOL(nft_chain_free);
-void nft_chain_attr_set(struct nft_chain *c, uint16_t attr, void *data)
+void nft_chain_attr_set(struct nft_chain *c, uint16_t attr, const void *data)
{
switch(attr) {
case NFT_CHAIN_ATTR_NAME:
@@ -124,6 +124,12 @@ void nft_chain_attr_set_u64(struct nft_chain *c, uint16_t attr, uint64_t data)
}
EXPORT_SYMBOL(nft_chain_attr_set_u64);
+void nft_chain_attr_set_str(struct nft_chain *c, uint16_t attr, const char *str)
+{
+ nft_chain_attr_set_str(c, attr, str);
+}
+EXPORT_SYMBOL(nft_chain_attr_set_str);
+
void *nft_chain_attr_get(struct nft_chain *c, uint16_t attr)
{
switch(attr) {
diff --git a/src/libnftables.map b/src/libnftables.map
index c490d1c..5a2c018 100644
--- a/src/libnftables.map
+++ b/src/libnftables.map
@@ -25,6 +25,7 @@ global:
nft_chain_attr_set_u32;
nft_chain_attr_set_s32;
nft_chain_attr_set_u64;
+ nft_chain_attr_set_str;
nft_chain_attr_get;
nft_chain_attr_get_u32;
nft_chain_attr_get_s32;