#define IN #define STATUS_FAILURE -1 #define STATUS_SUCCESS 0 typedef struct _item_t Item_t; typedef struct _list_t List_t; struct _item_t { Item_t *Previous; Item_t *Next; void *data; }; struct _list_t { Item_t *First; Item_t *Last; }; List_t * InitializeList(); Item_t * CreateItem(); int InsertItemAtFront( IN List_t * TList, IN Item_t * kItem); int InsertItemBetweenItems( IN List_t * TList, IN Item_t * Previous, IN Item_t * Next, IN Item_t * Insert); int RemoveItem( IN List_t * TList, IN Item_t * kItem); int DestroyItemsInList(IN List_t * ItemList); int DestroyItemList(IN List_t * ItemList); Item_t * GetFirstItem(IN List_t * kItem); Item_t * GetLastItem(IN List_t * kItem); List_t * RemoveItemListBetweenItems( IN Item_t * Previous, IN Item_t * Next); void InsertItemListBetweenItems( IN Item_t * Previous, IN Item_t * Next, IN List_t * Insert);