ChibiOS/RT
6.0.3
|
Memory Pools macros and structures. More...
Go to the source code of this file.
Data Structures | |
struct | pool_header |
Memory pool free object header. More... | |
struct | memory_pool_t |
Memory pool descriptor. More... | |
struct | guarded_memory_pool_t |
Guarded memory pool descriptor. More... | |
Macros | |
#define | _MEMORYPOOL_DATA(name, size, align, provider) {NULL, size, align, provider} |
Data part of a static memory pool initializer. More... | |
#define | MEMORYPOOL_DECL(name, size, align, provider) memory_pool_t name = _MEMORYPOOL_DATA(name, size, align, provider) |
Static memory pool initializer. More... | |
#define | _GUARDEDMEMORYPOOL_DATA(name, size, align) |
Data part of a static guarded memory pool initializer. More... | |
#define | GUARDEDMEMORYPOOL_DECL(name, size, align) guarded_memory_pool_t name = _GUARDEDMEMORYPOOL_DATA(name, size, align) |
Static guarded memory pool initializer. More... | |
Functions | |
void | chPoolObjectInitAligned (memory_pool_t *mp, size_t size, unsigned align, memgetfunc_t provider) |
Initializes an empty memory pool. More... | |
void | chPoolLoadArray (memory_pool_t *mp, void *p, size_t n) |
Loads a memory pool with an array of static objects. More... | |
void * | chPoolAllocI (memory_pool_t *mp) |
Allocates an object from a memory pool. More... | |
void * | chPoolAlloc (memory_pool_t *mp) |
Allocates an object from a memory pool. More... | |
void | chPoolFreeI (memory_pool_t *mp, void *objp) |
Releases an object into a memory pool. More... | |
void | chPoolFree (memory_pool_t *mp, void *objp) |
Releases an object into a memory pool. More... | |
void | chGuardedPoolObjectInitAligned (guarded_memory_pool_t *gmp, size_t size, unsigned align) |
Initializes an empty guarded memory pool. More... | |
void | chGuardedPoolLoadArray (guarded_memory_pool_t *gmp, void *p, size_t n) |
Loads a guarded memory pool with an array of static objects. More... | |
void * | chGuardedPoolAllocTimeoutS (guarded_memory_pool_t *gmp, sysinterval_t timeout) |
Allocates an object from a guarded memory pool. More... | |
void * | chGuardedPoolAllocTimeout (guarded_memory_pool_t *gmp, sysinterval_t timeout) |
Allocates an object from a guarded memory pool. More... | |
void | chGuardedPoolFree (guarded_memory_pool_t *gmp, void *objp) |
Releases an object into a guarded memory pool. More... | |
static void | chPoolObjectInit (memory_pool_t *mp, size_t size, memgetfunc_t provider) |
Initializes an empty memory pool. More... | |
static void | chPoolAdd (memory_pool_t *mp, void *objp) |
Adds an object to a memory pool. More... | |
static void | chPoolAddI (memory_pool_t *mp, void *objp) |
Adds an object to a memory pool. More... | |
static void | chGuardedPoolObjectInit (guarded_memory_pool_t *gmp, size_t size) |
Initializes an empty guarded memory pool. More... | |
static cnt_t | chGuardedPoolGetCounterI (guarded_memory_pool_t *gmp) |
Gets the count of objects in a guarded memory pool. More... | |
static void * | chGuardedPoolAllocI (guarded_memory_pool_t *gmp) |
Allocates an object from a guarded memory pool. More... | |
static void | chGuardedPoolFreeI (guarded_memory_pool_t *gmp, void *objp) |
Releases an object into a guarded memory pool. More... | |
static void | chGuardedPoolFreeS (guarded_memory_pool_t *gmp, void *objp) |
Releases an object into a guarded memory pool. More... | |
static void | chGuardedPoolAdd (guarded_memory_pool_t *gmp, void *objp) |
Adds an object to a guarded memory pool. More... | |
static void | chGuardedPoolAddI (guarded_memory_pool_t *gmp, void *objp) |
Adds an object to a guarded memory pool. More... | |
static void | chGuardedPoolAddS (guarded_memory_pool_t *gmp, void *objp) |
Adds an object to a guarded memory pool. More... | |
Memory Pools macros and structures.
Definition in file chmempools.h.