summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/list/list.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/list/list.h b/lib/list/list.h
index 3858cf6..f78411e 100644
--- a/lib/list/list.h
+++ b/lib/list/list.h
@@ -30,6 +30,13 @@ struct list {
&pos->member != &(list)->head; \
pos = list_entry(pos->member.next, typeof(*pos), member))
+#define list_for_each_entry_safe(list, pos, n, member) \
+ for (pos = list_entry((list)->head.next, typeof(*pos), member), \
+ n = list_entry(pos->member.next, typeof(*pos), member); \
+ &pos->member != &(list)->head; \
+ pos = n, n = list_entry(n->member.next, typeof(*n), member))
+
+
void list_init(struct list *list);
void list_add(struct list *list, struct list_item *item);
OpenPOWER on IntegriCloud