• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/osfmk/kern/

Lines Matching refs:field

80  *		In the "*foo_t" type, you must have a field of
329 * void queue_enter(q, elt, type, field)
333 * <field> is the chain field in (*<type>)
335 #define queue_enter(head, elt, type, field) \
344 ((type)__prev)->field.next = (queue_entry_t)(elt);\
346 (elt)->field.prev = __prev; \
347 (elt)->field.next = head; \
356 * void queue_enter_first(q, elt, type, field)
360 * <field> is the chain field in (*<type>)
362 #define queue_enter_first(head, elt, type, field) \
371 ((type)__next)->field.prev = (queue_entry_t)(elt);\
373 (elt)->field.next = __next; \
374 (elt)->field.prev = head; \
383 * void queue_insert_before(q, elt, cur, type, field)
388 * <field> is the chain field in (*<type>)
390 #define queue_insert_before(head, elt, cur, type, field) \
395 (elt)->field.next = (head); \
397 (elt)->field.prev = (head); \
400 __prev = (elt)->field.prev = (head)->prev; \
401 ((type)__prev)->field.next = (queue_entry_t)(elt);\
405 (elt)->field.next = (queue_entry_t)(cur); \
408 (elt)->field.prev = (head); \
411 __prev = (elt)->field.prev = (cur)->field.prev; \
412 ((type)__prev)->field.next = (queue_entry_t)(elt);\
414 (cur)->field.prev = (queue_entry_t)(elt); \
423 * void queue_insert_after(q, elt, cur, type, field)
428 * <field> is the chain field in (*<type>)
430 #define queue_insert_after(head, elt, cur, type, field) \
435 (elt)->field.prev = (head); \
437 (elt)->field.next = (head); \
440 __next = (elt)->field.next = (head)->next; \
441 ((type)__next)->field.prev = (queue_entry_t)(elt);\
445 (elt)->field.prev = (queue_entry_t)(cur); \
448 (elt)->field.next = (head); \
451 __next = (elt)->field.next = (cur)->field.next; \
452 ((type)__next)->field.prev = (queue_entry_t)(elt);\
454 (cur)->field.next = (queue_entry_t)(elt); \
464 #define queue_field(head, thing, type, field) \
465 (((head) == (thing)) ? (head) : &((type)(thing))->field)
472 * void queue_remove(q, qe, type, field)
475 #define queue_remove(head, elt, type, field) \
479 __next = (elt)->field.next; \
480 __prev = (elt)->field.prev; \
485 ((type)__next)->field.prev = __prev; \
490 ((type)__prev)->field.next = __next; \
492 (elt)->field.next = NULL; \
493 (elt)->field.prev = NULL; \
502 * queue_remove_first(head, entry, type, field)
505 #define queue_remove_first(head, entry, type, field) \
510 __next = (entry)->field.next; \
515 ((type)(__next))->field.prev = (head); \
518 (entry)->field.next = NULL; \
519 (entry)->field.prev = NULL; \
528 * queue_remove_last(head, entry, type, field)
531 #define queue_remove_last(head, entry, type, field) \
536 __prev = (entry)->field.prev; \
541 ((type)(__prev))->field.next = (head); \
544 (entry)->field.next = NULL; \
545 (entry)->field.prev = NULL; \
551 #define queue_assign(to, from, type, field) \
553 ((type)((from)->prev))->field.next = (to); \
554 ((type)((from)->next))->field.prev = (to); \
563 * queue_new_head(old, new, type, field)
567 * <field> is the chain field in (*<type>)
569 #define queue_new_head(old, new, type, field) \
573 ((type)((new)->next))->field.prev = (new); \
574 ((type)((new)->prev))->field.next = (new); \
587 * queue_iterate(q, elt, type, field)
591 * <field> is the chain field in (*<type>)
593 #define queue_iterate(head, elt, type, field) \
596 (elt) = (type) queue_next(&(elt)->field))