📄 eth_typedef.h
字号:
#define TCP_MAX_WINDOWS_SIZE 500
#define TCP_MAX_CONNECT_SIZE 10
#define HW_LEN 6
#define IP_VER 4
//socket defined
typedef struct {
unsigned long his_ip_address;
unsigned int his_port;
unsigned int my_port;
unsigned long his_sequence;
unsigned long my_sequence;
unsigned long old_sequence;
unsigned long his_ack;
unsigned int flags;
unsigned char states;
unsigned int times;
unsigned char rece_OK;
unsigned int rece_len;
unsigned char rece_data[TCP_MAX_WINDOWS_SIZE];
unsigned char inst_data[32];
} TCP_SOCKET;
extern TCP_SOCKET Socket[TCP_MAX_CONNECT_SIZE];
//TCP_SOCKET states
#define STATE_CLOSED 0
#define STATE_LISTEN 1
#define STATE_SYN_RCVD 2
#define STATE_SYN_SENT 3
#define STATE_ESTABLISHED 4
#define STATE_CLOSE_WAIT 5
#define STATE_LAST_ACK 6
#define STATE_FIN_WAIT_1 7
#define STATE_FIN_WAIT_2 8
#define STATE_CLOSING 9
#define STATE_TIME_WAIT 10
//eth defined
typedef struct {
unsigned char dest_hw_address[HW_LEN];
unsigned char sour_hw_address[HW_LEN];
unsigned int frame_type;
} ETH_HEADER;
//frame_type
#define ARP_PACKET 0x0806
#define IP_PACKET 0x0800
typedef struct {
unsigned char ver_len; //版本与首部长度,1字节。
unsigned char type_of_service; //服务类型,1字节。
unsigned int total_length; //IP数据报长度,2字节。
unsigned int identifier; //验证标志,2字节。
unsigned int fragment_info; //分片信息,2字节。
unsigned char time_to_live; //生存时间,1字节。
unsigned char protocol_id; //协议号,1字节。
unsigned int header_cksum; //IP首部校验和,2字节。
unsigned long sour_ip_address; //源IP地址,4字节。
unsigned long dest_ip_address; //目的IP地址,4字节。
} IP_HEADER;
//protocal_id
#define ICMP_TYPE 1
#define IGMP_TYPE 2
#define TCP_TYPE 6
#define UDP_TYPE 17
typedef struct
{
unsigned int sour_port;
unsigned int dest_port;
unsigned long sequence;
unsigned long ack_number;
unsigned int flags;
unsigned int window;
unsigned int checksum;
unsigned int urgent_ptr;
unsigned char options;
} TCP_HEADER;
// TCP flag bits
#define FLG_FIN 0x0001
#define FLG_SYN 0x0002
#define FLG_RST 0x0004
#define FLG_PSH 0x0008
#define FLG_ACK 0x0010
#define FLG_URG 0x0020
//my settings
typedef struct {
unsigned char hw_address[HW_LEN];
unsigned char broadcast[HW_LEN];
unsigned long ip_address;
unsigned long gw_address;
unsigned long submask;
unsigned int tcp_port;
} NETSET;
extern NETSET my;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -