mem_define.h

来自「一个ARM内核通用的内存管理程序。通过使用三个链表进行管理」· C头文件 代码 · 共 33 行

H
33
字号
#include "Mem_Conf.h"

#define BUSY_FLAG	0xaa		//内存块忙碌标志
#define IDLE_FLAG	0x00		//内存块空闲标志

#define NODE_YES	0xaa		//是叶节点
#define NODE_NO		0x00		//不是叶节点

#define NULL	0
#define CBSIZE	8 * 4		//内存控制块的大小
#define	HEADERSIZE	2 * 4	//链表头的大小

/* 内存分布链表中该内存控制块在所控制的内存,在内存中物理分布位置 */

typedef struct Tag_MemCB	//内存控制块结构
{
	void	*Addr;		//用户的开始使用的地址(不包含控制块)
	uint32	spacesize;	//这块所管理的内存大小(包含该控制块)
	uint32	Busy_Flag;	//是否已经分配了
	void	*Next;		//处于相应链表(Busy Or Idle链表)前向表项
	void	*Prev;		//处于相应链表(Busy Or Idle链表)后向表项
	void	*Mem_LB;	//处于内存分布链表中的前向表项
	void	*Mem_RB;	//处于内存分布链表中的后向表项
	
	uint32	nouse;		//保留
}MEMCB,	*PMEMCB;


typedef struct Tag_ListHeader
{
	PMEMCB FirstItem;	//指向链表中的第一个表项
	PMEMCB LastItem;	//指向链表中的最后一个表项
}LISTHEADER, *PLISTHEADER;	//链表的表头结构

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?