Lines Matching refs:list

188 static inline void sys_dlist_init(sys_dlist_t *list)  in sys_dlist_init()  argument
190 list->head = (sys_dnode_t *)list; in sys_dlist_init()
191 list->tail = (sys_dnode_t *)list; in sys_dlist_init()
205 static inline int sys_dlist_is_head(sys_dlist_t *list, sys_dnode_t *node) in sys_dlist_is_head() argument
207 return list->head == node; in sys_dlist_is_head()
219 static inline int sys_dlist_is_tail(sys_dlist_t *list, sys_dnode_t *node) in sys_dlist_is_tail() argument
221 return list->tail == node; in sys_dlist_is_tail()
232 static inline int sys_dlist_is_empty(sys_dlist_t *list) in sys_dlist_is_empty() argument
234 return list->head == list; in sys_dlist_is_empty()
247 static inline int sys_dlist_has_multiple_nodes(sys_dlist_t *list) in sys_dlist_has_multiple_nodes() argument
249 return list->head != list->tail; in sys_dlist_has_multiple_nodes()
260 static inline sys_dnode_t *sys_dlist_peek_head(sys_dlist_t *list) in sys_dlist_peek_head() argument
262 return sys_dlist_is_empty(list) ? NULL : list->head; in sys_dlist_peek_head()
275 static inline sys_dnode_t *sys_dlist_peek_head_not_empty(sys_dlist_t *list) in sys_dlist_peek_head_not_empty() argument
277 return list->head; in sys_dlist_peek_head_not_empty()
291 static inline sys_dnode_t *sys_dlist_peek_next_no_check(sys_dlist_t *list, in sys_dlist_peek_next_no_check() argument
294 return (node == list->tail) ? NULL : node->next; in sys_dlist_peek_next_no_check()
307 static inline sys_dnode_t *sys_dlist_peek_next(sys_dlist_t *list, in sys_dlist_peek_next() argument
310 return node ? sys_dlist_peek_next_no_check(list, node) : NULL; in sys_dlist_peek_next()
321 static inline sys_dnode_t *sys_dlist_peek_tail(sys_dlist_t *list) in sys_dlist_peek_tail() argument
323 return sys_dlist_is_empty(list) ? NULL : list->tail; in sys_dlist_peek_tail()
337 static inline void sys_dlist_append(sys_dlist_t *list, sys_dnode_t *node) in sys_dlist_append() argument
339 node->next = list; in sys_dlist_append()
340 node->prev = list->tail; in sys_dlist_append()
342 list->tail->next = node; in sys_dlist_append()
343 list->tail = node; in sys_dlist_append()
357 static inline void sys_dlist_prepend(sys_dlist_t *list, sys_dnode_t *node) in sys_dlist_prepend() argument
359 node->next = list->head; in sys_dlist_prepend()
360 node->prev = list; in sys_dlist_prepend()
362 list->head->prev = node; in sys_dlist_prepend()
363 list->head = node; in sys_dlist_prepend()
379 static inline void sys_dlist_insert_after(sys_dlist_t *list, in sys_dlist_insert_after() argument
383 sys_dlist_prepend(list, node); in sys_dlist_insert_after()
405 static inline void sys_dlist_insert_before(sys_dlist_t *list, in sys_dlist_insert_before() argument
409 sys_dlist_append(list, node); in sys_dlist_insert_before()
435 static inline void sys_dlist_insert_at(sys_dlist_t *list, sys_dnode_t *node, in sys_dlist_insert_at() argument
438 if (sys_dlist_is_empty(list)) { in sys_dlist_insert_at()
439 sys_dlist_append(list, node); in sys_dlist_insert_at()
441 sys_dnode_t *pos = sys_dlist_peek_head(list); in sys_dlist_insert_at()
444 pos = sys_dlist_peek_next(list, pos); in sys_dlist_insert_at()
446 sys_dlist_insert_before(list, pos, node); in sys_dlist_insert_at()
477 static inline sys_dnode_t *sys_dlist_get(sys_dlist_t *list) in sys_dlist_get() argument
481 if (sys_dlist_is_empty(list)) { in sys_dlist_get()
485 node = list->head; in sys_dlist_get()
498 static inline int sys_dlist_node_number(sys_dlist_t *list) in sys_dlist_node_number() argument
503 if (sys_dlist_is_empty(list)) in sys_dlist_node_number()
506 node = list->head; in sys_dlist_node_number()
510 if (node == list->tail) in sys_dlist_node_number()