Value: do { \ (elm)->field.scqe_next = SH_PTR_TO_OFF(elm, head); \ (elm)->field.scqe_prev = (head)->scqh_last + \ (elm)->field.scqe_next; \ if ((head)->scqh_first == 0) \ (head)->scqh_first = -(elm)->field.scqe_next; \ else \ SH_CIRCLEQ_LASTP(head, type)->field.scqe_next = \ SH_PTR_TO_OFF(SH_CIRCLEQ_LASTP(head, type), elm); \ (head)->scqh_last = -(elm)->field.scqe_next; \ } while (0)
|