Watt-32 tcp/ip  2.2 dev-rel.10
Data Fields
tcp_Socket Struct Reference

#include <wattcp.h>

Collaboration diagram for tcp_Socket:
Collaboration graph
[legend]

Data Fields

struct tcp_Socketnext
 link to next tcp-socket
 
 UDP_TCP_COMMON
 
BYTE rx_buf [tcp_MaxBufSize+1]
 received data buffer
 
ip6_address my6addr
 our IPv6 address
 
ip6_address his6addr
 peer's IPv6 address
 
UINT state
 tcp connection state
 
DWORD recv_next
 SEQ number we expect to receive.
 
DWORD send_next
 SEQ we send but not ACK-ed by peer.
 
long send_una
 unacked send data, must be signed
 
DWORD last_acknum [2]
 for pcdbug.c; to follow SEQ/ACK
 
DWORD last_seqnum [2]
 increments
 
DWORD timeout
 timer for retrans etc. More...
 
BYTE unhappy
 flag, indicates retransmitting segt's
 
BYTE recent
 1 if recently transmitted
 
WORD flags
 TCP flags used in next Tx.
 
UINT window
 other guy's window
 
UINT adv_win
 our last advertised window
 
BYTE cwindow
 Congestion window.
 
BYTE wwindow
 Van Jacobson's algorithm.
 
WORD fill_4
 
DWORD vj_sa
 VJ's alg, standard average (SRTT)
 
DWORD vj_sd
 VJ's alg, standard deviation (RTTVAR)
 
DWORD vj_last
 last transmit time
 
UINT rto
 retransmission timeout
 
BYTE karn_count
 count of packets
 
BYTE tos
 TOS from IP-header.
 
WORD fill_5
 
DWORD rtt_time
 Round Trip Time value.
 
DWORD rtt_lasttran
 RTT at last transmission.
 
DWORD ts_sent
 last TimeStamp value sent
 
DWORD ts_recent
 last TimeStamp value received
 
DWORD ts_echo
 last TimeStamp echo received
 
UINT max_seg
 MSS for this connection.
 
DWORD missed_seq [2]
 S. More...
 
char * secret
 < linked-list of frags; not yet More...
 
DWORD inactive_to
 inactive timer (no Rx data)
 
DWORD datatimer
 inactive timer (no Tx data)
 
BYTE tx_wscale
 
BYTE rx_wscale
 
UINT tx_queuelen
 optional Tx queue length
 
const BYTE * tx_queue
 
UINT tx_datalen
 number of bytes of data to send
 
UINT max_tx_data
 Last index for tx_data[].
 
BYTE * tx_data
 Tx data buffer (default tx_buf[])
 
BYTE tx_buf [tcp_MaxTxBufSize+1]
 data for transmission
 
DWORD safetysig
 magic marker
 
DWORD safetytcp
 extra magic marker
 
BYTE undoc [4470]
 

Detailed Description

TCP Socket definition (fields common to _udp_Socket must come first).

Definition at line 612 of file wattcp.h.

Field Documentation

DWORD tcp_Socket::missed_seq[2]

S.

Lawson - handle one dropped segment.

Todo:
Make a proper re-assembly queue. missed_seq[0] is left edge of missing segment. missed_seq[1] is right edge (in peer's absolute SEQ space)

Definition at line 665 of file wattcp.h.

char* tcp_Socket::secret

< linked-list of frags; not yet

Secret for MD5 finger-print

Definition at line 669 of file wattcp.h.

DWORD tcp_Socket::timeout

timer for retrans etc.

Definition at line 631 of file wattcp.h.

BYTE tcp_Socket::tx_wscale
Todo:
window scales shifts, Tx/Rx

Definition at line 675 of file wattcp.h.