00001 00008 #ifndef _LIST_H 00009 #define _LIST_H 00010 00011 typedef struct s_listitem { 00012 void *data; 00013 struct s_listitem *prev; 00014 struct s_listitem *next; 00015 } LISTITEM; 00016 00017 typedef struct s_list { 00018 unsigned int size; 00019 LISTITEM *first; 00020 LISTITEM *last; 00021 } LIST; 00022 00023 LIST *list_create(void); 00024 void list_destroy(LIST *list); 00025 LISTITEM *list_append(LIST *list, void *data); 00026 void list_shuffle(LIST *list); 00027 00028 #endif 00029