⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key_parser.h

📁 一个网络监视的程序
💻 H
字号:
#ifndef __key_parser
#define __key_parser

#include <pcap.h>
#include "tme.h"

#define MAX_DESCRIPTION_LENGTH	128
#define MAX_VALUE_LENGTH	128
#define MAX_KEY_LENGTH		128
#define MAX_FORMAT_LENGTH	128
#define LEGEND_FORMATTER	0
#define	LEGEND_TABLE		1

typedef struct 
{
	int8 description[MAX_DESCRIPTION_LENGTH];
	int8 value[MAX_VALUE_LENGTH];
} legend_element;

typedef struct 
{
	int8 description[MAX_DESCRIPTION_LENGTH];
	int8 key[MAX_KEY_LENGTH];
	int8 format[MAX_FORMAT_LENGTH];
	int8 value[MAX_VALUE_LENGTH];
} ft_element;

typedef struct 
{
	legend_element *elements;
	uint32	total_length;
	uint32	used_length;
} legend_type;

typedef struct
{
	ft_element *elements;
	uint32 length;
} ft_legend_type;

typedef struct
{
	uint32 type;
	ft_legend_type ft_legend;
	
	legend_type legend;
	
	
	uint32 key_len;
	uint32 block_size;

	int8 *curr_pointer;
	int8 *last_valid_pointer;
} bpf_keyparser;

#ifdef __cplusplus
extern "C" {
#endif

int pcap_keyparser_init(bpf_keyparser *, const struct pcap_pkthdr *, const u_char *);
void *pcap_keyparser(bpf_keyparser *, legend_type *);
int32 load_monitor_config(char *filename, bpf_keyparser *kp, struct bpf_program *prog);
int32 save_monitor_config(char *filename, bpf_keyparser *kp, struct bpf_program *prog);
int init_legend(legend_type *legend,uint32 length);				
void destroy_legend(legend_type *legend);
int init_ft_legend(ft_legend_type *ft_legend, uint32 length);
void destroy_ft_legend(ft_legend_type *ft_legend);
int pcap_compile_multiple(pcap_t *,struct bpf_program*,char*,int,bpf_u_int32,bpf_keyparser*);
void pcap_destroy_keyparser(bpf_keyparser *kp);
int pcap_keyparser_descriptions(bpf_keyparser *, legend_type *);

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

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