typedef struct MAV_LISTITEM { void *data1; void *data2; struct MAV_LISTITEM *next; struct MAV_LISTITEM *prev; } MAV_listItem; typedef struct MAV_LISTPOINTER { MAV_listItem *item; struct MAV_LISTPOINTER *next; } MAV_listPointer; typedef struct { int length; MAV_listItem *head; MAV_listItem *tail; MAV_listPointer *current; } MAV_list;