summaryrefslogtreecommitdiff
path: root/src/quic_analysis.h
blob: 51ccd574034da23ed726e939f54c6486587a2a9a (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
#ifndef _QUIC_ANALYSIS_H_
#define _QUIC_ANALYSIS_H_

#include "gquic.h"

#define QUIC_TRUE 					0x01
#define QUIC_FALSE 					0x00
#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_t
{
	unsigned long long 	quic_interested_region_flag;
	unsigned long long 	quic_region_cnt;
	unsigned short 		quic_plugid;
	char 				quic_conf_regionname[MAX_REGION_NUM][REGION_NAME_LEN];
	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
};

struct _quic_context
{
	int is_quic;
	int link_state;
	void *business_pme;
	struct _quic_info quic_info;
};


extern struct _quic_param_t g_quic_param;

void quic_release_exts(int thread_seq, quic_tlv_t *ext_tags, int ext_tag_num);

#endif /* SRC_QUIC_ANALYSIS_H_ */