00001 #ifndef LIST_H 00002 #define LIST_H 00003 00004 typedef struct node{ 00005 void *val; 00006 struct node *next; 00007 struct node *prev; 00008 } node; 00009 00010 typedef struct list{ 00011 int size; 00012 node *front; 00013 node *back; 00014 } list; 00015 00016 list *make_list(); 00017 int list_find(list *l, void *val); 00018 00019 void list_insert(list *, void *); 00020 00021 void **list_to_array(list *l); 00022 00023 void free_list(list *l); 00024 void free_list_contents(list *l); 00025 00026 #endif