Lines Matching refs:type

458 #define qe_element(qe, type, field) __container_of(qe, type, field)  argument
545 #define qe_dequeue_head(head, type, field) ({ \ argument
547 type *_tmp_element = (type*) NULL; \
549 _tmp_element = qe_element(_tmp_entry, type, field); \
554 #define qe_dequeue_tail(head, type, field) ({ \ argument
556 type *_tmp_element = (type*) NULL; \
558 _tmp_element = qe_element(_tmp_entry, type, field); \
563 #define qe_queue_first(head, type, field) ({ \ argument
565 type *_tmp_element = (type*) NULL; \
567 _tmp_element = qe_element(_tmp_entry, type, field); \
572 #define qe_queue_last(head, type, field) ({ \ argument
574 type *_tmp_element = (type*) NULL; \
576 _tmp_element = qe_element(_tmp_entry, type, field); \
581 #define qe_queue_next(head, element, type, field) ({ \ argument
583 type *_tmp_element = (type*) NULL; \
585 _tmp_element = qe_element(_tmp_entry, type, field); \
590 #define qe_queue_prev(head, element, type, field) ({ \ argument
592 type *_tmp_element = (type*) NULL; \
594 _tmp_element = qe_element(_tmp_entry, type, field); \
756 #define __QUEUE2_CHECK_NEXT(__fail, __elt, __prev, __head, type, field) \ argument
761 __fail |= ((type)(void *)__prev)->field.next != \
767 #define __QUEUE2_CHECK_PREV(__fail, __elt, __next, __head, type, field) \ argument
772 __fail |= ((type)(void *)__next)->field.prev != \
785 #define __QUEUE2_SET_NEXT(__prev, __elt, __head, type, field) \ argument
790 ((type)(void *)__prev)->field.next = (queue_entry_t)__elt; \
795 #define __QUEUE2_SET_PREV(__next, __elt, __head, type, field) \ argument
800 ((type)(void *)__next)->field.prev = (queue_entry_t)__elt; \
828 #define queue_enter(head, elt, type, field) \ argument
831 type __elt; \
838 __QUEUE2_CHECK_NEXT(__fail, __head, __prev, __head, type, field); \
844 __QUEUE2_SET_NEXT(__prev, __elt, __head, type, field); \
861 #define queue_enter_first(head, elt, type, field) \ argument
864 type __elt; \
871 __QUEUE2_CHECK_PREV(__fail, __head, __next, __head, type, field); \
877 __QUEUE2_SET_PREV(__next, __elt, __head, type, field); \
895 #define queue_insert_before(head, elt, cur, type, field) \ argument
898 type __elt; \
908 __prev = ((type)(void *)__cur)->field.prev; \
911 __QUEUE2_CHECK_NEXT(__fail, __cur, __prev, __head, type, field); \
917 __QUEUE2_SET_NEXT(__prev, __elt, __head, type, field); \
918 __QUEUE2_SET_PREV(__cur, __elt, __head, type, field); \
935 #define queue_insert_after(head, elt, cur, type, field) \ argument
938 type __elt; \
948 __next = ((type)(void *)__cur)->field.next; \
951 __QUEUE2_CHECK_PREV(__fail, __cur, __next, __head, type, field); \
957 __QUEUE2_SET_NEXT(__cur, __elt, __head, type, field); \
958 __QUEUE2_SET_PREV(__next, __elt, __head, type, field); \
969 #define queue_field(head, thing, type, field) \ argument
970 (((head) == (thing)) ? (head) : &((type)(void *)(thing))->field)
982 #define queue_remove(head, elt, type, field) \ argument
985 type __elt; \
993 __QUEUE2_CHECK_PREV(__fail, __elt, __next, __head, type, field); \
994 __QUEUE2_CHECK_NEXT(__fail, __elt, __prev, __head, type, field); \
997 __QUEUE2_SET_PREV(__next, __prev, __head, type, field); \
998 __QUEUE2_SET_NEXT(__prev, __next, __head, type, field); \
1015 #define queue_remove_first(head, entry, type, field) \ argument
1018 type __entry; \
1021 __entry = (type)(void *)__hd->next; \
1024 queue_remove(__hd, __entry, type, field); \
1040 #define queue_remove_last(head, entry, type, field) \ argument
1043 type __entry; \
1046 __entry = (type)(void *)__hd->prev; \
1049 queue_remove(__hd, __entry, type, field); \
1059 #define queue_assign(to, from, type, field) \ argument
1061 ((type)(void *)((from)->prev))->field.next = (to); \
1062 ((type)(void *)((from)->next))->field.prev = (to); \
1079 #define queue_new_head(old, new, type, field) \ argument
1083 ((type)(void *)((new)->next))->field.prev = \
1085 ((type)(void *)((new)->prev))->field.next = \
1107 #define queue_iterate(head, elt, type, field) \ argument
1108 for ((elt) = (type)(void *) queue_first(head); \
1110 (elt) = (type)(void *) queue_next(&(elt)->field))