62#define LOS_MEMBOX_ALLIGNED(memAddr) (((UINTPTR)(memAddr) + sizeof(UINTPTR) - 1) & (~(sizeof(UINTPTR) - 1)))
64#ifdef LOSCFG_KERNEL_MEMBOX_STATIC
69#define OS_MEMBOX_NEXT(addr, blkSize) (LOS_MEMBOX_NODE *)(VOID *)((UINT8 *)(addr) + (blkSize))
75#ifdef LOSCFG_BASE_MEM_NODE_INTEGRITY_CHECK
76#define OS_MEMBOX_NODE_HEAD_SIZE sizeof(LOS_MEMBOX_NODE)
78#define OS_MEMBOX_NODE_HEAD_SIZE 0
101#define LOS_MEMBOX_SIZE(blkSize, blkNum) \
102 (sizeof(LOS_MEMBOX_INFO) + (LOS_MEMBOX_ALLIGNED((blkSize) + OS_MEMBOX_NODE_HEAD_SIZE) * (blkNum)))
108typedef struct tagMEMBOX_NODE {
109 struct tagMEMBOX_NODE *pstNext;
121#ifdef LOSCFG_KERNEL_MEMBOX_STATIC
122 LOS_MEMBOX_NODE stFreeList;
UINT32 LOS_MemboxStatisticsGet(const void *boxMem, UINT32 *maxBlk, UINT32 *blkCnt, UINT32 *blkSize)
Obtain the static memory pool information.
UINT32 LOS_MemboxInit(void *pool, UINT32 poolSize, UINT32 blkSize)
Initialize a static memory pool.
void * LOS_MemboxAlloc(void *pool)
Request a static memory block.
UINT32 LOS_MemboxFree(void *pool, void *box)
Free a static memory block.
void LOS_ShowBox(void *pool)
show static memory pool information.
void LOS_MemboxClr(void *pool, void *box)
Clear a static memory block.
LOS_MEMBOX_INFO OS_MEMBOX_S
Definition los_membox.h:128
#define VOID
Definition los_typedef.h:88
unsigned int UINT32
Definition los_typedef.h:52
Definition los_membox.h:117
UINT32 uwBlkSize
Definition los_membox.h:118
UINT32 uwBlkNum
Definition los_membox.h:119
UINT32 uwBlkCnt
Definition los_membox.h:120