#include #include "list.h" void list_init(list_t *list) { list->prev=list; list->next=list; } void list_add(list_t *list, list_t *item) { list_t *next=list->next; list->next=item; item->prev=list; item->next=next; next->prev=item; } void list_del(list_t *item) { list_t *prev=item->prev; list_t *next=item->next; prev->next=next; item->prev=item; item->next=item; next->prev=prev; } void list_dump(list_t *head) { list_t *ptr; printf("List dump: %p\n", head); for (ptr=head->next; ptr!=head; ptr=ptr->next) { printf(" %p\n", ptr); } }