_Socket Struct Reference

Structure describing a socket. More...

#include <socket.h>

Data Fields

uint_t descriptor
 
uint_t type
 
uint_t protocol
 
NetInterfaceinterface
 
IpAddr localIpAddr
 
uint16_t localPort
 
IpAddr remoteIpAddr
 
uint16_t remotePort
 
uint32_t options
 Socket options. More...
 
systime_t timeout
 
uint8_t tos
 Type-of-service value. More...
 
uint8_t ttl
 Time-to-live value for unicast datagrams. More...
 
uint8_t multicastTtl
 Time-to-live value for multicast datagrams. More...
 
IpAddr multicastGroups [SOCKET_MAX_MULTICAST_GROUPS]
 Multicast groups. More...
 
int8_t vlanPcp
 VLAN priority (802.1Q) More...
 
int8_t vlanDei
 Drop eligible indicator. More...
 
int8_t vmanPcp
 VMAN priority (802.1ad) More...
 
int8_t vmanDei
 Drop eligible indicator. More...
 
int_t errnoCode
 
OsEvent event
 
uint_t eventMask
 
uint_t eventFlags
 
OsEventuserEvent
 
TcpState state
 Current state of the TCP finite state machine. More...
 
bool_t ownedFlag
 The user is the owner of the TCP socket. More...
 
bool_t closedFlag
 The connection has been closed properly. More...
 
bool_t resetFlag
 The connection has been reset. More...
 
uint16_t mss
 Maximum segment size. More...
 
uint16_t smss
 Sender maximum segment size. More...
 
uint16_t rmss
 Receiver maximum segment size. More...
 
uint32_t iss
 Initial send sequence number. More...
 
uint32_t irs
 Initial receive sequence number. More...
 
uint32_t sndUna
 Data that have been sent but not yet acknowledged. More...
 
uint32_t sndNxt
 Sequence number of the next byte to be sent. More...
 
uint16_t sndUser
 Amount of data buffered but not yet sent. More...
 
uint16_t sndWnd
 Size of the send window. More...
 
uint16_t maxSndWnd
 Maximum send window it has seen so far on the connection. More...
 
uint32_t sndWl1
 Segment sequence number used for last window update. More...
 
uint32_t sndWl2
 Segment acknowledgment number used for last window update. More...
 
uint32_t rcvNxt
 Receive next sequence number. More...
 
uint16_t rcvUser
 Number of data received but not yet consumed. More...
 
uint16_t rcvWnd
 Receive window. More...
 
bool_t rttBusy
 RTT measurement is being performed. More...
 
uint32_t rttSeqNum
 Sequence number identifying a TCP segment. More...
 
systime_t rttStartTime
 Round-trip start time. More...
 
systime_t srtt
 Smoothed round-trip time. More...
 
systime_t rttvar
 Round-trip time variation. More...
 
systime_t rto
 Retransmission timeout. More...
 
TcpCongestState congestState
 Congestion state. More...
 
uint16_t cwnd
 Congestion window. More...
 
uint16_t ssthresh
 Slow start threshold. More...
 
uint_t dupAckCount
 Number of consecutive duplicate ACKs. More...
 
uint_t n
 Number of bytes acknowledged during the whole round-trip. More...
 
uint32_t recover
 NewReno modification to TCP's fast recovery algorithm. More...
 
bool_t keepAliveEnabled
 Specifies whether TCP keep-alive mechanism is enabled. More...
 
systime_t keepAliveIdle
 Keep-alive idle time. More...
 
systime_t keepAliveInterval
 Time interval between subsequent keep-alive probes. More...
 
uint_t keepAliveMaxProbes
 Number of keep-alive probes. More...
 
uint_t keepAliveProbeCount
 Keep-alive probe counter. More...
 
systime_t keepAliveTimestamp
 Keep-alive timestamp. More...
 
bool_t sackPermitted
 SACK Permitted option received. More...
 
TcpSackBlock sackBlock [TCP_MAX_SACK_BLOCKS]
 List of non-contiguous blocks that have been received. More...
 
uint_t sackBlockCount
 Number of non-contiguous blocks that have been received. More...
 
TcpTxBuffer txBuffer
 Send buffer. More...
 
size_t txBufferSize
 Size of the send buffer. More...
 
TcpRxBuffer rxBuffer
 Receive buffer. More...
 
size_t rxBufferSize
 Size of the receive buffer. More...
 
TcpQueueItemretransmitQueue
 Retransmission queue. More...
 
NetTimer retransmitTimer
 Retransmission timer. More...
 
uint_t retransmitCount
 Number of retransmissions. More...
 
TcpSynQueueItemsynQueue
 SYN queue for listening sockets. More...
 
uint_t synQueueSize
 Maximum number of pending connections for listening sockets. More...
 
uint_t wndProbeCount
 Zero window probe counter. More...
 
systime_t wndProbeInterval
 Interval between successive probes. More...
 
NetTimer persistTimer
 Persist timer. More...
 
NetTimer overrideTimer
 Override timer. More...
 
NetTimer finWait2Timer
 FIN-WAIT-2 timer. More...
 
NetTimer timeWaitTimer
 2MSL timer More...
 
SocketQueueItemreceiveQueue
 

Detailed Description

Structure describing a socket.

Definition at line 278 of file socket.h.

Field Documentation

◆ closedFlag

bool_t closedFlag

The connection has been closed properly.

Definition at line 312 of file socket.h.

◆ congestState

TcpCongestState congestState

Congestion state.

Definition at line 341 of file socket.h.

◆ cwnd

uint16_t cwnd

Congestion window.

Definition at line 342 of file socket.h.

◆ descriptor

uint_t descriptor

Definition at line 280 of file socket.h.

◆ dupAckCount

uint_t dupAckCount

Number of consecutive duplicate ACKs.

Definition at line 344 of file socket.h.

◆ errnoCode

int_t errnoCode

Definition at line 302 of file socket.h.

◆ event

OsEvent event

Definition at line 303 of file socket.h.

◆ eventFlags

uint_t eventFlags

Definition at line 305 of file socket.h.

◆ eventMask

uint_t eventMask

Definition at line 304 of file socket.h.

◆ finWait2Timer

NetTimer finWait2Timer

FIN-WAIT-2 timer.

Definition at line 382 of file socket.h.

◆ interface

NetInterface* interface

Definition at line 283 of file socket.h.

◆ irs

uint32_t irs

Initial receive sequence number.

Definition at line 319 of file socket.h.

◆ iss

uint32_t iss

Initial send sequence number.

Definition at line 318 of file socket.h.

◆ keepAliveEnabled

bool_t keepAliveEnabled

Specifies whether TCP keep-alive mechanism is enabled.

Definition at line 350 of file socket.h.

◆ keepAliveIdle

systime_t keepAliveIdle

Keep-alive idle time.

Definition at line 351 of file socket.h.

◆ keepAliveInterval

systime_t keepAliveInterval

Time interval between subsequent keep-alive probes.

Definition at line 352 of file socket.h.

◆ keepAliveMaxProbes

uint_t keepAliveMaxProbes

Number of keep-alive probes.

Definition at line 353 of file socket.h.

◆ keepAliveProbeCount

uint_t keepAliveProbeCount

Keep-alive probe counter.

Definition at line 354 of file socket.h.

◆ keepAliveTimestamp

systime_t keepAliveTimestamp

Keep-alive timestamp.

Definition at line 355 of file socket.h.

◆ localIpAddr

IpAddr localIpAddr

Definition at line 284 of file socket.h.

◆ localPort

uint16_t localPort

Definition at line 285 of file socket.h.

◆ maxSndWnd

uint16_t maxSndWnd

Maximum send window it has seen so far on the connection.

Definition at line 325 of file socket.h.

◆ mss

uint16_t mss

Maximum segment size.

Definition at line 315 of file socket.h.

◆ multicastGroups

Multicast groups.

Definition at line 293 of file socket.h.

◆ multicastTtl

uint8_t multicastTtl

Time-to-live value for multicast datagrams.

Definition at line 292 of file socket.h.

◆ n

uint_t n

Number of bytes acknowledged during the whole round-trip.

Definition at line 345 of file socket.h.

◆ options

uint32_t options

Socket options.

Definition at line 288 of file socket.h.

◆ overrideTimer

NetTimer overrideTimer

Override timer.

Definition at line 381 of file socket.h.

◆ ownedFlag

bool_t ownedFlag

The user is the owner of the TCP socket.

Definition at line 311 of file socket.h.

◆ persistTimer

NetTimer persistTimer

Persist timer.

Definition at line 380 of file socket.h.

◆ protocol

uint_t protocol

Definition at line 282 of file socket.h.

◆ rcvNxt

uint32_t rcvNxt

Receive next sequence number.

Definition at line 329 of file socket.h.

◆ rcvUser

uint16_t rcvUser

Number of data received but not yet consumed.

Definition at line 330 of file socket.h.

◆ rcvWnd

uint16_t rcvWnd

Receive window.

Definition at line 331 of file socket.h.

◆ receiveQueue

SocketQueueItem* receiveQueue

Definition at line 388 of file socket.h.

◆ recover

uint32_t recover

NewReno modification to TCP's fast recovery algorithm.

Definition at line 346 of file socket.h.

◆ remoteIpAddr

IpAddr remoteIpAddr

Definition at line 286 of file socket.h.

◆ remotePort

uint16_t remotePort

Definition at line 287 of file socket.h.

◆ resetFlag

bool_t resetFlag

The connection has been reset.

Definition at line 313 of file socket.h.

◆ retransmitCount

uint_t retransmitCount

Number of retransmissions.

Definition at line 372 of file socket.h.

◆ retransmitQueue

TcpQueueItem* retransmitQueue

Retransmission queue.

Definition at line 370 of file socket.h.

◆ retransmitTimer

NetTimer retransmitTimer

Retransmission timer.

Definition at line 371 of file socket.h.

◆ rmss

uint16_t rmss

Receiver maximum segment size.

Definition at line 317 of file socket.h.

◆ rto

systime_t rto

Retransmission timeout.

Definition at line 338 of file socket.h.

◆ rttBusy

bool_t rttBusy

RTT measurement is being performed.

Definition at line 333 of file socket.h.

◆ rttSeqNum

uint32_t rttSeqNum

Sequence number identifying a TCP segment.

Definition at line 334 of file socket.h.

◆ rttStartTime

systime_t rttStartTime

Round-trip start time.

Definition at line 335 of file socket.h.

◆ rttvar

systime_t rttvar

Round-trip time variation.

Definition at line 337 of file socket.h.

◆ rxBuffer

TcpRxBuffer rxBuffer

Receive buffer.

Definition at line 367 of file socket.h.

◆ rxBufferSize

size_t rxBufferSize

Size of the receive buffer.

Definition at line 368 of file socket.h.

◆ sackBlock

List of non-contiguous blocks that have been received.

Definition at line 362 of file socket.h.

◆ sackBlockCount

uint_t sackBlockCount

Number of non-contiguous blocks that have been received.

Definition at line 363 of file socket.h.

◆ sackPermitted

bool_t sackPermitted

SACK Permitted option received.

Definition at line 359 of file socket.h.

◆ smss

uint16_t smss

Sender maximum segment size.

Definition at line 316 of file socket.h.

◆ sndNxt

uint32_t sndNxt

Sequence number of the next byte to be sent.

Definition at line 322 of file socket.h.

◆ sndUna

uint32_t sndUna

Data that have been sent but not yet acknowledged.

Definition at line 321 of file socket.h.

◆ sndUser

uint16_t sndUser

Amount of data buffered but not yet sent.

Definition at line 323 of file socket.h.

◆ sndWl1

uint32_t sndWl1

Segment sequence number used for last window update.

Definition at line 326 of file socket.h.

◆ sndWl2

uint32_t sndWl2

Segment acknowledgment number used for last window update.

Definition at line 327 of file socket.h.

◆ sndWnd

uint16_t sndWnd

Size of the send window.

Definition at line 324 of file socket.h.

◆ srtt

systime_t srtt

Smoothed round-trip time.

Definition at line 336 of file socket.h.

◆ ssthresh

uint16_t ssthresh

Slow start threshold.

Definition at line 343 of file socket.h.

◆ state

TcpState state

Current state of the TCP finite state machine.

Definition at line 310 of file socket.h.

◆ synQueue

TcpSynQueueItem* synQueue

SYN queue for listening sockets.

Definition at line 374 of file socket.h.

◆ synQueueSize

uint_t synQueueSize

Maximum number of pending connections for listening sockets.

Definition at line 375 of file socket.h.

◆ timeout

systime_t timeout

Definition at line 289 of file socket.h.

◆ timeWaitTimer

NetTimer timeWaitTimer

2MSL timer

Definition at line 383 of file socket.h.

◆ tos

uint8_t tos

Type-of-service value.

Definition at line 290 of file socket.h.

◆ ttl

uint8_t ttl

Time-to-live value for unicast datagrams.

Definition at line 291 of file socket.h.

◆ txBuffer

TcpTxBuffer txBuffer

Send buffer.

Definition at line 365 of file socket.h.

◆ txBufferSize

size_t txBufferSize

Size of the send buffer.

Definition at line 366 of file socket.h.

◆ type

uint_t type

Definition at line 281 of file socket.h.

◆ userEvent

OsEvent* userEvent

Definition at line 306 of file socket.h.

◆ vlanDei

int8_t vlanDei

Drop eligible indicator.

Definition at line 296 of file socket.h.

◆ vlanPcp

int8_t vlanPcp

VLAN priority (802.1Q)

Definition at line 295 of file socket.h.

◆ vmanDei

int8_t vmanDei

Drop eligible indicator.

Definition at line 300 of file socket.h.

◆ vmanPcp

int8_t vmanPcp

VMAN priority (802.1ad)

Definition at line 299 of file socket.h.

◆ wndProbeCount

uint_t wndProbeCount

Zero window probe counter.

Definition at line 377 of file socket.h.

◆ wndProbeInterval

systime_t wndProbeInterval

Interval between successive probes.

Definition at line 378 of file socket.h.


The documentation for this struct was generated from the following file: