|
WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
|

结构体 | |
| struct | LosMemCtlNode |
| struct | tagLosMemDynNode |
宏定义 | |
| #define | OS_MEM_NODE_HEAD_SIZE sizeof(LosMemDynNode) |
| #define | OS_MEM_MIN_POOL_SIZE |
| #define | IS_POW_TWO(value) ((((UINTPTR)(value)) & ((UINTPTR)(value) - 1)) == 0) |
| #define | POOL_ADDR_ALIGNSIZE 64 |
| #define | OS_MEM_NODE_USED_FLAG 0x80000000U |
| #define | OS_MEM_NODE_ALIGNED_FLAG 0x40000000U |
| #define | OS_MEM_NODE_ALIGNED_AND_USED_FLAG (OS_MEM_NODE_USED_FLAG | OS_MEM_NODE_ALIGNED_FLAG) |
| #define | OS_MEM_NODE_GET_ALIGNED_FLAG(sizeAndFlag) ((sizeAndFlag) & OS_MEM_NODE_ALIGNED_FLAG) |
| #define | OS_MEM_NODE_SET_ALIGNED_FLAG(sizeAndFlag) ((sizeAndFlag) = ((sizeAndFlag) | OS_MEM_NODE_ALIGNED_FLAG)) |
| #define | OS_MEM_NODE_GET_ALIGNED_GAPSIZE(sizeAndFlag) ((sizeAndFlag) & ~OS_MEM_NODE_ALIGNED_FLAG) |
| #define | OS_MEM_NODE_GET_USED_FLAG(sizeAndFlag) ((sizeAndFlag) & OS_MEM_NODE_USED_FLAG) |
| #define | OS_MEM_NODE_SET_USED_FLAG(sizeAndFlag) ((sizeAndFlag) = ((sizeAndFlag) | OS_MEM_NODE_USED_FLAG)) |
| #define | OS_MEM_NODE_GET_SIZE(sizeAndFlag) ((sizeAndFlag) & ~OS_MEM_NODE_ALIGNED_AND_USED_FLAG) |
| #define | OS_MEM_HEAD(pool, size) OsDLnkMultiHead(OS_MEM_HEAD_ADDR(pool), size) |
| #define | OS_MEM_HEAD_ADDR(pool) ((VOID *)((UINTPTR)(pool) + sizeof(LosMemPoolInfo))) |
| #define | OS_MEM_NEXT_NODE(node) ((LosMemDynNode *)(VOID *)((UINT8 *)(node) + OS_MEM_NODE_GET_SIZE((node)->selfNode.sizeAndFlag))) |
| #define | OS_MEM_FIRST_NODE(pool) ((LosMemDynNode *)(VOID *)((UINT8 *)OS_MEM_HEAD_ADDR(pool) + OS_DLNK_HEAD_SIZE)) |
| #define | OS_MEM_END_NODE(pool, size) ((LosMemDynNode *)(VOID *)(((UINT8 *)(pool) + (size)) - OS_MEM_NODE_HEAD_SIZE)) |
| #define | OS_MEM_MIDDLE_ADDR_OPEN_END(startAddr, middleAddr, endAddr) (((UINT8 *)(startAddr) <= (UINT8 *)(middleAddr)) && ((UINT8 *)(middleAddr) < (UINT8 *)(endAddr))) |
| #define | OS_MEM_MIDDLE_ADDR(startAddr, middleAddr, endAddr) (((UINT8 *)(startAddr) <= (UINT8 *)(middleAddr)) && ((UINT8 *)(middleAddr) <= (UINT8 *)(endAddr))) |
| #define | OS_MEM_SET_MAGIC(value) ((value) = (UINTPTR)&(value) ^ (UINTPTR)(-1)) |
| #define | OS_MEM_MAGIC_VALID(value) (((UINTPTR)(value) ^ (UINTPTR)&(value)) == (UINTPTR)(-1)) |
类型定义 | |
| typedef struct tagLosMemDynNode | LosMemDynNode |
| #define OS_MEM_END_NODE | ( | pool, | |
| size | |||
| ) | ((LosMemDynNode *)(VOID *)(((UINT8 *)(pool) + (size)) - OS_MEM_NODE_HEAD_SIZE)) |
| #define OS_MEM_FIRST_NODE | ( | pool | ) | ((LosMemDynNode *)(VOID *)((UINT8 *)OS_MEM_HEAD_ADDR(pool) + OS_DLNK_HEAD_SIZE)) |
| #define OS_MEM_HEAD | ( | pool, | |
| size | |||
| ) | OsDLnkMultiHead(OS_MEM_HEAD_ADDR(pool), size) |
| #define OS_MEM_MIDDLE_ADDR | ( | startAddr, | |
| middleAddr, | |||
| endAddr | |||
| ) | (((UINT8 *)(startAddr) <= (UINT8 *)(middleAddr)) && ((UINT8 *)(middleAddr) <= (UINT8 *)(endAddr))) |
| #define OS_MEM_MIDDLE_ADDR_OPEN_END | ( | startAddr, | |
| middleAddr, | |||
| endAddr | |||
| ) | (((UINT8 *)(startAddr) <= (UINT8 *)(middleAddr)) && ((UINT8 *)(middleAddr) < (UINT8 *)(endAddr))) |
| #define OS_MEM_MIN_POOL_SIZE |
| #define OS_MEM_NEXT_NODE | ( | node | ) | ((LosMemDynNode *)(VOID *)((UINT8 *)(node) + OS_MEM_NODE_GET_SIZE((node)->selfNode.sizeAndFlag))) |
| #define OS_MEM_NODE_ALIGNED_AND_USED_FLAG (OS_MEM_NODE_USED_FLAG | OS_MEM_NODE_ALIGNED_FLAG) |
| #define OS_MEM_NODE_ALIGNED_FLAG 0x40000000U |
| #define OS_MEM_NODE_GET_ALIGNED_FLAG | ( | sizeAndFlag | ) | ((sizeAndFlag) & OS_MEM_NODE_ALIGNED_FLAG) |
| #define OS_MEM_NODE_GET_ALIGNED_GAPSIZE | ( | sizeAndFlag | ) | ((sizeAndFlag) & ~OS_MEM_NODE_ALIGNED_FLAG) |
| #define OS_MEM_NODE_GET_SIZE | ( | sizeAndFlag | ) | ((sizeAndFlag) & ~OS_MEM_NODE_ALIGNED_AND_USED_FLAG) |
| #define OS_MEM_NODE_GET_USED_FLAG | ( | sizeAndFlag | ) | ((sizeAndFlag) & OS_MEM_NODE_USED_FLAG) |
| #define OS_MEM_NODE_HEAD_SIZE sizeof(LosMemDynNode) |
| #define OS_MEM_NODE_SET_ALIGNED_FLAG | ( | sizeAndFlag | ) | ((sizeAndFlag) = ((sizeAndFlag) | OS_MEM_NODE_ALIGNED_FLAG)) |
| #define OS_MEM_NODE_SET_USED_FLAG | ( | sizeAndFlag | ) | ((sizeAndFlag) = ((sizeAndFlag) | OS_MEM_NODE_USED_FLAG)) |
| #define OS_MEM_NODE_USED_FLAG 0x80000000U |
| #define POOL_ADDR_ALIGNSIZE 64 |
| typedef struct tagLosMemDynNode LosMemDynNode |