TCP socket information structure. More...
#include <sock_var.h>
Data Fields | |
TCPSOCKET * | so_next |
Link to next tcp socket structure. | |
void * | so_device |
Always zero. | |
uint8_t | 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. | |
uint16_t | so_devocnt |
Number of data bytes in output buffer. | |
uint8_t * | so_devobuf |
Pointer to output buffer. | |
uint16_t | so_devobsz |
Output buffer size. | |
volatile uint8_t | so_state |
Connection state, see tcp_fsm.h. | |
uint32_t | so_local_addr |
Local IP address in net byte order. | |
uint16_t | so_local_port |
Local port number in net byte order. | |
uint32_t | so_remote_addr |
Remote IP address in net byte order. | |
uint16_t | so_remote_port |
Remote port number in net byte order. | |
uint8_t | so_tx_flags |
Flags used during transmissions - see below. | |
uint32_t | so_tx_isn |
Initial sequence number. | |
uint32_t | so_tx_una |
Unacknowledged sequence number. | |
uint32_t | so_tx_nxt |
Next sequence number to send. | |
uint32_t | so_tx_wl1 |
Sequence number of last window update. | |
uint32_t | so_tx_wl2 |
Acknowledged sequence of last window update. | |
uint16_t | so_tx_win |
Peer's receive window. | |
uint8_t | 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. | |
uint32_t | so_rx_isn |
Initial sequence number of remote. | |
uint32_t | so_rx_nxt |
Next sequence number to receive. | |
uint16_t | so_rx_win |
Local receive window. | |
int | so_rx_cnt |
Number of data bytes in the receive buffer. | |
int | so_rx_bsz |
Receive buffer size. | |
int | so_rd_cnt |
Number of bytes read from buffer top. | |
int_fast8_t | so_rx_apc |
Number of packets received in advance. | |
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. | |
uint16_t | so_mss |
MSS, limited by remote option or MTU. | |
uint32_t | so_rtt_seq |
Sequence number for RTT calculation. | |
uint16_t | so_rtto |
Current retransmission timeout. | |
uint16_t | so_retransmits |
Number of retransmits. | |
uint16_t | so_time_wait |
Time wait counter. | |
uint16_t | so_retran_time |
Retransmit time counter. | |
uint16_t | so_last_error |
Last error code. | |
HANDLE | so_pc_tq |
Listening thread. | |
HANDLE | so_ac_tq |
Connecting thread. | |
uint32_t | so_read_to |
Read timeout. | |
uint32_t | so_write_to |
Write timeout. | |
uint32_t | so_oos_drop |
Out of sequence dropped. |
TCP socket information structure.
Applications should not rely on the content of this structure. It may change without notice.
ftpd/ftpserv.c, httpd/httpserv.c, httpd_simple/httpd_simple.c, httpd_upnp/httpserv.c, inetq/inetq.c, portdio/portdio.c, rs232d/rs232d.c, and tcps/tcps.c.
Definition at line 208 of file sock_var.h.
Link to next tcp socket structure.
Definition at line 209 of file sock_var.h.
Referenced by NutDumpSocketList(), NutTcpConnect(), NutTcpCreateSocket(), NutTcpDestroySocket(), NutTcpFindSocket(), and NutTcpSm().
void* tcp_socket::so_device |
Always zero.
Definition at line 210 of file sock_var.h.
Device type, always IFTYP_TCPSOCK.
Definition at line 211 of file sock_var.h.
Referenced by NutTcpCreateSocket().
int(* tcp_socket::so_devread)(TCPSOCKET *, void *, int) |
int(* tcp_socket::so_devwrite)(TCPSOCKET *, CONST void *, int) |
int(* tcp_socket::so_devwrite_P)(TCPSOCKET *, PGM_P, int) |
int(* tcp_socket::so_devioctl)(TCPSOCKET *, int, void *) |
Driver control function.
Definition at line 217 of file sock_var.h.
Referenced by NutTcpCreateSocket().
Number of data bytes in output buffer.
Definition at line 219 of file sock_var.h.
Referenced by NutTcpDestroySocket(), NutTcpDeviceIOCtl(), and NutTcpDeviceWrite().
Pointer to output buffer.
Definition at line 220 of file sock_var.h.
Referenced by NutTcpDestroySocket(), and NutTcpDeviceWrite().
Output buffer size.
Definition at line 221 of file sock_var.h.
Referenced by NutTcpCreateSocket(), and NutTcpDeviceWrite().
volatile uint8_t tcp_socket::so_state |
Connection state, see tcp_fsm.h.
Definition at line 223 of file sock_var.h.
Referenced by NutDumpSocketList(), NutTcpAbortSocket(), NutTcpConnect(), NutTcpCreateSocket(), NutTcpDeviceWrite(), NutTcpFindSocket(), NutTcpReceive(), NutTcpSend(), NutTcpSetSockOpt(), NutTcpSm(), NutTcpStateActiveOpenEvent(), NutTcpStateCloseEvent(), and NutTcpStatePassiveOpenEvent().
Local IP address in net byte order.
Definition at line 224 of file sock_var.h.
Referenced by NutDumpSocketList(), NutFtpProcessPassiv(), NutTcpConnect(), and NutTcpOutput().
Local port number in net byte order.
Definition at line 225 of file sock_var.h.
Referenced by NutDumpSocketList(), NutTcpAccept(), NutTcpConnect(), NutTcpFindSocket(), NutTcpOutput(), and NutTcpStatePassiveOpenEvent().
Remote IP address in net byte order.
Definition at line 226 of file sock_var.h.
Referenced by NutDumpSocketList(), NutFtpProcessPort(), NutTcpConnect(), NutTcpFindSocket(), NutTcpOutput(), and NutTcpStateRetranTimeout().
Remote port number in net byte order.
Definition at line 227 of file sock_var.h.
Referenced by NutDumpSocketList(), NutTcpConnect(), NutTcpFindSocket(), and NutTcpOutput().
Flags used during transmissions - see below.
Definition at line 229 of file sock_var.h.
Referenced by NutTcpOutput(), NutTcpSend(), NutTcpSm(), and NutTcpStateWindowEvent().
Initial sequence number.
Definition at line 230 of file sock_var.h.
Referenced by NutTcpCreateSocket().
Unacknowledged sequence number.
Definition at line 231 of file sock_var.h.
Referenced by NutTcpCreateSocket(), and NutTcpSend().
Next sequence number to send.
Definition at line 232 of file sock_var.h.
Referenced by NutTcpCreateSocket(), NutTcpOutput(), and NutTcpSend().
Sequence number of last window update.
Definition at line 233 of file sock_var.h.
Acknowledged sequence of last window update.
Definition at line 234 of file sock_var.h.
Peer's receive window.
Definition at line 235 of file sock_var.h.
Duplicate ACK counter.
Definition at line 236 of file sock_var.h.
Network buffers waiting to be acknowledged.
Definition at line 237 of file sock_var.h.
Referenced by NutTcpDiscardBuffers(), NutTcpOutput(), NutTcpSm(), and NutTcpStateRetranTimeout().
Threads waiting for transmit buffer space.
Definition at line 238 of file sock_var.h.
Referenced by NutTcpAbortSocket(), and NutTcpSend().
Initial sequence number of remote.
Definition at line 240 of file sock_var.h.
Next sequence number to receive.
Definition at line 241 of file sock_var.h.
Referenced by NutTcpOutput().
Local receive window.
Definition at line 242 of file sock_var.h.
Referenced by NutTcpCreateSocket(), NutTcpOutput(), NutTcpReceive(), and NutTcpSetSockOpt().
Number of data bytes in the receive buffer.
Definition at line 243 of file sock_var.h.
Referenced by NutTcpDeviceIOCtl(), and NutTcpReceive().
Receive buffer size.
Definition at line 244 of file sock_var.h.
Referenced by NutTcpCreateSocket(), NutTcpGetSockOpt(), NutTcpReceive(), and NutTcpSetSockOpt().
Number of bytes read from buffer top.
Definition at line 245 of file sock_var.h.
Referenced by NutTcpDeviceIOCtl(), and NutTcpReceive().
Number of packets received in advance.
Definition at line 246 of file sock_var.h.
Referenced by NutTcpReceive().
Data waiting to be read by application.
Definition at line 247 of file sock_var.h.
Referenced by NutTcpDiscardBuffers(), and NutTcpReceive().
Threads waiting for received data.
Definition at line 248 of file sock_var.h.
Referenced by NutTcpAbortSocket(), and NutTcpReceive().
Network buffers received in advance.
Definition at line 249 of file sock_var.h.
Referenced by NutTcpDiscardBuffers().
MSS, limited by remote option or MTU.
Definition at line 251 of file sock_var.h.
Referenced by NutFtpOpenSession(), NutFtpTransferFile(), NutTcpCreateSocket(), NutTcpGetSockOpt(), NutTcpOutput(), NutTcpReceive(), NutTcpSend(), and NutTcpSetSockOpt().
Sequence number for RTT calculation.
Definition at line 253 of file sock_var.h.
Referenced by NutTcpOutput().
Current retransmission timeout.
Definition at line 254 of file sock_var.h.
Referenced by NutTcpCalcRtt(), NutTcpCreateSocket(), and NutTcpSm().
Number of retransmits.
Definition at line 255 of file sock_var.h.
Referenced by NutTcpStateRetranTimeout().
Time wait counter.
Definition at line 256 of file sock_var.h.
Referenced by NutTcpAbortSocket(), and NutTcpSm().
Retransmit time counter.
Definition at line 257 of file sock_var.h.
Referenced by NutTcpAbortSocket(), NutTcpCalcRtt(), NutTcpOutput(), NutTcpSm(), and NutTcpStateRetranTimeout().
Last error code.
Definition at line 258 of file sock_var.h.
Referenced by NutTcpAbortSocket(), NutTcpConnect(), NutTcpDeviceWrite(), NutTcpError(), NutTcpGetSockOpt(), NutTcpOutput(), NutTcpReceive(), NutTcpSend(), NutTcpSetSockOpt(), NutTcpStateCloseEvent(), and NutTcpStatePassiveOpenEvent().
Listening thread.
Definition at line 259 of file sock_var.h.
Referenced by NutTcpAbortSocket(), and NutTcpStatePassiveOpenEvent().
Connecting thread.
Definition at line 260 of file sock_var.h.
Referenced by NutTcpAbortSocket(), and NutTcpStateActiveOpenEvent().
Read timeout.
Definition at line 262 of file sock_var.h.
Referenced by NutTcpReceive(), and NutTcpStatePassiveOpenEvent().
Write timeout.
Definition at line 263 of file sock_var.h.
Referenced by NutTcpGetSockOpt(), NutTcpSend(), and NutTcpSetSockOpt().
Out of sequence dropped.
Definition at line 264 of file sock_var.h.