Lines Matching refs:list
41 #define list_insert_after_node(list, node, object) { \ argument
42 list_node_t *lnew = list_d2l(list, object); \
49 #define list_insert_before_node(list, node, object) { \ argument
50 list_node_t *lnew = list_d2l(list, object); \
63 list_create(list_t *list, size_t size, size_t offset) in list_create() argument
65 ASSERT(list); in list_create()
71 list->list_offset = offset; in list_create()
72 list->list_head.next = list->list_head.prev = &list->list_head; in list_create()
76 list_destroy(list_t *list) in list_destroy() argument
78 list_node_t *node = &list->list_head; in list_destroy()
80 ASSERT(list); in list_destroy()
81 ASSERT(list->list_head.next == node); in list_destroy()
82 ASSERT(list->list_head.prev == node); in list_destroy()
88 list_insert_after(list_t *list, void *object, void *nobject) in list_insert_after() argument
91 list_insert_head(list, nobject); in list_insert_after()
93 list_node_t *lold = list_d2l(list, object); in list_insert_after()
94 list_insert_after_node(list, lold, nobject); in list_insert_after()
99 list_insert_before(list_t *list, void *object, void *nobject) in list_insert_before() argument
102 list_insert_tail(list, nobject); in list_insert_before()
104 list_node_t *lold = list_d2l(list, object); in list_insert_before()
105 list_insert_before_node(list, lold, nobject); in list_insert_before()
110 list_insert_head(list_t *list, void *object) in list_insert_head() argument
112 list_node_t *lold = &list->list_head; in list_insert_head()
113 list_insert_after_node(list, lold, object); in list_insert_head()
117 list_insert_tail(list_t *list, void *object) in list_insert_tail() argument
119 list_node_t *lold = &list->list_head; in list_insert_tail()
120 list_insert_before_node(list, lold, object); in list_insert_tail()
124 list_remove(list_t *list, void *object) in list_remove() argument
126 list_node_t *lold = list_d2l(list, object); in list_remove()
127 ASSERT(!list_empty(list)); in list_remove()
133 list_remove_head(list_t *list) in list_remove_head() argument
135 list_node_t *head = list->list_head.next; in list_remove_head()
136 if (head == &list->list_head) in list_remove_head()
139 return (list_object(list, head)); in list_remove_head()
143 list_remove_tail(list_t *list) in list_remove_tail() argument
145 list_node_t *tail = list->list_head.prev; in list_remove_tail()
146 if (tail == &list->list_head) in list_remove_tail()
149 return (list_object(list, tail)); in list_remove_tail()
153 list_head(list_t *list) in list_head() argument
155 if (list_empty(list)) in list_head()
157 return (list_object(list, list->list_head.next)); in list_head()
161 list_tail(list_t *list) in list_tail() argument
163 if (list_empty(list)) in list_tail()
165 return (list_object(list, list->list_head.prev)); in list_tail()
169 list_next(list_t *list, void *object) in list_next() argument
171 list_node_t *node = list_d2l(list, object); in list_next()
173 if (node->next != &list->list_head) in list_next()
174 return (list_object(list, node->next)); in list_next()
180 list_prev(list_t *list, void *object) in list_prev() argument
182 list_node_t *node = list_d2l(list, object); in list_prev()
184 if (node->prev != &list->list_head) in list_prev()
185 return (list_object(list, node->prev)); in list_prev()
241 list_is_empty(list_t *list) in list_is_empty() argument
243 return (list_empty(list)); in list_is_empty()