HALFRED
0.4.0
|
Static list API. More...
Static list API.
Implementation of a static list.
Go to the source code of this file.
Data Structures | |
struct | SLSTListDesc |
Macros | |
#define | SLST_GetCount(list) (((SLSTList)list)->count) |
#define | SLST_Clear(list) do { ((SLSTList)list)->count = 0; } while (0) |
#define | SLST_Lock(list, timeout) OSMUTEX_Take((((SLSTList)list)->lock), (timeout)) |
#define | SLST_Unlock(list) OSMUTEX_Give(((SLSTList)list)->lock) |
#define | SLST_GetMemoryFootprint(list) (sizeof(SLSTListDesc) + (((SLSTList)list)->element_size*((SLSTList)list)->list_size)) |
Typedefs | |
typedef struct SLSTListDesc * | SLSTList |
Functions | |
SLSTList | SLST_Create (size_t elem_count, size_t elem_size) |
void | SLST_Destroy (SLSTList list) |
SLSTList | SLST_Init (void *area, size_t area_size, size_t element_size) |
void * | SLST_AddElement (SLSTList list) |
void * | SLST_InsertElement (SLSTList list, const void *element) |
void * | SLST_InsertElementAtPos (SLSTList list, int pos) |
void | SLST_RemoveElement (SLSTList list, void *element) |
void * | SLST_GetElementByField (SLSTList list, const void *field, size_t field_size, uint32_t field_offset) |
void * | SLST_GetNextElement (SLSTList list, void *element) |
void * | SLST_GetFirstElement (SLSTList list) |