summaryrefslogtreecommitdiff
path: root/src/quic_entry.h
blob: 27a33e7c4ed2e6ed594efb779852303cec03f750 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef _QUIC_ANALYSIS_H_
#define _QUIC_ANALYSIS_H_

#include "quic.h"

#ifndef MIN
#define MIN(a, b)  	(((a) < (b)) ? (a) : (b))
#endif

#define FALSE	0x00
#define TRUE 	0x01
#define MAYBE 	0x02

#define	SUPPORT_QUIC_PORT_NUM	128

#define QUIC_HALF_CLOSE 			0x01
#define QUIC_WHOLE_CLOSE 			0x02
#define QUIC_DATA 			        0x03
#define QUIC_KEY 					1
#define QUIC_RETURN_NORM 				0x60
#define QUIC_RETURN_UNNORM 				0x61
#define QUIC_RETURN_RESET_BUFFER		0x62
#define QUIC_RETURN_DROPME 				0x63
#define MAX_REGION_NUM                  15
#define REGION_NAME_LEN                 32

struct quic_param
{
	unsigned long long 	quic_interested_region_flag;
	unsigned long long 	quic_region_cnt;
	unsigned short 		quic_plugid;
	int level;
	int quic_port_num;
	int decrypted_switch;
	int max_parse_pkt_num;
	int context_bridge_id;
	unsigned short quic_port_list[SUPPORT_QUIC_PORT_NUM];
	char quic_conf_regionname[MAX_REGION_NUM][REGION_NAME_LEN];
	char log_path[128];
	void *logger;
};

enum quic_mes_type{
  VER_NEGO = 0,    //vertion negotiation packet
  PUB_RST,          //public reset packet
  FRAME,           //frame packet
  FEC,              //FEC packet
  Initial,          //iquic
  Retey,            //iquic
  Handshake,        //iquic
  MSG_UNKNOWN = 255
};

extern struct quic_param g_quic_param;
int is_quic_port(const struct streaminfo *pstream);

#endif /* SRC_QUIC_ANALYSIS_H_ */