view list.h @ 1277:07ee7736397e

add the idiomatic do/while(0) in the macro SCREWUP
author Francois Perrad <francois.perrad@gadz.org>
date Thu, 31 Dec 2015 17:34:17 +0100
parents 9169e4e7cbee
children
line wrap: on
line source

#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);
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 */