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