From: Boram Park Date: Fri, 30 Mar 2018 04:04:00 +0000 (+0900) Subject: add LIST_FIRST_ENTRY, LIST_LAST_ENTRY macro X-Git-Tag: accepted/tizen/unified/20180404.063348~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F13%2F174313%2F1;p=platform%2Fcore%2Fuifw%2Flibtdm.git add LIST_FIRST_ENTRY, LIST_LAST_ENTRY macro Change-Id: I98adf7df5ecb3dd94627e06bda3eb253033b289d --- diff --git a/include/tdm_list.h b/include/tdm_list.h index 7475894..3873817 100644 --- a/include/tdm_list.h +++ b/include/tdm_list.h @@ -112,6 +112,12 @@ static inline int list_length(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))