aboutsummaryrefslogtreecommitdiffstats
path: root/util_double_list.h
diff options
context:
space:
mode:
Diffstat (limited to 'util_double_list.h')
-rw-r--r--util_double_list.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/util_double_list.h b/util_double_list.h
index 27e0761b..5d01f52d 100644
--- a/util_double_list.h
+++ b/util_double_list.h
@@ -98,6 +98,12 @@ static inline void list_delinit(struct list_head *item)
#define LIST_ENTRY(__type, __item, __field) \
((__type *)(((char *)(__item)) - offsetof(__type, __field)))
+#define LIST_FIRST_ENTRY(__ptr, __type, __field) \
+ LIST_ENTRY(__type, (__ptr)->next, __field)
+
+#define LIST_LAST_ENTRY(__ptr, __type, __field) \
+ LIST_ENTRY(__type, (__ptr)->prev, __field)
+
#define LIST_IS_EMPTY(__list) \
((__list)->next == (__list))