Lines Matching refs:list
9 /* $Id: list.h,v 1.14 2007/06/19 23:47:23 tbox Exp $ */
14 /*! \file lwres/list.h */
17 #define LWRES_LIST_INIT(list) \
18 do { (list).head = NULL; (list).tail = NULL; } while (0)
29 #define LWRES_LIST_HEAD(list) ((list).head)
30 #define LWRES_LIST_TAIL(list) ((list).tail)
31 #define LWRES_LIST_EMPTY(list) LWRES_TF((list).head == NULL)
33 #define LWRES_LIST_PREPEND(list, elt, link) \
35 if ((list).head != NULL) \
36 (list).head->link.prev = (elt); \
38 (list).tail = (elt); \
40 (elt)->link.next = (list).head; \
41 (list).head = (elt); \
44 #define LWRES_LIST_APPEND(list, elt, link) \
46 if ((list).tail != NULL) \
47 (list).tail->link.next = (elt); \
49 (list).head = (elt); \
50 (elt)->link.prev = (list).tail; \
52 (list).tail = (elt); \
55 #define LWRES_LIST_UNLINK(list, elt, link) \
60 (list).tail = (elt)->link.prev; \
64 (list).head = (elt)->link.next; \
72 #define LWRES_LIST_INSERTBEFORE(list, before, elt, link) \
75 LWRES_LIST_PREPEND(list, elt, link); \
84 #define LWRES_LIST_INSERTAFTER(list, after, elt, link) \
87 LWRES_LIST_APPEND(list, elt, link); \
109 #define LWRES_LIST_ENQUEUE(list, elt, link) LWRES_LIST_APPEND(list, elt, link)
110 #define LWRES_LIST_DEQUEUE(list, elt, link) LWRES_LIST_UNLINK(list, elt, link)