10 #ifndef HAL_STATICSLST_H
11 #define HAL_STATICSLST_H
30 #if defined HAL_ENABLE_OS && (HAL_ENABLE_OS == 1)
46 SLSTList
SLST_Create(
size_t elem_count,
size_t elem_size);
67 SLSTList
SLST_Init(
void *area,
size_t area_size,
size_t element_size);
141 #define SLST_GetCount(list) (((SLSTList)list)->count)
147 #define SLST_Clear(list) do { ((SLSTList)list)->count = 0; } while (0)
156 #define SLST_Lock(list, timeout) OSMUTEX_Take((((SLSTList)list)->lock), (timeout))
162 #define SLST_Unlock(list) OSMUTEX_Give(((SLSTList)list)->lock)
167 #define SLST_GetMemoryFootprint(list) (sizeof(SLSTListDesc) + (((SLSTList)list)->element_size*((SLSTList)list)->list_size))
void SLST_RemoveElement(SLSTList list, void *element)
Definition: hal_staticlist.c:169
HALFRED's main header file.
void SLST_Destroy(SLSTList list)
Definition: hal_staticlist.c:47
uint8_t list_size
maximum number of elements that can be stored by the list
Definition: hal_staticlist.h:27
void * SLST_AddElement(SLSTList list)
Definition: hal_staticlist.c:91
Definition: hal_staticlist.h:23
uint16_t element_size
size of single element stored by the list
Definition: hal_staticlist.h:25
void * SLST_GetNextElement(SLSTList list, void *element)
Definition: hal_staticlist.c:266
SLSTList SLST_Create(size_t elem_count, size_t elem_size)
Definition: hal_staticlist.c:16
void * SLST_InsertElement(SLSTList list, const void *element)
Definition: hal_staticlist.c:114
SLSTList SLST_Init(void *area, size_t area_size, size_t element_size)
Definition: hal_staticlist.c:62
void * SLST_InsertElementAtPos(SLSTList list, int pos)
Definition: hal_staticlist.c:132
void * SLST_GetElementByField(SLSTList list, const void *field, size_t field_size, uint32_t field_offset)
Definition: hal_staticlist.c:200
void * SLST_GetFirstElement(SLSTList list)
Definition: hal_staticlist.c:250
uint8_t count
number of elements actually stored by the list
Definition: hal_staticlist.h:29