elm 706 net/pf_ioctl.c #define PF_MD5_UPD(st, elm) \ elm 707 net/pf_ioctl.c MD5Update(ctx, (u_int8_t *) &(st)->elm, sizeof((st)->elm)) elm 709 net/pf_ioctl.c #define PF_MD5_UPD_STR(st, elm) \ elm 710 net/pf_ioctl.c MD5Update(ctx, (u_int8_t *) (st)->elm, strlen((st)->elm)) elm 712 net/pf_ioctl.c #define PF_MD5_UPD_HTONL(st, elm, stor) do { \ elm 713 net/pf_ioctl.c (stor) = htonl((st)->elm); \ elm 717 net/pf_ioctl.c #define PF_MD5_UPD_HTONS(st, elm, stor) do { \ elm 718 net/pf_ioctl.c (stor) = htons((st)->elm); \ elm 113 sys/queue.h #define SLIST_NEXT(elm, field) ((elm)->field.sle_next) elm 132 sys/queue.h #define SLIST_INSERT_AFTER(slistelm, elm, field) do { \ elm 133 sys/queue.h (elm)->field.sle_next = (slistelm)->field.sle_next; \ elm 134 sys/queue.h (slistelm)->field.sle_next = (elm); \ elm 137 sys/queue.h #define SLIST_INSERT_HEAD(head, elm, field) do { \ elm 138 sys/queue.h (elm)->field.sle_next = (head)->slh_first; \ elm 139 sys/queue.h (head)->slh_first = (elm); \ elm 142 sys/queue.h #define SLIST_REMOVE_NEXT(head, elm, field) do { \ elm 143 sys/queue.h (elm)->field.sle_next = (elm)->field.sle_next->field.sle_next; \ elm 150 sys/queue.h #define SLIST_REMOVE(head, elm, type, field) do { \ elm 151 sys/queue.h if ((head)->slh_first == (elm)) { \ elm 156 sys/queue.h while (curelm->field.sle_next != (elm)) \ elm 160 sys/queue.h _Q_INVALIDATE((elm)->field.sle_next); \ elm 187 sys/queue.h #define LIST_NEXT(elm, field) ((elm)->field.le_next) elm 201 sys/queue.h #define LIST_INSERT_AFTER(listelm, elm, field) do { \ elm 202 sys/queue.h if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \ elm 204 sys/queue.h &(elm)->field.le_next; \ elm 205 sys/queue.h (listelm)->field.le_next = (elm); \ elm 206 sys/queue.h (elm)->field.le_prev = &(listelm)->field.le_next; \ elm 209 sys/queue.h #define LIST_INSERT_BEFORE(listelm, elm, field) do { \ elm 210 sys/queue.h (elm)->field.le_prev = (listelm)->field.le_prev; \ elm 211 sys/queue.h (elm)->field.le_next = (listelm); \ elm 212 sys/queue.h *(listelm)->field.le_prev = (elm); \ elm 213 sys/queue.h (listelm)->field.le_prev = &(elm)->field.le_next; \ elm 216 sys/queue.h #define LIST_INSERT_HEAD(head, elm, field) do { \ elm 217 sys/queue.h if (((elm)->field.le_next = (head)->lh_first) != NULL) \ elm 218 sys/queue.h (head)->lh_first->field.le_prev = &(elm)->field.le_next;\ elm 219 sys/queue.h (head)->lh_first = (elm); \ elm 220 sys/queue.h (elm)->field.le_prev = &(head)->lh_first; \ elm 223 sys/queue.h #define LIST_REMOVE(elm, field) do { \ elm 224 sys/queue.h if ((elm)->field.le_next != NULL) \ elm 225 sys/queue.h (elm)->field.le_next->field.le_prev = \ elm 226 sys/queue.h (elm)->field.le_prev; \ elm 227 sys/queue.h *(elm)->field.le_prev = (elm)->field.le_next; \ elm 228 sys/queue.h _Q_INVALIDATE((elm)->field.le_prev); \ elm 229 sys/queue.h _Q_INVALIDATE((elm)->field.le_next); \ elm 232 sys/queue.h #define LIST_REPLACE(elm, elm2, field) do { \ elm 233 sys/queue.h if (((elm2)->field.le_next = (elm)->field.le_next) != NULL) \ elm 236 sys/queue.h (elm2)->field.le_prev = (elm)->field.le_prev; \ elm 238 sys/queue.h _Q_INVALIDATE((elm)->field.le_prev); \ elm 239 sys/queue.h _Q_INVALIDATE((elm)->field.le_next); \ elm 265 sys/queue.h #define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next) elm 280 sys/queue.h #define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \ elm 281 sys/queue.h if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \ elm 282 sys/queue.h (head)->sqh_last = &(elm)->field.sqe_next; \ elm 283 sys/queue.h (head)->sqh_first = (elm); \ elm 286 sys/queue.h #define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \ elm 287 sys/queue.h (elm)->field.sqe_next = NULL; \ elm 288 sys/queue.h *(head)->sqh_last = (elm); \ elm 289 sys/queue.h (head)->sqh_last = &(elm)->field.sqe_next; \ elm 292 sys/queue.h #define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ elm 293 sys/queue.h if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\ elm 294 sys/queue.h (head)->sqh_last = &(elm)->field.sqe_next; \ elm 295 sys/queue.h (listelm)->field.sqe_next = (elm); \ elm 326 sys/queue.h #define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) elm 330 sys/queue.h #define TAILQ_PREV(elm, headname, field) \ elm 331 sys/queue.h (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last)) elm 353 sys/queue.h #define TAILQ_INSERT_HEAD(head, elm, field) do { \ elm 354 sys/queue.h if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \ elm 356 sys/queue.h &(elm)->field.tqe_next; \ elm 358 sys/queue.h (head)->tqh_last = &(elm)->field.tqe_next; \ elm 359 sys/queue.h (head)->tqh_first = (elm); \ elm 360 sys/queue.h (elm)->field.tqe_prev = &(head)->tqh_first; \ elm 363 sys/queue.h #define TAILQ_INSERT_TAIL(head, elm, field) do { \ elm 364 sys/queue.h (elm)->field.tqe_next = NULL; \ elm 365 sys/queue.h (elm)->field.tqe_prev = (head)->tqh_last; \ elm 366 sys/queue.h *(head)->tqh_last = (elm); \ elm 367 sys/queue.h (head)->tqh_last = &(elm)->field.tqe_next; \ elm 370 sys/queue.h #define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ elm 371 sys/queue.h if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\ elm 372 sys/queue.h (elm)->field.tqe_next->field.tqe_prev = \ elm 373 sys/queue.h &(elm)->field.tqe_next; \ elm 375 sys/queue.h (head)->tqh_last = &(elm)->field.tqe_next; \ elm 376 sys/queue.h (listelm)->field.tqe_next = (elm); \ elm 377 sys/queue.h (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \ elm 380 sys/queue.h #define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ elm 381 sys/queue.h (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \ elm 382 sys/queue.h (elm)->field.tqe_next = (listelm); \ elm 383 sys/queue.h *(listelm)->field.tqe_prev = (elm); \ elm 384 sys/queue.h (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \ elm 387 sys/queue.h #define TAILQ_REMOVE(head, elm, field) do { \ elm 388 sys/queue.h if (((elm)->field.tqe_next) != NULL) \ elm 389 sys/queue.h (elm)->field.tqe_next->field.tqe_prev = \ elm 390 sys/queue.h (elm)->field.tqe_prev; \ elm 392 sys/queue.h (head)->tqh_last = (elm)->field.tqe_prev; \ elm 393 sys/queue.h *(elm)->field.tqe_prev = (elm)->field.tqe_next; \ elm 394 sys/queue.h _Q_INVALIDATE((elm)->field.tqe_prev); \ elm 395 sys/queue.h _Q_INVALIDATE((elm)->field.tqe_next); \ elm 398 sys/queue.h #define TAILQ_REPLACE(head, elm, elm2, field) do { \ elm 399 sys/queue.h if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != NULL) \ elm 404 sys/queue.h (elm2)->field.tqe_prev = (elm)->field.tqe_prev; \ elm 406 sys/queue.h _Q_INVALIDATE((elm)->field.tqe_prev); \ elm 407 sys/queue.h _Q_INVALIDATE((elm)->field.tqe_next); \ elm 434 sys/queue.h #define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next) elm 435 sys/queue.h #define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev) elm 457 sys/queue.h #define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ elm 458 sys/queue.h (elm)->field.cqe_next = (listelm)->field.cqe_next; \ elm 459 sys/queue.h (elm)->field.cqe_prev = (listelm); \ elm 461 sys/queue.h (head)->cqh_last = (elm); \ elm 463 sys/queue.h (listelm)->field.cqe_next->field.cqe_prev = (elm); \ elm 464 sys/queue.h (listelm)->field.cqe_next = (elm); \ elm 467 sys/queue.h #define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \ elm 468 sys/queue.h (elm)->field.cqe_next = (listelm); \ elm 469 sys/queue.h (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \ elm 471 sys/queue.h (head)->cqh_first = (elm); \ elm 473 sys/queue.h (listelm)->field.cqe_prev->field.cqe_next = (elm); \ elm 474 sys/queue.h (listelm)->field.cqe_prev = (elm); \ elm 477 sys/queue.h #define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \ elm 478 sys/queue.h (elm)->field.cqe_next = (head)->cqh_first; \ elm 479 sys/queue.h (elm)->field.cqe_prev = CIRCLEQ_END(head); \ elm 481 sys/queue.h (head)->cqh_last = (elm); \ elm 483 sys/queue.h (head)->cqh_first->field.cqe_prev = (elm); \ elm 484 sys/queue.h (head)->cqh_first = (elm); \ elm 487 sys/queue.h #define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \ elm 488 sys/queue.h (elm)->field.cqe_next = CIRCLEQ_END(head); \ elm 489 sys/queue.h (elm)->field.cqe_prev = (head)->cqh_last; \ elm 491 sys/queue.h (head)->cqh_first = (elm); \ elm 493 sys/queue.h (head)->cqh_last->field.cqe_next = (elm); \ elm 494 sys/queue.h (head)->cqh_last = (elm); \ elm 497 sys/queue.h #define CIRCLEQ_REMOVE(head, elm, field) do { \ elm 498 sys/queue.h if ((elm)->field.cqe_next == CIRCLEQ_END(head)) \ elm 499 sys/queue.h (head)->cqh_last = (elm)->field.cqe_prev; \ elm 501 sys/queue.h (elm)->field.cqe_next->field.cqe_prev = \ elm 502 sys/queue.h (elm)->field.cqe_prev; \ elm 503 sys/queue.h if ((elm)->field.cqe_prev == CIRCLEQ_END(head)) \ elm 504 sys/queue.h (head)->cqh_first = (elm)->field.cqe_next; \ elm 506 sys/queue.h (elm)->field.cqe_prev->field.cqe_next = \ elm 507 sys/queue.h (elm)->field.cqe_next; \ elm 508 sys/queue.h _Q_INVALIDATE((elm)->field.cqe_prev); \ elm 509 sys/queue.h _Q_INVALIDATE((elm)->field.cqe_next); \ elm 512 sys/queue.h #define CIRCLEQ_REPLACE(head, elm, elm2, field) do { \ elm 513 sys/queue.h if (((elm2)->field.cqe_next = (elm)->field.cqe_next) == \ elm 518 sys/queue.h if (((elm2)->field.cqe_prev = (elm)->field.cqe_prev) == \ elm 523 sys/queue.h _Q_INVALIDATE((elm)->field.cqe_prev); \ elm 524 sys/queue.h _Q_INVALIDATE((elm)->field.cqe_next); \ elm 75 sys/tree.h #define SPLAY_LEFT(elm, field) (elm)->field.spe_left elm 76 sys/tree.h #define SPLAY_RIGHT(elm, field) (elm)->field.spe_right elm 122 sys/tree.h name##_SPLAY_FIND(struct name *head, struct type *elm) \ elm 126 sys/tree.h name##_SPLAY(head, elm); \ elm 127 sys/tree.h if ((cmp)(elm, (head)->sph_root) == 0) \ elm 133 sys/tree.h name##_SPLAY_NEXT(struct name *head, struct type *elm) \ elm 135 sys/tree.h name##_SPLAY(head, elm); \ elm 136 sys/tree.h if (SPLAY_RIGHT(elm, field) != NULL) { \ elm 137 sys/tree.h elm = SPLAY_RIGHT(elm, field); \ elm 138 sys/tree.h while (SPLAY_LEFT(elm, field) != NULL) { \ elm 139 sys/tree.h elm = SPLAY_LEFT(elm, field); \ elm 142 sys/tree.h elm = NULL; \ elm 143 sys/tree.h return (elm); \ elm 158 sys/tree.h name##_SPLAY_INSERT(struct name *head, struct type *elm) \ elm 161 sys/tree.h SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL; \ elm 164 sys/tree.h name##_SPLAY(head, elm); \ elm 165 sys/tree.h __comp = (cmp)(elm, (head)->sph_root); \ elm 167 sys/tree.h SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field);\ elm 168 sys/tree.h SPLAY_RIGHT(elm, field) = (head)->sph_root; \ elm 171 sys/tree.h SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field);\ elm 172 sys/tree.h SPLAY_LEFT(elm, field) = (head)->sph_root; \ elm 177 sys/tree.h (head)->sph_root = (elm); \ elm 182 sys/tree.h name##_SPLAY_REMOVE(struct name *head, struct type *elm) \ elm 187 sys/tree.h name##_SPLAY(head, elm); \ elm 188 sys/tree.h if ((cmp)(elm, (head)->sph_root) == 0) { \ elm 194 sys/tree.h name##_SPLAY(head, elm); \ elm 197 sys/tree.h return (elm); \ elm 203 sys/tree.h name##_SPLAY(struct name *head, struct type *elm) \ elm 211 sys/tree.h while ((__comp = (cmp)(elm, (head)->sph_root))) { \ elm 216 sys/tree.h if ((cmp)(elm, __tmp) < 0){ \ elm 226 sys/tree.h if ((cmp)(elm, __tmp) > 0){ \ elm 313 sys/tree.h #define RB_LEFT(elm, field) (elm)->field.rbe_left elm 314 sys/tree.h #define RB_RIGHT(elm, field) (elm)->field.rbe_right elm 315 sys/tree.h #define RB_PARENT(elm, field) (elm)->field.rbe_parent elm 316 sys/tree.h #define RB_COLOR(elm, field) (elm)->field.rbe_color elm 320 sys/tree.h #define RB_SET(elm, parent, field) do { \ elm 321 sys/tree.h RB_PARENT(elm, field) = parent; \ elm 322 sys/tree.h RB_LEFT(elm, field) = RB_RIGHT(elm, field) = NULL; \ elm 323 sys/tree.h RB_COLOR(elm, field) = RB_RED; \ elm 335 sys/tree.h #define RB_ROTATE_LEFT(head, elm, tmp, field) do { \ elm 336 sys/tree.h (tmp) = RB_RIGHT(elm, field); \ elm 337 sys/tree.h if ((RB_RIGHT(elm, field) = RB_LEFT(tmp, field))) { \ elm 338 sys/tree.h RB_PARENT(RB_LEFT(tmp, field), field) = (elm); \ elm 340 sys/tree.h RB_AUGMENT(elm); \ elm 341 sys/tree.h if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \ elm 342 sys/tree.h if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \ elm 343 sys/tree.h RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \ elm 345 sys/tree.h RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \ elm 348 sys/tree.h RB_LEFT(tmp, field) = (elm); \ elm 349 sys/tree.h RB_PARENT(elm, field) = (tmp); \ elm 355 sys/tree.h #define RB_ROTATE_RIGHT(head, elm, tmp, field) do { \ elm 356 sys/tree.h (tmp) = RB_LEFT(elm, field); \ elm 357 sys/tree.h if ((RB_LEFT(elm, field) = RB_RIGHT(tmp, field))) { \ elm 358 sys/tree.h RB_PARENT(RB_RIGHT(tmp, field), field) = (elm); \ elm 360 sys/tree.h RB_AUGMENT(elm); \ elm 361 sys/tree.h if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \ elm 362 sys/tree.h if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \ elm 363 sys/tree.h RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \ elm 365 sys/tree.h RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \ elm 368 sys/tree.h RB_RIGHT(tmp, field) = (elm); \ elm 369 sys/tree.h RB_PARENT(elm, field) = (tmp); \ elm 391 sys/tree.h name##_RB_INSERT_COLOR(struct name *head, struct type *elm) \ elm 394 sys/tree.h while ((parent = RB_PARENT(elm, field)) && \ elm 402 sys/tree.h elm = gparent; \ elm 405 sys/tree.h if (RB_RIGHT(parent, field) == elm) { \ elm 408 sys/tree.h parent = elm; \ elm 409 sys/tree.h elm = tmp; \ elm 418 sys/tree.h elm = gparent; \ elm 421 sys/tree.h if (RB_LEFT(parent, field) == elm) { \ elm 424 sys/tree.h parent = elm; \ elm 425 sys/tree.h elm = tmp; \ elm 435 sys/tree.h name##_RB_REMOVE_COLOR(struct name *head, struct type *parent, struct type *elm) \ elm 438 sys/tree.h while ((elm == NULL || RB_COLOR(elm, field) == RB_BLACK) && \ elm 439 sys/tree.h elm != RB_ROOT(head)) { \ elm 440 sys/tree.h if (RB_LEFT(parent, field) == elm) { \ elm 452 sys/tree.h elm = parent; \ elm 453 sys/tree.h parent = RB_PARENT(elm, field); \ elm 469 sys/tree.h elm = RB_ROOT(head); \ elm 484 sys/tree.h elm = parent; \ elm 485 sys/tree.h parent = RB_PARENT(elm, field); \ elm 501 sys/tree.h elm = RB_ROOT(head); \ elm 506 sys/tree.h if (elm) \ elm 507 sys/tree.h RB_COLOR(elm, field) = RB_BLACK; \ elm 511 sys/tree.h name##_RB_REMOVE(struct name *head, struct type *elm) \ elm 513 sys/tree.h struct type *child, *parent, *old = elm; \ elm 515 sys/tree.h if (RB_LEFT(elm, field) == NULL) \ elm 516 sys/tree.h child = RB_RIGHT(elm, field); \ elm 517 sys/tree.h else if (RB_RIGHT(elm, field) == NULL) \ elm 518 sys/tree.h child = RB_LEFT(elm, field); \ elm 521 sys/tree.h elm = RB_RIGHT(elm, field); \ elm 522 sys/tree.h while ((left = RB_LEFT(elm, field))) \ elm 523 sys/tree.h elm = left; \ elm 524 sys/tree.h child = RB_RIGHT(elm, field); \ elm 525 sys/tree.h parent = RB_PARENT(elm, field); \ elm 526 sys/tree.h color = RB_COLOR(elm, field); \ elm 530 sys/tree.h if (RB_LEFT(parent, field) == elm) \ elm 537 sys/tree.h if (RB_PARENT(elm, field) == old) \ elm 538 sys/tree.h parent = elm; \ elm 539 sys/tree.h (elm)->field = (old)->field; \ elm 542 sys/tree.h RB_LEFT(RB_PARENT(old, field), field) = elm;\ elm 544 sys/tree.h RB_RIGHT(RB_PARENT(old, field), field) = elm;\ elm 547 sys/tree.h RB_ROOT(head) = elm; \ elm 548 sys/tree.h RB_PARENT(RB_LEFT(old, field), field) = elm; \ elm 550 sys/tree.h RB_PARENT(RB_RIGHT(old, field), field) = elm; \ elm 559 sys/tree.h parent = RB_PARENT(elm, field); \ elm 560 sys/tree.h color = RB_COLOR(elm, field); \ elm 564 sys/tree.h if (RB_LEFT(parent, field) == elm) \ elm 579 sys/tree.h name##_RB_INSERT(struct name *head, struct type *elm) \ elm 587 sys/tree.h comp = (cmp)(elm, parent); \ elm 595 sys/tree.h RB_SET(elm, parent, field); \ elm 598 sys/tree.h RB_LEFT(parent, field) = elm; \ elm 600 sys/tree.h RB_RIGHT(parent, field) = elm; \ elm 603 sys/tree.h RB_ROOT(head) = elm; \ elm 604 sys/tree.h name##_RB_INSERT_COLOR(head, elm); \ elm 610 sys/tree.h name##_RB_FIND(struct name *head, struct type *elm) \ elm 615 sys/tree.h comp = cmp(elm, tmp); \ elm 627 sys/tree.h name##_RB_NEXT(struct type *elm) \ elm 629 sys/tree.h if (RB_RIGHT(elm, field)) { \ elm 630 sys/tree.h elm = RB_RIGHT(elm, field); \ elm 631 sys/tree.h while (RB_LEFT(elm, field)) \ elm 632 sys/tree.h elm = RB_LEFT(elm, field); \ elm 634 sys/tree.h if (RB_PARENT(elm, field) && \ elm 635 sys/tree.h (elm == RB_LEFT(RB_PARENT(elm, field), field))) \ elm 636 sys/tree.h elm = RB_PARENT(elm, field); \ elm 638 sys/tree.h while (RB_PARENT(elm, field) && \ elm 639 sys/tree.h (elm == RB_RIGHT(RB_PARENT(elm, field), field)))\ elm 640 sys/tree.h elm = RB_PARENT(elm, field); \ elm 641 sys/tree.h elm = RB_PARENT(elm, field); \ elm 644 sys/tree.h return (elm); \ elm 65 xfs/xfs_queue.h #define NNPQUEUE_INSERT_HEAD(head, elm, field) do { \ elm 66 xfs/xfs_queue.h if (((elm)->field.nnpq_next = (head)->nnpq_first) != NULL) \ elm 68 xfs/xfs_queue.h &(elm)->field.nnpq_next; \ elm 70 xfs/xfs_queue.h (head)->nnpq_last = &(elm)->field.nnpq_next; \ elm 71 xfs/xfs_queue.h (head)->nnpq_first = (elm); \ elm 72 xfs/xfs_queue.h (elm)->field.nnpq_prev = &(head)->nnpq_first; \ elm 76 xfs/xfs_queue.h #define NNPQUEUE_REMOVE(elm,head,field) do { \ elm 77 xfs/xfs_queue.h if (((elm)->field.nnpq_next) != NULL) \ elm 78 xfs/xfs_queue.h (elm)->field.nnpq_next->field.nnpq_prev = \ elm 79 xfs/xfs_queue.h (elm)->field.nnpq_prev; \ elm 81 xfs/xfs_queue.h (head)->nnpq_last = (elm)->field.nnpq_prev; \ elm 82 xfs/xfs_queue.h *(elm)->field.nnpq_prev = (elm)->field.nnpq_next; \