Lines Matching refs:list

41 extern list_node_t *list_d2l(list_t *list, void *obj);
48 #define list_insert_after_node(list, node, object) { \ argument
49 list_node_t *lnew = list_d2l(list, object); \
56 #define list_insert_before_node(list, node, object) { \ argument
57 list_node_t *lnew = list_d2l(list, object); \
70 list_create(list_t *list, size_t size, size_t offset) in list_create() argument
72 ASSERT(list); in list_create()
76 list->list_size = size; in list_create()
77 list->list_offset = offset; in list_create()
78 list->list_head.list_next = list->list_head.list_prev = in list_create()
79 &list->list_head; in list_create()
83 list_destroy(list_t *list) in list_destroy() argument
85 list_node_t *node = &list->list_head; in list_destroy()
87 ASSERT(list); in list_destroy()
88 ASSERT(list->list_head.list_next == node); in list_destroy()
89 ASSERT(list->list_head.list_prev == node); in list_destroy()
95 list_insert_after(list_t *list, void *object, void *nobject) in list_insert_after() argument
98 list_insert_head(list, nobject); in list_insert_after()
100 list_node_t *lold = list_d2l(list, object); in list_insert_after()
101 list_insert_after_node(list, lold, nobject); in list_insert_after()
106 list_insert_before(list_t *list, void *object, void *nobject) in list_insert_before() argument
109 list_insert_tail(list, nobject); in list_insert_before()
111 list_node_t *lold = list_d2l(list, object); in list_insert_before()
112 list_insert_before_node(list, lold, nobject); in list_insert_before()
117 list_insert_head(list_t *list, void *object) in list_insert_head() argument
119 list_node_t *lold = &list->list_head; in list_insert_head()
120 list_insert_after_node(list, lold, object); in list_insert_head()
124 list_insert_tail(list_t *list, void *object) in list_insert_tail() argument
126 list_node_t *lold = &list->list_head; in list_insert_tail()
127 list_insert_before_node(list, lold, object); in list_insert_tail()
131 list_remove(list_t *list, void *object) in list_remove() argument
133 list_node_t *lold = list_d2l(list, object); in list_remove()
134 ASSERT(!list_empty(list)); in list_remove()
140 list_remove_head(list_t *list) in list_remove_head() argument
142 list_node_t *head = list->list_head.list_next; in list_remove_head()
143 if (head == &list->list_head) in list_remove_head()
146 return (list_object(list, head)); in list_remove_head()
150 list_remove_tail(list_t *list) in list_remove_tail() argument
152 list_node_t *tail = list->list_head.list_prev; in list_remove_tail()
153 if (tail == &list->list_head) in list_remove_tail()
156 return (list_object(list, tail)); in list_remove_tail()
160 list_head(list_t *list) in list_head() argument
162 if (list_empty(list)) in list_head()
164 return (list_object(list, list->list_head.list_next)); in list_head()
168 list_tail(list_t *list) in list_tail() argument
170 if (list_empty(list)) in list_tail()
172 return (list_object(list, list->list_head.list_prev)); in list_tail()
176 list_next(list_t *list, void *object) in list_next() argument
178 list_node_t *node = list_d2l(list, object); in list_next()
180 if (node->list_next != &list->list_head) in list_next()
181 return (list_object(list, node->list_next)); in list_next()
187 list_prev(list_t *list, void *object) in list_prev() argument
189 list_node_t *node = list_d2l(list, object); in list_prev()
191 if (node->list_prev != &list->list_head) in list_prev()
192 return (list_object(list, node->list_prev)); in list_prev()
248 list_is_empty(list_t *list) in list_is_empty() argument
250 return (list_empty(list)); in list_is_empty()