📄 data.h
字号:
#ifndef DATA_H_INCLUDED#define DATA_H_INCLUDED#include "thread.h"/*********************************************************************** List*********************************************************************/typedef struct { void **item; uint16_t size; uint16_t maxsize; abyss_bool autofree;} TList;voidListInit(TList * const listP);voidListInitAutoFree(TList * const listP);voidListFree(TList * const listP);voidListFreeItems(TList * const listP);abyss_boolListAdd(TList * const listP, void * const str);voidListRemove(TList * const listP);abyss_boolListAddFromString(TList * const listP, const char * const c);abyss_boolListFindString(TList * const listP, const char * const str, uint16_t * const indexP);typedef struct { char *name,*value; uint16_t hash;} TTableItem;typedef struct{ TTableItem *item; uint16_t size,maxsize;} TTable;voidTableInit(TTable * const t);voidTableFree(TTable * const t);abyss_boolTableAdd(TTable * const t, const char * const name, const char * const value);abyss_boolTableAddReplace(TTable * const t, const char * const name, const char * const value);abyss_boolTableFindIndex(TTable * const t, const char * const name, uint16_t * const index);char *TableFind(TTable * const t, const char * const name);/*********************************************************************** Pool*********************************************************************/typedef struct _TPoolZone { char * pos; char * maxpos; struct _TPoolZone * next; struct _TPoolZone * prev;/* char data[0]; Some compilers don't accept this */ char data[1];} TPoolZone;typedef struct { TPoolZone * firstzone; TPoolZone * currentzone; uint32_t zonesize; TMutex mutex;} TPool;abyss_boolPoolCreate(TPool * const poolP, uint32_t const zonesize);voidPoolFree(TPool * const poolP);void *PoolAlloc(TPool * const poolP, uint32_t const size);voidPoolReturn(TPool * const poolP, void * const blockP);const char *PoolStrdup(TPool * const poolP, const char * const origString);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -