📄 tcp.h
字号:
//-----------------------------------------------------------------------------
// TCP
//-----------------------------------------------------------------------------
#ifndef H__TCP
#define H__TCP
#include "hal_mac.h"
//-----------------------------------------------------------------------------
// TCP state machine states
//-----------------------------------------------------------------------------
#define LISTEN 1
#define SYN_SENT 2
#define SYN_RECVD 3
#define ESTABLISHED 4
#define FIN_WAIT_1 5
#define FIN_WAIT_2 6
#define CLOSE_WAIT 7
#define CLOSING 8
#define LAST_ACK 9
#define TIME_WAIT 10
#define CLOSED 11
//-----------------------------------------------------------------------------
//TCP control commands
//-----------------------------------------------------------------------------
#define TCP_FIN 0x01
#define TCP_SYN 0x02
#define TCP_RST 0x04
#define TCP_PSH 0x08
#define TCP_ACK 0x10
#define TCP_URG 0x20
//-----------------------------------------------------------------------------
//TCP header defines
//-----------------------------------------------------------------------------
#define TCP_PORT_HTTP 80
#define TCP_START_SEQ 0x32 //50 dec
//-----------------------------------------------------------------------------
// TCP control block, holds data of each connection
//-----------------------------------------------------------------------------
#define TCP_MAX_CONNECTIONS 3
typedef struct {
u8 state; // State of the TCP socket
u8 dest_ip[4]; // Remote IP address
u16 src_port; // Local port number
u16 dest_port; // Remote port number
u32 src_seq; // Local sequence number
u32 dest_seq; // Remote sequence number
}TCB;
//-----------------------------------------------------------------------------
// Prototypes of functions from tcp.c
//-----------------------------------------------------------------------------
void Tcp_Ip_Init(void);
u8 Rx_TCP_Frame(EthernetFrame *frame);
void Tx_TCP_Frame(EthernetFrame *frame, u8 control_bits, u8 *szData, u16 nLength);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -