#ifndef __LIST_H__
#define __LIST_H__
typedef struct aItem *ListItem;
struct aItem {
	void *data;
	ListItem next,prev;
};

/* Prototipos */

int	ListInit(ListItem*);
int	ListInsert(ListItem*,void*);
int 	ListAllocInsert(ListItem*,void*,int);
int	ListRemove(ListItem,ListItem*);
int	ListFree(ListItem*);
int 	ListGetFirstAndRemove(ListItem *,void *,int);
int 	ListSize(ListItem*);

#define ListData(Lst) (Lst->data)
#define ListNext(Lst) (Lst->next)
#define ListEmpty(Lst) ((*Lst)==NULL)

#endif


syntax highlighted by Code2HTML, v. 0.9.1