Lines Matching refs:list
40 #define list_insert_after_node(list, node, object) { \ argument
41 list_node_t *lnew = list_d2l(list, object); \
48 #define list_insert_before_node(list, node, object) { \ argument
49 list_node_t *lnew = list_d2l(list, object); \
62 list_create(list_t *list, size_t size, size_t offset) in list_create() argument
64 ASSERT(list); in list_create()
70 list->list_offset = offset; in list_create()
71 list->list_head.next = list->list_head.prev = &list->list_head; in list_create()
75 list_destroy(list_t *list) in list_destroy() argument
77 list_node_t *node = &list->list_head; in list_destroy()
79 ASSERT(list); in list_destroy()
80 ASSERT(list->list_head.next == node); in list_destroy()
81 ASSERT(list->list_head.prev == node); in list_destroy()
87 list_insert_after(list_t *list, void *object, void *nobject) in list_insert_after() argument
90 list_insert_head(list, nobject); in list_insert_after()
92 list_node_t *lold = list_d2l(list, object); in list_insert_after()
93 list_insert_after_node(list, lold, nobject); in list_insert_after()
98 list_insert_before(list_t *list, void *object, void *nobject) in list_insert_before() argument
101 list_insert_tail(list, nobject); in list_insert_before()
103 list_node_t *lold = list_d2l(list, object); in list_insert_before()
104 list_insert_before_node(list, lold, nobject); in list_insert_before()
109 list_insert_head(list_t *list, void *object) in list_insert_head() argument
111 list_node_t *lold = &list->list_head; in list_insert_head()
112 list_insert_after_node(list, lold, object); in list_insert_head()
116 list_insert_tail(list_t *list, void *object) in list_insert_tail() argument
118 list_node_t *lold = &list->list_head; in list_insert_tail()
119 list_insert_before_node(list, lold, object); in list_insert_tail()
123 list_remove(list_t *list, void *object) in list_remove() argument
125 list_node_t *lold = list_d2l(list, object); in list_remove()
126 ASSERT(!list_empty(list)); in list_remove()
132 list_remove_head(list_t *list) in list_remove_head() argument
134 list_node_t *head = list->list_head.next; in list_remove_head()
135 if (head == &list->list_head) in list_remove_head()
138 return (list_object(list, head)); in list_remove_head()
142 list_remove_tail(list_t *list) in list_remove_tail() argument
144 list_node_t *tail = list->list_head.prev; in list_remove_tail()
145 if (tail == &list->list_head) in list_remove_tail()
148 return (list_object(list, tail)); in list_remove_tail()
152 list_head(list_t *list) in list_head() argument
154 if (list_empty(list)) in list_head()
156 return (list_object(list, list->list_head.next)); in list_head()
160 list_tail(list_t *list) in list_tail() argument
162 if (list_empty(list)) in list_tail()
164 return (list_object(list, list->list_head.prev)); in list_tail()
168 list_next(list_t *list, void *object) in list_next() argument
170 list_node_t *node = list_d2l(list, object); in list_next()
172 if (node->next != &list->list_head) in list_next()
173 return (list_object(list, node->next)); in list_next()
179 list_prev(list_t *list, void *object) in list_prev() argument
181 list_node_t *node = list_d2l(list, object); in list_prev()
183 if (node->prev != &list->list_head) in list_prev()
184 return (list_object(list, node->prev)); in list_prev()
240 list_is_empty(list_t *list) in list_is_empty() argument
242 return (list_empty(list)); in list_is_empty()