📄 lft.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 + -