?? pack.h
字號(hào):
// PACK.H 打包頭文件
#define BYTE unsigned char
#define CHAR char
#define DWORD unsigned long
#define WORD unsigned short
#define PACK_KEY_NUMBER 1 // 數(shù)
#define PACK_KEY_COMMA 2 // ,
#define PACK_KEY_D 3 // D or d
#define PACK_KEY_LEFTA 4 // [
#define PACK_KEY_RIGHTA 5 // ]
#define PACK_KEY_LEFTB 6 // {
#define PACK_KEY_RIGHTB 7 // }
#define PACK_KEY_P 8 // P or p
#define PACK_KEY_C 9 // C or c
#define PACK_KEY_FLATF 10 // <F類描述符>
#define PACK_KEY_N 11 // N or n
#define PACK_KEY_ADDRESS 12 // &
#define PACK_KEY_BAD 13 // 非法字符
#define PACK_KEY_EOI 14 // 串尾
struct FlatPackControl_t
{
int Mode; //打解包標(biāo)志 0:解包,1:打包
BYTE *StreamPtr; //字節(jié)流地址
int StreamLen; //字節(jié)流長(zhǎng)度
int Vcount; //V部分的個(gè)數(shù)
int Oflag; //是否含O部分的標(biāo)志
int Lflag; //V O部分長(zhǎng)度指示語
int WorkingPos; //工作指針
int OPartPos; //O部分指針
int VPartPos; //V部分指針
int EOIPos; //結(jié)尾指針
int FpartLen; //F部分的長(zhǎng)度
int Vencounted; //已處理的V參數(shù)個(gè)數(shù)
int Oencounted; //已處理的O參數(shù)個(gè)數(shù)
};
//以下是結(jié)構(gòu)打解包控制結(jié)構(gòu)
struct Token_t //標(biāo)識(shí)結(jié)構(gòu)
{
int Class; //標(biāo)識(shí)編碼
int Value; //整數(shù)的值或F類描述符
int Len; //F類描述符的長(zhǎng)度
};
struct Envelop //樹結(jié)點(diǎn)
{
int Next; //兄弟指針
int Father; //父親指針
int Son; //長(zhǎng)子指針
int StreamPtr; //流的起始地址
int StreamLen; //流長(zhǎng)度
int TagLen; //標(biāo)識(shí)長(zhǎng)度
int LenLen; //長(zhǎng)度字段長(zhǎng)度
int BodyLen; //體長(zhǎng)度
int State; //體狀態(tài)
};
struct tree_control_t2 //控制區(qū)結(jié)點(diǎn)
{
BYTE * buf; //—>緩沖區(qū)首址
BYTE * format; //—>格式描述串首址
int BufPos; //工作指針—>當(dāng)前緩沖區(qū)工作地址
int ScanPos; //工作指針—>當(dāng)前格式描述串工作地址
int ErrCount; //錯(cuò)誤記錄
int level; //記錄當(dāng)前層次
int lengh; //緩沖區(qū)最大長(zhǎng)度
int NodeNumber; //樹節(jié)點(diǎn)記數(shù)
int CurrentNode; //當(dāng)前節(jié)點(diǎn)
struct Envelop Env[30]; //按層次記錄樹結(jié)構(gòu)
};
extern int BuildForest(int handle,int Father,int Limit);
extern int SolidPackBegin();
extern int SolidPackAttach(int handle,BYTE * s,int s_len);
extern int SolidPackContinue(int handle,BYTE *format,...);
extern int SolidPackEnd(int handle);
extern int SolidPackRelease(int handle);
extern int FlatPackBegin();
extern int FlatPackAttach(int handle,int vc,int o_flag,BYTE * s,int s_len);
extern int FlatPackSetVOLenLen(int handle,int LenLen);
extern int FlatPackFPart(int handle,BYTE *format,...);
extern int FlatPackVPart(int handle,BYTE *format,...);
extern int FlatPackOPart(int handle,BYTE * format,int name,...);
extern int FlatPackEnd(int handle,int EOC_f);
extern int FlatPackRelease(int handle);
extern int FlatUnPack(BYTE * buf,BYTE * format,...);
extern int FlatUnPackBegin();
extern int FlatUnPackAttach(int handle,BYTE * s,int s_len);
extern int FlatUnPackSetVOLenLen(int handle,int LenLen);
extern int FlatUnPackFPart(int handle,BYTE *format,...);
extern BYTE * FlatUnPackGetFPartBODY(int handle);
extern BYTE FlatUnPackGetBYTE(int handle);
extern DWORD FlatUnPackGetWORD(int handle);
extern int FlatUnPackGetFPartPos(int handle);
extern int FlatUnPackEOI(int handle);
extern int FlatUnPackSetFPartPos(int handle,int pos,int mode);
extern int FlatUnPackVPart(int handle,BYTE *format,int * len,...);
extern int FlatUnPackVSet(int handle);
extern int FlatUnPackVContinue(int handle,BYTE *format,...);
extern int FlatUnPackGetVPartLEN(int handle);
extern BYTE * FlatUnPackGetVPartBODY(int handle);
extern int FlatUnPackSkipVPart(int handle);
extern int FlatUnPackOPart(int handle,BYTE *format,int *name,int * len,...);
extern int FlatUnPackOSet(int handle);
extern int FlatUnPackOContinue(int handle,BYTE *format,...);
extern int FlatUnPackGetOPartNAME(int handle);
extern int FlatUnPackGetOPartLEN(int handle);
extern BYTE * FlatUnPackGetOPartBODY(int handle);
extern int FlatUnPackSkipOPart(int handle);
extern int FlatUnPackEnd(int handle);
extern int FlatUnPackRelease(int handle);
extern int SolidUnPackBegin();
extern int SolidUnPackAttach(int handle,BYTE * s,int s_len);
extern int SolidUnPackGetID(int handle);
extern int SolidUnPackGetLEN(int handle);
extern BYTE* SolidUnPackGetBODY(int handle);
extern int SolidUnPackSkipBODY(int handle);
extern int SolidUnPackFORWARD(int handle);
extern int SolidUnPackBACKWARD(int handle);
extern int SolidUnPackEnd(int handle);
extern int SolidUnPackRelease(int handle);
extern int show(BYTE * buf,int len);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -