Lines Matching refs:pxSocket

71     static BaseType_t prvTCPPrepareConnect( FreeRTOS_Socket_t * pxSocket );
81 static BaseType_t prvTCPMakeSurePrepared( FreeRTOS_Socket_t * pxSocket ) in prvTCPMakeSurePrepared() argument
85 if( pxSocket->u.xTCP.bits.bConnPrepared == pdFALSE_UNSIGNED ) in prvTCPMakeSurePrepared()
87 if( prvTCPPrepareConnect( pxSocket ) != pdTRUE ) in prvTCPMakeSurePrepared()
107 int32_t prvTCPSendPacket( FreeRTOS_Socket_t * pxSocket ) in prvTCPSendPacket() argument
113 if( pxSocket->u.xTCP.eTCPState != eCONNECT_SYN ) in prvTCPSendPacket()
120 lResult = prvTCPSendRepeated( pxSocket, &pxNetworkBuffer ); in prvTCPSendPacket()
129 if( pxSocket->u.xTCP.ucRepCount >= 3U ) in prvTCPSendPacket()
135 … ( unsigned ) pxSocket->u.xTCP.xRemoteIP.ulIP_IPv4, /* IP address of remote machine. */ in prvTCPSendPacket()
136pxSocket->u.xTCP.usRemotePort ) ); /* Port on remote machine. */ in prvTCPSendPacket()
137 vTCPStateChange( pxSocket, eCLOSE_WAIT ); in prvTCPSendPacket()
139 else if( prvTCPMakeSurePrepared( pxSocket ) == pdTRUE ) in prvTCPSendPacket()
151 …( ( ProtocolHeaders_t * ) &( pxSocket->u.xTCP.xPacket.u.ucLastPacket[ ipSIZE_OF_ETH_HEADER + uxIPH… in prvTCPSendPacket()
156 … uxOptionsLength = prvSetSynAckOptions( pxSocket, &( pxProtocolHeaders->xTCPHeader ) ); in prvTCPSendPacket()
159 … uxIntermediateResult = uxIPHeaderSizeSocket( pxSocket ) + ipSIZE_OF_TCP_HEADER + uxOptionsLength; in prvTCPSendPacket()
170 pxSocket->u.xTCP.ucRepCount++; in prvTCPSendPacket()
175 prvTCPReturnPacket( pxSocket, NULL, ( uint32_t ) lResult, pdFALSE ); in prvTCPSendPacket()
198 int32_t prvTCPSendRepeated( FreeRTOS_Socket_t * pxSocket, in prvTCPSendRepeated() argument
210 xSendLength = prvTCPPrepareSend( pxSocket, ppxNetworkBuffer, uxOptionsLength ); in prvTCPSendRepeated()
218 …prvTCPReturnPacket( pxSocket, *ppxNetworkBuffer, ( uint32_t ) xSendLength, ipconfigZERO_COPY_TX_DR… in prvTCPSendRepeated()
246 void prvTCPReturnPacket( FreeRTOS_Socket_t * pxSocket, in prvTCPReturnPacket() argument
263 else if( pxSocket != NULL ) in prvTCPReturnPacket()
266 if( uxIPHeaderSizeSocket( pxSocket ) == ipSIZE_OF_IPv6_HEADER ) in prvTCPReturnPacket()
281 prvTCPReturnPacket_IPV6( pxSocket, pxDescriptor, ulLen, xReleaseAfterSend ); in prvTCPReturnPacket()
288 prvTCPReturnPacket_IPV4( pxSocket, pxDescriptor, ulLen, xReleaseAfterSend ); in prvTCPReturnPacket()
301 void prvTCPReturn_CheckTCPWindow( FreeRTOS_Socket_t * pxSocket, in prvTCPReturn_CheckTCPWindow() argument
307 const TCPWindow_t * pxTCPWindow = &( pxSocket->u.xTCP.xTCPWindow ); in prvTCPReturn_CheckTCPWindow()
317 if( pxSocket->u.xTCP.rxStream != NULL ) in prvTCPReturn_CheckTCPWindow()
321 ulFrontSpace = ( uint32_t ) uxStreamBufferFrontSpace( pxSocket->u.xTCP.rxStream ); in prvTCPReturn_CheckTCPWindow()
327 ulFrontSpace = ( uint32_t ) pxSocket->u.xTCP.uxRxStreamSize; in prvTCPReturn_CheckTCPWindow()
333 …if( ( pxSocket->u.xTCP.bits.bLowWater != pdFALSE_UNSIGNED ) || ( pxSocket->u.xTCP.bits.bRxStopped … in prvTCPReturn_CheckTCPWindow()
345 if( ( ulSpace < pxSocket->u.xTCP.usMSS ) && ( ulFrontSpace >= pxSocket->u.xTCP.usMSS ) ) in prvTCPReturn_CheckTCPWindow()
347 ulSpace = pxSocket->u.xTCP.usMSS; in prvTCPReturn_CheckTCPWindow()
353 ulWinSize = ( ulSpace >> pxSocket->u.xTCP.ucMyWinScaleFactor ); in prvTCPReturn_CheckTCPWindow()
369 pxSocket->u.xTCP.bits.bWinChange = pdFALSE_UNSIGNED; in prvTCPReturn_CheckTCPWindow()
374 pxSocket->u.xTCP.ulHighestRxAllowed = pxTCPWindow->rx.ulCurrentSequenceNumber + ulSpace; in prvTCPReturn_CheckTCPWindow()
387 void prvTCPReturn_SetSequenceNumber( FreeRTOS_Socket_t * pxSocket, in prvTCPReturn_SetSequenceNumber() argument
393 const TCPWindow_t * pxTCPWindow = &( pxSocket->u.xTCP.xTCPWindow ); in prvTCPReturn_SetSequenceNumber()
401 if( pxSocket->u.xTCP.bits.bSendKeepAlive != pdFALSE_UNSIGNED ) in prvTCPReturn_SetSequenceNumber()
406 pxSocket->u.xTCP.bits.bSendKeepAlive = pdFALSE_UNSIGNED; in prvTCPReturn_SetSequenceNumber()
407 pxSocket->u.xTCP.bits.bWaitKeepAlive = pdTRUE_UNSIGNED; in prvTCPReturn_SetSequenceNumber()
409 …pxProtocolHeaders->xTCPHeader.ulSequenceNumber = pxSocket->u.xTCP.xTCPWindow.ulOurSequenceNumber -… in prvTCPReturn_SetSequenceNumber()
415 …pxProtocolHeaders->xTCPHeader.ulSequenceNumber = FreeRTOS_htonl( pxSocket->u.xTCP.xTCPWindow.ulOur… in prvTCPReturn_SetSequenceNumber()
421 …t ulDataLen = ( uint32_t ) ( ulLen - ( ipSIZE_OF_TCP_HEADER + uxIPHeaderSizeSocket( pxSocket ) ) ); in prvTCPReturn_SetSequenceNumber()
449 void prvTCPCreateWindow( FreeRTOS_Socket_t * pxSocket ) in prvTCPCreateWindow() argument
451 uint32_t ulRxWindowSize = ( uint32_t ) pxSocket->u.xTCP.uxRxWinSize; in prvTCPCreateWindow()
452 uint32_t ulTxWindowSize = ( uint32_t ) pxSocket->u.xTCP.uxTxWinSize; in prvTCPCreateWindow()
457 … ( unsigned ) ( pxSocket->u.xTCP.uxRxWinSize * ipconfigTCP_MSS ), in prvTCPCreateWindow()
458 ( unsigned ) pxSocket->u.xTCP.uxLittleSpace, in prvTCPCreateWindow()
459 ( unsigned ) pxSocket->u.xTCP.uxEnoughSpace, in prvTCPCreateWindow()
460 ( unsigned ) pxSocket->u.xTCP.uxRxStreamSize ) ); in prvTCPCreateWindow()
464 &pxSocket->u.xTCP.xTCPWindow, in prvTCPCreateWindow()
467 pxSocket->u.xTCP.xTCPWindow.rx.ulCurrentSequenceNumber, in prvTCPCreateWindow()
468 pxSocket->u.xTCP.xTCPWindow.ulOurSequenceNumber, in prvTCPCreateWindow()
469 ( uint32_t ) pxSocket->u.xTCP.usMSS ); in prvTCPCreateWindow()
488 static BaseType_t prvTCPPrepareConnect( FreeRTOS_Socket_t * pxSocket ) in prvTCPPrepareConnect() argument
492 switch( pxSocket->bits.bIsIPv6 ) /* LCOV_EXCL_BR_LINE */ in prvTCPPrepareConnect()
496 xReturn = prvTCPPrepareConnect_IPV4( pxSocket ); in prvTCPPrepareConnect()
502 xReturn = prvTCPPrepareConnect_IPV6( pxSocket ); in prvTCPPrepareConnect()
524 static uint8_t prvWinScaleFactor( const FreeRTOS_Socket_t * pxSocket ) in prvWinScaleFactor() argument
531 uxWinSize = pxSocket->u.xTCP.uxRxWinSize * ( size_t ) pxSocket->u.xTCP.usMSS; in prvWinScaleFactor()
542 ( unsigned ) pxSocket->u.xTCP.uxRxWinSize, in prvWinScaleFactor()
543 pxSocket->u.xTCP.usMSS, in prvWinScaleFactor()
567 UBaseType_t prvSetSynAckOptions( FreeRTOS_Socket_t * pxSocket, in prvSetSynAckOptions() argument
570 uint16_t usMSS = pxSocket->u.xTCP.usMSS; in prvSetSynAckOptions()
582 pxSocket->u.xTCP.ucMyWinScaleFactor = prvWinScaleFactor( pxSocket ); in prvSetSynAckOptions()
587 pxTCPHeader->ucOptdata[ 7 ] = ( uint8_t ) pxSocket->u.xTCP.ucMyWinScaleFactor; in prvSetSynAckOptions()
624 NetworkBufferDescriptor_t * prvTCPBufferResize( const FreeRTOS_Socket_t * pxSocket, in prvTCPBufferResize() argument
654 …uxNeeded = ipSIZE_OF_ETH_HEADER + uxIPHeaderSizeSocket( pxSocket ) + ipSIZE_OF_TCP_HEADER + uxOpti… in prvTCPBufferResize()
657 if( uxNeeded < sizeof( pxSocket->u.xTCP.xPacket.u.ucLastPacket ) ) in prvTCPBufferResize()
659 uxNeeded = sizeof( pxSocket->u.xTCP.xPacket.u.ucLastPacket ); in prvTCPBufferResize()
698 …( void ) memcpy( pxReturn->pucEthernetBuffer, pxSocket->u.xTCP.xPacket.u.ucLastPacket, sizeof( pxS… in prvTCPBufferResize()
708 …xDataLength = ( size_t ) ( ipSIZE_OF_ETH_HEADER + uxIPHeaderSizeSocket( pxSocket ) + ipSIZE_OF_TCP… in prvTCPBufferResize()
723 void prvTCPReturn_SetEndPoint( const FreeRTOS_Socket_t * pxSocket, in prvTCPReturn_SetEndPoint() argument
734 if( ( pxSocket != NULL ) && ( pxSocket->pxEndPoint != NULL ) ) in prvTCPReturn_SetEndPoint()
736 pxNetworkBuffer->pxEndPoint = pxSocket->pxEndPoint; in prvTCPReturn_SetEndPoint()
807 int32_t prvTCPPrepareSend( FreeRTOS_Socket_t * pxSocket, in prvTCPPrepareSend() argument
829 pucEthernetBuffer = pxSocket->u.xTCP.xPacket.u.ucLastPacket; in prvTCPPrepareSend()
837 …lHeaders_t * ) &( pucEthernetBuffer[ ipSIZE_OF_ETH_HEADER + uxIPHeaderSizeSocket( pxSocket ) ] ) ); in prvTCPPrepareSend()
838 pxTCPWindow = &( pxSocket->u.xTCP.xTCPWindow ); in prvTCPPrepareSend()
843 if( pxSocket->u.xTCP.txStream != NULL ) in prvTCPPrepareSend()
849 if( pxSocket->u.xTCP.usMSS > 1U ) in prvTCPPrepareSend()
851 …lDataLen = ( int32_t ) ulTCPWindowTxGet( pxTCPWindow, pxSocket->u.xTCP.ulWindowSize, &lStreamPos ); in prvTCPPrepareSend()
858 … pxNewBuffer = prvTCPBufferResize( pxSocket, *ppxNetworkBuffer, lDataLen, uxOptionsLength ); in prvTCPPrepareSend()
871 …lHeaders_t * ) &( pucEthernetBuffer[ ipSIZE_OF_ETH_HEADER + uxIPHeaderSizeSocket( pxSocket ) ] ) ); in prvTCPPrepareSend()
873 …ta = &( pucEthernetBuffer[ ipSIZE_OF_ETH_HEADER + uxIPHeaderSizeSocket( pxSocket ) + ipSIZE_OF_TCP… in prvTCPPrepareSend()
877 …uxOffset = uxStreamBufferDistance( pxSocket->u.xTCP.txStream, pxSocket->u.xTCP.txStream->uxTail, (… in prvTCPPrepareSend()
881 …ulDataGot = ( uint32_t ) uxStreamBufferGet( pxSocket->u.xTCP.txStream, uxOffset, pucSendData, ( si… in prvTCPPrepareSend()
895 if( pxSocket->u.xTCP.bits.bCloseRequested != pdFALSE_UNSIGNED ) in prvTCPPrepareSend()
897 …istance = ( uint32_t ) uxStreamBufferDistance( pxSocket->u.xTCP.txStream, ( size_t ) lStreamPos, p… in prvTCPPrepareSend()
905 size_t uxHead = pxSocket->u.xTCP.txStream->uxHead; in prvTCPPrepareSend()
906 size_t uxMid = pxSocket->u.xTCP.txStream->uxMid; in prvTCPPrepareSend()
907 size_t uxTail = pxSocket->u.xTCP.txStream->uxTail; in prvTCPPrepareSend()
920 pxSocket->u.xTCP.bits.bFinSent = pdTRUE_UNSIGNED; in prvTCPPrepareSend()
931 if( ( lDataLen >= 0 ) && ( pxSocket->u.xTCP.eTCPState == eESTABLISHED ) ) in prvTCPPrepareSend()
934 if( ( pxSocket->u.xTCP.bits.bUserShutdown != pdFALSE_UNSIGNED ) && in prvTCPPrepareSend()
937 pxSocket->u.xTCP.bits.bUserShutdown = pdFALSE_UNSIGNED; in prvTCPPrepareSend()
939 pxSocket->u.xTCP.bits.bFinSent = pdTRUE_UNSIGNED; in prvTCPPrepareSend()
940 pxSocket->u.xTCP.bits.bWinChange = pdTRUE_UNSIGNED; in prvTCPPrepareSend()
942 vTCPStateChange( pxSocket, eFIN_WAIT_1 ); in prvTCPPrepareSend()
947 if( pxSocket->u.xTCP.ucKeepRepCount > 3U ) /*_RB_ Magic number. */ in prvTCPPrepareSend()
950 … ( unsigned ) pxSocket->u.xTCP.xRemoteIP.ulIP_IPv4, /* IP address of remote machine. */ in prvTCPPrepareSend()
951pxSocket->u.xTCP.usRemotePort ) ); /* Port on remote machine. */ in prvTCPPrepareSend()
952 vTCPStateChange( pxSocket, eCLOSE_WAIT ); in prvTCPPrepareSend()
956 … if( ( lDataLen == 0 ) && ( pxSocket->u.xTCP.bits.bWinChange == pdFALSE_UNSIGNED ) ) in prvTCPPrepareSend()
960 TickType_t xAge = xTaskGetTickCount() - pxSocket->u.xTCP.xLastAliveTime; in prvTCPPrepareSend()
964 if( pxSocket->u.xTCP.ucKeepRepCount != 0U ) in prvTCPPrepareSend()
971 pxSocket->u.xTCP.xLastAliveTime = xTaskGetTickCount(); in prvTCPPrepareSend()
976 … ( unsigned ) pxSocket->u.xTCP.xRemoteIP.ulIP_IPv4, in prvTCPPrepareSend()
977 pxSocket->u.xTCP.usRemotePort, in prvTCPPrepareSend()
978 pxSocket->u.xTCP.ucKeepRepCount ) ); in prvTCPPrepareSend()
981 pxSocket->u.xTCP.bits.bSendKeepAlive = pdTRUE_UNSIGNED; in prvTCPPrepareSend()
982 pxSocket->u.xTCP.usTimeout = ( ( uint16_t ) pdMS_TO_TICKS( 2500U ) ); in prvTCPPrepareSend()
983 pxSocket->u.xTCP.ucKeepRepCount++; in prvTCPPrepareSend()
995 ( pxSocket->u.xTCP.bits.bWinChange != pdFALSE_UNSIGNED ) || in prvTCPPrepareSend()
996 ( pxSocket->u.xTCP.bits.bSendKeepAlive != pdFALSE_UNSIGNED ) ) in prvTCPPrepareSend()
1008 … uxIntermediateResult = uxIPHeaderSizeSocket( pxSocket ) + ipSIZE_OF_TCP_HEADER + uxOptionsLength; in prvTCPPrepareSend()
1024 void prvTCPAddTxData( FreeRTOS_Socket_t * pxSocket ) in prvTCPAddTxData() argument
1034 lLength = ( int32_t ) uxStreamBufferMidSpace( pxSocket->u.xTCP.txStream ); in prvTCPAddTxData()
1044 lCount = lTCPWindowTxAdd( &pxSocket->u.xTCP.xTCPWindow, in prvTCPAddTxData()
1046 ( int32_t ) pxSocket->u.xTCP.txStream->uxMid, in prvTCPAddTxData()
1047 ( int32_t ) pxSocket->u.xTCP.txStream->LENGTH ); in prvTCPAddTxData()
1052 vStreamBufferMoveMid( pxSocket->u.xTCP.txStream, ( size_t ) lCount ); in prvTCPAddTxData()
1067 UBaseType_t prvSetOptions( FreeRTOS_Socket_t * pxSocket, in prvSetOptions() argument
1078 const TCPWindow_t * pxTCPWindow = &pxSocket->u.xTCP.xTCPWindow; in prvSetOptions()
1093 pxSocket->usLocalPort, in prvSetOptions()
1094 pxSocket->u.xTCP.usRemotePort, in prvSetOptions()
1096 …( unsigned ) ( FreeRTOS_ntohl( pxTCPWindow->ulOptionsData[ 1 ] ) - pxSocket->u.xTCP.xTCPWindow.rx.… in prvSetOptions()
1097 …( unsigned ) ( FreeRTOS_ntohl( pxTCPWindow->ulOptionsData[ 2 ] ) - pxSocket->u.xTCP.xTCPWindow.rx.… in prvSetOptions()
1116 …if( ( pxSocket->u.xTCP.eTCPState >= eESTABLISHED ) && ( pxSocket->u.xTCP.bits.bMssChange != pdFALS… in prvSetOptions()
1119 pxSocket->u.xTCP.bits.bMssChange = pdFALSE_UNSIGNED; in prvSetOptions()
1123 FreeRTOS_debug_printf( ( "MSS: sending %u\n", pxSocket->u.xTCP.usMSS ) ); in prvSetOptions()
1128 pxTCPHeader->ucOptdata[ 2 ] = ( uint8_t ) ( ( pxSocket->u.xTCP.usMSS ) >> 8 ); in prvSetOptions()
1129 pxTCPHeader->ucOptdata[ 3 ] = ( uint8_t ) ( ( pxSocket->u.xTCP.usMSS ) & 0xffU ); in prvSetOptions()
1155 BaseType_t prvSendData( FreeRTOS_Socket_t * pxSocket, in prvSendData() argument
1168 const TCPWindow_t * pxTCPWindow = &pxSocket->u.xTCP.xTCPWindow; in prvSendData()
1184 … ulRxBufferSpace = pxSocket->u.xTCP.ulHighestRxAllowed - pxTCPWindow->rx.ulCurrentSequenceNumber; in prvSendData()
1190 lMinLength = ( ( int32_t ) 2 ) * ( ( int32_t ) pxSocket->u.xTCP.usMSS ); in prvSendData()
1197 … ( pxSocket->u.xTCP.bits.bFinSent == pdFALSE_UNSIGNED ) && /* Not in a closure phase. */ in prvSendData()
1199 … ( pxSocket->u.xTCP.eTCPState == eESTABLISHED ) && /* Connection established. */ in prvSendData()
1202 uint32_t ulCurMSS = ( uint32_t ) pxSocket->u.xTCP.usMSS; in prvSendData()
1204 if( pxSocket->u.xTCP.pxAckMessage != *ppxNetworkBuffer ) in prvSendData()
1207 if( pxSocket->u.xTCP.pxAckMessage != NULL ) in prvSendData()
1209 vReleaseNetworkBufferAndDescriptor( pxSocket->u.xTCP.pxAckMessage ); in prvSendData()
1212 pxSocket->u.xTCP.pxAckMessage = *ppxNetworkBuffer; in prvSendData()
1217 pxSocket->u.xTCP.usTimeout = ( uint16_t ) tcpDELAYED_ACK_SHORT_DELAY_MS; in prvSendData()
1224pxSocket->u.xTCP.usTimeout = ( uint16_t ) pdMS_TO_TICKS( tcpDELAYED_ACK_LONGER_DELAY_MS ); in prvSendData()
1226 … if( pxSocket->u.xTCP.usTimeout < 1U ) /* LCOV_EXCL_BR_LINE, the second branch will never be hit */ in prvSendData()
1228pxSocket->u.xTCP.usTimeout = 1U; /* LCOV_EXCL_LINE, this line will not be reached */ in prvSendData()
1232 … if( ( xTCPWindowLoggingLevel > 1 ) && ( ipconfigTCP_MAY_LOG_PORT( pxSocket->usLocalPort ) ) ) in prvSendData()
1235 pxSocket->usLocalPort, in prvSendData()
1236 pxSocket->u.xTCP.usRemotePort, in prvSendData()
1238 …( unsigned ) ( pxSocket->u.xTCP.xTCPWindow.ulOurSequenceNumber - pxTCPWindow->tx.ulFirstSequenceNu… in prvSendData()
1240 pxSocket->u.xTCP.usTimeout, in prvSendData()
1247 else if( pxSocket->u.xTCP.pxAckMessage != NULL ) in prvSendData()
1251 if( pxSocket->u.xTCP.pxAckMessage != *ppxNetworkBuffer ) in prvSendData()
1253 vReleaseNetworkBufferAndDescriptor( pxSocket->u.xTCP.pxAckMessage ); in prvSendData()
1256 pxSocket->u.xTCP.pxAckMessage = NULL; in prvSendData()
1274 … if( ( xTCPWindowLoggingLevel > 1 ) && ( ipconfigTCP_MAY_LOG_PORT( pxSocket->usLocalPort ) ) ) in prvSendData()
1277 pxSocket->usLocalPort, in prvSendData()
1278 pxSocket->u.xTCP.usRemotePort, in prvSendData()
1286 …prvTCPReturnPacket( pxSocket, *ppxNetworkBuffer, ( uint32_t ) xSendLength, ipconfigZERO_COPY_TX_DR… in prvSendData()