www.pudn.com > TCPIP.rar > TCP.h


#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 ==========================