summaryrefslogtreecommitdiff
path: root/list.h
blob: 23ef9bb83b939e10f6a2367f4fa2d68e8385b696 (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_LIST_H
#define _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_LIST_H */