WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
los_memory_internal.h 文件参考
#include "los_typedef.h"
#include "los_memory_pri.h"
los_memory_internal.h 的引用(Include)关系图:

浏览源代码.

结构体

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
 

宏定义说明

◆ IS_POW_TWO

#define IS_POW_TWO (   value)    ((((UINTPTR)(value)) & ((UINTPTR)(value) - 1)) == 0)

◆ OS_MEM_END_NODE

#define OS_MEM_END_NODE (   pool,
  size 
)     ((LosMemDynNode *)(VOID *)(((UINT8 *)(pool) + (size)) - OS_MEM_NODE_HEAD_SIZE))

◆ OS_MEM_FIRST_NODE

#define OS_MEM_FIRST_NODE (   pool)     ((LosMemDynNode *)(VOID *)((UINT8 *)OS_MEM_HEAD_ADDR(pool) + OS_DLNK_HEAD_SIZE))

◆ OS_MEM_HEAD

#define OS_MEM_HEAD (   pool,
  size 
)     OsDLnkMultiHead(OS_MEM_HEAD_ADDR(pool), size)

◆ OS_MEM_HEAD_ADDR

#define OS_MEM_HEAD_ADDR (   pool)     ((VOID *)((UINTPTR)(pool) + sizeof(LosMemPoolInfo)))

◆ OS_MEM_MAGIC_VALID

#define OS_MEM_MAGIC_VALID (   value)     (((UINTPTR)(value) ^ (UINTPTR)&(value)) == (UINTPTR)(-1))

◆ OS_MEM_MIDDLE_ADDR

#define OS_MEM_MIDDLE_ADDR (   startAddr,
  middleAddr,
  endAddr 
)     (((UINT8 *)(startAddr) <= (UINT8 *)(middleAddr)) && ((UINT8 *)(middleAddr) <= (UINT8 *)(endAddr)))

◆ OS_MEM_MIDDLE_ADDR_OPEN_END

#define OS_MEM_MIDDLE_ADDR_OPEN_END (   startAddr,
  middleAddr,
  endAddr 
)     (((UINT8 *)(startAddr) <= (UINT8 *)(middleAddr)) && ((UINT8 *)(middleAddr) < (UINT8 *)(endAddr)))

◆ OS_MEM_MIN_POOL_SIZE

#define OS_MEM_MIN_POOL_SIZE
值:
sizeof(LosMemPoolInfo) + 1)
#define OS_MEM_NODE_HEAD_SIZE
Definition los_memory_internal.h:79
#define OS_DLNK_HEAD_SIZE
Definition los_multipledlinkhead_pri.h:42

◆ OS_MEM_NEXT_NODE

#define OS_MEM_NEXT_NODE (   node)     ((LosMemDynNode *)(VOID *)((UINT8 *)(node) + OS_MEM_NODE_GET_SIZE((node)->selfNode.sizeAndFlag)))

◆ OS_MEM_NODE_ALIGNED_AND_USED_FLAG

#define OS_MEM_NODE_ALIGNED_AND_USED_FLAG   (OS_MEM_NODE_USED_FLAG | OS_MEM_NODE_ALIGNED_FLAG)

◆ OS_MEM_NODE_ALIGNED_FLAG

#define OS_MEM_NODE_ALIGNED_FLAG   0x40000000U

◆ OS_MEM_NODE_GET_ALIGNED_FLAG

#define OS_MEM_NODE_GET_ALIGNED_FLAG (   sizeAndFlag)     ((sizeAndFlag) & OS_MEM_NODE_ALIGNED_FLAG)

◆ OS_MEM_NODE_GET_ALIGNED_GAPSIZE

#define OS_MEM_NODE_GET_ALIGNED_GAPSIZE (   sizeAndFlag)     ((sizeAndFlag) & ~OS_MEM_NODE_ALIGNED_FLAG)

◆ OS_MEM_NODE_GET_SIZE

#define OS_MEM_NODE_GET_SIZE (   sizeAndFlag)     ((sizeAndFlag) & ~OS_MEM_NODE_ALIGNED_AND_USED_FLAG)

◆ OS_MEM_NODE_GET_USED_FLAG

#define OS_MEM_NODE_GET_USED_FLAG (   sizeAndFlag)     ((sizeAndFlag) & OS_MEM_NODE_USED_FLAG)

◆ OS_MEM_NODE_HEAD_SIZE

#define OS_MEM_NODE_HEAD_SIZE   sizeof(LosMemDynNode)

◆ OS_MEM_NODE_SET_ALIGNED_FLAG

#define OS_MEM_NODE_SET_ALIGNED_FLAG (   sizeAndFlag)     ((sizeAndFlag) = ((sizeAndFlag) | OS_MEM_NODE_ALIGNED_FLAG))

◆ OS_MEM_NODE_SET_USED_FLAG

#define OS_MEM_NODE_SET_USED_FLAG (   sizeAndFlag)     ((sizeAndFlag) = ((sizeAndFlag) | OS_MEM_NODE_USED_FLAG))

◆ OS_MEM_NODE_USED_FLAG

#define OS_MEM_NODE_USED_FLAG   0x80000000U

◆ OS_MEM_SET_MAGIC

#define OS_MEM_SET_MAGIC (   value)     ((value) = (UINTPTR)&(value) ^ (UINTPTR)(-1))

◆ POOL_ADDR_ALIGNSIZE

#define POOL_ADDR_ALIGNSIZE   64

类型定义说明

◆ LosMemDynNode