C
typedef struct { DWORD retryInterval; DWORD MySEQ; DWORD RemoteSEQ; PTR_BASE txUnackedTail; WORD_VAL remotePort; WORD_VAL localPort; WORD remoteWindow; WORD wFutureDataSize; union { NODE_INFO niRemoteMACIP; DWORD dwRemoteHost; } remote; SHORT sHoleSize; struct { unsigned char bFINSent : 1; unsigned char bSYNSent : 1; unsigned char bRemoteHostIsROM : 1; unsigned char bRXNoneACKed1 : 1; unsigned char bRXNoneACKed2 : 1; unsigned char filler : 3; } flags; WORD wRemoteMSS; WORD_VAL localSSLPort; BYTE retryCount; BYTE vSocketPurpose; } TCB;
Description
Remainder of TCP Control Block data. The rest of the TCB is stored in Ethernet buffer RAM or elsewhere as defined by vMemoryMedium. Current size is 41 (PIC18), 42 (PIC24/dsPIC), or 48 bytes (PIC32)
Members
Members |
Description |
DWORD retryInterval; |
How long to wait before retrying transmission |
DWORD MySEQ; |
Local sequence number |
DWORD RemoteSEQ; |
Remote sequence number |
PTR_BASE txUnackedTail; |
TX tail pointer for data that is not yet acked |
WORD_VAL remotePort; |
Remote port number |
WORD_VAL localPort; |
Local port number |
WORD remoteWindow; |
Remote window size |
WORD wFutureDataSize; |
How much out-of-order data has been received |
NODE_INFO niRemoteMACIP; |
10 bytes for MAC and IP address |
DWORD dwRemoteHost; |
RAM or ROM pointer to a hostname string (ex: "www.microchip.com") |
SHORT sHoleSize; |
Size of the hole, or -1 for none exists. (0 indicates hole has just been filled) |
unsigned char bFINSent : 1; |
A FIN has been sent |
unsigned char bSYNSent : 1; |
A SYN has been sent |
unsigned char bRemoteHostIsROM : 1; |
Remote host is stored in ROM |
unsigned char bRXNoneACKed1 : 1; |
A duplicate ACK was likely received |
unsigned char bRXNoneACKed2 : 1; |
A second duplicate ACK was likely received |
unsigned char filler : 3; |
future use |
WORD wRemoteMSS; |
Maximum Segment Size option advirtised by the remote node during initial handshaking |
WORD_VAL localSSLPort; |
Local SSL port number (for listening sockets) |
BYTE retryCount; |
Counter for transmission retries |
BYTE vSocketPurpose; |
Purpose of socket (as defined in TCPIPConfig.h) |