blob: d752a66f77055b88fd01c878db7b203b5249e989 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
|