Lines Matching defs:node
39 #define list_object(a, node) ((void *)(((char *)node) - (a)->list_offset))
42 #define list_insert_after_node(list, node, object) { \
44 lnew->list_prev = (node); \
45 lnew->list_next = (node)->list_next; \
46 (node)->list_next->list_prev = lnew; \
47 (node)->list_next = lnew; \
50 #define list_insert_before_node(list, node, object) { \
52 lnew->list_next = (node); \
53 lnew->list_prev = (node)->list_prev; \
54 (node)->list_prev->list_next = lnew; \
55 (node)->list_prev = lnew; \
58 #define list_remove_node(node) \
59 (node)->list_prev->list_next = (node)->list_next; \
60 (node)->list_next->list_prev = (node)->list_prev; \
61 (node)->list_next = (node)->list_prev = NULL
79 list_node_t *node = &list->list_head;
82 ASSERT(list->list_head.list_next == node);
83 ASSERT(list->list_head.list_prev == node);
85 node->list_next = node->list_prev = NULL;
172 list_node_t *node = list_d2l(list, object);
174 if (node->list_next != &list->list_head)
175 return (list_object(list, node->list_next));
183 list_node_t *node = list_d2l(list, object);
185 if (node->list_prev != &list->list_head)
186 return (list_object(list, node->list_prev));