12 #ifndef __METAL_LIST__H__ 13 #define __METAL_LIST__H__ 32 #define METAL_INIT_LIST(name) { .next = &name, .prev = &name } 37 #define METAL_DECLARE_LIST(name) \ 38 struct metal_list name = METAL_INIT_LIST(name) 49 new_node->
next = node;
57 new_node->
prev = node;
77 return list->
next == list;
92 #define metal_list_for_each(list, node) \ 93 for ((node) = (list)->next; \ 95 (node) = (node)->next)
static void metal_list_add_before(struct metal_list *node, struct metal_list *new_node)
Definition: list.h:45
static struct metal_list * metal_list_first(struct metal_list *list)
Definition: list.h:87
static void metal_list_add_tail(struct metal_list *list, struct metal_list *node)
Definition: list.h:69
static void metal_list_init(struct metal_list *list)
Definition: list.h:40
static int metal_list_is_empty(struct metal_list *list)
Definition: list.h:75
static void metal_list_del(struct metal_list *node)
Definition: list.h:80
static void metal_list_add_head(struct metal_list *list, struct metal_list *node)
Definition: list.h:63
static void metal_list_add_after(struct metal_list *node, struct metal_list *new_node)
Definition: list.h:54