From: Rob Clark Date: Wed, 29 Apr 2015 12:38:45 +0000 (-0400) Subject: util/list: add list_first/last_entry X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c79b2e626c60a29f684bc389f07a712b59fa99cc;p=mesa.git util/list: add list_first/last_entry I need an easier way to get at head/tail in ir3. Signed-off-by: Rob Clark --- diff --git a/src/util/list.h b/src/util/list.h index 946034710ef..b98ce59ff77 100644 --- a/src/util/list.h +++ b/src/util/list.h @@ -140,6 +140,13 @@ static inline void list_validate(struct list_head *list) - ((char *)&(sample)->member - (char *)(sample))) #endif +#define list_first_entry(ptr, type, member) \ + LIST_ENTRY(type, (ptr)->next, member) + +#define list_last_entry(ptr, type, member) \ + LIST_ENTRY(type, (ptr)->prev, member) + + #define LIST_FOR_EACH_ENTRY(pos, head, member) \ for (pos = NULL, pos = container_of((head)->next, pos, member); \ &pos->member != (head); \