STAILQ_END
#define STAILQ_EMPTY(head) ((head)->stqh_first == STAILQ_END(head))
(var) != STAILQ_END(head); \
((var) != STAILQ_END(head) ? (var) : STAILQ_FIRST((head))); \
(var) != STAILQ_END(head); \
(var) != STAILQ_END(head) && \
((var) != STAILQ_END(head) ? (var) : STAILQ_FIRST((head))); \
(var) != STAILQ_END(head) && \
STAILQ_FIRST(head) = STAILQ_END(head); \