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