From a0274efd21f022d4416da03a5a19be5b61f225c1 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 17 Sep 2013 16:16:22 +0200 Subject: 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 --- src/libnftables.map | 3 +++ src/rule.c | 6 ++++++ src/set.c | 6 ++++++ src/table.c | 6 ++++++ 4 files changed, 21 insertions(+) (limited to 'src') 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) -- cgit v1.2.3