From: Rob Clark Date: Tue, 21 Jun 2016 15:33:30 +0000 (-0400) Subject: list: add first/last entry macros X-Git-Tag: libdrm-2.4.70~14 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1d1e01b2350e40711fcf19e200e46e2edfd887b2;p=platform%2Fupstream%2Flibdrm.git list: add first/last entry macros Signed-off-by: Rob Clark --- diff --git a/util_double_list.h b/util_double_list.h index 27e0761..5d01f52 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))