Lines Matching refs:node
45 #define list_object(a, node) ((void *)(((char *)node) - (a)->list_offset))
48 #define list_insert_after_node(list, node, object) { \
50 lnew->list_prev = (node); \
51 lnew->list_next = (node)->list_next; \
52 (node)->list_next->list_prev = lnew; \
53 (node)->list_next = lnew; \
56 #define list_insert_before_node(list, node, object) { \
58 lnew->list_next = (node); \
59 lnew->list_prev = (node)->list_prev; \
60 (node)->list_prev->list_next = lnew; \
61 (node)->list_prev = lnew; \
64 #define list_remove_node(node) \
65 (node)->list_prev->list_next = (node)->list_next; \
66 (node)->list_next->list_prev = (node)->list_prev; \
67 (node)->list_next = (node)->list_prev = NULL
85 list_node_t *node = &list->list_head;
88 ASSERT(list->list_head.list_next == node);
89 ASSERT(list->list_head.list_prev == node);
91 node->list_next = node->list_prev = NULL;
178 list_node_t *node = list_d2l(list, object);
180 if (node->list_next != &list->list_head)
181 return (list_object(list, node->list_next));
189 list_node_t *node = list_d2l(list, object);
191 if (node->list_prev != &list->list_head)
192 return (list_object(list, node->list_prev));