45 #ifndef _AVRIO_HEAP_H_ 46 #define _AVRIO_HEAP_H_ 48 #include <avrio/defs.h> 61 typedef struct xMemChunk {
62 struct xMemChunk *next;
66 typedef xMemChunk heap_buf_t;
68 #define HEAP_DEFINE_BUF(name, size) \ 69 heap_buf_t name[((size) + sizeof(heap_buf_t) - 1) / sizeof(heap_buf_t)] 77 #define HEAP_DEFINE_BUF(name, size) size_t ulHeapFreeSpace(xHeap *heap)
Quantité de mémoire libre d'un tas.
void * pvHeapMalloc(xHeap *heap, size_t size)
Alloue un bloc sur le tas.
Structure pour gérer un tas.
void vHeapFree(xHeap *heap, void *mem)
Libère un bloc alloué avec pvHeapMalloc() ou pvHeapCalloc()
void vHeapInit(xHeap *heap, void *memory, size_t size)
Initialise un tas.
void vHeapFreeMem(xHeap *heap, void *mem, size_t size)
Libère un bloc alloué avec pvHeapAllocMem()
void * pvHeapAllocMem(xHeap *heap, size_t size)
Alloue un bloc sur le tas.
void * pvHeapCalloc(xHeap *heap, size_t nmemb, size_t size)
Alloue un bloc sur le tas pour un tableau.
struct xHeap xHeap
Structure pour gérer un tas.
struct xMemChunk * freelist