void List_LinkItem(list_t *list, void *item)
Definition: list.c:160
void * List_GetNext(list_t *list, void *item)
Get the Next Item in the List.
Definition: list.c:203
void * List_Add(list_t *list, void *item)
List_Add is used to add an item to a list. Uses List_AddIndirect to find where the item should go in ...
Definition: list.c:82
list_link_t * first
first
Definition: list.h:54
void * List_AddIndirect(list_t *list)
List_AddIndirect is used to obtain a valid position for which an item can be saved to...
Definition: list.c:95
struct list_link_t * previous
previous
Definition: list.h:35
list_link_t * links
links
Definition: list.h:58
void List_SetSortFunction(list_t *list, uint8_t(*sort_fn)(void *a, void *b))
Definition: list.c:57
list_link_t * unlinked[2]
unlinked
Definition: list.h:66
list_link_t * working[2]
working
Definition: list.h:65
uint16_t item_size
item_size
Definition: list.h:60
void List_Link(list_t *list)
Definition: list.c:116
struct list_link_t list_link_t
void * List_GetLast(list_t *list)
Get the Last Item in the List.
Definition: list.c:199
void List_SetIdentifyFunction(list_t *list, uint8_t(*identify_fn)(void *identifier, void *item))
Definition: list.c:61
uint8_t(* identify_fn_t)(void *, void *)
Definition: list.h:27
list_link_t * last
last
Definition: list.h:55
sort_fn_t sort_fn
sort_fn
Definition: list.h:61
struct list_link_t * next
next
Definition: list.h:34
void * List_GetFirst(list_t *list)
Definition: list.c:195
void List_ResortFirst(list_t *list)
Definition: list.c:136
void List_Init(list_t *list, uint16_t item_size, void *item_array, uint16_t item_array_length, list_link_t *link_array)
Definition: list.c:28
void List_UnlinkItem(list_t *list, void *item)
Definition: list.c:282
uint8_t(* sort_fn_t)(void *, void *)
Definition: list.h:22
uint16_t * item_array
item_array
Definition: list.h:59
void * item_ptr
item_ptr
Definition: list.h:33
uint16_t array_length
array_length
Definition: list.h:57
void List_Remove(list_t *list, void *item)
Definition: list.c:255
void List_RemoveFirst(list_t *list)
Definition: list.c:241
void * List_GetItem(list_t *list, void *identifier)
Definition: list.c:213
void List_ResortLast(list_t *list)
Definition: list.c:148
void List_RemoveAll(list_t *list)
Definition: list.c:264
void List_UnlinkFirst(list_t *list)
Definition: list.c:290
identify_fn_t identify_fn
identify_fn
Definition: list.h:62
uint16_t length
length
Definition: list.h:56
void * List_AddAndLink(list_t *list, void *item)
Definition: list.c:66
void List_UnlinkLast(list_t *list)
Definition: list.c:298
void List_RemoveLast(list_t *list)
Definition: list.c:248
list_link_t * unused[2]
unused
Definition: list.h:67