aboutsummaryrefslogtreecommitdiff
path: root/list.h
blob: ea824406dfd0fc7f5d0e8f1c6e62e8464147da04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef LIST_H
#define LIST_H

struct list
{
    void *data;
    struct list *next;
};

typedef void (*list_free_cb)(void *data, void *userdata);

void list_init(struct list *list);
struct list *list_new(void *data);
struct list *list_append(struct list *list, void *data);
struct list *list_get_last(struct list *list);
struct list *list_pop_front(struct list **list);
void list_free(struct list *list, list_free_cb free_cb, void *userdata);

#endif