Lines Matching refs:list
15 list_init(list_t *list);
18 list_get_head(list_t *list);
21 list_is_empty(list_t *list);
24 list_insert_at_head(list_t *list, list_node_t *node);
27 list_insert_at_tail(list_t *list, list_node_t *node);
39 list_insert_in_order(list_t *list, list_node_t *node,
43 list_insert_after_node(list_t *list, list_node_t *prev, list_node_t *node);
48 list_insert_at_tail_release(list_t *list, list_node_t *node);
58 list_delete_node(list_t *list, list_node_t *node);
62 #define list_foreach(node, list) \ argument
63 for ((node) = atomic_load_relaxed(&(list)->head.next); \
64 (node) != &(list)->head; \
67 #define list__foreach_container(container, list, cname, nname, n) \ argument
68 list_node_t *n = atomic_load_relaxed(&list->head.next); \
69 container = (n != &list->head) ? cname##_container_of_##nname(n) \
73 container = (n != &list->head) ? cname##_container_of_##nname(n) \
78 #define list_foreach_container(container, list, cname, nname) \ argument
79 list__foreach_container((container), (list), cname, nname, \
82 #define list__foreach_container_safe(container, list, cname, nname, n, load) \ argument
83 list_node_t *n = load(&list->head.next); \
84 container = (n != &list->head) ? cname##_container_of_##nname(n) \
88 container = (n != &list->head) ? cname##_container_of_##nname(n) \
94 #define list_foreach_container_maydelete(container, list, cname, nname) \ argument
95 list__foreach_container_safe((container), (list), cname, nname, \
104 #define list_foreach_container_consume(container, list, cname, nname) \ argument
105 list__foreach_container_safe((container), (list), cname, nname, \