Lines Matching refs:pxSocket

96     static void prvTCPTouchSocket( FreeRTOS_Socket_t * pxSocket );
102 static TickType_t prvTCPNextTimeout( FreeRTOS_Socket_t * pxSocket );
122 void vSocketCloseNextTime( FreeRTOS_Socket_t * pxSocket ) in vSocketCloseNextTime() argument
124 if( ( xSocketToClose != NULL ) && ( xSocketToClose != pxSocket ) ) in vSocketCloseNextTime()
129 xSocketToClose = pxSocket; in vSocketCloseNextTime()
138 void vSocketListenNextTime( FreeRTOS_Socket_t * pxSocket ) in vSocketListenNextTime() argument
140 if( ( xSocketToListen != NULL ) && ( xSocketToListen != pxSocket ) ) in vSocketListenNextTime()
145 xSocketToListen = pxSocket; in vSocketListenNextTime()
167 BaseType_t xTCPSocketCheck( FreeRTOS_Socket_t * pxSocket ) in xTCPSocketCheck() argument
172 … if( ( pxSocket->u.xTCP.eTCPState >= eESTABLISHED ) && ( pxSocket->u.xTCP.txStream != NULL ) ) in xTCPSocketCheck()
176 prvTCPAddTxData( pxSocket ); in xTCPSocketCheck()
181 if( pxSocket->u.xTCP.pxAckMessage != NULL ) in xTCPSocketCheck()
185 if( pxSocket->u.xTCP.bits.bUserShutdown == pdFALSE_UNSIGNED ) in xTCPSocketCheck()
190 if( pxSocket->u.xTCP.eTCPState != eCLOSED ) in xTCPSocketCheck()
192 … if( ( xTCPWindowLoggingLevel > 1 ) && ipconfigTCP_MAY_LOG_PORT( pxSocket->usLocalPort ) ) in xTCPSocketCheck()
195 pxSocket->usLocalPort, in xTCPSocketCheck()
196 pxSocket->u.xTCP.usRemotePort, in xTCPSocketCheck()
197 …( unsigned ) ( pxSocket->u.xTCP.xTCPWindow.rx.ulCurrentSequenceNumber - pxSocket->u.xTCP.xTCPWindo… in xTCPSocketCheck()
198 …( unsigned ) ( pxSocket->u.xTCP.xTCPWindow.ulOurSequenceNumber - pxSocket->u.xTCP.xTCPWindow.tx.ul… in xTCPSocketCheck()
202 …prvTCPReturnPacket( pxSocket, pxSocket->u.xTCP.pxAckMessage, ipSIZE_OF_IPv4_HEADER + ipSIZE_OF_TCP… in xTCPSocketCheck()
208 pxSocket->u.xTCP.pxAckMessage = NULL; in xTCPSocketCheck()
213 if( prvTCPNextTimeout( pxSocket ) > 1U ) in xTCPSocketCheck()
226 if( pxSocket->u.xTCP.pxAckMessage != NULL ) in xTCPSocketCheck()
228 vReleaseNetworkBufferAndDescriptor( pxSocket->u.xTCP.pxAckMessage ); in xTCPSocketCheck()
229 pxSocket->u.xTCP.pxAckMessage = NULL; in xTCPSocketCheck()
238 if( ( pxSocket->u.xTCP.eTCPState >= eESTABLISHED ) || in xTCPSocketCheck()
239 ( pxSocket->u.xTCP.eTCPState == eCONNECT_SYN ) ) in xTCPSocketCheck()
241 ( void ) prvTCPSendPacket( pxSocket ); in xTCPSocketCheck()
245 ( void ) prvTCPNextTimeout( pxSocket ); in xTCPSocketCheck()
251 xResult = prvTCPStatusAgeCheck( pxSocket ); in xTCPSocketCheck()
269 static void prvTCPTouchSocket( FreeRTOS_Socket_t * pxSocket ) in prvTCPTouchSocket() argument
273 pxSocket->u.xTCP.xLastActTime = xTaskGetTickCount(); in prvTCPTouchSocket()
279 pxSocket->u.xTCP.bits.bWaitKeepAlive = pdFALSE_UNSIGNED; in prvTCPTouchSocket()
280 pxSocket->u.xTCP.bits.bSendKeepAlive = pdFALSE_UNSIGNED; in prvTCPTouchSocket()
281 pxSocket->u.xTCP.ucKeepRepCount = 0U; in prvTCPTouchSocket()
282 pxSocket->u.xTCP.xLastAliveTime = xTaskGetTickCount(); in prvTCPTouchSocket()
286 ( void ) pxSocket; in prvTCPTouchSocket()
299 void vTCPStateChange( FreeRTOS_Socket_t * pxSocket, in vTCPStateChange() argument
302 FreeRTOS_Socket_t * xParent = pxSocket; in vTCPStateChange()
303 …BaseType_t bBefore = tcpNOW_CONNECTED( ( BaseType_t ) pxSocket->u.xTCP.eTCPState ); /* Was it conn… in vTCPStateChange()
306 BaseType_t xPreviousState = ( BaseType_t ) pxSocket->u.xTCP.eTCPState; in vTCPStateChange()
333 if( pxSocket->u.xTCP.bits.bPassQueued != pdFALSE_UNSIGNED ) in vTCPStateChange()
336 if( pxSocket->u.xTCP.bits.bReuseSocket == pdFALSE_UNSIGNED ) in vTCPStateChange()
338 xParent = pxSocket->u.xTCP.pxPeerSocket; in vTCPStateChange()
347 if( pxSocket->u.xTCP.bits.bPassQueued != pdFALSE_UNSIGNED ) in vTCPStateChange()
358 xParent->u.xTCP.pxPeerSocket = pxSocket; in vTCPStateChange()
390 pxSocket->u.xTCP.pxPeerSocket = NULL; in vTCPStateChange()
391 pxSocket->u.xTCP.bits.bPassQueued = pdFALSE_UNSIGNED; in vTCPStateChange()
394 pxSocket->u.xTCP.bits.bPassAccept = pdTRUE_UNSIGNED; in vTCPStateChange()
401 pxSocket->xEventBits |= ( EventBits_t ) eSOCKET_CONNECT; in vTCPStateChange()
405 … if( ( pxSocket->xSelectBits & ( ( EventBits_t ) eSELECT_WRITE ) ) != 0U ) in vTCPStateChange()
407pxSocket->xEventBits |= ( ( EventBits_t ) eSELECT_WRITE ) << SOCKET_EVENT_BIT_COUNT; in vTCPStateChange()
430 …if( ( ipconfigIS_VALID_PROG_ADDRESS( pxSocket->u.xTCP.pxHandleConnected ) ) && ( xConnected == NUL… in vTCPStateChange()
433 xConnected = pxSocket; in vTCPStateChange()
438 if( prvTCPSocketIsActive( pxSocket->u.xTCP.eTCPState ) == 0 ) in vTCPStateChange()
444 pxSocket->u.xTCP.usTimeout = 0U; in vTCPStateChange()
453 if( ( pxSocket->u.xTCP.bits.bPassQueued != pdFALSE_UNSIGNED ) || in vTCPStateChange()
454 ( pxSocket->u.xTCP.bits.bPassAccept != pdFALSE_UNSIGNED ) ) in vTCPStateChange()
458 if( pxSocket->u.xTCP.bits.bReuseSocket == pdFALSE_UNSIGNED ) in vTCPStateChange()
461 vSocketCloseNextTime( pxSocket ); in vTCPStateChange()
467 pxSocket->u.xTCP.eTCPState = eTCPState; in vTCPStateChange()
469 … if( ( eTCPState == eCLOSE_WAIT ) && ( pxSocket->u.xTCP.bits.bReuseSocket == pdTRUE_UNSIGNED ) ) in vTCPStateChange()
475 … FreeRTOS_debug_printf( ( "Restoring a reuse socket port %u\n", pxSocket->usLocalPort ) ); in vTCPStateChange()
479 pxSocket->u.xTCP.eTCPState = eCLOSED; in vTCPStateChange()
483 vSocketListenNextTime( pxSocket ); in vTCPStateChange()
493 prvTCPTouchSocket( pxSocket ); in vTCPStateChange()
497 … if( ( xTCPWindowLoggingLevel >= 0 ) && ( ipconfigTCP_MAY_LOG_PORT( pxSocket->usLocalPort ) ) ) in vTCPStateChange()
500 pxSocket->usLocalPort, in vTCPStateChange()
501 ( unsigned ) pxSocket->u.xTCP.ulRemoteIP, in vTCPStateChange()
502 pxSocket->u.xTCP.usRemotePort, in vTCPStateChange()
534 static TickType_t prvTCPNextTimeout( FreeRTOS_Socket_t * pxSocket ) in prvTCPNextTimeout() argument
538 if( pxSocket->u.xTCP.eTCPState == eCONNECT_SYN ) in prvTCPNextTimeout()
541 if( pxSocket->u.xTCP.bits.bConnPrepared != pdFALSE_UNSIGNED ) in prvTCPNextTimeout()
545 if( pxSocket->u.xTCP.ucRepCount < 3U ) in prvTCPNextTimeout()
547 ulDelayMs = ( ( ( uint32_t ) 3000U ) << ( pxSocket->u.xTCP.ucRepCount - 1U ) ); in prvTCPNextTimeout()
561 … ( unsigned ) pxSocket->u.xTCP.ulRemoteIP, pxSocket->u.xTCP.usRemotePort, in prvTCPNextTimeout()
562 pxSocket->u.xTCP.ucRepCount, ( unsigned ) ulDelayMs ) ); in prvTCPNextTimeout()
563 pxSocket->u.xTCP.usTimeout = ( uint16_t ) ipMS_TO_MIN_TICKS( ulDelayMs ); in prvTCPNextTimeout()
565 else if( pxSocket->u.xTCP.usTimeout == 0U ) in prvTCPNextTimeout()
568 …BaseType_t xResult = xTCPWindowTxHasData( &pxSocket->u.xTCP.xTCPWindow, pxSocket->u.xTCP.ulWindowS… in prvTCPNextTimeout()
586pxSocket->u.xTCP.usTimeout = ( uint16_t ) ipMS_TO_MIN_TICKS( ulDelayMs ); /* LCOV_EXCL_BR_LINE ulD… in prvTCPNextTimeout()
595 return ( TickType_t ) pxSocket->u.xTCP.usTimeout; in prvTCPNextTimeout()
632 FreeRTOS_Socket_t * pxSocket; in xProcessReceivedTCPPacket() local
662pxSocket = ( FreeRTOS_Socket_t * ) pxTCPSocketLookup( ulLocalIP, usLocalPort, ulRemoteIP, usRemote… in xProcessReceivedTCPPacket()
664 … if( ( pxSocket == NULL ) || ( prvTCPSocketIsActive( pxSocket->u.xTCP.eTCPState ) == pdFALSE ) ) in xProcessReceivedTCPPacket()
690 pxSocket->u.xTCP.ucRepCount = 0U; in xProcessReceivedTCPPacket()
692 if( pxSocket->u.xTCP.eTCPState == eTCP_LISTEN ) in xProcessReceivedTCPPacket()
720 pxSocket = prvHandleListen( pxSocket, pxNetworkBuffer ); in xProcessReceivedTCPPacket()
722 if( pxSocket == NULL ) in xProcessReceivedTCPPacket()
737 if( pxSocket->u.xTCP.eTCPState == eCONNECT_SYN ) in xProcessReceivedTCPPacket()
741 … if( ulAckNumber == ( pxSocket->u.xTCP.xTCPWindow.ulOurSequenceNumber + 1U ) ) in xProcessReceivedTCPPacket()
743 vTCPStateChange( pxSocket, eCLOSED ); in xProcessReceivedTCPPacket()
749 … if( ulSequenceNumber == pxSocket->u.xTCP.xTCPWindow.rx.ulCurrentSequenceNumber ) in xProcessReceivedTCPPacket()
751 vTCPStateChange( pxSocket, eCLOSED ); in xProcessReceivedTCPPacket()
754 …else if( ( xSequenceGreaterThan( ulSequenceNumber, pxSocket->u.xTCP.xTCPWindow.rx.ulCurrentSequenc… in xProcessReceivedTCPPacket()
755 … ( xSequenceLessThan( ulSequenceNumber, pxSocket->u.xTCP.xTCPWindow.rx.ulCurrentSequenceNumber + in xProcessReceivedTCPPacket()
756pxSocket->u.xTCP.xTCPWindow.xSize.ulRxWindowLength ) != pdFALSE ) ) in xProcessReceivedTCPPacket()
771 …else if( ( ( ucTCPFlags & tcpTCP_FLAG_CTRL ) == tcpTCP_FLAG_SYN ) && ( pxSocket->u.xTCP.eTCPState … in xProcessReceivedTCPPacket()
784 … const size_t uxOffset = ipSIZE_OF_ETH_HEADER + uxIPHeaderSizeSocket( pxSocket ); in xProcessReceivedTCPPacket()
785 … ( void ) memcpy( ( void * ) ( &( pxSocket->u.xTCP.xPacket.u.ucLastPacket[ uxOffset ] ) ), in xProcessReceivedTCPPacket()
789pxSocket->u.xTCP.xPacket.u.ucLastPacket[ uxOffset + ipTCP_FLAGS_OFFSET ] = tcpTCP_FLAG_ACK; in xProcessReceivedTCPPacket()
799 configASSERT( pxSocket != NULL ); /* LCOV_EXCL_LINE ,this branch will not be hit*/ in xProcessReceivedTCPPacket()
803 prvTCPTouchSocket( pxSocket ); in xProcessReceivedTCPPacket()
814 xResult = prvCheckOptions( pxSocket, pxNetworkBuffer ); in xProcessReceivedTCPPacket()
820 pxSocket->u.xTCP.ulWindowSize = ( uint32_t ) usWindow; in xProcessReceivedTCPPacket()
827 pxSocket->u.xTCP.ulWindowSize = in xProcessReceivedTCPPacket()
828 … ( pxSocket->u.xTCP.ulWindowSize << pxSocket->u.xTCP.ucPeerWinScaleFactor ); in xProcessReceivedTCPPacket()
835 if( prvTCPHandleState( pxSocket, &pxNetworkBuffer ) > 0 ) in xProcessReceivedTCPPacket()
841 ( void ) prvTCPSendRepeated( pxSocket, &pxNetworkBuffer ); in xProcessReceivedTCPPacket()
859 ( void ) prvTCPNextTimeout( pxSocket ); in xProcessReceivedTCPPacket()
878 BaseType_t xTCPCheckNewClient( FreeRTOS_Socket_t * pxSocket ) in xTCPCheckNewClient() argument
880 TickType_t uxLocalPort = ( TickType_t ) FreeRTOS_htons( pxSocket->usLocalPort ); in xTCPCheckNewClient()
902 pxSocket->u.xTCP.pxPeerSocket = pxFound; in xTCPCheckNewClient()
903 … FreeRTOS_debug_printf( ( "xTCPCheckNewClient[0]: client on port %u\n", pxSocket->usLocalPort ) ); in xTCPCheckNewClient()