LIST_END
for (s = LIST_FIRST(&sessions); s != LIST_END(&sessions); s = next) {
#define LIST_EMPTY(head) ((head)->lh_first == LIST_END(head))
(var) != LIST_END(head); \
(var) != LIST_END(head) && \
(head)->lh_first = LIST_END(head); \
LIST_END(head)) \
if (((elm)->field.le_next = (head)->lh_first) != LIST_END(head))\