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;				\