Melhorado o structures
[pspdecompiler.git] / lists.h
blobf87b441d6309d50e95b79b922526769500ebb148
1 /**
2 * Author: Humberto Naves (hsnaves@gmail.com)
3 */
5 #ifndef __LISTS_H
6 #define __LISTS_H
8 #include <stddef.h>
10 struct _element;
11 typedef struct _element *element;
13 struct _list;
14 typedef struct _list *list;
16 struct _listpool;
17 typedef struct _listpool *listpool;
19 listpool listpool_create (size_t numelms, size_t numlsts);
20 void listpool_destroy (listpool pool);
22 list list_alloc (listpool pool);
23 void list_free (list l);
24 void list_reset (list l);
25 int list_size (list l);
27 element list_head (list l);
28 element list_tail (list l);
30 void *list_headvalue (list l);
31 void *list_tailvalue (list l);
33 element list_inserthead (list l, void *val);
34 element list_inserttail (list l, void *val);
36 void *list_removehead (list l);
37 void *list_removetail (list l);
39 void *element_getvalue (element el);
40 void element_setvalue (element el, void *val);
42 void element_insertbefore (element el, element inserted);
43 void element_insertafter (element el, element inserted);
45 element element_next (element el);
46 element element_previous (element el);
48 element element_alloc (listpool pool, void *val);
49 void element_remove (element el);
50 void *element_free (element el);
53 #endif /* __LISTS_H */