summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-09-17 16:16:22 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-09-17 16:17:59 +0200
commita0274efd21f022d4416da03a5a19be5b61f225c1 (patch)
treef991bbcc881be85a3edf1d76295272c7de0bd1a4 /src
parent86ef92a88776bcb8a6d3a403ee2bb0ea2e3eb937 (diff)
src: add nft_*_list_del
This allows us to delete object from the list, note that nft_chain_list_del already existed. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r--src/libnftables.map3
-rw-r--r--src/rule.c6
-rw-r--r--src/set.c6
-rw-r--r--src/table.c6
4 files changed, 21 insertions, 0 deletions
diff --git a/src/libnftables.map b/src/libnftables.map
index c4a1c26..963c03e 100644
--- a/src/libnftables.map
+++ b/src/libnftables.map
@@ -21,6 +21,7 @@ global:
nft_table_list_foreach;
nft_table_list_add;
nft_table_list_add_tail;
+ nft_table_list_del;
nft_table_list_iter_create;
nft_table_list_iter_next;
nft_table_list_iter_destroy;
@@ -103,6 +104,7 @@ global:
nft_rule_list_is_empty;
nft_rule_list_add;
nft_rule_list_add_tail;
+ nft_rule_list_del;
nft_rule_list_foreach;
nft_rule_list_iter_create;
nft_rule_list_iter_cur;
@@ -129,6 +131,7 @@ global:
nft_set_list_free;
nft_set_list_add;
nft_set_list_add_tail;
+ nft_set_list_del;
nft_set_list_is_empty;
nft_set_list_foreach;
diff --git a/src/rule.c b/src/rule.c
index 555e724..2e7be6f 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -948,6 +948,12 @@ void nft_rule_list_add_tail(struct nft_rule *r, struct nft_rule_list *list)
}
EXPORT_SYMBOL(nft_rule_list_add_tail);
+void nft_rule_list_del(struct nft_rule *r)
+{
+ list_del(&r->head);
+}
+EXPORT_SYMBOL(nft_rule_list_del);
+
int nft_rule_list_foreach(struct nft_rule_list *rule_list,
int (*cb)(struct nft_rule *r, void *data),
void *data)
diff --git a/src/set.c b/src/set.c
index 98f357c..530776d 100644
--- a/src/set.c
+++ b/src/set.c
@@ -720,6 +720,12 @@ void nft_set_list_add_tail(struct nft_set *s, struct nft_set_list *list)
}
EXPORT_SYMBOL(nft_set_list_add_tail);
+void nft_set_list_del(struct nft_set *s)
+{
+ list_del(&s->head);
+}
+EXPORT_SYMBOL(nft_set_list_del);
+
int nft_set_list_foreach(struct nft_set_list *set_list,
int (*cb)(struct nft_set *t, void *data), void *data)
{
diff --git a/src/table.c b/src/table.c
index c8fff1e..c095053 100644
--- a/src/table.c
+++ b/src/table.c
@@ -436,6 +436,12 @@ void nft_table_list_add_tail(struct nft_table *r, struct nft_table_list *list)
}
EXPORT_SYMBOL(nft_table_list_add_tail);
+void nft_table_list_del(struct nft_table *t)
+{
+ list_del(&t->head);
+}
+EXPORT_SYMBOL(nft_table_list_del);
+
int nft_table_list_foreach(struct nft_table_list *table_list,
int (*cb)(struct nft_table *t, void *data),
void *data)