#ifndef LINKEDLIST_H #define LINKEDLIST_H struct node_t; typedef struct node_t { void *data; struct node_t *next; } node; typedef struct { node *head; node *tail; unsigned long count; } linkedlist; int initLL (linkedlist *); int addHeadLL (linkedlist *, void *data); int removeHeadLL (linkedlist *, void **); int destroyLL (linkedlist *); #ifdef DEBUG int printIntLL (linkedlist *); #endif #define SUCCESS_LL 0 #define NULL_LIST_LL 1 #define NULL_DATA_LL 2 #define EMPTY_LIST_LL 3 #endif