📄 ip.h
字号:
#define Reg00 port2000
#define Reg01 port2001
#define Reg02 port2002
#define Reg03 port2003
#define Reg04 port2004
#define Reg05 port2005
#define Reg06 port2006
#define Reg07 port2007
#define Reg08 port2008
#define Reg09 port2009
#define Reg0a port200a
#define Reg0b port200b
#define Reg0c port200c
#define Reg0d port200d
#define Reg0e port200e
#define Reg0f port200f
#define Reg10 port2010
ioport Uint16 Reg00;
ioport Uint16 Reg01;
ioport Uint16 Reg02;
ioport Uint16 Reg03;
ioport Uint16 Reg04;
ioport Uint16 Reg05;
ioport Uint16 Reg06;
ioport Uint16 Reg07;
ioport Uint16 Reg08;
ioport Uint16 Reg09;
ioport Uint16 Reg0a;
ioport Uint16 Reg0b;
ioport Uint16 Reg0c;
ioport Uint16 Reg0d;
ioport Uint16 Reg0e;
ioport Uint16 Reg0f;
ioport Uint16 Reg10;
#define MY_TCP_PORT 1024
#define MY_UDP_PORT 1025
#define ETH_HEADER_START 0
#define IP_HEADER_START 7
#define ARP_HEADER_START 7
#define TCP_HEADER_START 17
#define UDP_HEADER_START 17
#define ICMP_HEADER_START 17
#define USER_DATA_START 27
#define RTL8019_HEADER_SIZE 2
#define ETH_HEADER_SIZE 7
#define IP_HEADER_SIZE 10
#define TCP_HEADER_SIZE 10
#define UDP_HEADER_SIZE 4
#define ARP_FRAME_SIZE 14
#define ICMP_HEADER_SIZE 2
#define DUMMY_HEADER_SIZE 6
#define MY_MAX_SEG_SIZE 1460
#define Frame_ARP 0x0806
#define Frame_IP 0x0800
#define Ip_Edition 0x4500 //Ip 版本和IP首部长度
#define DEFUALT_TTL 128
#define ICMP_ECHO 8
#define ICMP_ECHO_REPLY 0
//ARP
#define HARDW_ETH 1
#define IP_HLEN_PLEN 0x0604
#define OP_ARP_REQUEST 1
#define OP_ARP_ANSWER 2
#define PROTOCOL_ICMP 1
#define PROTOCOL_TCP 6
#define PROTOCOL_UDP 17
/////TCP define
#define TCP_MAX_RE_TXDNUM 8
#define TCP_CODE_FIN 0x0001
#define TCP_CODE_SYN 0x0002
#define TCP_CODE_RST 0x0004
#define TCP_CODE_PSH 0x0008
#define TCP_CODE_ACK 0x0010
#define TCP_CODE_URG 0x0020
#define TCP_STATE_LISTEN 0
#define TCP_STATE_SYN_RCVD 1
#define TCP_STATE_SYN_SENT 2
#define TCP_STATE_ESTABLISHED 3
#define TCP_STATE_FIN_WAIT1 4
#define TCP_STATE_FIN_WAIT2 5
#define TCP_STATE_CLOSING 6
#define TCP_STATE_CLOSE_WAIT 7
#define TCP_STATE_LAST_ACK 8
#define TCP_STATE_CLOSED 9
#define TCP_STATE_TIME_WAIT 10
extern void SendFrame(Uint16 *buf,Uint16 len);
extern Uint16 SwapWord(Uint16 data);
//prototypes
void TCP_Listen(void);
void TCP_Syn_Rec(void);
void TCP_Syn_Sent(void);
void TCP_Established(void);
void TCP_Close_Wait(void);
void TCP_Last_Ack(void);
void DoNetworkStuff(void);
void TCPActiveTxData(void);
void RTL8019ActiveOpen(void);
void Prepare_ICMP_Answer(void);
void Prepare_TCP_Frame(Uint16 TCPCode);
void CopyFrameFromBE(Uint16 Offset,Uint16 Size);
void ProcessEthBroadcastFrame(void);
//========================== end ==========================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -