#define SH_CIRCLEQ_INSERT_BEFORE ( head,
listelm,
elm,
field,
type   ) 

Value:

do {    \
        (elm)->field.scqe_next = SH_PTR_TO_OFF(elm, listelm);           \
        (elm)->field.scqe_prev = (elm)->field.scqe_next -               \
                SH_CIRCLEQ_PREVP(listelm, field, type)->field.scqe_next;\
        if (SH_CIRCLEQ_PREVP(listelm, field, type) == (void *)(head))   \
                (head)->scqh_first = SH_PTR_TO_OFF(head, elm);          \
        else                                                            \
                SH_CIRCLEQ_PREVP(listelm,                               \
                    field, type)->field.scqe_next =                     \
                    SH_PTR_TO_OFF(SH_CIRCLEQ_PREVP(listelm,             \
                    field, type), elm);                                 \
        (listelm)->field.scqe_prev = -(elm)->field.scqe_next;           \
} while (0)

Definition at line 288 of file shqueue.h.


Generated on Sun Jun 8 10:56:56 2008 for GNUmifluz by  doxygen 1.5.5