diff options
Diffstat (limited to 'src/base/list.h')
| -rwxr-xr-x | src/base/list.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/base/list.h b/src/base/list.h new file mode 100755 index 0000000..17a8e2d --- /dev/null +++ b/src/base/list.h @@ -0,0 +1,33 @@ + +#ifndef LIST_H + +#define LIST_H + +#include "base/main.h" + +#define LIST_ALLOC_LIMIT 16 + +typedef struct list_str +{ + void **list; + int count; + int alloc; +} list_t; + +extern list_t* newList(); +extern list_t* cloneList(list_t *p); +extern list_t* cloneListItem(list_t *p, void *f); + +extern void addList(list_t *p, void *item); +extern void insList(list_t *p, int n, void *item); +extern void *getList(list_t *p,int n); +extern int searchListItem(list_t *p, void *n); + +extern void delList(list_t *p,int n); +extern void delListItem(list_t *p,int n,void *f); +extern void listDoEmpty(list_t *p); + +extern void destroyList(list_t *p); +extern void destroyListItem(list_t *p,void *f); + +#endif |