#include <sock_var.h>
Collaboration diagram for tcp_socket:

Applications should not rely on the content of this structure. It may change without notice.
ftpd/ftpserv.c, httpd/httpserv.c, inetq/inetq.c, portdio/portdio.c, pppc/pppc.c, rs232d/rs232d.c, and tcps/tcps.c.
Data Fields | |
| TCPSOCKET * | so_next |
| Link to next tcp socket structure. | |
| void * | so_device |
| Always zero. | |
| u_char | so_devtype |
| Device type, always IFTYP_TCPSOCK. | |
| int(* | so_devread )(TCPSOCKET *, void *, int) |
| Read from device. | |
| int(* | so_devwrite )(TCPSOCKET *, CONST void *, int) |
| Write to device. | |
| int(* | so_devwrite_P )(TCPSOCKET *, PGM_P, int) |
| Write to device. | |
| int(* | so_devioctl )(TCPSOCKET *, int, void *) |
| Driver control function. | |
| u_short | so_devocnt |
| Number of data bytes in output buffer. | |
| u_char * | so_devobuf |
| Pointer to output buffer. | |
| u_short | so_devobsz |
| Output buffer size. | |
| volatile u_char | so_state |
| Connection state, see tcp_fsm.h. | |
| u_long | so_local_addr |
| Local IP address in net byte order. | |
| u_short | so_local_port |
| Local port number in net byte order. | |
| u_long | so_remote_addr |
| Remote IP address in net byte order. | |
| u_short | so_remote_port |
| Remote port number in net byte order. | |
| u_char | so_tx_flags |
| Flags used during transmissions - see below. | |
| u_long | so_tx_isn |
| Initial sequence number. | |
| u_long | so_tx_una |
| Unacknowledged sequence number. | |
| u_long | so_tx_nxt |
| Next sequence number to send. | |
| u_long | so_tx_wl1 |
| Sequence number of last window update. | |
| u_long | so_tx_wl2 |
| Acknowledged sequence of last window update. | |
| u_short | so_tx_win |
| Peer's receive window. | |
| u_char | so_tx_dup |
| Duplicate ACK counter. | |
| NETBUF * | so_tx_nbq |
| Network buffers waiting to be acknowledged. | |
| HANDLE | so_tx_tq |
| Threads waiting for transmit buffer space. | |
| u_long | so_rx_isn |
| Initial sequence number of remote. | |
| u_long | so_rx_nxt |
| Next sequence number to receive. | |
| u_short | so_rx_win |
| Local receive window. | |
| u_short | so_rx_cnt |
| Number of data bytes in the receive buffer. | |
| u_short | so_rx_bsz |
| Receive buffer size. | |
| u_short | so_rd_cnt |
| Number of bytes read from buffer top. | |
| NETBUF * | so_rx_buf |
| Data waiting to be read by application. | |
| HANDLE | so_rx_tq |
| Threads waiting for received data. | |
| NETBUF * | so_rx_nbq |
| Network buffers received in advance. | |
| u_short | so_mss |
| MSS, limited by remote option or MTU. | |
| u_long | so_rtt_seq |
| Sequence number for RTT calculation. | |
| u_short | so_rtto |
| Current retransmission timeout. | |
| u_short | so_retransmits |
| Number of retransmits. | |
| u_short | so_time_wait |
| Time wait counter. | |
| u_short | so_retran_time |
| Retransmit time counter. | |
| u_short | so_last_error |
| Last error code. | |
| HANDLE | so_pc_tq |
| Listening thread. | |
| HANDLE | so_ac_tq |
| Connecting thread. | |
| u_long | so_read_to |
| Read timeout. | |
| u_long | so_write_to |
| Write timeout. | |
| u_long | so_oos_drop |
| Out of sequence dropped. | |