bool list_append(List *list, void *item)
bool list_prepend(List *list, void *item)
void list_delete(List *list, ListItem *item)
bool(* CompareItemFn)(void *, void *)
void(* IteratorFn)(void *)
void list_iterate(List *list, IteratorFn iterator_fn)
ListItem * list_get(List *list, void *data, CompareItemFn compare_item_fn)
void list_create(List *list, int item_size, FreeItemFn free_item_fn)
void list_destroy(List *list)
void(* FreeItemFn)(void *)