From ef23c5a37590d7b444d9d6bdfd764cf9fbd4c308 Mon Sep 17 00:00:00 2001 From: Arturo Borrero Date: Thu, 11 Jul 2013 10:44:13 +0200 Subject: src: add nft_*_list_is_empty() functions This functions check if a given nft_*_list is empty or not. I found this quite useful while working with a full ruleset. Signed-off-by: Arturo Borrero Gonzalez Signed-off-by: Pablo Neira Ayuso --- src/chain.c | 6 ++++++ src/libnftables.map | 4 ++++ src/rule.c | 6 ++++++ src/set.c | 6 ++++++ src/table.c | 6 ++++++ 5 files changed, 28 insertions(+) (limited to 'src') diff --git a/src/chain.c b/src/chain.c index bdbaf60..3555829 100644 --- a/src/chain.c +++ b/src/chain.c @@ -862,6 +862,12 @@ void nft_chain_list_free(struct nft_chain_list *list) } EXPORT_SYMBOL(nft_chain_list_free); +int nft_chain_list_is_empty(struct nft_chain_list *list) +{ + return list_empty(&list->list); +} +EXPORT_SYMBOL(nft_chain_list_is_empty); + void nft_chain_list_add(struct nft_chain *r, struct nft_chain_list *list) { list_add_tail(&r->head, &list->list); diff --git a/src/libnftables.map b/src/libnftables.map index 9546bca..a60b943 100644 --- a/src/libnftables.map +++ b/src/libnftables.map @@ -17,6 +17,7 @@ global: nft_table_nlmsg_parse; nft_table_list_alloc; nft_table_list_free; + nft_table_list_is_empty; nft_table_list_foreach; nft_table_list_add; nft_table_list_iter_create; @@ -44,6 +45,7 @@ global: nft_chain_nlmsg_parse; nft_chain_list_alloc; nft_chain_list_free; + nft_chain_list_is_empty; nft_chain_list_add; nft_chain_list_del; nft_chain_list_foreach; @@ -94,6 +96,7 @@ global: nft_rule_list_alloc; nft_rule_list_free; + nft_rule_list_is_empty; nft_rule_list_add; nft_rule_list_foreach; nft_rule_list_iter_create; @@ -119,6 +122,7 @@ global: nft_set_list_alloc; nft_set_list_free; nft_set_list_add; + nft_set_list_is_empty; nft_set_list_foreach; nft_set_list_iter_create; diff --git a/src/rule.c b/src/rule.c index 5a4ae91..aa7aee8 100644 --- a/src/rule.c +++ b/src/rule.c @@ -867,6 +867,12 @@ void nft_rule_list_free(struct nft_rule_list *list) } EXPORT_SYMBOL(nft_rule_list_free); +int nft_rule_list_is_empty(struct nft_rule_list *list) +{ + return list_empty(&list->list); +} +EXPORT_SYMBOL(nft_rule_list_is_empty); + void nft_rule_list_add(struct nft_rule *r, struct nft_rule_list *list) { list_add_tail(&r->head, &list->list); diff --git a/src/set.c b/src/set.c index dc3bd27..3874a5b 100644 --- a/src/set.c +++ b/src/set.c @@ -473,6 +473,12 @@ void nft_set_list_free(struct nft_set_list *list) } EXPORT_SYMBOL(nft_set_list_free); +int nft_set_list_is_empty(struct nft_set_list *list) +{ + return list_empty(&list->list); +} +EXPORT_SYMBOL(nft_set_list_is_empty); + void nft_set_list_add(struct nft_set *s, struct nft_set_list *list) { list_add_tail(&s->head, &list->list); diff --git a/src/table.c b/src/table.c index 27fa8fc..9ec4117 100644 --- a/src/table.c +++ b/src/table.c @@ -410,6 +410,12 @@ void nft_table_list_free(struct nft_table_list *list) } EXPORT_SYMBOL(nft_table_list_free); +int nft_table_list_is_empty(struct nft_table_list *list) +{ + return list_empty(&list->list); +} +EXPORT_SYMBOL(nft_table_list_is_empty); + void nft_table_list_add(struct nft_table *r, struct nft_table_list *list) { list_add_tail(&r->head, &list->list); -- cgit v1.2.3