#include #ifndef LIST_H #define LIST_H struct list_node { void *elem; struct list_node *next; }; void list_node_init(struct list_node *l_n, void *elem); struct list { struct list_node *head, *tail; size_t len; }; void list_init(struct list *l); void list_tail_add(struct list *l, struct list_node *l_n); void list_head_add(struct list *l, struct list_node *l_n); struct list_node *list_rem(struct list *l); #endif