summaryrefslogtreecommitdiff
path: root/src/base/list.h
blob: 337f1cd71a782e9f0d0a2a2226ec4ef14f3db54b (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

#ifndef LIST_H
#    define LIST_H
#    define LIST_ALLOC_LIMIT 16

#    include "main.h"

typedef struct list_str {
	void **list;
	int count;
	int alloc;
} list_t;

extern list_t *list_new();
extern list_t *list_clone(list_t * p);
extern list_t *list_clone_item(list_t * p, void *f);
extern void list_add(list_t * p, void *item);
extern void list_ins(list_t * p, int n, void *item);
extern void *list_get(list_t * p, int n);
extern int list_search(list_t * p, void *n);
extern void list_del(list_t * p, int n);
extern void list_del_item(list_t * p, int n, void *f);
extern void list_do_empty(list_t * p);
extern void list_destroy(list_t * p);
extern void list_destroy_item(list_t * p, void *f);
#endif