los_heap.h文件参考

浏览该文件的源代码。


数据结构

struct   LOS_HEAP_NODE
struct   LOS_HEAP_MANAGER

宏定义

#define  IS_ALIGNED(value)   (0 == (((UINT32)(value)) & ((UINT32)(value - 1))))
#define  OS_MEM_ALIGN(value, uwAlign)   (((UINT32)(value) + (UINT32)(uwAlign - 1)) & (~(UINT32)(uwAlign - 1)))
#define  OS_MEM_ALIGN_FLAG   (0x80000000)
#define  OS_MEM_SET_ALIGN_FLAG(uwAlign)   (uwAlign = ((uwAlign) | OS_MEM_ALIGN_FLAG))
#define  OS_MEM_GET_ALIGN_FLAG(uwAlign)   ((uwAlign) & OS_MEM_ALIGN_FLAG)
#define  OS_MEM_GET_ALIGN_GAPSIZE(uwAlign)   ((uwAlign) & (~OS_MEM_ALIGN_FLAG))
#define  RAM_HEAP_SIZE   ((OS_SYS_MEM_SIZE) &~ 7)
#define  RAM_HEAP_START   (OS_SYS_MEM_ADDR)

函数

BOOL  osHeapInit (VOID *pPool, UINT32 uwSz)
  Initialization heap memory.
VOID *  osHeapAlloc (VOID *pPool, UINT32 uwSz)
  Alloc memory block from heap memory.
VOID *  osHeapAllocAlign (VOID *pPool, UINT32 uwSz, UINT32 uwBoundary)
  Alloc aligned memory block from heap memory.
BOOL  osHeapFree (VOID *pPool, VOID *pPtr)
  Free memory block from heap memory.
UINT32  osHeapGetHeapMemoryPeak (VOID)
  Get the memory info from Heap.