39#define TCP_FLAGS_FIN (1<<0)
40#define TCP_FLAGS_SYN (1<<1)
41#define TCP_FLAGS_RST (1<<2)
42#define TCP_FLAGS_PSH (1<<3)
43#define TCP_FLAGS_ACK (1<<4)
44#define TCP_FLAGS_URG (1<<5)
45#define TCP_FLAGS_ECE (1<<6)
46#define TCP_FLAGS_CWR (1<<7)
47#define TCP_FLAGS_NS (1<<8)
48#define TCP_DATA_OFFSET_5 (0x5 << 12)
50#define TCP_DEFAULT_WIN_SZ 65535
52#define TCP_RX_BUF_SZ 16384
54#define TCP_STATE_CLOSED 0
55#define TCP_STATE_LISTEN 1
56#define TCP_STATE_SYN_SENT 2
57#define TCP_STATE_SYN_RECEIVED 3
58#define TCP_STATE_ESTABLISHED 4
59#define TCP_STATE_FIN_WAIT_1 5
60#define TCP_STATE_FIN_WAIT_2 6
61#define TCP_STATE_CLOSE_WAIT 7
62#define TCP_STATE_CLOSING 8
63#define TCP_STATE_LAST_ACK 9
64#define TCP_STATE_TIME_WAIT 10
66#if defined(ARCH_X64) || defined(ARCH_ARM64)
79#if defined(ARCH_X64) || defined(ARCH_ARM64)
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
unsigned short int uint16_t
Definition acefiex.h:162
AuVFSNode * nic
Definition e1000.cpp:67
struct _socket_ * parent
Definition tcp.h:100
uint8_t * rxmem
Definition tcp.h:102
uint16_t rcv_wnd
Definition tcp.h:96
int backlog
Definition tcp.h:98
uint32_t irs
Definition tcp.h:88
uint16_t snd_wnd
Definition tcp.h:95
void * rxbuf
Definition tcp.h:101
AuVFSNode * nic
Definition tcp.h:99
uint32_t iss
Definition tcp.h:87
uint32_t snd_nxt
Definition tcp.h:90
uint8_t state
Definition tcp.h:84
uint32_t rcv_nxt
Definition tcp.h:91
uint8_t fin_recvd
Definition tcp.h:85
ip6_addr remote_ip6
Definition tcp.h:93
uint16_t mss
Definition tcp.h:97
uint32_t remote_ip
Definition tcp.h:92
uint16_t remote_port
Definition tcp.h:94
uint8_t is_ipv6
Definition tcp.h:86
uint32_t snd_una
Definition tcp.h:89
list_t * acceptq
Definition tcp.h:103
unsigned short urgentPointer
Definition tcp.h:77
unsigned short window
Definition tcp.h:75
unsigned short srcPort
Definition tcp.h:70
unsigned short checksum
Definition tcp.h:76
unsigned short destPort
Definition tcp.h:71
unsigned ackNum
Definition tcp.h:73
unsigned sequenceNum
Definition tcp.h:72
unsigned short dataOffsetFlags
Definition tcp.h:74
void TCPHandlePacket6(IPv6Header *pack, AuVFSNode *nic)
Definition tcp.c:1090
struct _tcphead_ TCPHeader
int CreateTCPSocket()
Definition tcp.cpp:345
list_t * TCPGetSocketList()
Definition tcp.cpp:379
void TCPHandlePacket(IPv4Header *pack, AuVFSNode *nic)
Definition tcp.c:962
void TCPProtocolInstall()
Definition tcp.cpp:386
struct _tcp_pcb_ TCPControlBlock
int AuTCPAcknowledge(AuVFSNode *nic, AuSocket *sock, IPv4Header *ippack, size_t payloadLen)
Definition tcp.cpp:161