forked from bloominstituteoftechnology/C-Web-Server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathllist.h
23 lines (19 loc) · 805 Bytes
/
llist.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef _LLIST_H_
#define _LLIST_H_
struct llist {
struct llist_node *head;
int count;
};
extern struct llist *llist_create(void);
extern void llist_destroy(struct llist *llist);
extern void *llist_insert(struct llist *llist, void *data);
extern void *llist_append(struct llist *llist, void *data);
extern void *llist_head(struct llist *llist);
extern void *llist_tail(struct llist *llist);
extern void *llist_find(struct llist *llist, void *data, int (*cmpfn)(void *, void *));
extern void *llist_delete(struct llist *llist, void *data, int (*cmpfn)(void *, void *));
extern int llist_count(struct llist *llist);
extern void llist_foreach(struct llist *llist, void (*f)(void *, void *), void *arg);
extern void **llist_array_get(struct llist *llist);
extern void llist_array_free(void **a);
#endif