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()
68 list->list_size = size; in list_create()
69 list->list_offset = offset; in list_create()
70 list->list_head.next = list->list_head.prev = &list->list_head; in list_create()
74 list_destroy(list_t *list) in list_destroy() argument
76 list_node_t *node = &list->list_head; in list_destroy()
78 ASSERT(list); in list_destroy()
79 ASSERT(list->list_head.next == node); in list_destroy()
80 ASSERT(list->list_head.prev == node); in list_destroy()
86 list_insert_after(list_t *list, void *object, void *nobject) in list_insert_after() argument
89 list_insert_head(list, nobject); in list_insert_after()
91 list_node_t *lold = list_d2l(list, object); in list_insert_after()
92 list_insert_after_node(list, lold, nobject); in list_insert_after()
97 list_insert_before(list_t *list, void *object, void *nobject) in list_insert_before() argument
100 list_insert_tail(list, nobject); in list_insert_before()
102 list_node_t *lold = list_d2l(list, object); in list_insert_before()
103 list_insert_before_node(list, lold, nobject); in list_insert_before()
108 list_insert_head(list_t *list, void *object) in list_insert_head() argument
110 list_node_t *lold = &list->list_head; in list_insert_head()
111 list_insert_after_node(list, lold, object); in list_insert_head()
115 list_insert_tail(list_t *list, void *object) in list_insert_tail() argument
117 list_node_t *lold = &list->list_head; in list_insert_tail()
118 list_insert_before_node(list, lold, object); in list_insert_tail()
122 list_remove(list_t *list, void *object) in list_remove() argument
124 list_node_t *lold = list_d2l(list, object); in list_remove()
125 ASSERT(!list_empty(list)); in list_remove()
131 list_remove_head(list_t *list) in list_remove_head() argument
133 list_node_t *head = list->list_head.next; in list_remove_head()
134 if (head == &list->list_head) in list_remove_head()
137 return (list_object(list, head)); in list_remove_head()
141 list_remove_tail(list_t *list) in list_remove_tail() argument
143 list_node_t *tail = list->list_head.prev; in list_remove_tail()
144 if (tail == &list->list_head) in list_remove_tail()
147 return (list_object(list, tail)); in list_remove_tail()
151 list_head(list_t *list) in list_head() argument
153 if (list_empty(list)) in list_head()
155 return (list_object(list, list->list_head.next)); in list_head()
159 list_tail(list_t *list) in list_tail() argument
161 if (list_empty(list)) in list_tail()
163 return (list_object(list, list->list_head.prev)); in list_tail()
167 list_next(list_t *list, void *object) in list_next() argument
169 list_node_t *node = list_d2l(list, object); in list_next()
171 if (node->next != &list->list_head) in list_next()
172 return (list_object(list, node->next)); in list_next()
178 list_prev(list_t *list, void *object) in list_prev() argument
180 list_node_t *node = list_d2l(list, object); in list_prev()
182 if (node->prev != &list->list_head) in list_prev()
183 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()