Lines Matching refs:pxSocket
56 #define socketSET_SOCKET_PORT( pxSocket, usPort ) listSET_LIST_ITEM_VALUE( ( &( ( pxSocket )->xB… argument
58 #define socketGET_SOCKET_PORT( pxSocket ) listGET_LIST_ITEM_VALUE( ( &( ( pxSocket )->xB… argument
63 #define socketSOCKET_IS_BOUND( pxSocket ) ( listLIST_ITEM_CONTAINER( &( pxSocket )->xBou… argument
122 static BaseType_t prvValidSocket( const FreeRTOS_Socket_t * pxSocket,
132 static BaseType_t prvSockopt_so_buffer( FreeRTOS_Socket_t * pxSocket,
153 static StreamBuffer_t * prvTCPCreateStream( FreeRTOS_Socket_t * pxSocket,
163 static int32_t prvTCPSendCheck( FreeRTOS_Socket_t * pxSocket,
181 static BaseType_t prvTCPConnectStart( FreeRTOS_Socket_t * pxSocket,
191 static BaseType_t bMayConnect( FreeRTOS_Socket_t const * pxSocket );
230 static BaseType_t prvValidSocket( const FreeRTOS_Socket_t * pxSocket, in prvValidSocket() argument
239 if( ( pxSocket == NULL ) || ( pxSocket == FREERTOS_INVALID_SOCKET ) ) in prvValidSocket()
243 else if( ( xIsBound != pdFALSE ) && !socketSOCKET_IS_BOUND( pxSocket ) ) in prvValidSocket()
248 else if( pxSocket->ucProtocol != ( uint8_t ) xProtocol ) in prvValidSocket()
295 FreeRTOS_Socket_t const * pxSocket = NULL; in prvDetermineSocketSize() local
326 … *pxSocketSize = ( sizeof( *pxSocket ) - sizeof( pxSocket->u ) ) + sizeof( pxSocket->u.xUDP ); in prvDetermineSocketSize()
338 … *pxSocketSize = ( sizeof( *pxSocket ) - sizeof( pxSocket->u ) ) + sizeof( pxSocket->u.xTCP ); in prvDetermineSocketSize()
350 ( void ) pxSocket; /* Was only used for sizeof. */ in prvDetermineSocketSize()
369 FreeRTOS_Socket_t * pxSocket; in FreeRTOS_socket() local
417 pxSocket = ( ( FreeRTOS_Socket_t * ) pvPortMallocSocket( uxSocketSize ) ); in FreeRTOS_socket()
419 if( pxSocket == NULL ) in FreeRTOS_socket()
433 vPortFreeSocket( pxSocket ); in FreeRTOS_socket()
445 … iptraceMEM_STATS_CREATE( tcpSOCKET_UDP, pxSocket, uxSocketSize + sizeof( StaticEventGroup_t ) ); in FreeRTOS_socket()
450 … iptraceMEM_STATS_CREATE( tcpSOCKET_TCP, pxSocket, uxSocketSize + sizeof( StaticEventGroup_t ) ); in FreeRTOS_socket()
454 ( void ) memset( pxSocket, 0, uxSocketSize ); in FreeRTOS_socket()
456 pxSocket->xEventGroup = xEventGroup; in FreeRTOS_socket()
463 vListInitialise( &( pxSocket->u.xUDP.xWaitingPacketsList ) ); in FreeRTOS_socket()
467 … pxSocket->u.xUDP.uxMaxPackets = ( UBaseType_t ) ipconfigUDP_MAX_RX_PACKETS; in FreeRTOS_socket()
472 vListInitialiseItem( &( pxSocket->xBoundSocketListItem ) ); in FreeRTOS_socket()
473 listSET_LIST_ITEM_OWNER( &( pxSocket->xBoundSocketListItem ), ( void * ) pxSocket ); in FreeRTOS_socket()
475 pxSocket->xReceiveBlockTime = ipconfigSOCK_DEFAULT_RECEIVE_BLOCK_TIME; in FreeRTOS_socket()
476 pxSocket->xSendBlockTime = ipconfigSOCK_DEFAULT_SEND_BLOCK_TIME; in FreeRTOS_socket()
477 pxSocket->ucSocketOptions = ( uint8_t ) FREERTOS_SO_UDPCKSUM_OUT; in FreeRTOS_socket()
478 pxSocket->ucProtocol = ( uint8_t ) xProtocolCpy; /* protocol: UDP or TCP */ in FreeRTOS_socket()
486 pxSocket->u.xTCP.usMSS = ( uint16_t ) ipconfigTCP_MSS; in FreeRTOS_socket()
487 … pxSocket->u.xTCP.uxRxStreamSize = ( size_t ) ipconfigTCP_RX_BUFFER_LENGTH; in FreeRTOS_socket()
488 …pxSocket->u.xTCP.uxTxStreamSize = ( size_t ) FreeRTOS_round_up( ipconfigTCP_TX_BUFFER_LENGTH, ipco… in FreeRTOS_socket()
492 …pxSocket->u.xTCP.uxRxWinSize = FreeRTOS_max_uint32( 1U, ( uint32_t ) ( pxSocket->u.xTCP.uxRxStream… in FreeRTOS_socket()
493 …pxSocket->u.xTCP.uxTxWinSize = FreeRTOS_max_uint32( 1U, ( uint32_t ) ( pxSocket->u.xTCP.uxTxStream… in FreeRTOS_socket()
497 pxSocket->u.xTCP.uxRxWinSize = 1U; in FreeRTOS_socket()
498 pxSocket->u.xTCP.uxTxWinSize = 1U; in FreeRTOS_socket()
508 xReturn = pxSocket; in FreeRTOS_socket()
594 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_FD_SET() local
598 configASSERT( pxSocket != NULL ); in FreeRTOS_FD_SET()
603 pxSocket->xSelectBits |= xBitsToSet & ( ( EventBits_t ) eSELECT_ALL ); in FreeRTOS_FD_SET()
605 if( ( pxSocket->xSelectBits & ( ( EventBits_t ) eSELECT_ALL ) ) != ( EventBits_t ) 0U ) in FreeRTOS_FD_SET()
608 pxSocket->pxSocketSet = ( SocketSelect_t * ) xSocketSet; in FreeRTOS_FD_SET()
635 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_FD_CLR() local
637 configASSERT( pxSocket != NULL ); in FreeRTOS_FD_CLR()
640 pxSocket->xSelectBits &= ~( xBitsToClear & ( ( EventBits_t ) eSELECT_ALL ) ); in FreeRTOS_FD_CLR()
642 if( ( pxSocket->xSelectBits & ( ( EventBits_t ) eSELECT_ALL ) ) != ( EventBits_t ) 0U ) in FreeRTOS_FD_CLR()
644 pxSocket->pxSocketSet = ( SocketSelect_t * ) xSocketSet; in FreeRTOS_FD_CLR()
649 pxSocket->pxSocketSet = NULL; in FreeRTOS_FD_CLR()
673 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_FD_ISSET() local
675 configASSERT( pxSocket != NULL ); in FreeRTOS_FD_ISSET()
678 if( xSocketSet == ( SocketSet_t ) pxSocket->pxSocketSet ) in FreeRTOS_FD_ISSET()
682 xReturn = pxSocket->xSocketBits & ( ( EventBits_t ) eSELECT_ALL ); in FreeRTOS_FD_ISSET()
855 FreeRTOS_Socket_t const * pxSocket = xSocket; in FreeRTOS_recvfrom() local
863 if( prvValidSocket( pxSocket, FREERTOS_IPPROTO_UDP, pdTRUE ) == pdFALSE ) in FreeRTOS_recvfrom()
869 …lPacketCount = ( BaseType_t ) listCURRENT_LIST_LENGTH( &( pxSocket->u.xUDP.xWaitingPacketsList ) ); in FreeRTOS_recvfrom()
881 xRemainingTime = pxSocket->xReceiveBlockTime; in FreeRTOS_recvfrom()
888 … xEventBits = xEventGroupWaitBits( pxSocket->xEventGroup, ( EventBits_t ) eSOCKET_INTR, in FreeRTOS_recvfrom()
910 …xEventBits = xEventGroupWaitBits( pxSocket->xEventGroup, ( ( EventBits_t ) eSOCKET_RECEIVE ) | ( (… in FreeRTOS_recvfrom()
920 … ( void ) xEventGroupSetBits( pxSocket->xEventGroup, ( EventBits_t ) eSOCKET_RECEIVE ); in FreeRTOS_recvfrom()
932 …lPacketCount = ( BaseType_t ) listCURRENT_LIST_LENGTH( &( pxSocket->u.xUDP.xWaitingPacketsList ) ); in FreeRTOS_recvfrom()
951 …fer = ( ( NetworkBufferDescriptor_t * ) listGET_OWNER_OF_HEAD_ENTRY( &( pxSocket->u.xUDP.xWaitingP… in FreeRTOS_recvfrom()
1030 static BaseType_t prvMakeSureSocketIsBound( FreeRTOS_Socket_t * pxSocket ) in prvMakeSureSocketIsBound() argument
1033 BaseType_t xReturn = prvValidSocket( pxSocket, FREERTOS_IPPROTO_UDP, pdFALSE ); in prvMakeSureSocketIsBound()
1035 if( ( xReturn == pdTRUE ) && ( !socketSOCKET_IS_BOUND( pxSocket ) ) ) in prvMakeSureSocketIsBound()
1038 if( FreeRTOS_bind( pxSocket, NULL, 0U ) != 0 ) in prvMakeSureSocketIsBound()
1078 FreeRTOS_Socket_t * pxSocket; in FreeRTOS_sendto() local
1083 pxSocket = ( FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_sendto()
1096 if( prvMakeSureSocketIsBound( pxSocket ) == pdTRUE ) in FreeRTOS_sendto()
1098 xTicksToWait = pxSocket->xSendBlockTime; in FreeRTOS_sendto()
1152 pxNetworkBuffer->usBoundPort = ( uint16_t ) socketGET_SOCKET_PORT( pxSocket ); in FreeRTOS_sendto()
1157 … pxNetworkBuffer->pucEthernetBuffer[ ipSOCKET_OPTIONS_OFFSET ] = pxSocket->ucSocketOptions; in FreeRTOS_sendto()
1169 if( ipconfigIS_VALID_PROG_ADDRESS( pxSocket->u.xUDP.pxHandleSent ) ) in FreeRTOS_sendto()
1171 pxSocket->u.xUDP.pxHandleSent( xSocket, uxTotalDataLength ); in FreeRTOS_sendto()
1235 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_bind() local
1245 if( ( pxSocket == NULL ) || ( pxSocket == FREERTOS_INVALID_SOCKET ) ) in FreeRTOS_bind()
1252 else if( socketSOCKET_IS_BOUND( pxSocket ) ) in FreeRTOS_bind()
1255 … FreeRTOS_debug_printf( ( "vSocketBind: Socket already bound to %d\n", pxSocket->usLocalPort ) ); in FreeRTOS_bind()
1267 pxSocket->usLocalPort = FreeRTOS_ntohs( pxAddress->sin_port ); in FreeRTOS_bind()
1272 pxSocket->usLocalPort = 0U; in FreeRTOS_bind()
1288 …( void ) xEventGroupWaitBits( pxSocket->xEventGroup, ( EventBits_t ) eSOCKET_BOUND, pdTRUE /*xClea… in FreeRTOS_bind()
1290 if( !socketSOCKET_IS_BOUND( pxSocket ) ) in FreeRTOS_bind()
1314 BaseType_t vSocketBind( FreeRTOS_Socket_t * pxSocket, in vSocketBind() argument
1327 configASSERT( pxSocket != NULL ); in vSocketBind()
1328 configASSERT( pxSocket != FREERTOS_INVALID_SOCKET ); in vSocketBind()
1331 if( pxSocket->ucProtocol == ( uint8_t ) FREERTOS_IPPROTO_TCP ) in vSocketBind()
1376 … pxAddress->sin_port = prvGetPrivatePortNumber( ( BaseType_t ) pxSocket->ucProtocol ); in vSocketBind()
1391 …if( ( ( xInternal == pdFALSE ) || ( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) ) && in vSocketBind()
1395 … ( pxSocket->ucProtocol == ( uint8_t ) FREERTOS_IPPROTO_TCP ) ? "TC" : "UD", in vSocketBind()
1403 socketSET_SOCKET_PORT( pxSocket, pxAddress->sin_port ); in vSocketBind()
1407 pxSocket->usLocalPort = FreeRTOS_ntohs( pxAddress->sin_port ); in vSocketBind()
1421 vListInsertEnd( pxSocketList, &( pxSocket->xBoundSocketListItem ) ); in vSocketBind()
1470 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_closesocket() local
1488 if( pxSocket->ucProtocol == ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_closesocket()
1491 pxSocket->u.xTCP.pxHandleConnected = NULL; in FreeRTOS_closesocket()
1492 pxSocket->u.xTCP.pxHandleReceive = NULL; in FreeRTOS_closesocket()
1493 pxSocket->u.xTCP.pxHandleSent = NULL; in FreeRTOS_closesocket()
1498 if( pxSocket->ucProtocol == ( uint8_t ) FREERTOS_IPPROTO_UDP ) in FreeRTOS_closesocket()
1501 pxSocket->u.xUDP.pxHandleReceive = NULL; in FreeRTOS_closesocket()
1502 pxSocket->u.xUDP.pxHandleSent = NULL; in FreeRTOS_closesocket()
1539 void * vSocketClose( FreeRTOS_Socket_t * pxSocket ) in vSocketClose() argument
1546 if( pxSocket->ucProtocol == ( uint8_t ) FREERTOS_IPPROTO_TCP ) in vSocketClose()
1550 if( pxSocket->u.xTCP.pxAckMessage != NULL ) in vSocketClose()
1552 vReleaseNetworkBufferAndDescriptor( pxSocket->u.xTCP.pxAckMessage ); in vSocketClose()
1556 vTCPWindowDestroy( &pxSocket->u.xTCP.xTCPWindow ); in vSocketClose()
1561 if( pxSocket->u.xTCP.rxStream != NULL ) in vSocketClose()
1563 iptraceMEM_STATS_DELETE( pxSocket->u.xTCP.rxStream ); in vSocketClose()
1564 vPortFreeLarge( pxSocket->u.xTCP.rxStream ); in vSocketClose()
1567 if( pxSocket->u.xTCP.txStream != NULL ) in vSocketClose()
1569 iptraceMEM_STATS_DELETE( pxSocket->u.xTCP.txStream ); in vSocketClose()
1570 vPortFreeLarge( pxSocket->u.xTCP.txStream ); in vSocketClose()
1575 prvTCPSetSocketCount( pxSocket ); in vSocketClose()
1582 if( socketSOCKET_IS_BOUND( pxSocket ) ) in vSocketClose()
1593 ( void ) uxListRemove( &( pxSocket->xBoundSocketListItem ) ); in vSocketClose()
1604 if( pxSocket->ucProtocol == ( uint8_t ) FREERTOS_IPPROTO_UDP ) in vSocketClose()
1606 while( listCURRENT_LIST_LENGTH( &( pxSocket->u.xUDP.xWaitingPacketsList ) ) > 0U ) in vSocketClose()
1608 …fer = ( ( NetworkBufferDescriptor_t * ) listGET_OWNER_OF_HEAD_ENTRY( &( pxSocket->u.xUDP.xWaitingP… in vSocketClose()
1614 if( pxSocket->xEventGroup != NULL ) in vSocketClose()
1616 vEventGroupDelete( pxSocket->xEventGroup ); in vSocketClose()
1621 if( pxSocket->ucProtocol == ( uint8_t ) FREERTOS_IPPROTO_TCP ) in vSocketClose()
1624 pxSocket->usLocalPort, in vSocketClose()
1625 ( unsigned ) pxSocket->u.xTCP.ulRemoteIP, in vSocketClose()
1626 pxSocket->u.xTCP.usRemotePort, in vSocketClose()
1634 iptraceMEM_STATS_DELETE( pxSocket ); in vSocketClose()
1635 vPortFreeSocket( pxSocket ); in vSocketClose()
1732 static BaseType_t prvSockopt_so_buffer( FreeRTOS_Socket_t * pxSocket, in prvSockopt_so_buffer() argument
1739 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in prvSockopt_so_buffer()
1745 … else if( ( ( lOptionName == FREERTOS_SO_SNDBUF ) && ( pxSocket->u.xTCP.txStream != NULL ) ) || in prvSockopt_so_buffer()
1746 … ( ( lOptionName == FREERTOS_SO_RCVBUF ) && ( pxSocket->u.xTCP.rxStream != NULL ) ) ) in prvSockopt_so_buffer()
1759 ulNewValue = FreeRTOS_round_up( ulNewValue, ( uint32_t ) pxSocket->u.xTCP.usMSS ); in prvSockopt_so_buffer()
1760 pxSocket->u.xTCP.uxTxStreamSize = ulNewValue; in prvSockopt_so_buffer()
1764 pxSocket->u.xTCP.uxRxStreamSize = ulNewValue; in prvSockopt_so_buffer()
1800 FreeRTOS_Socket_t * pxSocket; in FreeRTOS_setsockopt() local
1802 pxSocket = ( FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_setsockopt()
1812 if( ( pxSocket != NULL ) && ( pxSocket != FREERTOS_INVALID_SOCKET ) ) in FreeRTOS_setsockopt()
1818 pxSocket->xReceiveBlockTime = *( ( const TickType_t * ) pvOptionValue ); in FreeRTOS_setsockopt()
1823 pxSocket->xSendBlockTime = *( ( const TickType_t * ) pvOptionValue ); in FreeRTOS_setsockopt()
1825 if( pxSocket->ucProtocol == ( uint8_t ) FREERTOS_IPPROTO_UDP ) in FreeRTOS_setsockopt()
1831 if( pxSocket->xSendBlockTime > ipconfigUDP_MAX_SEND_BLOCK_TIME_TICKS ) in FreeRTOS_setsockopt()
1833 pxSocket->xSendBlockTime = ipconfigUDP_MAX_SEND_BLOCK_TIME_TICKS; in FreeRTOS_setsockopt()
1849 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_UDP ) in FreeRTOS_setsockopt()
1854 pxSocket->u.xUDP.uxMaxPackets = *( ( const UBaseType_t * ) pvOptionValue ); in FreeRTOS_setsockopt()
1866 pxSocket->ucSocketOptions &= ~( ( uint8_t ) FREERTOS_SO_UDPCKSUM_OUT ); in FreeRTOS_setsockopt()
1870 pxSocket->ucSocketOptions |= ( uint8_t ) FREERTOS_SO_UDPCKSUM_OUT; in FreeRTOS_setsockopt()
1899 if( pxSocket->ucProtocol != ( uint8_t ) uxProtocol ) in FreeRTOS_setsockopt()
1915 …pxSocket->u.xTCP.pxHandleConnected = ( ( const F_TCP_UDP_Handler_t * ) pvOptionValue )->pxOnTCPCon… in FreeRTOS_setsockopt()
1919 …pxSocket->u.xTCP.pxHandleReceive = ( ( const F_TCP_UDP_Handler_t * ) pvOptionValue )->pxOnTCPRecei… in FreeRTOS_setsockopt()
1923 … pxSocket->u.xTCP.pxHandleSent = ( ( const F_TCP_UDP_Handler_t * ) pvOptionValue )->pxOnTCPSent; in FreeRTOS_setsockopt()
1927 …pxSocket->u.xUDP.pxHandleReceive = ( ( const F_TCP_UDP_Handler_t * ) pvOptionValue )->pxOnUDPRecei… in FreeRTOS_setsockopt()
1931 … pxSocket->u.xUDP.pxHandleSent = ( ( const F_TCP_UDP_Handler_t * ) pvOptionValue )->pxOnUDPSent; in FreeRTOS_setsockopt()
1951 pxSocket->pxUserSemaphore = *( ( SemaphoreHandle_t * ) pvOptionValue ); in FreeRTOS_setsockopt()
1975 pxSocket->pxUserWakeCallback = ( SocketWakeupCallback_t ) pvOptionValue; in FreeRTOS_setsockopt()
1985 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_setsockopt()
1993 ( pxLowHighWater->uxEnoughSpace > pxSocket->u.xTCP.uxRxStreamSize ) ) in FreeRTOS_setsockopt()
2001 pxSocket->u.xTCP.uxLittleSpace = pxLowHighWater->uxLittleSpace; in FreeRTOS_setsockopt()
2003 pxSocket->u.xTCP.uxEnoughSpace = pxLowHighWater->uxEnoughSpace; in FreeRTOS_setsockopt()
2010 xReturn = prvSockopt_so_buffer( pxSocket, lOptionName, pvOptionValue ); in FreeRTOS_setsockopt()
2015 IPTCPSocket_t * pxTCP = &( pxSocket->u.xTCP ); in FreeRTOS_setsockopt()
2018 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_setsockopt()
2027 … xReturn = prvSockopt_so_buffer( pxSocket, FREERTOS_SO_SNDBUF, &( pxProps->lTxBufSize ) ); in FreeRTOS_setsockopt()
2035 … xReturn = prvSockopt_so_buffer( pxSocket, FREERTOS_SO_RCVBUF, &( pxProps->lRxBufSize ) ); in FreeRTOS_setsockopt()
2068 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_setsockopt()
2075 pxSocket->u.xTCP.bits.bReuseSocket = pdTRUE; in FreeRTOS_setsockopt()
2079 pxSocket->u.xTCP.bits.bReuseSocket = pdFALSE; in FreeRTOS_setsockopt()
2087 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_setsockopt()
2094 pxSocket->u.xTCP.bits.bCloseAfterSend = pdTRUE; in FreeRTOS_setsockopt()
2098 pxSocket->u.xTCP.bits.bCloseAfterSend = pdFALSE; in FreeRTOS_setsockopt()
2106 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_setsockopt()
2113 pxSocket->u.xTCP.xTCPWindow.u.bits.bSendFullSize = pdTRUE; in FreeRTOS_setsockopt()
2117 pxSocket->u.xTCP.xTCPWindow.u.bits.bSendFullSize = pdFALSE; in FreeRTOS_setsockopt()
2120 … if( ( pxSocket->u.xTCP.xTCPWindow.u.bits.bSendFullSize == pdFALSE_UNSIGNED ) && in FreeRTOS_setsockopt()
2121 ( pxSocket->u.xTCP.eTCPState >= eESTABLISHED ) && in FreeRTOS_setsockopt()
2122 ( FreeRTOS_outstanding( pxSocket ) > 0 ) ) in FreeRTOS_setsockopt()
2124 pxSocket->u.xTCP.usTimeout = 1U; /* to set/clear bSendFullSize */ in FreeRTOS_setsockopt()
2133 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_setsockopt()
2140 pxSocket->u.xTCP.bits.bRxStopped = pdTRUE; in FreeRTOS_setsockopt()
2144 pxSocket->u.xTCP.bits.bRxStopped = pdFALSE; in FreeRTOS_setsockopt()
2147 pxSocket->u.xTCP.bits.bWinChange = pdTRUE; in FreeRTOS_setsockopt()
2148 pxSocket->u.xTCP.usTimeout = 1U; /* to set/clear bRxStopped */ in FreeRTOS_setsockopt()
2290 FreeRTOS_Socket_t * pxSocket = NULL; in pxUDPSocketLookup() local
2301 pxSocket = ( ( FreeRTOS_Socket_t * ) listGET_LIST_ITEM_OWNER( pxListItem ) ); in pxUDPSocketLookup()
2302 configASSERT( pxSocket != NULL ); in pxUDPSocketLookup()
2305 return pxSocket; in pxUDPSocketLookup()
2843 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_GetLocalAddress() local
2849 pxAddress->sin_port = FreeRTOS_htons( pxSocket->usLocalPort ); in FreeRTOS_GetLocalAddress()
2861 void vSocketWakeUpUser( FreeRTOS_Socket_t * pxSocket ) in vSocketWakeUpUser() argument
2867 if( pxSocket->pxUserSemaphore != NULL ) in vSocketWakeUpUser()
2869 ( void ) xSemaphoreGive( pxSocket->pxUserSemaphore ); in vSocketWakeUpUser()
2876 if( pxSocket->pxUserWakeCallback != NULL ) in vSocketWakeUpUser()
2878 pxSocket->pxUserWakeCallback( pxSocket ); in vSocketWakeUpUser()
2885 if( pxSocket->pxSocketSet != NULL ) in vSocketWakeUpUser()
2887 …EventBits_t xSelectBits = ( pxSocket->xEventBits >> SOCKET_EVENT_BIT_COUNT ) & ( ( EventBits_t ) e… in vSocketWakeUpUser()
2891 pxSocket->xSocketBits |= xSelectBits; in vSocketWakeUpUser()
2892 ( void ) xEventGroupSetBits( pxSocket->pxSocketSet->xSelectGroup, xSelectBits ); in vSocketWakeUpUser()
2896 pxSocket->xEventBits &= ( EventBits_t ) eSOCKET_ALL; in vSocketWakeUpUser()
2900 if( ( pxSocket->xEventGroup != NULL ) && ( pxSocket->xEventBits != 0U ) ) in vSocketWakeUpUser()
2902 ( void ) xEventGroupSetBits( pxSocket->xEventGroup, pxSocket->xEventBits ); in vSocketWakeUpUser()
2905 pxSocket->xEventBits = 0U; in vSocketWakeUpUser()
2951 static BaseType_t bMayConnect( FreeRTOS_Socket_t const * pxSocket ) in bMayConnect() argument
2955 eIPTCPState_t eState = pxSocket->u.xTCP.eTCPState; in bMayConnect()
3000 static BaseType_t prvTCPConnectStart( FreeRTOS_Socket_t * pxSocket, in prvTCPConnectStart() argument
3010 else if( prvValidSocket( pxSocket, FREERTOS_IPPROTO_TCP, pdFALSE ) == pdFALSE ) in prvTCPConnectStart()
3015 else if( FreeRTOS_issocketconnected( pxSocket ) > 0 ) in prvTCPConnectStart()
3020 else if( !socketSOCKET_IS_BOUND( pxSocket ) ) in prvTCPConnectStart()
3024 xResult = FreeRTOS_bind( pxSocket, NULL, 0U ); in prvTCPConnectStart()
3035 xResult = bMayConnect( pxSocket ); /* -EINPROGRESS, -EAGAIN, or 0 for OK */ in prvTCPConnectStart()
3040 pxSocket->u.xTCP.bits.bConnPrepared = pdFALSE; in prvTCPConnectStart()
3041 pxSocket->u.xTCP.ucRepCount = 0U; in prvTCPConnectStart()
3044 …pxSocket->usLocalPort, ( unsigned ) FreeRTOS_ntohl( pxAddress->sin_addr ), FreeRTOS_ntohs( pxAddre… in prvTCPConnectStart()
3047 pxSocket->u.xTCP.usRemotePort = FreeRTOS_ntohs( pxAddress->sin_port ); in prvTCPConnectStart()
3050 pxSocket->u.xTCP.ulRemoteIP = FreeRTOS_ntohl( pxAddress->sin_addr ); in prvTCPConnectStart()
3053 vTCPStateChange( pxSocket, eCONNECT_SYN ); in prvTCPConnectStart()
3056 pxSocket->u.xTCP.usTimeout = 1U; in prvTCPConnectStart()
3090 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) xClientSocket; in FreeRTOS_connect() local
3098 xResult = prvTCPConnectStart( pxSocket, pxAddress ); in FreeRTOS_connect()
3110 xRemainingTime = pxSocket->xReceiveBlockTime; in FreeRTOS_connect()
3127 xResult = FreeRTOS_issocketconnected( pxSocket ); in FreeRTOS_connect()
3144 uxEvents = xEventGroupWaitBits( pxSocket->xEventGroup, in FreeRTOS_connect()
3183 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) xServerSocket; in FreeRTOS_accept() local
3190 if( prvValidSocket( pxSocket, FREERTOS_IPPROTO_TCP, pdTRUE ) == pdFALSE ) in FreeRTOS_accept()
3199 else if( ( pxSocket->u.xTCP.bits.bReuseSocket == pdFALSE_UNSIGNED ) && in FreeRTOS_accept()
3200 ( pxSocket->u.xTCP.eTCPState != eTCP_LISTEN ) ) in FreeRTOS_accept()
3217 if( pxSocket->u.xTCP.bits.bReuseSocket == pdFALSE_UNSIGNED ) in FreeRTOS_accept()
3219 pxClientSocket = pxSocket->u.xTCP.pxPeerSocket; in FreeRTOS_accept()
3223 pxClientSocket = pxSocket; in FreeRTOS_accept()
3228 pxSocket->u.xTCP.pxPeerSocket = NULL; in FreeRTOS_accept()
3259 if( pxSocket->u.xTCP.bits.bReuseSocket == pdFALSE_UNSIGNED ) in FreeRTOS_accept()
3270 xAskEvent.pvData = pxSocket; in FreeRTOS_accept()
3282 xRemainingTime = pxSocket->xReceiveBlockTime; in FreeRTOS_accept()
3303 ( void ) xEventGroupWaitBits( pxSocket->xEventGroup, in FreeRTOS_accept()
3339 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_recv() local
3347 if( prvValidSocket( pxSocket, FREERTOS_IPPROTO_TCP, pdTRUE ) == pdFALSE ) in FreeRTOS_recv()
3359 if( pxSocket->u.xTCP.rxStream != NULL ) in FreeRTOS_recv()
3361 xByteCount = ( BaseType_t ) uxStreamBufferGetSize( pxSocket->u.xTCP.rxStream ); in FreeRTOS_recv()
3370 eIPTCPState_t eState = pxSocket->u.xTCP.eTCPState; in FreeRTOS_recv()
3378 if( pxSocket->u.xTCP.bits.bMallocError != pdFALSE_UNSIGNED ) in FreeRTOS_recv()
3413 xRemainingTime = pxSocket->xReceiveBlockTime; in FreeRTOS_recv()
3420 … xEventBits = xEventGroupWaitBits( pxSocket->xEventGroup, ( EventBits_t ) eSOCKET_INTR, in FreeRTOS_recv()
3446 xEventBits = xEventGroupWaitBits( pxSocket->xEventGroup, in FreeRTOS_recv()
3462 if( pxSocket->u.xTCP.rxStream != NULL ) in FreeRTOS_recv()
3464 xByteCount = ( BaseType_t ) uxStreamBufferGetSize( pxSocket->u.xTCP.rxStream ); in FreeRTOS_recv()
3479 ( void ) xEventGroupSetBits( pxSocket->xEventGroup, xEventBits ); in FreeRTOS_recv()
3494 uxStreamBufferGet( pxSocket->u.xTCP.rxStream, in FreeRTOS_recv()
3500 if( pxSocket->u.xTCP.bits.bLowWater != pdFALSE_UNSIGNED ) in FreeRTOS_recv()
3504 size_t uxFrontSpace = uxStreamBufferFrontSpace( pxSocket->u.xTCP.rxStream ); in FreeRTOS_recv()
3506 if( uxFrontSpace >= pxSocket->u.xTCP.uxEnoughSpace ) in FreeRTOS_recv()
3508 pxSocket->u.xTCP.bits.bLowWater = pdFALSE; in FreeRTOS_recv()
3509 pxSocket->u.xTCP.bits.bWinChange = pdTRUE; in FreeRTOS_recv()
3510 pxSocket->u.xTCP.usTimeout = 1U; /* because bLowWater is cleared. */ in FreeRTOS_recv()
3518 …xByteCount = ( BaseType_t ) uxStreamBufferGetPtr( pxSocket->u.xTCP.rxStream, ( uint8_t ** ) pvBuff… in FreeRTOS_recv()
3545 static int32_t prvTCPSendCheck( FreeRTOS_Socket_t * pxSocket, in prvTCPSendCheck() argument
3551 if( prvValidSocket( pxSocket, FREERTOS_IPPROTO_TCP, pdTRUE ) == pdFALSE ) in prvTCPSendCheck()
3555 else if( pxSocket->u.xTCP.bits.bMallocError != pdFALSE_UNSIGNED ) in prvTCPSendCheck()
3559 else if( ( pxSocket->u.xTCP.eTCPState == eCLOSED ) || in prvTCPSendCheck()
3560 ( pxSocket->u.xTCP.eTCPState == eCLOSE_WAIT ) || in prvTCPSendCheck()
3561 ( pxSocket->u.xTCP.eTCPState == eCLOSING ) ) in prvTCPSendCheck()
3565 else if( pxSocket->u.xTCP.bits.bFinSent != pdFALSE_UNSIGNED ) in prvTCPSendCheck()
3577 else if( pxSocket->u.xTCP.txStream == NULL ) in prvTCPSendCheck()
3580 ( void ) prvTCPCreateStream( pxSocket, pdFALSE ); in prvTCPSendCheck()
3582 if( pxSocket->u.xTCP.txStream == NULL ) in prvTCPSendCheck()
3613 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_get_tx_head() local
3620 if( prvValidSocket( pxSocket, FREERTOS_IPPROTO_TCP, pdFALSE ) == pdTRUE ) in FreeRTOS_get_tx_head()
3622 pxBuffer = pxSocket->u.xTCP.txStream; in FreeRTOS_get_tx_head()
3671 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_send() local
3682 xByteCount = ( BaseType_t ) prvTCPSendCheck( pxSocket, uxDataLength ); in FreeRTOS_send()
3690 xByteCount = ( BaseType_t ) uxStreamBufferGetSpace( pxSocket->u.xTCP.txStream ); in FreeRTOS_send()
3706 …if( ( pxSocket->u.xTCP.bits.bCloseAfterSend != pdFALSE_UNSIGNED ) && ( xByteCount == xBytesLeft ) ) in FreeRTOS_send()
3728 pxSocket->u.xTCP.bits.bCloseRequested = pdTRUE; in FreeRTOS_send()
3731 …xByteCount = ( BaseType_t ) uxStreamBufferAdd( pxSocket->u.xTCP.txStream, 0U, pucSource, ( size_t … in FreeRTOS_send()
3743 pxSocket->u.xTCP.usTimeout = 1U; in FreeRTOS_send()
3770 xRemainingTime = pxSocket->xSendBlockTime; in FreeRTOS_send()
3811 …( void ) xEventGroupWaitBits( pxSocket->xEventGroup, ( EventBits_t ) eSOCKET_SEND | ( EventBits_t … in FreeRTOS_send()
3814 xByteCount = ( BaseType_t ) uxStreamBufferGetSpace( pxSocket->u.xTCP.txStream ); in FreeRTOS_send()
3822 if( pxSocket->u.xTCP.eTCPState > eESTABLISHED ) in FreeRTOS_send()
3828 if( ipconfigTCP_MAY_LOG_PORT( pxSocket->usLocalPort ) ) in FreeRTOS_send()
3831 pxSocket->usLocalPort, in FreeRTOS_send()
3832 ( unsigned ) pxSocket->u.xTCP.ulRemoteIP, in FreeRTOS_send()
3833 pxSocket->u.xTCP.usRemotePort ) ); in FreeRTOS_send()
3862 FreeRTOS_Socket_t * pxSocket; in FreeRTOS_listen() local
3865 pxSocket = ( FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_listen()
3869 if( prvValidSocket( pxSocket, FREERTOS_IPPROTO_TCP, pdTRUE ) == pdFALSE ) in FreeRTOS_listen()
3873 …else if( ( pxSocket->u.xTCP.eTCPState != eCLOSED ) && ( pxSocket->u.xTCP.eTCPState != eCLOSE_WAIT … in FreeRTOS_listen()
3882 …pxSocket->u.xTCP.usBacklog = ( uint16_t ) FreeRTOS_min_int32( ( int32_t ) 0xffff, ( int32_t ) xBac… in FreeRTOS_listen()
3886 if( pxSocket->u.xTCP.bits.bReuseSocket != pdFALSE_UNSIGNED ) in FreeRTOS_listen()
3888 if( pxSocket->u.xTCP.rxStream != NULL ) in FreeRTOS_listen()
3890 vStreamBufferClear( pxSocket->u.xTCP.rxStream ); in FreeRTOS_listen()
3893 if( pxSocket->u.xTCP.txStream != NULL ) in FreeRTOS_listen()
3895 vStreamBufferClear( pxSocket->u.xTCP.txStream ); in FreeRTOS_listen()
3898 …( void ) memset( pxSocket->u.xTCP.xPacket.u.ucLastPacket, 0, sizeof( pxSocket->u.xTCP.xPacket.u.uc… in FreeRTOS_listen()
3899 … ( void ) memset( &pxSocket->u.xTCP.xTCPWindow, 0, sizeof( pxSocket->u.xTCP.xTCPWindow ) ); in FreeRTOS_listen()
3900 ( void ) memset( &pxSocket->u.xTCP.bits, 0, sizeof( pxSocket->u.xTCP.bits ) ); in FreeRTOS_listen()
3904 pxSocket->u.xTCP.bits.bReuseSocket = pdTRUE; in FreeRTOS_listen()
3907 vTCPStateChange( pxSocket, eTCP_LISTEN ); in FreeRTOS_listen()
3933 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_shutdown() local
3936 if( prvValidSocket( pxSocket, FREERTOS_IPPROTO_TCP, pdTRUE ) == pdFALSE ) in FreeRTOS_shutdown()
3942 else if( pxSocket->u.xTCP.eTCPState != eESTABLISHED ) in FreeRTOS_shutdown()
3949 pxSocket->u.xTCP.bits.bUserShutdown = pdTRUE_UNSIGNED; in FreeRTOS_shutdown()
3952 pxSocket->u.xTCP.usTimeout = 1U; in FreeRTOS_shutdown()
3982 FreeRTOS_Socket_t * pxSocket; in xTCPTimerCheck() local
4007 pxSocket = ( ( FreeRTOS_Socket_t * ) listGET_LIST_ITEM_OWNER( pxIterator ) ); in xTCPTimerCheck()
4011 if( pxSocket->u.xTCP.usTimeout == 0U ) in xTCPTimerCheck()
4016 if( xDelta < ( TickType_t ) pxSocket->u.xTCP.usTimeout ) in xTCPTimerCheck()
4018 …pxSocket->u.xTCP.usTimeout = ( uint16_t ) ( ( ( TickType_t ) pxSocket->u.xTCP.usTimeout ) - xDelta… in xTCPTimerCheck()
4024 pxSocket->u.xTCP.usTimeout = 0U; in xTCPTimerCheck()
4025 xRc = xTCPSocketCheck( pxSocket ); in xTCPTimerCheck()
4039 if( pxSocket->xEventBits != 0U ) in xTCPTimerCheck()
4045 vSocketWakeUpUser( pxSocket ); in xTCPTimerCheck()
4055 …if( ( pxSocket->u.xTCP.usTimeout != 0U ) && ( xShortest > ( TickType_t ) pxSocket->u.xTCP.usTimeou… in xTCPTimerCheck()
4057 xShortest = ( TickType_t ) pxSocket->u.xTCP.usTimeout; in xTCPTimerCheck()
4104 … FreeRTOS_Socket_t * pxSocket = ( ( FreeRTOS_Socket_t * ) listGET_LIST_ITEM_OWNER( pxIterator ) ); in pxTCPSocketLookup() local
4106 if( pxSocket->usLocalPort == ( uint16_t ) uxLocalPort ) in pxTCPSocketLookup()
4108 if( pxSocket->u.xTCP.eTCPState == eTCP_LISTEN ) in pxTCPSocketLookup()
4112 pxListenSocket = pxSocket; in pxTCPSocketLookup()
4114 …else if( ( pxSocket->u.xTCP.usRemotePort == ( uint16_t ) uxRemotePort ) && ( pxSocket->u.xTCP.ulRe… in pxTCPSocketLookup()
4118 pxResult = pxSocket; in pxTCPSocketLookup()
4153 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_get_rx_buf() local
4159 if( prvValidSocket( pxSocket, FREERTOS_IPPROTO_TCP, pdFALSE ) == pdTRUE ) in FreeRTOS_get_rx_buf()
4161 pxReturn = pxSocket->u.xTCP.rxStream; in FreeRTOS_get_rx_buf()
4180 static StreamBuffer_t * prvTCPCreateStream( FreeRTOS_Socket_t * pxSocket, in prvTCPCreateStream() argument
4193 size_t uxSegmentCount = pxSocket->u.xTCP.uxRxStreamSize / pxSocket->u.xTCP.usMSS; in prvTCPCreateStream()
4213 uxLength = pxSocket->u.xTCP.uxRxStreamSize; in prvTCPCreateStream()
4215 if( pxSocket->u.xTCP.uxLittleSpace == 0U ) in prvTCPCreateStream()
4217 …pxSocket->u.xTCP.uxLittleSpace = ( uxLittlePerc * pxSocket->u.xTCP.uxRxStreamSize ) / sock100_PERC… in prvTCPCreateStream()
4220 if( pxSocket->u.xTCP.uxEnoughSpace == 0U ) in prvTCPCreateStream()
4222 …pxSocket->u.xTCP.uxEnoughSpace = ( uxEnoughPerc * pxSocket->u.xTCP.uxRxStreamSize ) / sock100_PERC… in prvTCPCreateStream()
4227 uxLength = pxSocket->u.xTCP.uxTxStreamSize; in prvTCPCreateStream()
4243 pxSocket->u.xTCP.bits.bMallocError = pdTRUE; in prvTCPCreateStream()
4244 vTCPStateChange( pxSocket, eCLOSE_WAIT ); in prvTCPCreateStream()
4260 pxSocket->u.xTCP.rxStream = pxBuffer; in prvTCPCreateStream()
4265 pxSocket->u.xTCP.txStream = pxBuffer; in prvTCPCreateStream()
4290 int32_t lTCPAddRxdata( FreeRTOS_Socket_t * pxSocket, in lTCPAddRxdata() argument
4295 StreamBuffer_t * pxStream = pxSocket->u.xTCP.rxStream; in lTCPAddRxdata()
4299 …BaseType_t bHasHandler = ipconfigIS_VALID_PROG_ADDRESS( pxSocket->u.xTCP.pxHandleReceive ) ? pdTRU… in lTCPAddRxdata()
4310 pxStream = prvTCPCreateStream( pxSocket, pdTRUE ); in lTCPAddRxdata()
4379 … ( void ) pxSocket->u.xTCP.pxHandleReceive( pxSocket, ucReadPtr, ( size_t ) ulCount ); in lTCPAddRxdata()
4387 if( pxSocket->u.xTCP.bits.bLowWater == pdFALSE_UNSIGNED ) in lTCPAddRxdata()
4389 size_t uxFrontSpace = uxStreamBufferFrontSpace( pxSocket->u.xTCP.rxStream ); in lTCPAddRxdata()
4391 if( uxFrontSpace <= pxSocket->u.xTCP.uxLittleSpace ) in lTCPAddRxdata()
4393 pxSocket->u.xTCP.bits.bLowWater = pdTRUE; in lTCPAddRxdata()
4394 pxSocket->u.xTCP.bits.bWinChange = pdTRUE; in lTCPAddRxdata()
4397 pxSocket->u.xTCP.usTimeout = 1U; in lTCPAddRxdata()
4404 pxSocket->xEventBits |= ( EventBits_t ) eSOCKET_RECEIVE; in lTCPAddRxdata()
4408 if( ( pxSocket->xSelectBits & ( EventBits_t ) eSELECT_READ ) != 0U ) in lTCPAddRxdata()
4410 … pxSocket->xEventBits |= ( ( ( EventBits_t ) eSELECT_READ ) << SOCKET_EVENT_BIT_COUNT ); in lTCPAddRxdata()
4440 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_GetRemoteAddress() local
4443 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_GetRemoteAddress()
4452 pxAddress->sin_addr = FreeRTOS_htonl( pxSocket->u.xTCP.ulRemoteIP ); in FreeRTOS_GetRemoteAddress()
4455 pxAddress->sin_port = FreeRTOS_htons( pxSocket->u.xTCP.usRemotePort ); in FreeRTOS_GetRemoteAddress()
4480 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_maywrite() local
4483 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_maywrite()
4487 else if( pxSocket->u.xTCP.eTCPState != eESTABLISHED ) in FreeRTOS_maywrite()
4489 …if( ( pxSocket->u.xTCP.eTCPState < eCONNECT_SYN ) || ( pxSocket->u.xTCP.eTCPState > eESTABLISHED )… in FreeRTOS_maywrite()
4498 else if( pxSocket->u.xTCP.txStream == NULL ) in FreeRTOS_maywrite()
4500 xResult = ( BaseType_t ) pxSocket->u.xTCP.uxTxStreamSize; in FreeRTOS_maywrite()
4504 xResult = ( BaseType_t ) uxStreamBufferGetSpace( pxSocket->u.xTCP.txStream ); in FreeRTOS_maywrite()
4526 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_tx_space() local
4529 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_tx_space()
4535 if( pxSocket->u.xTCP.txStream != NULL ) in FreeRTOS_tx_space()
4537 xReturn = ( BaseType_t ) uxStreamBufferGetSpace( pxSocket->u.xTCP.txStream ); in FreeRTOS_tx_space()
4541 xReturn = ( BaseType_t ) pxSocket->u.xTCP.uxTxStreamSize; in FreeRTOS_tx_space()
4564 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_tx_size() local
4567 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_tx_size()
4573 if( pxSocket->u.xTCP.txStream != NULL ) in FreeRTOS_tx_size()
4575 xReturn = ( BaseType_t ) uxStreamBufferGetSize( pxSocket->u.xTCP.txStream ); in FreeRTOS_tx_size()
4601 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_issocketconnected() local
4604 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_issocketconnected()
4610 if( pxSocket->u.xTCP.eTCPState >= eESTABLISHED ) in FreeRTOS_issocketconnected()
4612 if( pxSocket->u.xTCP.eTCPState < eCLOSE_WAIT ) in FreeRTOS_issocketconnected()
4637 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_mss() local
4640 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_mss()
4649 xReturn = ( BaseType_t ) ( pxSocket->u.xTCP.usMSS ); in FreeRTOS_mss()
4673 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_connstatus() local
4676 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_connstatus()
4683 xReturn = ( BaseType_t ) ( pxSocket->u.xTCP.eTCPState ); in FreeRTOS_connstatus()
4705 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_rx_size() local
4708 if( pxSocket->ucProtocol != ( uint8_t ) FREERTOS_IPPROTO_TCP ) in FreeRTOS_rx_size()
4712 else if( pxSocket->u.xTCP.rxStream != NULL ) in FreeRTOS_rx_size()
4714 xReturn = ( BaseType_t ) uxStreamBufferGetSize( pxSocket->u.xTCP.rxStream ); in FreeRTOS_rx_size()
4764 const FreeRTOS_Socket_t * pxSocket = ( const FreeRTOS_Socket_t * ) xSocket;
4766 if( pxSocket->ucProtocol == ( uint8_t ) FREERTOS_IPPROTO_UDP )
4768 … xReturn = ( BaseType_t ) listCURRENT_LIST_LENGTH( &( pxSocket->u.xUDP.xWaitingPacketsList ) );
4827 …const FreeRTOS_Socket_t * pxSocket = ( ( const FreeRTOS_Socket_t * ) listGET_LIST_ITEM_OWNER( pxIt… in vTCPNetStat() local
4829 TickType_t age = xTaskGetTickCount() - pxSocket->u.xTCP.xLastAliveTime; in vTCPNetStat()
4836 if( pxSocket->u.xTCP.eTCPState == eTCP_LISTEN ) in vTCPNetStat()
4840 pxSocket->u.xTCP.usChildCount, in vTCPNetStat()
4841 pxSocket->u.xTCP.usBacklog ); in vTCPNetStat()
4849 … pxSocket->usLocalPort, /* Local port on this machine */ in vTCPNetStat()
4850 … ( unsigned ) pxSocket->u.xTCP.ulRemoteIP, /* IP address of remote machine */ in vTCPNetStat()
4851 … pxSocket->u.xTCP.usRemotePort, /* Port on remote machine */ in vTCPNetStat()
4852 ( pxSocket->u.xTCP.rxStream != NULL ) ? 1 : 0, in vTCPNetStat()
4853 ( pxSocket->u.xTCP.txStream != NULL ) ? 1 : 0, in vTCPNetStat()
4854 FreeRTOS_GetTCPStateName( pxSocket->u.xTCP.eTCPState ), in vTCPNetStat()
4856 pxSocket->u.xTCP.usTimeout, in vTCPNetStat()
4933 … FreeRTOS_Socket_t * pxSocket = ( ( FreeRTOS_Socket_t * ) listGET_LIST_ITEM_OWNER( pxIterator ) ); in vSocketSelect() local
4935 if( pxSocket->pxSocketSet != pxSocketSet ) in vSocketSelect()
4944 if( pxSocket->ucProtocol == ( uint8_t ) FREERTOS_IPPROTO_TCP ) in vSocketSelect()
4951 if( pxSocket->u.xTCP.bits.bPassQueued == pdFALSE_UNSIGNED ) in vSocketSelect()
4953 if( pxSocket->u.xTCP.bits.bPassAccept == pdFALSE_UNSIGNED ) in vSocketSelect()
4960 … if( ( pxSocket->xSelectBits & ( EventBits_t ) eSELECT_READ ) != ( EventBits_t ) 0U ) in vSocketSelect()
4962 if( pxSocket->u.xTCP.eTCPState == eTCP_LISTEN ) in vSocketSelect()
4964 …if( ( pxSocket->u.xTCP.pxPeerSocket != NULL ) && ( pxSocket->u.xTCP.pxPeerSocket->u.xTCP.bits.bPas… in vSocketSelect()
4969 …else if( ( pxSocket->u.xTCP.bits.bReuseSocket != pdFALSE_UNSIGNED ) && ( pxSocket->u.xTCP.bits.bPa… in vSocketSelect()
4975 else if( ( bAccepted != 0 ) && ( FreeRTOS_recvcount( pxSocket ) > 0 ) ) in vSocketSelect()
4986 if( ( pxSocket->xSelectBits & ( EventBits_t ) eSELECT_EXCEPT ) != 0U ) in vSocketSelect()
4988 … if( ( pxSocket->u.xTCP.eTCPState == eCLOSE_WAIT ) || ( pxSocket->u.xTCP.eTCPState == eCLOSED ) ) in vSocketSelect()
4995 if( ( pxSocket->xSelectBits & ( EventBits_t ) eSELECT_WRITE ) != 0U ) in vSocketSelect()
5001 if( FreeRTOS_tx_space( pxSocket ) > 0 ) in vSocketSelect()
5009 if( ( pxSocket->u.xTCP.bits.bConnPrepared != pdFALSE_UNSIGNED ) && in vSocketSelect()
5010 ( pxSocket->u.xTCP.eTCPState >= eESTABLISHED ) && in vSocketSelect()
5011 ( pxSocket->u.xTCP.bits.bConnPassed == pdFALSE_UNSIGNED ) ) in vSocketSelect()
5013 pxSocket->u.xTCP.bits.bConnPassed = pdTRUE; in vSocketSelect()
5028 if( ( ( pxSocket->xSelectBits & ( EventBits_t ) eSELECT_READ ) != 0U ) && in vSocketSelect()
5029 … ( listCURRENT_LIST_LENGTH( &( pxSocket->u.xUDP.xWaitingPacketsList ) ) > 0U ) ) in vSocketSelect()
5039 pxSocket->xSocketBits = xSocketBits; in vSocketSelect()
5086 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_SignalSocket() local
5089 if( pxSocket == NULL ) in FreeRTOS_SignalSocket()
5095 … if( ( pxSocket->pxSocketSet != NULL ) && ( pxSocket->pxSocketSet->xSelectGroup != NULL ) ) in FreeRTOS_SignalSocket()
5097 … ( void ) xEventGroupSetBits( pxSocket->pxSocketSet->xSelectGroup, ( EventBits_t ) eSELECT_INTR ); in FreeRTOS_SignalSocket()
5102 if( pxSocket->xEventGroup != NULL ) in FreeRTOS_SignalSocket()
5104 ( void ) xEventGroupSetBits( pxSocket->xEventGroup, ( EventBits_t ) eSOCKET_INTR ); in FreeRTOS_SignalSocket()
5131 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) xSocket; in FreeRTOS_SignalSocketFromISR() local
5135 configASSERT( pxSocket != NULL ); in FreeRTOS_SignalSocketFromISR()
5136 configASSERT( pxSocket->ucProtocol == ( uint8_t ) FREERTOS_IPPROTO_TCP ); in FreeRTOS_SignalSocketFromISR()
5137 configASSERT( pxSocket->xEventGroup != NULL ); in FreeRTOS_SignalSocketFromISR()
5140 xEvent.pvData = pxSocket; in FreeRTOS_SignalSocketFromISR()
5176 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) fds[ index ].fd;
5178 if( pxSocket->pxSocketSet != NULL )
5183 pxSocketSet = pxSocket->pxSocketSet;
5186 else if( pxSocketSet == pxSocket->pxSocketSet )
5223 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) fds[ index ].fd;
5226 FreeRTOS_FD_SET( pxSocket, pxSocketSet, xEventBits );
5227 FreeRTOS_FD_CLR( pxSocket, pxSocketSet, ( EventBits_t ) ~xEventBits );
5236 FreeRTOS_Socket_t * pxSocket = ( FreeRTOS_Socket_t * ) fds[ index ].fd;
5238 fds[ index ].revents = pxSocket->xSocketBits & ( ( EventBits_t ) eSELECT_ALL );