    elm               138 libdb/queue.h  #define SLIST_INSERT_AFTER(slistelm, elm, field) do {			\
    elm               139 libdb/queue.h  	(elm)->field.sle_next = (slistelm)->field.sle_next;		\
    elm               140 libdb/queue.h  	(slistelm)->field.sle_next = (elm);				\
    elm               143 libdb/queue.h  #define SLIST_INSERT_HEAD(head, elm, field) do {			\
    elm               144 libdb/queue.h  	(elm)->field.sle_next = (head)->slh_first;			\
    elm               145 libdb/queue.h  	(head)->slh_first = (elm);					\
    elm               148 libdb/queue.h  #define SLIST_NEXT(elm, field)	((elm)->field.sle_next)
    elm               154 libdb/queue.h  #define SLIST_REMOVE(head, elm, type, field) do {			\
    elm               155 libdb/queue.h  	if ((head)->slh_first == (elm)) {				\
    elm               160 libdb/queue.h  		while( curelm->field.sle_next != (elm) )		\
    elm               205 libdb/queue.h  #define STAILQ_INSERT_HEAD(head, elm, field) do {			\
    elm               206 libdb/queue.h  	if (((elm)->field.stqe_next = (head)->stqh_first) == NULL)	\
    elm               207 libdb/queue.h  		(head)->stqh_last = &(elm)->field.stqe_next;		\
    elm               208 libdb/queue.h  	(head)->stqh_first = (elm);					\
    elm               211 libdb/queue.h  #define STAILQ_INSERT_TAIL(head, elm, field) do {			\
    elm               212 libdb/queue.h  	(elm)->field.stqe_next = NULL;					\
    elm               213 libdb/queue.h  	*(head)->stqh_last = (elm);					\
    elm               214 libdb/queue.h  	(head)->stqh_last = &(elm)->field.stqe_next;			\
    elm               217 libdb/queue.h  #define STAILQ_INSERT_AFTER(head, tqelm, elm, field) do {		\
    elm               218 libdb/queue.h  	if (((elm)->field.stqe_next = (tqelm)->field.stqe_next) == NULL)\
    elm               219 libdb/queue.h  		(head)->stqh_last = &(elm)->field.stqe_next;		\
    elm               220 libdb/queue.h  	(tqelm)->field.stqe_next = (elm);				\
    elm               223 libdb/queue.h  #define STAILQ_NEXT(elm, field)	((elm)->field.stqe_next)
    elm               231 libdb/queue.h  #define STAILQ_REMOVE_HEAD_UNTIL(head, elm, field) do {			\
    elm               232 libdb/queue.h  	if (((head)->stqh_first = (elm)->field.stqe_next) == NULL)	\
    elm               236 libdb/queue.h  #define STAILQ_REMOVE(head, elm, type, field) do {			\
    elm               237 libdb/queue.h  	if ((head)->stqh_first == (elm)) {				\
    elm               242 libdb/queue.h  		while( curelm->field.stqe_next != (elm) )		\
    elm               282 libdb/queue.h  #define LIST_INSERT_AFTER(listelm, elm, field) do {			\
    elm               283 libdb/queue.h  	if (((elm)->field.le_next = (listelm)->field.le_next) != NULL)	\
    elm               285 libdb/queue.h  		    &(elm)->field.le_next;				\
    elm               286 libdb/queue.h  	(listelm)->field.le_next = (elm);				\
    elm               287 libdb/queue.h  	(elm)->field.le_prev = &(listelm)->field.le_next;		\
    elm               290 libdb/queue.h  #define LIST_INSERT_BEFORE(listelm, elm, field) do {			\
    elm               291 libdb/queue.h  	(elm)->field.le_prev = (listelm)->field.le_prev;		\
    elm               292 libdb/queue.h  	(elm)->field.le_next = (listelm);				\
    elm               293 libdb/queue.h  	*(listelm)->field.le_prev = (elm);				\
    elm               294 libdb/queue.h  	(listelm)->field.le_prev = &(elm)->field.le_next;		\
    elm               297 libdb/queue.h  #define LIST_INSERT_HEAD(head, elm, field) do {				\
    elm               298 libdb/queue.h  	if (((elm)->field.le_next = (head)->lh_first) != NULL)		\
    elm               299 libdb/queue.h  		(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
    elm               300 libdb/queue.h  	(head)->lh_first = (elm);					\
    elm               301 libdb/queue.h  	(elm)->field.le_prev = &(head)->lh_first;			\
    elm               304 libdb/queue.h  #define LIST_NEXT(elm, field)	((elm)->field.le_next)
    elm               306 libdb/queue.h  #define LIST_REMOVE(elm, field) do {					\
    elm               307 libdb/queue.h  	if ((elm)->field.le_next != NULL)				\
    elm               308 libdb/queue.h  		(elm)->field.le_next->field.le_prev = 			\
    elm               309 libdb/queue.h  		    (elm)->field.le_prev;				\
    elm               310 libdb/queue.h  	*(elm)->field.le_prev = (elm)->field.le_next;			\
    elm               349 libdb/queue.h  #define	TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
    elm               351 libdb/queue.h  #define TAILQ_PREV(elm, headname, field) \
    elm               352 libdb/queue.h  	(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
    elm               359 libdb/queue.h  #define TAILQ_INSERT_HEAD(head, elm, field) do {			\
    elm               360 libdb/queue.h  	if (((elm)->field.tqe_next = (head)->tqh_first) != NULL)	\
    elm               362 libdb/queue.h  		    &(elm)->field.tqe_next;				\
    elm               364 libdb/queue.h  		(head)->tqh_last = &(elm)->field.tqe_next;		\
    elm               365 libdb/queue.h  	(head)->tqh_first = (elm);					\
    elm               366 libdb/queue.h  	(elm)->field.tqe_prev = &(head)->tqh_first;			\
    elm               369 libdb/queue.h  #define TAILQ_INSERT_TAIL(head, elm, field) do {			\
    elm               370 libdb/queue.h  	(elm)->field.tqe_next = NULL;					\
    elm               371 libdb/queue.h  	(elm)->field.tqe_prev = (head)->tqh_last;			\
    elm               372 libdb/queue.h  	*(head)->tqh_last = (elm);					\
    elm               373 libdb/queue.h  	(head)->tqh_last = &(elm)->field.tqe_next;			\
    elm               376 libdb/queue.h  #define TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
    elm               377 libdb/queue.h  	if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
    elm               378 libdb/queue.h  		(elm)->field.tqe_next->field.tqe_prev = 		\
    elm               379 libdb/queue.h  		    &(elm)->field.tqe_next;				\
    elm               381 libdb/queue.h  		(head)->tqh_last = &(elm)->field.tqe_next;		\
    elm               382 libdb/queue.h  	(listelm)->field.tqe_next = (elm);				\
    elm               383 libdb/queue.h  	(elm)->field.tqe_prev = &(listelm)->field.tqe_next;		\
    elm               386 libdb/queue.h  #define TAILQ_INSERT_BEFORE(listelm, elm, field) do {			\
    elm               387 libdb/queue.h  	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
    elm               388 libdb/queue.h  	(elm)->field.tqe_next = (listelm);				\
    elm               389 libdb/queue.h  	*(listelm)->field.tqe_prev = (elm);				\
    elm               390 libdb/queue.h  	(listelm)->field.tqe_prev = &(elm)->field.tqe_next;		\
    elm               393 libdb/queue.h  #define TAILQ_REMOVE(head, elm, field) do {				\
    elm               394 libdb/queue.h  	if (((elm)->field.tqe_next) != NULL)				\
    elm               395 libdb/queue.h  		(elm)->field.tqe_next->field.tqe_prev = 		\
    elm               396 libdb/queue.h  		    (elm)->field.tqe_prev;				\
    elm               398 libdb/queue.h  		(head)->tqh_last = (elm)->field.tqe_prev;		\
    elm               399 libdb/queue.h  	*(elm)->field.tqe_prev = (elm)->field.tqe_next;			\
    elm               439 libdb/queue.h  #define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
    elm               440 libdb/queue.h  	(elm)->field.cqe_next = (listelm)->field.cqe_next;		\
    elm               441 libdb/queue.h  	(elm)->field.cqe_prev = (listelm);				\
    elm               443 libdb/queue.h  		(head)->cqh_last = (elm);				\
    elm               445 libdb/queue.h  		(listelm)->field.cqe_next->field.cqe_prev = (elm);	\
    elm               446 libdb/queue.h  	(listelm)->field.cqe_next = (elm);				\
    elm               449 libdb/queue.h  #define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do {		\
    elm               450 libdb/queue.h  	(elm)->field.cqe_next = (listelm);				\
    elm               451 libdb/queue.h  	(elm)->field.cqe_prev = (listelm)->field.cqe_prev;		\
    elm               453 libdb/queue.h  		(head)->cqh_first = (elm);				\
    elm               455 libdb/queue.h  		(listelm)->field.cqe_prev->field.cqe_next = (elm);	\
    elm               456 libdb/queue.h  	(listelm)->field.cqe_prev = (elm);				\
    elm               459 libdb/queue.h  #define CIRCLEQ_INSERT_HEAD(head, elm, field) do {			\
    elm               460 libdb/queue.h  	(elm)->field.cqe_next = (head)->cqh_first;			\
    elm               461 libdb/queue.h  	(elm)->field.cqe_prev = (void *)(head);				\
    elm               463 libdb/queue.h  		(head)->cqh_last = (elm);				\
    elm               465 libdb/queue.h  		(head)->cqh_first->field.cqe_prev = (elm);		\
    elm               466 libdb/queue.h  	(head)->cqh_first = (elm);					\
    elm               469 libdb/queue.h  #define CIRCLEQ_INSERT_TAIL(head, elm, field) do {			\
    elm               470 libdb/queue.h  	(elm)->field.cqe_next = (void *)(head);				\
    elm               471 libdb/queue.h  	(elm)->field.cqe_prev = (head)->cqh_last;			\
    elm               473 libdb/queue.h  		(head)->cqh_first = (elm);				\
    elm               475 libdb/queue.h  		(head)->cqh_last->field.cqe_next = (elm);		\
    elm               476 libdb/queue.h  	(head)->cqh_last = (elm);					\
    elm               481 libdb/queue.h  #define CIRCLEQ_NEXT(elm,field) ((elm)->field.cqe_next)
    elm               483 libdb/queue.h  #define CIRCLEQ_PREV(elm,field) ((elm)->field.cqe_prev)
    elm               485 libdb/queue.h  #define	CIRCLEQ_REMOVE(head, elm, field) do {				\
    elm               486 libdb/queue.h  	if ((elm)->field.cqe_next == (void *)(head))			\
    elm               487 libdb/queue.h  		(head)->cqh_last = (elm)->field.cqe_prev;		\
    elm               489 libdb/queue.h  		(elm)->field.cqe_next->field.cqe_prev =			\
    elm               490 libdb/queue.h  		    (elm)->field.cqe_prev;				\
    elm               491 libdb/queue.h  	if ((elm)->field.cqe_prev == (void *)(head))			\
    elm               492 libdb/queue.h  		(head)->cqh_first = (elm)->field.cqe_next;		\
    elm               494 libdb/queue.h  		(elm)->field.cqe_prev->field.cqe_next =			\
    elm               495 libdb/queue.h  		    (elm)->field.cqe_next;				\