111: #define SLIST_END(head) NULL
112: #define SLIST_EMPTY(head) (SLIST_FIRST(head) == SLIST_END(head))
113: #define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
115: #define SLIST_FOREACH(var, head, field) \
116: for((var) = SLIST_FIRST(head); \
117: (var) != SLIST_END(head); \
120: #define SLIST_FOREACH_SAFE(var, head, field, tvar) \
121: for ((var) = SLIST_FIRST(head); \
122: (var) && ((tvar) = SLIST_NEXT(var, field), 1); \
128: #define SLIST_INIT(head) { \
129: SLIST_FIRST(head) = SLIST_END(head); \
130: }