appip.h

来自「linux 上http email 协议分析程序 主要能够处理大数据量的主干网」· C头文件 代码 · 共 103 行

H
103
字号
#ifndef _APPIP_FILE_H
#define _APPIP_FILE_H

#include <ShmApply.h>
#include <DataInfo.h>
#include <RtRadiusIP.h>


#include "Cnstream.h"
#include "Chv.h"
#include "Db.h"

#define SPG_ID_SPECIAL_ID	1
#define CFG_FILE_NAME	"../etc/appip.cfg"

typedef struct
{
	char option;
	u_int32_t ip;
	char szurl[128];
	char szhost[128];
	int wapid;
	int wmrid;
	int inumdomain;
	char *szdomain;
	char *szdomain_app;
}StIpCfgDB;

typedef struct
{
	char option;
	u_int32_t ip;
	char szpost[128];
	char szurl[128];
	int wapid;
	int inumdomain;
	char *szdomain;
}StIpCfg;


class CAppIp
{
public:
	CAppIp(char *syscfg,char *ipcfg);
	~CAppIp();
	void run();

private:
	void processFKong(u_int32_t ip,char *szdata,int lendata);
	void processFKongDB(u_int32_t ip,char *szdata,int lendata);

	void processTKong(u_int32_t ip,char *szdata,int lendata);
	int initIpCfg(char *filename);
	int initIpCfgDB();
	bool initDb(char *filename);
	bool initShm(char *filename);

	bool getIpFileName(char *filename);
	bool writeIpFile(char *filename,char *data,int lendata);
	void writeFKongPage(int lendata,char *filename,char *szurl,int wapid);
	void registerContent();

	
	void writeTKongPage(int lendata);
	void registerWatchedObj();


private:
	bool m_bmatch;
	int m_totipcfg;
	StIpCfg *m_pipcfg;
	StIpCfgDB *m_pipcfgdb;

	CShmApply	*m_pshm;

	CTblWeb *m_ptblweb;
	CSeqWeb *m_pseqweb;
	
	CSpTblWeb *m_psptblweb;
	CSpSeqWeb *m_pspseqweb;

	CTblSpWarm *m_pTblSpWarm;
	CSeqSpWarm *m_pSeqSpWarm;

	Cmimestream *m_theinqStream;
	Chv		*m_pinqhv;

	CDataInfo *m_pInfo;
	CRtRdsIP m_prdsip;

	int m_ilenrcv;
	char m_szrcv[1800];
	struct iphdr *m_piph; 			// IP±¨ͷ
	struct tcphdr *m_ptcph;		// TCP±¨ͷ

	char m_szpostpara[1024];
	char m_szmethod[16];
	char m_szurl[256];
	char m_szhost[256];
};

#endif

⌨️ 快捷键说明

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