From: niry Date: Fri, 5 Dec 2008 23:47:55 +0000 (+0000) Subject: Add comments for functions and fix some coding style issue. X-Git-Tag: edk2-stable201903~19361 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=120db52c6db13e1726be90fddedd842190566a6e Add comments for functions and fix some coding style issue. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6885 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.c index 602765b252..14342dfff0 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.c +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.c @@ -20,18 +20,41 @@ Abstract: #include "SockImpl.h" +/** + Get the length of the data that can be retrieved from the socket + receive buffer. + + @param SockBuffer Pointer to the socket receive buffer. + @param IsUrg Pointer to a BOOLEAN variable. If TRUE the data is + OOB. + @param BufLen The maximum length of the data buffer to store the + received data in socket layer. + + @return The length of the data can be retreived. + +**/ UINT32 SockTcpDataToRcv ( IN SOCK_BUFFER *SockBuffer, OUT BOOLEAN *IsOOB, IN UINT32 BufLen ); + +/** + Process the send token. + @param Sock Pointer to the socket. + +**/ VOID SockProcessSndToken ( IN SOCKET *Sock ); +/** + + +**/ VOID SockFreeFoo ( IN EFI_EVENT Event @@ -56,9 +79,9 @@ SockFreeFoo ( **/ UINT32 SockTcpDataToRcv ( - IN SOCK_BUFFER *SockBuffer, - OUT BOOLEAN *IsUrg, - IN UINT32 BufLen + IN SOCK_BUFFER *SockBuffer, + OUT BOOLEAN *IsUrg, + IN UINT32 BufLen ) { NET_BUF *RcvBufEntry; @@ -66,10 +89,10 @@ SockTcpDataToRcv ( TCP_RSV_DATA *TcpRsvData; BOOLEAN Urg; - ASSERT (SockBuffer && IsUrg && (BufLen > 0)); + ASSERT ((SockBuffer != NULL) && (IsUrg != NULL) && (BufLen > 0)); RcvBufEntry = SockBufFirst (SockBuffer); - ASSERT (RcvBufEntry); + ASSERT (RcvBufEntry != NULL); TcpRsvData = (TCP_RSV_DATA *) RcvBufEntry->ProtoData; @@ -133,8 +156,6 @@ SockTcpDataToRcv ( @param RcvdBytes The maximum length of the data can be copied. @param IsOOB If TURE the data is OOB, else the data is normal. - @return None. - **/ VOID SockSetTcpRxData ( @@ -197,7 +218,7 @@ SockProcessRcvToken ( EFI_TCP4_RECEIVE_DATA *RxData; BOOLEAN IsUrg; - ASSERT (Sock); + ASSERT (Sock != NULL); ASSERT (SOCK_STREAM == Sock->Type); @@ -305,9 +326,7 @@ SockProcessTcpSndData ( @param Sock Pointer to the socket. @param PendingTokenList Pointer to the token list to be flushed. - - @return None. - + **/ VOID SockFlushPendingToken ( @@ -318,7 +337,7 @@ SockFlushPendingToken ( SOCK_TOKEN *SockToken; SOCK_COMPLETION_TOKEN *Token; - ASSERT (Sock && PendingTokenList); + ASSERT ((Sock != NULL) && (PendingTokenList != NULL)); while (!IsListEmpty (PendingTokenList)) { SockToken = NET_LIST_HEAD ( @@ -337,14 +356,11 @@ SockFlushPendingToken ( /** - Wake up the connection token while the connection is - successfully established, then try to process any - pending send token. + Wake up the connection token while the connection is successfully established, + then try to process any pending send token. @param Sock Pointer to the socket. - @return None. - **/ VOID SockWakeConnToken ( @@ -365,13 +381,10 @@ SockWakeConnToken ( /** - Wake up the listen token while the connection is - established successfully. + Wake up the listen token while the connection is established successfully. @param Sock Pointer to the socket. - @return None. - **/ VOID SockWakeListenToken ( @@ -384,7 +397,7 @@ SockWakeListenToken ( Parent = Sock->Parent; - ASSERT (Parent && SOCK_IS_LISTENING (Parent) && SOCK_IS_CONNECTED (Sock)); + ASSERT ((Parent != NULL) && SOCK_IS_LISTENING (Parent) && SOCK_IS_CONNECTED (Sock)); if (!IsListEmpty (&Parent->ListenTokenList)) { SockToken = NET_LIST_HEAD ( @@ -416,8 +429,6 @@ SockWakeListenToken ( @param Sock Pointer to the socket. - @return None. - **/ VOID SockWakeRcvToken ( @@ -429,7 +440,7 @@ SockWakeRcvToken ( SOCK_TOKEN *SockToken; SOCK_IO_TOKEN *RcvToken; - ASSERT (Sock->RcvBuffer.DataQueue); + ASSERT (Sock->RcvBuffer.DataQueue != NULL); RcvdBytes = (Sock->RcvBuffer.DataQueue)->BufSize; @@ -462,8 +473,6 @@ SockWakeRcvToken ( @param Sock Pointer to the socket. - @return None. - **/ VOID SockProcessSndToken ( @@ -477,7 +486,7 @@ SockProcessSndToken ( EFI_TCP4_TRANSMIT_DATA *TxData; EFI_STATUS Status; - ASSERT (Sock && (SOCK_STREAM == Sock->Type)); + ASSERT ((Sock != NULL) && (SOCK_STREAM == Sock->Type)); FreeSpace = SockGetFreeSpace (Sock, SOCK_SND_BUF); @@ -552,9 +561,9 @@ SockCreate ( SOCKET *Parent; EFI_STATUS Status; - ASSERT (SockInitData && SockInitData->ProtoHandler); + ASSERT ((SockInitData != NULL) && (SockInitData->ProtoHandler != NULL)); ASSERT (SockInitData->Type == SOCK_STREAM); - ASSERT (SockInitData->ProtoData && (SockInitData->DataSize <= PROTO_RESERVED_LEN)); + ASSERT ((SockInitData->ProtoData != NULL) && (SockInitData->DataSize <= PROTO_RESERVED_LEN)); Parent = SockInitData->Parent; @@ -706,8 +715,6 @@ OnError: @param Sock Pointer to the socket. - @return None. - **/ VOID SockDestroy ( @@ -807,8 +814,6 @@ FreeSock: @param Sock Pointer to the socket. - @return None. - **/ VOID SockConnFlush ( @@ -817,7 +822,7 @@ SockConnFlush ( { SOCKET *Child; - ASSERT (Sock); + ASSERT (Sock != NULL); // // Clear the flag in this socket @@ -875,8 +880,6 @@ SockConnFlush ( @param Sock Pointer to the socket. @param State The new state to be set. - @return None. - **/ VOID SockSetState ( @@ -893,8 +896,7 @@ SockSetState ( @param Sock Pointer to the socket to be cloned. - @retval * Pointer to the newly cloned socket. If NULL, error - condition occurred. + @return Pointer to the newly cloned socket. If NULL, error condition occurred. **/ SOCKET * @@ -905,22 +907,22 @@ SockClone ( SOCKET *ClonedSock; SOCK_INIT_DATA InitData; - InitData.BackLog = Sock->BackLog; - InitData.Parent = Sock; - InitData.State = Sock->State; - InitData.ProtoHandler = Sock->ProtoHandler; - InitData.Type = Sock->Type; - InitData.RcvBufferSize = Sock->RcvBuffer.HighWater; - InitData.SndBufferSize = Sock->SndBuffer.HighWater; - InitData.DriverBinding = Sock->DriverBinding; - InitData.Protocol = &(Sock->NetProtocol); + InitData.BackLog = Sock->BackLog; + InitData.Parent = Sock; + InitData.State = Sock->State; + InitData.ProtoHandler = Sock->ProtoHandler; + InitData.Type = Sock->Type; + InitData.RcvBufferSize = Sock->RcvBuffer.HighWater; + InitData.SndBufferSize = Sock->SndBuffer.HighWater; + InitData.DriverBinding = Sock->DriverBinding; + InitData.Protocol = &(Sock->NetProtocol); InitData.CreateCallback = Sock->CreateCallback; InitData.DestroyCallback = Sock->DestroyCallback; InitData.Context = Sock->Context; InitData.ProtoData = Sock->ProtoReserved; InitData.DataSize = sizeof (Sock->ProtoReserved); - ClonedSock = SockCreate (&InitData); + ClonedSock = SockCreate (&InitData); if (NULL == ClonedSock) { DEBUG ((EFI_D_ERROR, "SockClone: no resource to create a cloned sock\n")); @@ -935,16 +937,12 @@ SockClone ( /** - Called by the low layer protocol to indicate the socket - a connection is established. This function just changes - the socket's state to SO_CONNECTED and signals the token - used for connection establishment. + Called by the low layer protocol to indicate the socket a connection is + established. This function just changes the socket's state to SO_CONNECTED + and signals the token used for connection establishment. @param Sock Pointer to the socket associated with the established connection. - - @return None. - **/ VOID SockConnEstablished ( @@ -967,15 +965,12 @@ SockConnEstablished ( /** - Called by the low layer protocol to indicate the connection - is closed. This function flushes the socket, sets the state - to SO_CLOSED and signals the close token. + Called by the low layer protocol to indicate the connection is closed; This + function flushes the socket, sets the state to SO_CLOSED and signals the close + token. @param Sock Pointer to the socket associated with the closed connection. - - @return None. - **/ VOID SockConnClosed ( @@ -998,16 +993,13 @@ SockConnClosed ( /** - Called by low layer protocol to indicate that some - data is sent or processed. This function trims the - sent data in the socket send buffer, signals the - data token if proper + Called by low layer protocol to indicate that some data is sent or processed; + This function trims the sent data in the socket send buffer, signals the data + token if proper. @param Sock Pointer to the socket. @param Count The length of the data processed or sent, in bytes. - @return None. - **/ VOID SockDataSent ( @@ -1078,7 +1070,7 @@ SockGetDataToSend ( IN UINT8 *Dest ) { - ASSERT (Sock && SOCK_STREAM == Sock->Type); + ASSERT ((Sock != NULL) && SOCK_STREAM == Sock->Type); return NetbufQueCopy ( Sock->SndBuffer.DataQueue, @@ -1090,18 +1082,15 @@ SockGetDataToSend ( /** - Called by the low layer protocol to deliver received data - to socket layer. This function will append the data to the - socket receive buffer, set ther urgent data length and then - check if any receive token can be signaled. + Called by the low layer protocol to deliver received data to socket layer; + This function will append the data to the socket receive buffer, set ther + urgent data length and then check if any receive token can be signaled. @param Sock Pointer to the socket. @param NetBuffer Pointer to the buffer that contains the received data. @param UrgLen The length of the urgent data in the received data. - @return None. - **/ VOID SockDataRcvd ( @@ -1110,7 +1099,7 @@ SockDataRcvd ( IN UINT32 UrgLen ) { - ASSERT (Sock && Sock->RcvBuffer.DataQueue && + ASSERT ((Sock != NULL) && (Sock->RcvBuffer.DataQueue != NULL) && UrgLen <= NetBuffer->TotalSize); NET_GET_REF (NetBuffer); @@ -1143,7 +1132,7 @@ SockGetFreeSpace ( UINT32 BufferCC; SOCK_BUFFER *SockBuffer; - ASSERT (Sock && ((SOCK_SND_BUF == Which) || (SOCK_RCV_BUF == Which))); + ASSERT ((Sock != NULL) && ((SOCK_SND_BUF == Which) || (SOCK_RCV_BUF == Which))); if (SOCK_SND_BUF == Which) { SockBuffer = &(Sock->SndBuffer); @@ -1169,8 +1158,6 @@ SockGetFreeSpace ( @param Sock Pointer to the socket. @param Error The error code received. - @return None. - **/ VOID SockRcvdErr ( @@ -1202,15 +1189,13 @@ SockRcvdErr ( /** Called by the low layer protocol to indicate that there - will be no more data from the communication peer. This + will be no more data from the communication peer; This function set the socket's state to SO_NO_MORE_DATA and signal all queued IO tokens with the error status EFI_CONNECTION_FIN. @param Sock Pointer to the socket. - @return None. - **/ VOID SockNoMoreData ( @@ -1270,7 +1255,8 @@ SockBufFirst ( @param SockEntry Pointer to the buffer block prior to the required one. - @return Pointer to the buffer block next to SockEntry. NULL if SockEntry is the tail or head entry. + @return Pointer to the buffer block next to SockEntry. NULL if SockEntry is + the tail or head entry. **/ NET_BUF * @@ -1285,8 +1271,7 @@ SockBufNext ( if ((SockEntry->List.ForwardLink == NetbufList) || (SockEntry->List.BackLink == &SockEntry->List) || - (SockEntry->List.ForwardLink == &SockEntry->List) - ) { + (SockEntry->List.ForwardLink == &SockEntry->List)) { return NULL; } diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.h b/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.h index 4d5456d3cf..f06179578c 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.h +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.h @@ -68,7 +68,7 @@ SockConnFlush ( IN SOCKET *Sock ); -SOCKET * +SOCKET * SockCreate ( IN SOCK_INIT_DATA *SockInitData ); diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/SockInterface.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/SockInterface.c index a25bd4e1b4..67aa919c33 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/SockInterface.c +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/SockInterface.c @@ -28,8 +28,8 @@ Abstract: @param List Pointer to the token list to be searched. @param Event The event to be checked. - @retval BOOLEAN If TRUE, the specific Event exists in the List. If - FALSE, the specific Event is not in the List. + @retval TRUE The specific Event exists in the List. + @retval False The specific Event is not in the List. **/ BOOLEAN @@ -77,8 +77,7 @@ SockTokenExisted ( if (SockTokenExistedInList (&Sock->SndTokenList, Event) || SockTokenExistedInList (&Sock->ProcessingSndTokenList, Event) || SockTokenExistedInList (&Sock->RcvTokenList, Event) || - SockTokenExistedInList (&Sock->ListenTokenList, Event) - ) { + SockTokenExistedInList (&Sock->ListenTokenList, Event)) { return TRUE; } @@ -152,7 +151,7 @@ SockDestroyChild ( { EFI_STATUS Status; - ASSERT (Sock && Sock->ProtoHandler); + ASSERT ((Sock != NULL) && (Sock->ProtoHandler != NULL)); if (Sock->IsDestroyed) { return EFI_SUCCESS; @@ -258,8 +257,7 @@ SockCreateChild ( /** - Configure the specific socket Sock using configuration data - ConfigData. + Configure the specific socket Sock using configuration data ConfigData. @param Sock Pointer to the socket to be configured. @param ConfigData Pointer to the configuration data. @@ -455,7 +453,7 @@ SockAccept ( RemoveEntryList (ListEntry); - ASSERT (Socket->Parent); + ASSERT (Socket->Parent != NULL); Socket->Parent->ConnCnt--; diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dispatcher.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dispatcher.c index 9f170677f9..009ae582a5 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dispatcher.c +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dispatcher.c @@ -23,42 +23,33 @@ Abstract: #define TCP_COMP_VAL(Min, Max, Default, Val) \ ((((Val) <= (Max)) && ((Val) >= (Min))) ? (Val) : (Default)) +/** + Add or remove a route entry in the IP route table associated with this TCP instance. + + @param Tcb Pointer to the TCP_CB of this TCP instance. + @param RouteInfo Pointer to the route info to be processed. + + @retval EFI_SUCCESS The operation completed successfully. + @retval EFI_NOT_STARTED The driver instance has not been started. + @retval EFI_NO_MAPPING When using the default address, configuration(DHCP, + BOOTP, RARP, etc.) is not finished yet. + @retval EFI_OUT_OF_RESOURCES Could not add the entry to the routing table. + @retval EFI_NOT_FOUND This route is not in the routing table + (when RouteInfo->DeleteRoute is TRUE). + @retval EFI_ACCESS_DENIED The route is already defined in the routing table + (when RouteInfo->DeleteRoute is FALSE). +**/ EFI_STATUS Tcp4Route ( IN TCP_CB *Tcb, IN TCP4_ROUTE_INFO *RouteInfo ) -/*++ - -Routine Description: - - Add or remove a route entry in the IP route table associated - with this TCP instance. - -Arguments: - - Tcb - Pointer to the TCP_CB of this TCP instance. - RouteInfo - Pointer to the route info to be processed. - -Returns: - - EFI_SUCCESS - The operation completed successfully. - EFI_NOT_STARTED - The driver instance has not been started. - EFI_NO_MAPPING - When using the default address, configuration(DHCP, - BOOTP, RARP, etc.) is not finished yet. - EFI_OUT_OF_RESOURCES - Could not add the entry to the routing table. - EFI_NOT_FOUND - This route is not in the routing table - (when RouteInfo->DeleteRoute is TRUE). - EFI_ACCESS_DENIED - The route is already defined in the routing table - (when RouteInfo->DeleteRoute is FALSE). - ---*/ { EFI_IP4_PROTOCOL *Ip; Ip = Tcb->IpInfo->Ip; - ASSERT (Ip); + ASSERT (Ip != NULL); return Ip->Routes ( Ip, @@ -67,7 +58,7 @@ Returns: RouteInfo->SubnetMask, RouteInfo->GatewayAddress ); - + } @@ -147,7 +138,7 @@ Tcp4GetMode ( } Ip = Tcb->IpInfo->Ip; - ASSERT (Ip); + ASSERT (Ip != NULL); return Ip->GetModeData (Ip, Mode->Ip4ModeData, Mode->MnpConfigData, Mode->SnpModeData); } @@ -224,9 +215,7 @@ Tcp4Bind ( @param Tcb Pointer to the TCP_CB to be flushed. - None - - **/ +**/ VOID Tcp4FlushPcb ( IN TCP_CB *Tcb @@ -260,6 +249,15 @@ Tcp4FlushPcb ( NetbufFreeList (&Tcb->RcvQue); } +/** + Attach a Tcb to the socket. + + @param Sk Pointer to the socket of this TCP instance. + + @retval EFI_SUCCESS The operation is completed successfully. + @retval EFI_OUT_OF_RESOURCES Failed due to resource limit. + +**/ EFI_STATUS Tcp4AttachPcb ( IN SOCKET *Sk @@ -302,6 +300,12 @@ Tcp4AttachPcb ( return EFI_SUCCESS; } +/** + Detach the Tcb of the socket. + + @param Sk Pointer to the socket of this TCP instance. + +**/ VOID Tcp4DetachPcb ( IN SOCKET *Sk @@ -349,7 +353,7 @@ Tcp4ConfigurePcb ( TCP4_PROTO_DATA *TcpProto; TCP_CB *Tcb; - ASSERT (CfgData && Sk && Sk->SockHandle); + ASSERT ((CfgData != NULL) && (Sk != NULL) && (Sk->SockHandle != NULL)); TcpProto = (TCP4_PROTO_DATA *) Sk->ProtoReserved; Tcb = TcpProto->TcpPcb; @@ -617,13 +621,13 @@ Tcp4Dispatcher ( // notify TCP using this message to give it a chance to send out // window update information // - ASSERT (Tcb); + ASSERT (Tcb != NULL); TcpOnAppConsume (Tcb); break; case SOCK_SND: - ASSERT (Tcb); + ASSERT (Tcb != NULL); TcpOnAppSend (Tcb); break; @@ -686,7 +690,7 @@ Tcp4Dispatcher ( case SOCK_MODE: - ASSERT (Data && Tcb); + ASSERT ((Data != NULL) && (Tcb != NULL)); return Tcp4GetMode (Tcb, (TCP4_MODE_DATA *) Data); @@ -694,7 +698,7 @@ Tcp4Dispatcher ( case SOCK_ROUTE: - ASSERT (Data && Tcb); + ASSERT ((Data != NULL) && (Tcb != NULL)); return Tcp4Route (Tcb, (TCP4_ROUTE_INFO *) Data); diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Driver.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Driver.c index cfdfbe68f2..c51962ba9e 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Driver.c +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Driver.c @@ -21,7 +21,7 @@ Abstract: #include "Tcp4Main.h" -UINT16 mTcp4RandomPort; +UINT16 mTcp4RandomPort; extern EFI_COMPONENT_NAME_PROTOCOL gTcp4ComponentName; extern EFI_COMPONENT_NAME2_PROTOCOL gTcp4ComponentName2; @@ -78,8 +78,6 @@ EFI_SERVICE_BINDING_PROTOCOL mTcp4ServiceBinding = { /** Create and start the heartbeat timer for TCP driver. - None. - @retval EFI_SUCCESS The timer is successfully created and started. @retval other The timer is not created. @@ -124,13 +122,11 @@ Tcp4CreateTimer ( /** Stop and destroy the heartbeat timer for TCP driver. - None - - None - **/ VOID -Tcp4DestroyTimer () +Tcp4DestroyTimer ( + VOID + ) { ASSERT (mTcp4Timer.RefCnt > 0); @@ -146,8 +142,7 @@ Tcp4DestroyTimer () } /** - The entry point for Tcp4 driver. - Used to install Tcp4 driver on the ImageHandle. + The entry point for Tcp4 driver, used to install Tcp4 driver on the ImageHandle. @param ImageHandle The firmware allocated handle for this driver image. @@ -184,7 +179,7 @@ Tcp4DriverEntryPoint ( // Seed = NetRandomInitSeed (); mTcpGlobalIss = NET_RANDOM (Seed) % mTcpGlobalIss; - mTcp4RandomPort = (UINT16) ( TCP4_PORT_KNOWN + + mTcp4RandomPort = (UINT16) (TCP4_PORT_KNOWN + (UINT16) (NET_RANDOM(Seed) % TCP4_PORT_KNOWN)); return Status; @@ -207,9 +202,9 @@ Tcp4DriverEntryPoint ( EFI_STATUS EFIAPI Tcp4DriverBindingSupported ( - IN EFI_DRIVER_BINDING_PROTOCOL * This, + IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, - IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL ) { EFI_STATUS Status; @@ -262,9 +257,9 @@ Tcp4DriverBindingSupported ( EFI_STATUS EFIAPI Tcp4DriverBindingStart ( - IN EFI_DRIVER_BINDING_PROTOCOL * This, + IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, - IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL ) { EFI_STATUS Status; @@ -464,6 +459,17 @@ Tcp4DriverBindingStop ( return Status; } +/** + Open Ip4 and device path protocols for a created socket, and insert it in + socket list. + + @param This Pointer to the socket just created + @param Context Context of the socket + + @retval EFI_SUCCESS This protocol is installed successfully. + @retval other Some error occured. + +**/ EFI_STATUS Tcp4CreateSocketCallback ( IN SOCKET *This, @@ -519,6 +525,13 @@ Tcp4CreateSocketCallback ( return Status; } +/** + Close Ip4 and device path protocols for a socket, and remove it from socket list. + + @param This Pointer to the socket to be removed + @param Context Context of the socket + +**/ VOID Tcp4DestroySocketCallback ( IN SOCKET *This, diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Driver.h b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Driver.h index 2636ce708c..82fd57c34d 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Driver.h +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Driver.h @@ -100,17 +100,17 @@ Tcp4DriverEntryPoint ( EFI_STATUS EFIAPI Tcp4DriverBindingSupported ( - IN EFI_DRIVER_BINDING_PROTOCOL * This, + IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, - IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL ); EFI_STATUS EFIAPI Tcp4DriverBindingStart ( - IN EFI_DRIVER_BINDING_PROTOCOL * This, + IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, - IN EFI_DEVICE_PATH_PROTOCOL * RemainingDevicePath OPTIONAL + IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL ); EFI_STATUS diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c index 2e436249f2..f525f240e4 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Input.c @@ -24,13 +24,13 @@ Abstract: /** - Check whether the sequence number of the incoming segment - is acceptable. + Check whether the sequence number of the incoming segment is acceptable. @param Tcb Pointer to the TCP_CB of this TCP instance. @param Seg Pointer to the incoming segment. - @return 1 if the sequence number is acceptable, otherwise 0. + @retval 1 The sequence number is acceptable. + @retval 0 The sequence number is not acceptable. **/ INTN @@ -50,8 +50,6 @@ TcpSeqAcceptable ( @param Tcb Pointer to the TCP_CB of this TCP instance. @param Seg Segment that triggers the fast recovery. - @return None. - **/ VOID TcpFastRecover ( @@ -162,8 +160,6 @@ TcpFastRecover ( @param Tcb Pointer to the TCP_CB of this TCP instance. @param Seg Segment that triggers the fast loss recovery. - @return None. - **/ VOID TcpFastLossRecover ( @@ -203,13 +199,11 @@ TcpFastLossRecover ( /** - Compute the RTT as specified in RFC2988 + Compute the RTT as specified in RFC2988. @param Tcb Pointer to the TCP_CB of this TCP instance. @param Measure Currently measured RTT in heart beats. - @return None. - **/ VOID TcpComputeRtt ( @@ -264,14 +258,13 @@ TcpComputeRtt ( /** - Trim the data, SYN and FIN to fit into the window defined by - Left and Right. + Trim the data, SYN and FIN to fit into the window defined by Left and Right. @param Nbuf Buffer that contains received TCP segment without IP header. @param Left The sequence number of the window's left edge. @param Right The sequence number of the window's right edge. - @return 0, the data is successfully trimmed. + @return 0 The data is successfully trimmed. **/ INTN @@ -351,7 +344,7 @@ TcpTrimSegment ( } } - ASSERT (TcpVerifySegment (Nbuf)); + ASSERT (TcpVerifySegment (Nbuf) != 0); return 0; } @@ -362,7 +355,7 @@ TcpTrimSegment ( @param Tcb Pointer to the TCP_CB of this TCP instance. @param Nbuf Pointer to the NET_BUF containing the received tcp segment. - @return 0, the data is trimmed. + @return 0 The data is trimmed. **/ INTN @@ -397,7 +390,7 @@ TcpDeliverData ( TCP_SEG *Seg; UINT32 Urgent; - ASSERT (Tcb && Tcb->Sk); + ASSERT ((Tcb != NULL) && (Tcb->Sk != NULL)); // // make sure there is some data queued, @@ -418,7 +411,7 @@ TcpDeliverData ( Nbuf = NET_LIST_USER_STRUCT (Entry, NET_BUF, List); Seg = TCPSEG_NETBUF (Nbuf); - ASSERT (TcpVerifySegment (Nbuf)); + ASSERT (TcpVerifySegment (Nbuf) != 0); ASSERT (Nbuf->Tcp == NULL); if (TCP_SEQ_GT (Seg->Seq, Seq)) { @@ -547,8 +540,6 @@ TcpDeliverData ( @param Tcb Pointer to the TCP_CB of this TCP instance. @param Nbuf Pointer to the buffer containing the data to be queued. - @return None. - **/ VOID TcpQueueData ( @@ -562,7 +553,7 @@ TcpQueueData ( LIST_ENTRY *Cur; NET_BUF *Node; - ASSERT (Tcb && Nbuf && (Nbuf->Tcp == NULL)); + ASSERT ((Tcb != NULL) && (Nbuf != NULL) && (Nbuf->Tcp == NULL)); NET_GET_REF (Nbuf); @@ -655,8 +646,6 @@ TcpQueueData ( @param Tcb Pointer to the TCP_CB of this TCP instance. @param Ack The acknowledge seuqence number of the received segment. - @return None. - **/ VOID TcpAdjustSndQue ( @@ -989,10 +978,9 @@ TcpInput ( // if it comes from a LISTEN TCB. // } else if ((Tcb->State == TCP_ESTABLISHED) || - (Tcb->State == TCP_FIN_WAIT_1) || - (Tcb->State == TCP_FIN_WAIT_2) || - (Tcb->State == TCP_CLOSE_WAIT) - ) { + (Tcb->State == TCP_FIN_WAIT_1) || + (Tcb->State == TCP_FIN_WAIT_2) || + (Tcb->State == TCP_CLOSE_WAIT)) { SOCK_ERROR (Tcb->Sk, EFI_CONNECTION_RESET); @@ -1162,7 +1150,7 @@ TcpInput ( Tcb->SndUna = Seg->Ack; if (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_SND_URG) && - (TCP_SEQ_LT (Tcb->SndUp, Seg->Ack))) { + TCP_SEQ_LT (Tcb->SndUp, Seg->Ack)) { TCP_CLEAR_FLG (Tcb->CtrlFlag, TCP_CTRL_SND_URG); } @@ -1390,7 +1378,7 @@ RESET_THEN_DROP: TcpSendReset (Tcb, Head, Len, Dst, Src); DROP_CONNECTION: - ASSERT (Tcb && Tcb->Sk); + ASSERT ((Tcb != NULL) && (Tcb->Sk != NULL)); NetbufFree (Nbuf); TcpClose (Tcb); @@ -1411,7 +1399,7 @@ DISCARD: if ((Parent != NULL) && (Tcb != NULL)) { - ASSERT (Tcb->Sk); + ASSERT (Tcb->Sk != NULL); TcpClose (Tcb); } @@ -1428,8 +1416,6 @@ DISCARD: @param Src Source address of the ICMP error message. @param Dst Destination address of the ICMP error message. - @return None. - **/ VOID TcpIcmpInput ( diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Main.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Main.c index b01704efc6..d43a4a4faf 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Main.c +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Main.c @@ -89,12 +89,12 @@ Tcp4ChkDataBuf ( EFI_STATUS EFIAPI Tcp4GetModeData ( - IN CONST EFI_TCP4_PROTOCOL *This, - OUT EFI_TCP4_CONNECTION_STATE *Tcp4State OPTIONAL, - OUT EFI_TCP4_CONFIG_DATA *Tcp4ConfigData OPTIONAL, - OUT EFI_IP4_MODE_DATA *Ip4ModeData OPTIONAL, - OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, - OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL + IN CONST EFI_TCP4_PROTOCOL *This, + OUT EFI_TCP4_CONNECTION_STATE *Tcp4State OPTIONAL, + OUT EFI_TCP4_CONFIG_DATA *Tcp4ConfigData OPTIONAL, + OUT EFI_IP4_MODE_DATA *Ip4ModeData OPTIONAL, + OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, + OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL ) { TCP4_MODE_DATA TcpMode; @@ -221,9 +221,9 @@ Tcp4Configure ( /** Add or delete routing entries. - The Routes() function adds or deletes a route from the instance¡¯s routing table. + The Routes() function adds or deletes a route from the instance’s routing table. The most specific route is selected by comparing the SubnetAddress with the - destination IP address¡¯s arithmetical AND to the SubnetMask. + destination IP address’s arithmetical AND to the SubnetMask. The default route is added with both SubnetAddress and SubnetMask set to 0.0.0.0. The default route matches all destination IP addresses if there is no more specific route. Direct route is added with GatewayAddress set to 0.0.0.0. Packets are sent to @@ -231,9 +231,9 @@ Tcp4Configure ( cache or it is on the local subnet. If the instance is configured to use default address, a direct route to the local network will be added automatically. Each TCP instance has its own independent routing table. Instance that uses the - default IP address will have a copy of the EFI_IP4_CONFIG_PROTOCOL¡¯s routing table. + default IP address will have a copy of the EFI_IP4_CONFIG_PROTOCOL’s routing table. The copy will be updated automatically whenever the IP driver reconfigures its - instance. As a result, the previous modification to the instance¡¯s local copy + instance. As a result, the previous modification to the instance’s local copy will be lost. The priority of checking the route table is specific with IP implementation and every IP implementation must comply with RFC 1122. @@ -348,7 +348,7 @@ Tcp4Connect ( incoming connection on the passive TCP instance. If a remote peer successfully establishes a connection with this instance, a new TCP instance will be created and its handle will be returned in ListenToken->NewChildHandle. The newly created - instance is configured by inheriting the passive instance¡¯s configuration and is + instance is configured by inheriting the passive instance’s configuration and is ready for use upon return. The instance is in the Tcp4StateEstablished state. The ListenToken->CompletionToken.Event will be signaled when a new connection is accepted, user aborts the listen or connection is reset. This function only @@ -393,7 +393,7 @@ Tcp4Accept ( /** - Queues outgoing data into the transmit queue + Queues outgoing data into the transmit queue. The Transmit() function queues a sending request to this TCPv4 instance along with the user data. The status of the token is updated and the event in the token @@ -403,12 +403,12 @@ Tcp4Accept ( @param Token Pointer to the completion token to queue to the transmit queue - @retval EFI_SUCCESS The data has been queued for transmission + @retval EFI_SUCCESS The data has been queued for transmission. @retval EFI_NOT_STARTED The EFI_TCP4_PROTOCOL instance hasn't been configured. @retval EFI_NO_MAPPING When using a default address, configuration (DHCP, BOOTP, RARP, etc.) is not finished yet. - @retval EFI_INVALID_PARAMETER One or more parameters are invalid + @retval EFI_INVALID_PARAMETER One or more parameters are invalid. @retval EFI_ACCESS_DENIED One or more of the following conditions is TRUE: * A transmit completion token with the same Token-> CompletionToken.Event was already in the @@ -481,7 +481,7 @@ Tcp4Transmit ( @param Token Pointer to a token that is associated with the receive data descriptor. - @retval EFI_SUCCESS The receive completion token was cached + @retval EFI_SUCCESS The receive completion token was cached. @retval EFI_NOT_STARTED The EFI_TCP4_PROTOCOL instance hasn't been configured. @retval EFI_NO_MAPPING When using a default address, configuration @@ -556,11 +556,11 @@ Tcp4Receive ( asynchronous operation is signaled and any buffers used for TCP network traffic is flushed. - @param This Pointer to the EFI_TCP4_PROTOCOL instance + @param This Pointer to the EFI_TCP4_PROTOCOL instance. @param CloseToken Pointer to the close token to return when operation finishes. - @retval EFI_SUCCESS The operation completed successfully + @retval EFI_SUCCESS The operation completed successfully. @retval EFI_NOT_STARTED The EFI_TCP4_PROTOCOL instance hasn't been configured. @retval EFI_ACCESS_DENIED One or more of the following are TRUE: @@ -568,9 +568,9 @@ Tcp4Receive ( set to NULL and this function has not returned. * Previous Close() call on this instance has not finished. - @retval EFI_INVALID_PARAMETER One ore more parameters are invalid + @retval EFI_INVALID_PARAMETER One ore more parameters are invalid. @retval EFI_OUT_OF_RESOURCES Could not allocate enough resource to finish the - operation + operation. @retval EFI_DEVICE_ERROR Any unexpected and not belonged to above category error. @@ -606,7 +606,8 @@ Tcp4Close ( is not in one of the queues, which usually means that the asynchronous operation has completed, EFI_NOT_FOUND is returned. If Token is NULL all asynchronous token issued by Connect(), Accept(), Transmit() and Receive()will be aborted. - + NOTE: It has not been implemented currently. + @param This Pointer to the EFI_TCP4_PROTOCOL instance. @param Token Pointer to a token that has been issued by Connect(), Accept(), Transmit() or Receive(). If @@ -616,15 +617,15 @@ Tcp4Close ( @retval EFI_SUCCESS The asynchronous I/O request is aborted and Token->Event is signaled. @retval EFI_INVALID_PARAMETER This is NULL. - @retval EFI_NOT_STARTED This instance hasn¡¯t been configured. + @retval EFI_NOT_STARTED This instance hasn’t been configured. @retval EFI_NO_MAPPING When using the default address, configuration - (DHCP, BOOTP,RARP, etc.) hasn¡¯t finished yet. - @retval EFI_NOT_FOUND The asynchronous I/O request isn¡¯t found in the + (DHCP, BOOTP,RARP, etc.) hasn’t finished yet. + @retval EFI_NOT_FOUND The asynchronous I/O request isn’t found in the transmission or receive queue. It has either - completed or wasn¡¯t issued by Transmit() and Receive(). + completed or wasn’t issued by Transmit() and Receive(). @retval EFI_UNSUPPORTED The operation is not supported in current implementation. - + **/ EFI_STATUS EFIAPI diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c index ca65f3e756..6d7117a164 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Misc.c @@ -57,8 +57,6 @@ CHAR16 *mTcpStateName[] = { @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None - **/ VOID TcpInitTcbLocal ( @@ -85,7 +83,7 @@ TcpInitTcbLocal ( Tcb->RcvWnd = GET_RCV_BUFFSIZE (Tcb->Sk); // - // Fisrt window size is never scaled + // First window size is never scaled // Tcb->RcvWndScale = 0; } @@ -99,8 +97,6 @@ TcpInitTcbLocal ( intial info. @param Opt Pointer to the options announced by the peer. - @return None - **/ VOID TcpInitTcbPeer ( @@ -183,7 +179,8 @@ TcpInitTcbPeer ( @param Local Pointer to the local (IP, Port). @param Remote Pointer to the remote (IP, Port). - @return Pointer to the TCP_CB with the least number of wildcard, if NULL no match is found. + @return Pointer to the TCP_CB with the least number of wildcard, + if NULL no match is found. **/ TCP_CB * @@ -206,8 +203,7 @@ TcpLocateListenTcb ( if ((Local->Port != Node->LocalEnd.Port) || !TCP_PEER_MATCH (Remote, &Node->RemoteEnd) || - !TCP_PEER_MATCH (Local, &Node->LocalEnd) - ) { + !TCP_PEER_MATCH (Local, &Node->LocalEnd)) { continue; } @@ -248,7 +244,7 @@ TcpLocateListenTcb ( @param Addr Pointer to the IP address needs to match. @param Port The port number needs to match. - @return The Tcb which matches the paire exists or not. + @return The Tcb which matches the paire exists or not. **/ BOOLEAN @@ -299,7 +295,7 @@ TcpFindTcbByPeer ( @param Syn Whether to search the listen sockets, if TRUE, the listen sockets are searched. - @return Pointer to the related TCP_CB, if NULL no match is found. + @return Pointer to the related TCP_CB, if NULL no match is found. **/ TCP_CB * @@ -369,13 +365,11 @@ TcpInsertTcb ( TCP4_PROTO_DATA *TcpProto; ASSERT ( - Tcb && - ( - (Tcb->State == TCP_LISTEN) || - (Tcb->State == TCP_SYN_SENT) || - (Tcb->State == TCP_SYN_RCVD) || - (Tcb->State == TCP_CLOSED) - ) + (Tcb != NULL) && + ((Tcb->State == TCP_LISTEN) || + (Tcb->State == TCP_SYN_SENT) || + (Tcb->State == TCP_SYN_RCVD) || + (Tcb->State == TCP_CLOSED)) ); if (Tcb->LocalEnd.Port == 0) { @@ -415,7 +409,7 @@ TcpInsertTcb ( @param Tcb Pointer to the TCP_CB to be cloned. - @return Pointer to the new cloned TCP_CB, if NULL error condition occurred. + @return Pointer to the new cloned TCP_CB, if NULL error condition occurred. **/ TCP_CB * @@ -459,9 +453,7 @@ TcpCloneTcb ( /** Compute an ISS to be used by a new connection. - None - - @return The result ISS. + @return The result ISS. **/ TCP_SEQNO @@ -479,7 +471,7 @@ TcpGetIss ( @param Sock Pointer to the socket to get mss - @return The mss size. + @return The mss size. **/ UINT16 @@ -491,11 +483,11 @@ TcpGetRcvMss ( TCP4_PROTO_DATA *TcpProto; EFI_IP4_PROTOCOL *Ip; - ASSERT (Sock); + ASSERT (Sock != NULL); TcpProto = (TCP4_PROTO_DATA *) Sock->ProtoReserved; Ip = TcpProto->TcpService->IpIo->Ip; - ASSERT (Ip); + ASSERT (Ip != NULL); Ip->GetModeData (Ip, NULL, NULL, &SnpMode); @@ -509,8 +501,6 @@ TcpGetRcvMss ( @param Tcb Pointer to the TCP_CB of this TCP instance. @param State The state to be set. - @return None - **/ VOID TcpSetState ( @@ -560,7 +550,7 @@ TcpSetState ( @param HeadSum The checksum value of the fixed part of pseudo header. - @return The checksum value. + @return The checksum value. **/ UINT16 @@ -574,10 +564,10 @@ TcpChecksum ( Checksum = NetbufChecksum (Nbuf); Checksum = NetAddChecksum (Checksum, HeadSum); - Checksum = NetAddChecksum ( - Checksum, - HTONS ((UINT16) Nbuf->TotalSize) - ); + Checksum = NetAddChecksum ( + Checksum, + HTONS ((UINT16) Nbuf->TotalSize) + ); return (UINT16) ~Checksum; } @@ -590,7 +580,7 @@ TcpChecksum ( @param Tcb Pointer to the TCP_CB of this TCP instance. @param Nbuf Pointer to the buffer contains the TCP segment. - @return Pointer to the TCP_SEG that contains the translated TCP head information. + @return Pointer to the TCP_SEG that contains the translated TCP head information. **/ TCP_SEG * @@ -639,8 +629,6 @@ TcpFormatNetbuf ( @param Tcb Pointer to the TCP_CB of the connection to be reset. - @return None - **/ VOID TcpResetConnection ( @@ -685,13 +673,11 @@ TcpResetConnection ( /** - Initialize an active connection, + Initialize an active connection. @param Tcb Pointer to the TCP_CB that wants to initiate a connection. - @return None - **/ VOID TcpOnAppConnect ( @@ -712,17 +698,15 @@ TcpOnAppConnect ( @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpOnAppClose ( IN TCP_CB *Tcb ) { - ASSERT (Tcb); + ASSERT (Tcb != NULL); - if (!IsListEmpty (&Tcb->RcvQue) || GET_RCV_DATASIZE (Tcb->Sk)) { + if (!IsListEmpty (&Tcb->RcvQue) || GET_RCV_DATASIZE (Tcb->Sk) != 0) { DEBUG ((EFI_D_WARN, "TcpOnAppClose: connection reset " "because data is lost for TCB %p\n", Tcb)); @@ -754,8 +738,7 @@ TcpOnAppClose ( /** - Check whether the application's newly delivered data - can be sent out. + Check whether the application's newly delivered data can be sent out. @param Tcb Pointer to the TCP_CB of this TCP instance. @@ -810,7 +793,6 @@ TcpOnAppSend ( @param Tcb Pointer to the TCP_CB of this TCP instance. - **/ INTN TcpOnAppConsume ( @@ -877,8 +859,6 @@ TcpOnAppConsume ( @param Tcb Pointer to the TCP_CB of the TCP instance. - @return None. - **/ VOID TcpOnAppAbort ( @@ -905,7 +885,7 @@ TcpOnAppAbort ( /** Set the Tdp4 variable data. - @param Tcp4Service Tcp4 service data. + @param Tcp4Service Pointer to Tcp4 service data. @retval EFI_OUT_OF_RESOURCES There are not enough resources to set the variable. @retval other Set variable failed. @@ -1078,9 +1058,7 @@ ON_ERROR: /** Clear the variable and free the resource. - @param Tcp4Service Tcp4 service data. - - @return None. + @param Tcp4Service Pointer to Tcp4 service data. **/ VOID @@ -1102,26 +1080,19 @@ TcpClearVariableData ( Tcp4Service->MacString = NULL; } -EFI_STATUS -TcpInstallDevicePath ( - IN SOCKET *Sock - ) -/*++ - -Routine Description: - +/** Install the device path protocol on the TCP instance. -Arguments: - - Sock - Pointer to the socket representing the TCP instance. + @param Sock Pointer to the socket representing the TCP instance. -Returns: + @retval EFI_SUCCESS The device path protocol is installed. + @retval other Failed to install the device path protocol. - EFI_SUCCESS - The device path protocol is installed. - other - Failed to install the device path protocol. - ---*/ +**/ +EFI_STATUS +TcpInstallDevicePath ( + IN SOCKET *Sock + ) { TCP4_PROTO_DATA *TcpProto; TCP4_SERVICE_DATA *TcpService; @@ -1145,9 +1116,9 @@ Returns: ); Sock->DevicePath = AppendDevicePathNode ( - Sock->ParentDevicePath, - (EFI_DEVICE_PATH_PROTOCOL *) &Ip4DPathNode - ); + Sock->ParentDevicePath, + (EFI_DEVICE_PATH_PROTOCOL *) &Ip4DPathNode + ); if (Sock->DevicePath == NULL) { return EFI_OUT_OF_RESOURCES; } diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.c index 95f5a8e44a..35e858fb9a 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.c +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Option.c @@ -22,6 +22,14 @@ Abstract: #include "Tcp4Main.h" +/** + Get a UINT16 value from buffer. + + @param Buf Pointer to input buffer. + + @return The UINT16 value get from buffer. + +**/ UINT16 TcpGetUint16 ( IN UINT8 *Buf @@ -32,17 +40,14 @@ TcpGetUint16 ( return NTOHS (Value); } -// STATIC -// VOID -// TcpPutUint16 ( -// IN UINT8 *Buf, -// IN UINT16 Data -// ) -// { -// Data = HTONS (Data); -// CopyMem (Buf, &Data, sizeof (UINT16)); -// } +/** + Get a UINT32 value from buffer. + + @param Buf Pointer to input buffer. + + @return The UINT32 value get from buffer. +**/ UINT32 TcpGetUint32 ( IN UINT8 *Buf @@ -53,6 +58,13 @@ TcpGetUint32 ( return NTOHL (Value); } +/** + Put a UINT32 value in buffer. + + @param Buf Pointer to the buffer. + @param Data The UINT32 Date to put in buffer + +**/ VOID TcpPutUint32 ( IN UINT8 *Buf, @@ -65,12 +77,11 @@ TcpPutUint32 ( /** - Compute the window scale value according to the given - buffer size. + Compute the window scale value according to the given buffer size. @param Tcb Pointer to the TCP_CB of this TCP instance. - @retval UINT8 The scale value. + @return The scale value. **/ UINT8 @@ -81,7 +92,7 @@ TcpComputeScale ( UINT8 Scale; UINT32 BufSize; - ASSERT (Tcb && Tcb->Sk); + ASSERT ((Tcb != NULL) && (Tcb->Sk != NULL)); BufSize = GET_RCV_BUFFSIZE (Tcb->Sk); @@ -102,7 +113,7 @@ TcpComputeScale ( @param Tcb Pointer to the TCP_CB of this TCP instance. @param Nbuf Pointer to the buffer to store the options. - @return The total length of the TCP option field. + @return The total length of the TCP option field. **/ UINT16 @@ -114,7 +125,7 @@ TcpSynBuildOption ( UINT8 *Data; UINT16 Len; - ASSERT (Tcb && Nbuf && !Nbuf->Tcp); + ASSERT ((Tcb != NULL) && (Nbuf != NULL) && (Nbuf->Tcp == NULL)); Len = 0; @@ -125,7 +136,7 @@ TcpSynBuildOption ( // if (!TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_TS) && (!TCP_FLG_ON (TCPSEG_NETBUF (Nbuf)->Flag, TCP_FLG_ACK) || - TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_RCVD_TS))) { + TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_RCVD_TS))) { Data = NetbufAllocSpace ( Nbuf, @@ -133,7 +144,7 @@ TcpSynBuildOption ( NET_BUF_HEAD ); - ASSERT (Data); + ASSERT (Data != NULL); Len += TCP_OPTION_TS_ALIGNED_LEN; TcpPutUint32 (Data, TCP_OPTION_TS_FAST); @@ -148,7 +159,7 @@ TcpSynBuildOption ( // if (!TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_NO_WS) && (!TCP_FLG_ON (TCPSEG_NETBUF (Nbuf)->Flag, TCP_FLG_ACK) || - TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_RCVD_WS))) { + TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_RCVD_WS))) { Data = NetbufAllocSpace ( Nbuf, @@ -156,7 +167,7 @@ TcpSynBuildOption ( NET_BUF_HEAD ); - ASSERT (Data); + ASSERT (Data != NULL); Len += TCP_OPTION_WS_ALIGNED_LEN; TcpPutUint32 (Data, TCP_OPTION_WS_FAST | TcpComputeScale (Tcb)); @@ -166,7 +177,7 @@ TcpSynBuildOption ( // Build MSS option // Data = NetbufAllocSpace (Nbuf, TCP_OPTION_MSS_LEN, 1); - ASSERT (Data); + ASSERT (Data != NULL); Len += TCP_OPTION_MSS_LEN; TcpPutUint32 (Data, TCP_OPTION_MSS_FAST | Tcb->RcvMss); @@ -181,7 +192,7 @@ TcpSynBuildOption ( @param Tcb Pointer to the TCP_CB of this TCP instance. @param Nbuf Pointer to the buffer to store the options. - @return The total length of the TCP option field. + @return The total length of the TCP option field. **/ UINT16 @@ -193,7 +204,7 @@ TcpBuildOption ( UINT8 *Data; UINT16 Len; - ASSERT (Tcb && Nbuf && !Nbuf->Tcp); + ASSERT ((Tcb != NULL) && (Nbuf != NULL) && (Nbuf->Tcp == NULL)); Len = 0; // @@ -208,7 +219,7 @@ TcpBuildOption ( NET_BUF_HEAD ); - ASSERT (Data); + ASSERT (Data != NULL); Len += TCP_OPTION_TS_ALIGNED_LEN; TcpPutUint32 (Data, TCP_OPTION_TS_FAST); @@ -243,7 +254,7 @@ TcpParseOption ( UINT8 Type; UINT8 Len; - ASSERT (Tcp && Option); + ASSERT ((Tcp != NULL) && (Option != NULL)); Option->Flag = 0; @@ -333,7 +344,7 @@ TcpParseOption ( default: Len = Head[Cur + 1]; - if (TotalLen - Cur < Len || Len < 2) { + if ((TotalLen - Cur) < Len || Len < 2) { return -1; } diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Output.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Output.c index 39fbc3b735..187fd955a9 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Output.c +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Output.c @@ -85,7 +85,7 @@ TcpRcvWinNow ( UINT32 OldWin; Sk = Tcb->Sk; - ASSERT (Sk); + ASSERT (Sk != NULL); OldWin = TcpRcvWinOld (Tcb); @@ -199,7 +199,7 @@ TcpDataToSend ( UINT32 Limit; Sk = Tcb->Sk; - ASSERT (Sk); + ASSERT (Sk != NULL); // // TCP should NOT send data beyond the send window @@ -284,8 +284,7 @@ SetPersistTimer: /** - Build the TCP header of the TCP segment and transmit the - segment by IP. + Build the TCP header of the TCP segment and transmit the segment by IP. @param Tcb Pointer to the TCP_CB of this TCP instance. @param Nbuf Pointer to the buffer containing the segment to be sent out. @@ -306,7 +305,7 @@ TcpTransmitSegment ( BOOLEAN Syn; UINT32 DataLen; - ASSERT (Nbuf && (Nbuf->Tcp == NULL) && TcpVerifySegment (Nbuf)); + ASSERT ((Nbuf != NULL) && (Nbuf->Tcp == NULL) && (TcpVerifySegment (Nbuf) != 0)); DataLen = Nbuf->TotalSize; @@ -435,7 +434,7 @@ TcpGetSegmentSndQue ( INT32 Offset; INT32 CopyLen; - ASSERT (Tcb && TCP_SEQ_LEQ (Seq, Tcb->SndNxt) && (Len > 0)); + ASSERT ((Tcb != NULL) && TCP_SEQ_LEQ (Seq, Tcb->SndNxt) && (Len > 0)); // // Find the segment that contains the Seq. @@ -530,7 +529,7 @@ TcpGetSegmentSndQue ( // if (CopyLen != 0) { Data = NetbufAllocSpace (Nbuf, CopyLen, NET_BUF_TAIL); - ASSERT (Data); + ASSERT (Data != NULL); if ((INT32) NetbufCopy (Node, Offset, CopyLen, Data) != CopyLen) { goto OnError; @@ -572,7 +571,7 @@ TcpGetSegmentSock ( UINT8 *Data; UINT32 DataGet; - ASSERT (Tcb && Tcb->Sk); + ASSERT ((Tcb != NULL) && (Tcb->Sk != NULL)); Nbuf = NetbufAlloc (Len + TCP_MAX_HEAD); @@ -592,7 +591,7 @@ TcpGetSegmentSock ( // copy data to the segment. // Data = NetbufAllocSpace (Nbuf, Len, NET_BUF_TAIL); - ASSERT (Data); + ASSERT (Data != NULL); DataGet = SockGetDataToSend (Tcb->Sk, 0, Len, Data); } @@ -633,7 +632,7 @@ TcpGetSegment ( { NET_BUF *Nbuf; - ASSERT (Tcb); + ASSERT (Tcb != NULL); // // Compare the SndNxt with the max sequence number sent. @@ -646,7 +645,7 @@ TcpGetSegment ( Nbuf = TcpGetSegmentSock (Tcb, Seq, Len); } - ASSERT (TcpVerifySegment (Nbuf)); + ASSERT (TcpVerifySegment (Nbuf) != 0); return Nbuf; } @@ -692,7 +691,7 @@ TcpRetransmit ( return -1; } - ASSERT (TcpVerifySegment (Nbuf)); + ASSERT (TcpVerifySegment (Nbuf) != 0); if (TcpTransmitSegment (Tcb, Nbuf) != 0) { goto OnError; @@ -703,7 +702,7 @@ TcpRetransmit ( // trim TCP head because all the buffer on SndQue // are headless. // - ASSERT (Nbuf->Tcp); + ASSERT (Nbuf->Tcp != NULL); NetbufTrim (Nbuf, (Nbuf->Tcp->HeadLen << 2), NET_BUF_HEAD); Nbuf->Tcp = NULL; @@ -743,7 +742,7 @@ TcpToSendData ( TCP_SEQNO Seq; TCP_SEQNO End; - ASSERT (Tcb && Tcb->Sk && (Tcb->State != TCP_LISTEN)); + ASSERT ((Tcb != NULL) && (Tcb->Sk != NULL) && (Tcb->State != TCP_LISTEN)); Sent = 0; @@ -807,8 +806,7 @@ SEND_AGAIN: // if ((TcpGetMaxSndNxt (Tcb) == Tcb->SndNxt) && (GET_SND_DATASIZE (Tcb->Sk) == 0) && - TCP_SEQ_LT (End + 1, Tcb->SndWnd + Tcb->SndWl2) - ) { + TCP_SEQ_LT (End + 1, Tcb->SndWnd + Tcb->SndWl2)) { DEBUG ((EFI_D_INFO, "TcpToSendData: send FIN " "to peer for TCB %p in state %d\n", Tcb, Tcb->State)); @@ -823,8 +821,8 @@ SEND_AGAIN: Seg->End = End; Seg->Flag = Flag; - ASSERT (TcpVerifySegment (Nbuf)); - ASSERT (TcpCheckSndQue (&Tcb->SndQue)); + ASSERT (TcpVerifySegment (Nbuf) != 0); + ASSERT (TcpCheckSndQue (&Tcb->SndQue) != 0); // // don't send an empty segment here. @@ -856,7 +854,7 @@ SEND_AGAIN: // // All the buffer in the SndQue is headless // - ASSERT (Nbuf->Tcp); + ASSERT (Nbuf->Tcp != NULL); NetbufTrim (Nbuf, (Nbuf->Tcp->HeadLen << 2), NET_BUF_HEAD); Nbuf->Tcp = NULL; @@ -915,8 +913,6 @@ OnError: @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpSendAck ( @@ -949,8 +945,7 @@ TcpSendAck ( /** - Send a zero probe segment. It can be used by keepalive - and zero window probe. + Send a zero probe segment. It can be used by keepalive and zero window probe. @param Tcb Pointer to the TCP_CB of this TCP instance. @@ -996,8 +991,6 @@ TcpSendZeroProbe ( @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpToSendAck ( @@ -1015,8 +1008,7 @@ TcpToSendAck ( // if (TCP_FLG_ON (Tcb->CtrlFlag, TCP_CTRL_ACK_NOW) || (Tcb->DelayedAck >= 1) || - (TcpNow > TcpRcvWinOld (Tcb)) - ) { + (TcpNow > TcpRcvWinOld (Tcb))) { TcpSendAck (Tcb); return; } @@ -1060,7 +1052,7 @@ TcpSendReset ( // // Don't respond to a Reset with reset // - if (Head->Flag & TCP_FLG_RST) { + if ((Head->Flag & TCP_FLG_RST) != 0) { return 0; } diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Timer.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Timer.c index 3c02c53912..65c98de048 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Timer.c +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Timer.c @@ -24,31 +24,67 @@ Abstract: UINT32 mTcpTick = 1000; +/** + Connect timeout handler. + + @param Tcb Pointer to the TCP_CB of this TCP instance. + +**/ VOID TcpConnectTimeout ( IN TCP_CB *Tcb ); +/** + Timeout handler for TCP retransmission timer. + + @param Tcb Pointer to the TCP_CB of this TCP instance. + +**/ VOID TcpRexmitTimeout ( IN TCP_CB *Tcb ); + +/** + Timeout handler for window probe timer. + @param Tcb Pointer to the TCP_CB of this TCP instance. + +**/ VOID TcpProbeTimeout ( IN TCP_CB *Tcb ); +/** + Timeout handler for keepalive timer. + + @param Tcb Pointer to the TCP_CB of this TCP instance. + +**/ VOID TcpKeepaliveTimeout ( IN TCP_CB *Tcb ); +/** + Timeout handler for FIN_WAIT_2 timer. + + @param Tcb Pointer to the TCP_CB of this TCP instance. + +**/ VOID TcpFinwait2Timeout ( IN TCP_CB *Tcb ); +/** + Timeout handler for 2MSL timer. + + @param Tcb Pointer to the TCP_CB of this TCP instance. + +**/ VOID Tcp2MSLTimeout ( IN TCP_CB *Tcb @@ -63,14 +99,11 @@ TCP_TIMER_HANDLER mTcpTimerHandler[TCP_TIMER_NUMBER] = { Tcp2MSLTimeout, }; - /** Close the TCP connection. @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpClose ( @@ -89,8 +122,6 @@ TcpClose ( @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpConnectTimeout ( @@ -123,8 +154,6 @@ TcpConnectTimeout ( @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpRexmitTimeout ( @@ -148,7 +177,7 @@ TcpRexmitTimeout ( Tcb->LossRecover = Tcb->SndNxt; Tcb->LossTimes++; - if (Tcb->LossTimes > Tcb->MaxRexmit && + if ((Tcb->LossTimes > Tcb->MaxRexmit) && !TCP_TIMER_ON (Tcb->EnabledTimer, TCP_TIMER_CONNECT)) { DEBUG ((EFI_D_ERROR, "TcpRexmitTimeout: connection closed " @@ -167,7 +196,6 @@ TcpRexmitTimeout ( TcpSetTimer (Tcb, TCP_TIMER_REXMIT, Tcb->Rto); Tcb->CongestState = TCP_CONGEST_LOSS; - TCP_CLEAR_FLG (Tcb->CtrlFlag, TCP_CTRL_RTT_ON); } @@ -177,8 +205,6 @@ TcpRexmitTimeout ( @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpProbeTimeout ( @@ -207,8 +233,6 @@ TcpProbeTimeout ( @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpKeepaliveTimeout ( @@ -240,8 +264,6 @@ TcpKeepaliveTimeout ( @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpFinwait2Timeout ( @@ -260,8 +282,6 @@ TcpFinwait2Timeout ( @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID Tcp2MSLTimeout ( @@ -276,14 +296,11 @@ Tcp2MSLTimeout ( /** - Update the timer status and the next expire time - according to the timers to expire in a specific - future time slot. + Update the timer status and the next expire time according to the timers + to expire in a specific future time slot. @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpUpdateTimer ( @@ -318,8 +335,6 @@ TcpUpdateTimer ( @param Timer The index of the timer to be enabled. @param TimeOut The timeout value of this timer. - @return None. - **/ VOID TcpSetTimer ( @@ -341,8 +356,6 @@ TcpSetTimer ( @param Tcb Pointer to the TCP_CB of this TCP instance. @param Timer The index of the timer to be cleared. - @return None. - **/ VOID TcpClearTimer ( @@ -360,8 +373,6 @@ TcpClearTimer ( @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpClearAllTimer ( @@ -378,8 +389,6 @@ TcpClearAllTimer ( @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpSetProbeTimer ( @@ -410,8 +419,6 @@ TcpSetProbeTimer ( @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpSetKeepaliveTimer ( @@ -448,8 +455,6 @@ TcpSetKeepaliveTimer ( @param Tcb Pointer to the TCP_CB of this TCP instance. - @return None. - **/ VOID TcpBackoffRto ( @@ -481,9 +486,7 @@ TcpBackoffRto ( /** Heart beat timer handler. - @param Context Context of the timer event, ignored. - - @return None. + @param Context Context of the timer event, ignored. **/ VOID @@ -572,8 +575,6 @@ NextConnection: @param Event Timer event signaled, ignored. @param Context Context of the timer event, ignored. - @return None. - **/ VOID EFIAPI