typedef struct
{
ip地址等信息;
}PACKET_S;
typedef struct
{
char *pPrivData[0];
}RESULT_S;
typedef int (*PARSE_FUNC)(PACKET_S *pPacket,RESULT_S *pResult);
struct parse_map_tag
{
char caProtoName[32];
PARSE_FUNC *pParseFunc;
}PARSE_MAP_S;
PARSE_MAP_S gstParseMap = { {"ftp",Parse_FTP}};
ftp.c
typedef struct
{
int iIPAddr[4];
int iPort;
char cIPVersion;
char cRes1;
char cres2;
char cres3;
int ires1;
}FTP_DATA_S;
int Parse_FTP(PACKET_S *pPacket,RESULT_S *pResult);
int Parse_Free(RESULT_S *pResult);