diff options
Diffstat (limited to 'src/utils.h')
-rw-r--r-- | src/utils.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/utils.h b/src/utils.h new file mode 100644 index 0000000..d752a66 --- /dev/null +++ b/src/utils.h @@ -0,0 +1,31 @@ +/* See LICENSE file for copyright and license details. */ + +#ifndef _LIST_H_ +#define _LIST_H_ + +#include "version.h" + +typedef struct list_item_t { + void *data; + struct list_item_t *next; +} list_item_t; + +typedef struct list_t { + struct list_item_t *first; + struct list_item_t *last; + int size; +} list_t; + +typedef struct iterator_t { + struct list_item_t *current; +} iterator_t; + +list_t clist_create (void); +void clist_add (list_t *, void *); +void clist_add_all (list_t *, list_t *); +void clist_remove (list_t *, list_item_t *); +iterator_t clist_iterator (list_t *); +int clist_iterator_has_next(iterator_t); +void *clist_iterator_next (iterator_t *); + +#endif |