Lines Matching refs:head

63 #define SM_TAILQ_HEAD_INITIALIZER(head)					\  argument
64 { NULL, &(head).tqh_first }
75 #define SM_TAILQ_FIRST(head) ((head)->tqh_first) argument
76 #define SM_TAILQ_END(head) NULL argument
78 #define SM_TAILQ_LAST(head, headname) \ argument
79 (*(((struct headname *)((head)->tqh_last))->tqh_last))
83 #define SM_TAILQ_EMPTY(head) \ argument
84 (SM_TAILQ_FIRST(head) == SM_TAILQ_END(head))
86 #define SM_TAILQ_FOREACH(var, head, field) \ argument
87 for((var) = SM_TAILQ_FIRST(head); \
88 (var) != SM_TAILQ_END(head); \
91 #define SM_TAILQ_FOREACH_REVERSE(var, head, headname, field) \ argument
92 for((var) = SM_TAILQ_LAST(head, headname); \
93 (var) != SM_TAILQ_END(head); \
99 #define SM_TAILQ_INIT(head) do { \ argument
100 (head)->tqh_first = NULL; \
101 (head)->tqh_last = &(head)->tqh_first; \
104 #define SM_TAILQ_INSERT_HEAD(head, elm, field) do { \ argument
105 if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
106 (head)->tqh_first->field.tqe_prev = \
109 (head)->tqh_last = &(elm)->field.tqe_next; \
110 (head)->tqh_first = (elm); \
111 (elm)->field.tqe_prev = &(head)->tqh_first; \
114 #define SM_TAILQ_INSERT_TAIL(head, elm, field) do { \ argument
116 (elm)->field.tqe_prev = (head)->tqh_last; \
117 *(head)->tqh_last = (elm); \
118 (head)->tqh_last = &(elm)->field.tqe_next; \
121 #define SM_TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ argument
126 (head)->tqh_last = &(elm)->field.tqe_next; \
138 #define SM_TAILQ_REMOVE(head, elm, field) do { \ argument
143 (head)->tqh_last = (elm)->field.tqe_prev; \
147 #define SM_TAILQ_REPLACE(head, elm, elm2, field) do { \ argument
152 (head)->tqh_last = &(elm2)->field.tqe_next; \