FreeRTOS-Plus-TCP V2.3.2
FreeRTOS TCP/IP library
IPTCPSocket_t Struct Reference

#include <FreeRTOS_IP_Private.h>

Data Fields

uint32_t ulRemoteIP
  More...
 
uint16_t usRemotePort
  More...
 
struct {
   uint32_t   bMssChange: 1
  More...
 
   uint32_t   bPassAccept: 1
  More...
 
   uint32_t   bPassQueued: 1
  More...
 
   uint32_t   bReuseSocket: 1
  More...
 
   uint32_t   bCloseAfterSend: 1
  More...
 
   uint32_t   bUserShutdown: 1
  More...
 
   uint32_t   bCloseRequested: 1
  More...
 
   uint32_t   bLowWater: 1
  More...
 
   uint32_t   bWinChange: 1
  More...
 
   uint32_t   bSendKeepAlive: 1
  More...
 
   uint32_t   bWaitKeepAlive: 1
  More...
 
   uint32_t   bConnPrepared: 1
  More...
 
   uint32_t   bConnPassed: 1
  More...
 
   uint32_t   bFinAccepted: 1
  More...
 
   uint32_t   bFinSent: 1
  More...
 
   uint32_t   bFinRecv: 1
  More...
 
   uint32_t   bFinAcked: 1
  More...
 
   uint32_t   bFinLast: 1
  More...
 
   uint32_t   bRxStopped: 1
  More...
 
   uint32_t   bMallocError: 1
  More...
 
   uint32_t   bWinScaling: 1
  More...
 
bits
  More...
 
uint32_t ulHighestRxAllowed
  More...
 
uint16_t usTimeout
  More...
 
uint16_t usCurMSS
  More...
 
uint16_t usInitMSS
  More...
 
uint16_t usChildCount
  More...
 
uint16_t usBacklog
  More...
 
uint8_t ucRepCount
  More...
 
uint8_t ucTCPState
  More...
 
struct xSOCKET * pxPeerSocket
  More...
 
TickType_t xLastActTime
  More...
 
size_t uxLittleSpace
  More...
 
size_t uxEnoughSpace
  More...
 
size_t uxRxStreamSize
  More...
 
size_t uxTxStreamSize
  More...
 
StreamBuffer_trxStream
  More...
 
StreamBuffer_ttxStream
  More...
 
NetworkBufferDescriptor_tpxAckMessage
  More...
 
LastTCPPacket_t xPacket
  More...
 
uint8_t tcpflags
  More...
 
uint8_t ucMyWinScaleFactor
  More...
 
uint8_t ucPeerWinScaleFactor
  More...
 
uint32_t ulWindowSize
  More...
 
size_t uxRxWinSize
  More...
 
size_t uxTxWinSize
  More...
 
TCPWindow_t xTCPWindow
  More...
 

Detailed Description

Note that the values of all short and long integers in these structs are being stored in the native-endian way Translation should take place when accessing any structure which defines network packets, such as IPHeader_t and TCPHeader_t

Field Documentation

◆ ulRemoteIP

uint32_t IPTCPSocket_t::ulRemoteIP

IP address of remote machine

◆ usRemotePort

uint16_t IPTCPSocket_t::usRemotePort

Port on remote machine

◆ bMssChange

uint32_t IPTCPSocket_t::bMssChange

This socket has seen a change in MSS

◆ bPassAccept

uint32_t IPTCPSocket_t::bPassAccept

when true, this socket may be returned in a call to accept()

◆ bPassQueued

uint32_t IPTCPSocket_t::bPassQueued

when true, this socket is an orphan until it gets connected Why an orphan? Because it may not be returned in a accept() call until it gets the state eESTABLISHED

◆ bReuseSocket

uint32_t IPTCPSocket_t::bReuseSocket

When a listening socket gets a connection, do not create a new instance but keep on using it

◆ bCloseAfterSend

uint32_t IPTCPSocket_t::bCloseAfterSend

As soon as the last byte has been transmitted, finalise the connection Useful in e.g. FTP connections, where the last data bytes are sent along with the FIN flag

◆ bUserShutdown

uint32_t IPTCPSocket_t::bUserShutdown

User requesting a graceful shutdown

◆ bCloseRequested

uint32_t IPTCPSocket_t::bCloseRequested

Request to finalise the connection

◆ bLowWater

uint32_t IPTCPSocket_t::bLowWater

high-water level has been reached. Cleared as soon as 'rx-count < lo-water'

◆ bWinChange

uint32_t IPTCPSocket_t::bWinChange

The value of bLowWater has changed, must send a window update

◆ bSendKeepAlive

uint32_t IPTCPSocket_t::bSendKeepAlive

When this flag is true, a TCP keep-alive message must be send

◆ bWaitKeepAlive

uint32_t IPTCPSocket_t::bWaitKeepAlive

When this flag is true, a TCP keep-alive reply is expected

◆ bConnPrepared

uint32_t IPTCPSocket_t::bConnPrepared

Connecting socket: Message has been prepared

◆ bConnPassed

uint32_t IPTCPSocket_t::bConnPassed

Connecting socket: Socket has been passed in a successful select()

◆ bFinAccepted

uint32_t IPTCPSocket_t::bFinAccepted

This socket has received (or sent) a FIN and accepted it

◆ bFinSent

uint32_t IPTCPSocket_t::bFinSent

We've sent out a FIN

◆ bFinRecv

uint32_t IPTCPSocket_t::bFinRecv

We've received a FIN from our peer

◆ bFinAcked

uint32_t IPTCPSocket_t::bFinAcked

Our FIN packet has been acked

◆ bFinLast

uint32_t IPTCPSocket_t::bFinLast

The last ACK (after FIN and FIN+ACK) has been sent or will be sent by the peer

◆ bRxStopped

uint32_t IPTCPSocket_t::bRxStopped

Application asked to temporarily stop reception

◆ bMallocError

uint32_t IPTCPSocket_t::bMallocError

There was an error allocating a stream

◆ bWinScaling

uint32_t IPTCPSocket_t::bWinScaling

A TCP-Window Scaling option was offered and accepted in the SYN phase.

◆ 

struct { ... } IPTCPSocket_t::bits

The bits structure

◆ ulHighestRxAllowed

uint32_t IPTCPSocket_t::ulHighestRxAllowed

The highest sequence number that we can receive at any moment

◆ usTimeout

uint16_t IPTCPSocket_t::usTimeout

Time (in ticks) after which this socket needs attention

◆ usCurMSS

uint16_t IPTCPSocket_t::usCurMSS

Current Maximum Segment Size

◆ usInitMSS

uint16_t IPTCPSocket_t::usInitMSS

Initial maximum segment Size

◆ usChildCount

uint16_t IPTCPSocket_t::usChildCount

In case of a listening socket: number of connections on this port number

◆ usBacklog

uint16_t IPTCPSocket_t::usBacklog

In case of a listening socket: maximum number of concurrent connections on this port number

◆ ucRepCount

uint8_t IPTCPSocket_t::ucRepCount

Send repeat count, for retransmissions This counter is separate from the xmitCount in the TCP win segments

◆ ucTCPState

uint8_t IPTCPSocket_t::ucTCPState

TCP state: see eTCP_STATE

◆ pxPeerSocket

struct xSOCKET* IPTCPSocket_t::pxPeerSocket

for server socket: child, for child socket: parent

◆ xLastActTime

TickType_t IPTCPSocket_t::xLastActTime

The last time when hang-protection was done.

◆ uxLittleSpace

size_t IPTCPSocket_t::uxLittleSpace

The value deemed as low amount of space.

◆ uxEnoughSpace

size_t IPTCPSocket_t::uxEnoughSpace

The value deemed as enough space.

◆ uxRxStreamSize

size_t IPTCPSocket_t::uxRxStreamSize

The Receive stream size

◆ uxTxStreamSize

size_t IPTCPSocket_t::uxTxStreamSize

The transmit stream size

◆ rxStream

StreamBuffer_t* IPTCPSocket_t::rxStream

The pointer to the receive stream buffer.

◆ txStream

StreamBuffer_t* IPTCPSocket_t::txStream

The pointer to the transmit stream buffer.

◆ pxAckMessage

NetworkBufferDescriptor_t* IPTCPSocket_t::pxAckMessage

The pointer to the ACK message

◆ xPacket

LastTCPPacket_t IPTCPSocket_t::xPacket

Buffer space to store the last TCP header received.

◆ tcpflags

uint8_t IPTCPSocket_t::tcpflags

TCP flags

◆ ucMyWinScaleFactor

uint8_t IPTCPSocket_t::ucMyWinScaleFactor

Scaling factor of this device.

◆ ucPeerWinScaleFactor

uint8_t IPTCPSocket_t::ucPeerWinScaleFactor

Scaling factor of the peer.

◆ ulWindowSize

uint32_t IPTCPSocket_t::ulWindowSize

Current Window size advertised by peer

◆ uxRxWinSize

size_t IPTCPSocket_t::uxRxWinSize

Fixed value: size of the TCP reception window

◆ uxTxWinSize

size_t IPTCPSocket_t::uxTxWinSize

Fixed value: size of the TCP transmit window

◆ xTCPWindow

TCPWindow_t IPTCPSocket_t::xTCPWindow

The TCP window struct


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