HALFRED  0.4.0
Data Structures | Macros | Typedefs | Functions
hal_staticlist.h File Reference

Static list API. More...

Detailed Description

Static list API.

Implementation of a static list.

Purpose
HALFRED Hardware Abstraction Layer
Version
Revision
1500
License
$License$
#include <stdint.h>
#include "hal.h"

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 SLSTListDescSLSTList
 

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)