22 |
compiling, linking, and/or using OpenSSL is allowed. |
compiling, linking, and/or using OpenSSL is allowed. |
23 |
*/ |
*/ |
24 |
|
|
25 |
|
typedef struct list LIST; |
26 |
|
typedef struct iterator ITERATOR; |
27 |
|
|
28 |
typedef int (*list_iterator_t)(void *, void *); |
typedef int (*list_iterator_t)(void *, void *); |
29 |
typedef int (*list_comp_t)(void *, void *); |
typedef int (*list_comp_t)(void *, void *); |
30 |
|
|
31 |
struct list *list_create(void); |
LIST *list_create(); |
32 |
void list_destroy(struct list **, list_iterator_t, void *); |
void list_destroy(LIST **list, list_iterator_t free, void *data); |
33 |
void list_iterate(struct list *, list_iterator_t, void *); |
void list_iterate(LIST *list, list_iterator_t itr, void *data); |
34 |
void *list_current(struct list *); |
void *list_item(LIST *list, size_t n); |
35 |
void *list_first(struct list *); |
size_t list_count(LIST *list); |
36 |
void *list_next(struct list *); |
void list_append(LIST *list, void *data); |
37 |
void *list_item(struct list *, size_t); |
void list_prepend(LIST *list, void *data); |
38 |
size_t list_count(struct list *); |
void *list_locate(LIST *list, void *data, list_comp_t cmp); |
39 |
void list_append(struct list *, void *); |
void *list_remove(LIST *list, void *data, list_comp_t cmp); |
40 |
void list_prepend(struct list *, void *); |
|
41 |
void *list_locate(struct list *, void *, list_comp_t); |
void *iterator_current(ITERATOR *ip); |
42 |
void *list_remove_current(struct list *); |
ITERATOR *iterator_create(LIST *list); |
43 |
void *list_remove(struct list *, void *, list_comp_t); |
void iterator_destroy(ITERATOR **ip); |
44 |
void list_append_list(struct list *, struct list *); |
void *iterator_first(ITERATOR *ip); |
45 |
|
void *iterator_next(ITERATOR *ip); |
46 |
|
|
47 |
/* EOF */ |
/* EOF */ |
48 |
|
|