Heap management definitions. More...
Go to the source code of this file.
Data Structures | |
struct | _HEAPNODE |
Heap memory node information structure. More... | |
Defines | |
#define | NutHeapAdd(a, s) NutHeapRootAdd(&heapFreeList, a, s) |
#define | NutHeapAvailable() NutHeapRootAvailable(&heapFreeList) |
#define | NutHeapRegionAvailable() NutHeapRootRegionAvailable(&heapFreeList) |
#define | NutHeapAlloc(s) NutHeapRootAlloc(&heapFreeList, s) |
#define | NutHeapAllocClear(s) NutHeapRootAllocClear(&heapFreeList, s) |
#define | NutHeapFree(p) NutHeapRootFree(&heapFreeList, p) |
#define | NutHeapRealloc(p, s) NutHeapRootRealloc(&heapFreeList, p, s) |
#define | NutStackAlloc(s) NutHeapAlloc(s) |
#define | NutStackFree(p) NutHeapFree(p) |
Typedefs | |
typedef struct _HEAPNODE | HEAPNODE |
Heap memory node type. | |
Functions | |
void | NutHeapRootAdd (HEAPNODE **root, void *addr, size_t size) |
Add a new memory region to the heap. | |
size_t | NutHeapRootAvailable (HEAPNODE **root) |
Return the total number of bytes available. | |
size_t | NutHeapRootRegionAvailable (HEAPNODE **root) |
Return the size of the largest block available. | |
void * | NutHeapRootAlloc (HEAPNODE **root, size_t size) |
Allocate a block from heap memory. | |
void * | NutHeapRootAllocClear (HEAPNODE **root, size_t size) |
Allocate an initialized block from heap memory. | |
int | NutHeapRootFree (HEAPNODE **root, void *block) |
Return a block to heap memory. | |
void * | NutHeapRootRealloc (HEAPNODE **root, void *block, size_t size) |
Change the size of an allocated memory block. | |
int | NutHeapCheck (void) |
Check consistency of heap. | |
void | NutHeapDump (void *stream) |
Dump heap memory to a given stream. | |
Variables | |
HEAPNODE * | heapFreeList |
List of free nodes in normal memory. |
Heap management definitions.
Definition in file heap.h.
#define NutHeapAdd | ( | a, | |
s | |||
) | NutHeapRootAdd(&heapFreeList, a, s) |
#define NutHeapAvailable | ( | ) | NutHeapRootAvailable(&heapFreeList) |
Definition at line 77 of file heap.h.
Referenced by LuaThread(), main(), NutDumpHeap(), NutSegBufInit(), NutTcpStateMachine(), ProcessRequests(), Service(), Sleeper1(), and UxmlParseStream().
#define NutHeapRegionAvailable | ( | ) | NutHeapRootRegionAvailable(&heapFreeList) |
#define NutHeapAlloc | ( | s | ) | NutHeapRootAlloc(&heapFreeList, s) |
Definition at line 86 of file heap.h.
Referenced by _sbrk(), AceOpen(), ADCInit(), AhdlcAt91Init(), AhdlcAt91Open(), AhdlcAvrInit(), AhdlcAvrOpen(), AhdlcRx(), AtCanInit(), CANBufferInit(), CFChange(), malloc(), MmCardMount(), NutConditionInit(), NutDnsGetResourceAll(), NutEncodeBase64(), NutMsgQStartTimer(), NutSegBufInit(), NutTcpDeviceWrite_P(), NutThreadCreate(), NutTimerCreate(), SpiMmcMount(), UartAvrOpen(), vfprintf_P(), vfscanf_P(), vsprintf_P(), vsscanf_P(), and WlanInit().
#define NutHeapAllocClear | ( | s | ) | NutHeapRootAllocClear(&heapFreeList, s) |
Definition at line 87 of file heap.h.
Referenced by NutMsgQCreate(), NutNetBufAlloc(), and NutNetBufClonePart().
#define NutHeapFree | ( | p | ) | NutHeapRootFree(&heapFreeList, p) |
Definition at line 88 of file heap.h.
Referenced by AceClose(), AhdlcAt91Close(), AhdlcAt91Init(), AhdlcAvrClose(), AhdlcAvrInit(), AhdlcRx(), CFChange(), free(), NutConditionFree(), NutDnsGetResourceAll(), NutNetBufAlloc(), NutNetBufCollect(), NutNetBufFree(), NutSegBufInit(), NutTcpDeviceWrite_P(), NutTimerProcessElapsed(), UartAvrClose(), vfprintf_P(), vfscanf_P(), vsprintf_P(), and vsscanf_P().
#define NutHeapRealloc | ( | p, | |
s | |||
) | NutHeapRootRealloc(&heapFreeList, p, s) |
#define NutStackAlloc | ( | s | ) | NutHeapAlloc(s) |
Definition at line 102 of file heap.h.
Referenced by NutThreadCreate().
#define NutStackFree | ( | p | ) | NutHeapFree(p) |
Definition at line 103 of file heap.h.
Referenced by NutThreadDestroy().