⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lft.h

📁 嵌入式常用的Buffer 算法 List。 可以直接使用已完成接口。
💻 H
字号:
/****************************************************************************************************************
File Name  :	lft.h
Content	   :	list for test
Date	   :	2007/05/xx
Discription:	
Compiler   :	GNU C Compiler
Copyright  :	
****************************************************************************************************************/
#ifndef __LFT_H__
#define __LFT_H__

#include <stdio.h>
#include <assert.h>
#include "type.h"


/*--------------------------------------------------------------------------------------*/
/* !!!	*/
/*--------------------------------------------------------------------------------------*/
#define USING_LIST(size)	static ULONG listBuffer[size/sizeof(ULONG)];

/*--------------------------------------------------------------------------------------*/
/* API																					*/
/*--------------------------------------------------------------------------------------*/
#define ListInitialize()		lft_listInitialize(listBuffer,sizeof(listBuffer))
#define ListCreateNode(size)	lft_listCreateNode(listBuffer,sizeof(listBuffer),size)
#define ListDestroyNode(pNode)	lft_listDestroyNode(listBuffer,sizeof(listBuffer),pNode)

#define ListGetNextNode(pNode)	lft_listGetNextNode(listBuffer,sizeof(listBuffer),pNode)
#define ListGetTopNode()		lft_listGetTopNode(listBuffer,sizeof(listBuffer))

#define ListGetData(pNode)		lft_listGetData(listBuffer,sizeof(listBuffer),pNode)
#define ListGetDataSize(pNode)	lft_listGetDataSize(listBuffer,sizeof(listBuffer),pNode)

/*--------------------------------------------------------------------------*/
/* struct																	*/
/*--------------------------------------------------------------------------*/
typedef struct _LISTNODE LISTNODE;
struct _LISTNODE{
	ULONG		checkVal;
	LONG		size;
	LISTNODE*	next;
};

/*--------------------------------------------------------------------------*/
/* prototype function														*/
/*--------------------------------------------------------------------------*/
void		lft_listInitialize(ULONG* buf, LONG bufSize);
LISTNODE*	lft_listCreateNode(ULONG* buf, LONG bufSize, LONG size);
LISTNODE*	lft_listDestroyNode(ULONG* buf, LONG bufSize, LISTNODE* pNode);

LISTNODE*	lft_listGetNextNode(ULONG* buf, LONG bufSize, LISTNODE* pNode);
LISTNODE*	lft_listGetTopNode(ULONG* buf, LONG bufSize);

ULONG*		lft_listGetData(ULONG* buf, LONG bufSize, LISTNODE* pNode);
LONG		lft_listGetDataSize(ULONG* buf, LONG bufSize, LISTNODE* pNode);


#endif   /* __LFT_H__ */

⌨️ 快捷键说明

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