Passo intermediario, ainda falta um longo caminho
[pspdecompiler.git] / lists.h
bloba2563c74d406a8cfe31b0c68817fb9a0125b18de
2 #ifndef __LISTS_H
3 #define __LISTS_H
5 #include <stddef.h>
7 struct _element;
8 typedef struct _element *element;
10 struct _list;
11 typedef struct _list *list;
13 struct _listpool;
14 typedef struct _listpool *listpool;
16 listpool listpool_create (size_t numelms, size_t numlsts);
17 void listpool_destroy (listpool pool);
19 list list_alloc (listpool pool);
20 void list_free (list l);
21 void list_reset (list l);
22 int list_size (list l);
24 element list_head (list l);
25 element list_tail (list l);
27 void *list_headvalue (list l);
28 void *list_tailvalue (list l);
30 element list_inserthead (list l, void *val);
31 element list_inserttail (list l, void *val);
33 void *list_removehead (list l);
34 void *list_removetail (list l);
36 void *element_getvalue (element el);
37 void element_setvalue (element el, void *val);
39 void element_insertbefore (element el, element inserted);
40 void element_insertafter (element el, element inserted);
42 element element_next (element el);
43 element element_previous (element el);
45 element element_alloc (listpool pool, void *val);
46 void element_remove (element el);
47 void *element_free (element el);
50 #endif /* __LISTS_H */