58 int (*match)(
const void *key1,
const void *key2);
59 void (*destroy)(
void *data);
166 #define list_size(list)((list)->size)
181 #define list_head(list) ((list)->head)
196 #define list_tail(list)((list)->tail)
210 #define list_is_head(list, element) ((element) == (list)->head ? 1 : 0)
224 #define list_is_tail(element) ((element)->next == NULL ? 1 : 0)
237 #define list_data(element) ((element)->data)
250 #define list_next(element) ((element)->next)
263 #define list_is_empty(list) (list->size == 0 ? 1 : 0)
struct List List
structure for linked lists.
int list_ins_next(List *list, ListElmt *element, const void *data)
Inserts an element just after element on list.
void list_destroy(List *list)
Destroys the linked list specified by list.
void list_init(List *list, void(*destroy)(void *data))
Initializes the linked list specified by list.
struct ListElmt ListElmt
structure for linked list elements.
int list_rem_next(List *list, ListElmt *element, void **data)
Removes the element just after element on list.
structure for linked lists.
structure for linked list elements.