summaryrefslogtreecommitdiffhomepage
path: root/list.h
blob: 35c0d4976d6d6f586a002fbf2c88071c5557ad7f (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
27
28
#ifndef DROPBEAR_DROPBEAR_LIST_H
#define DROPBEAR_DROPBEAR_LIST_H

struct _m_list;

struct _m_list_elem {
    void *item;
	struct _m_list_elem *next;
	struct _m_list_elem *prev;
    struct _m_list *list;
};
	
typedef struct _m_list_elem m_list_elem;

struct _m_list {
    m_list_elem *first;
    m_list_elem *last;
};

typedef struct _m_list m_list;

m_list * list_new();
void list_append(m_list *list, void *item);
/* returns the item for the element removed */
void * list_remove(m_list_elem *elem);


#endif /* DROPBEAR_DROPBEAR_LIST_H */