CIRCLEQ_FIRST
for ((var) = CIRCLEQ_FIRST((head)); \
CIRCLEQ_FIRST((head)) = (void *)(head); \
CIRCLEQ_FIRST((head)) = (elm); \
CIRCLEQ_NEXT((elm), field) = CIRCLEQ_FIRST((head)); \
CIRCLEQ_PREV(CIRCLEQ_FIRST((head)), field) = (elm); \
CIRCLEQ_FIRST((head)) = (elm); \
if (CIRCLEQ_FIRST((head)) == (void *)(head)) \
CIRCLEQ_FIRST((head)) = (elm); \
CIRCLEQ_FIRST((head)) = CIRCLEQ_NEXT((elm), field); \