diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-06-13 21:15:05 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-06-17 00:38:51 +0200 |
commit | 283ea9e229fa362836992c61e4dcef4aef1a8564 (patch) | |
tree | 5fed00940921389ca34ca9a3ac08793769be9754 /src/table.c | |
parent | faa855f4deaded25781a41af19ebfe82fa77bfc0 (diff) |
src: add nft_*_list_foreach
This patch adds a simplied iterator interface.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/table.c')
-rw-r--r-- | src/table.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/table.c b/src/table.c index f21a6ed..3e8d4c9 100644 --- a/src/table.c +++ b/src/table.c @@ -409,6 +409,22 @@ void nft_table_list_add(struct nft_table *r, struct nft_table_list *list) } EXPORT_SYMBOL(nft_table_list_add); +int nft_table_list_foreach(struct nft_table_list *table_list, + int (*cb)(struct nft_table *t, void *data), + void *data) +{ + struct nft_table *cur, *tmp; + int ret; + + list_for_each_entry_safe(cur, tmp, &table_list->list, head) { + ret = cb(cur, data); + if (ret < 0) + return ret; + } + return 0; +} +EXPORT_SYMBOL(nft_table_list_foreach); + struct nft_table_list_iter { struct nft_table_list *list; struct nft_table *cur; |