From 283ea9e229fa362836992c61e4dcef4aef1a8564 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 13 Jun 2013 21:15:05 +0200 Subject: src: add nft_*_list_foreach This patch adds a simplied iterator interface. Signed-off-by: Pablo Neira Ayuso --- src/set.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/set.c') diff --git a/src/set.c b/src/set.c index 8e8adad..4d16062 100644 --- a/src/set.c +++ b/src/set.c @@ -364,6 +364,21 @@ void nft_set_list_add(struct nft_set *s, struct nft_set_list *list) } EXPORT_SYMBOL(nft_set_list_add); +int nft_set_list_foreach(struct nft_set_list *set_list, + int (*cb)(struct nft_set *t, void *data), void *data) +{ + struct nft_set *cur, *tmp; + int ret; + + list_for_each_entry_safe(cur, tmp, &set_list->list, head) { + ret = cb(cur, data); + if (ret < 0) + return ret; + } + return 0; +} +EXPORT_SYMBOL(nft_set_list_foreach); + struct nft_set_list_iter { struct nft_set_list *list; struct nft_set *cur; -- cgit v1.2.3