summaryrefslogtreecommitdiff
path: root/src/base/list.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/list.h')
-rwxr-xr-xsrc/base/list.h33
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