X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=NetworkPkg%2FTcpDxe%2FSockInterface.c;h=6217eb52dac519826fb2e1026baf47697c747af7;hb=HEAD;hp=b4ba40afcef620f9e6889c5866f10b4c9408aae4;hpb=d555699b3ccda17b79abc436d191228921d2631c;p=mirror_edk2.git diff --git a/NetworkPkg/TcpDxe/SockInterface.c b/NetworkPkg/TcpDxe/SockInterface.c index b4ba40afce..6e8cbb74a8 100644 --- a/NetworkPkg/TcpDxe/SockInterface.c +++ b/NetworkPkg/TcpDxe/SockInterface.c @@ -1,15 +1,9 @@ /** @file Interface function of the Socket. - Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
- This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php. - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -27,12 +21,12 @@ **/ BOOLEAN SockTokenExistedInList ( - IN LIST_ENTRY *List, - IN EFI_EVENT Event + IN LIST_ENTRY *List, + IN EFI_EVENT Event ) { - LIST_ENTRY *ListEntry; - SOCK_TOKEN *SockToken; + LIST_ENTRY *ListEntry; + SOCK_TOKEN *SockToken; NET_LIST_FOR_EACH (ListEntry, List) { SockToken = NET_LIST_USER_STRUCT ( @@ -62,22 +56,20 @@ SockTokenExistedInList ( **/ BOOLEAN SockTokenExisted ( - IN SOCKET *Sock, - IN EFI_EVENT Event + IN SOCKET *Sock, + IN EFI_EVENT Event ) { - if (SockTokenExistedInList (&Sock->SndTokenList, Event) || SockTokenExistedInList (&Sock->ProcessingSndTokenList, Event) || SockTokenExistedInList (&Sock->RcvTokenList, Event) || SockTokenExistedInList (&Sock->ListenTokenList, Event) - ) { - + ) + { return TRUE; } if ((Sock->ConnectionToken != NULL) && (Sock->ConnectionToken->Event == Event)) { - return TRUE; } @@ -101,28 +93,27 @@ SockTokenExisted ( **/ SOCK_TOKEN * SockBufferToken ( - IN SOCKET *Sock, - IN LIST_ENTRY *List, - IN VOID *Token, - IN UINT32 DataLen + IN SOCKET *Sock, + IN LIST_ENTRY *List, + IN VOID *Token, + IN UINT32 DataLen ) { SOCK_TOKEN *SockToken; SockToken = AllocateZeroPool (sizeof (SOCK_TOKEN)); if (NULL == SockToken) { - DEBUG ( - (EFI_D_ERROR, - "SockBufferIOToken: No Memory to allocate SockToken\n") + (DEBUG_ERROR, + "SockBufferIOToken: No Memory to allocate SockToken\n") ); return NULL; } - SockToken->Sock = Sock; - SockToken->Token = (SOCK_COMPLETION_TOKEN *) Token; - SockToken->RemainDataLen = DataLen; + SockToken->Sock = Sock; + SockToken->Token = (SOCK_COMPLETION_TOKEN *)Token; + SockToken->RemainDataLen = DataLen; InsertTailList (List, &SockToken->TokenList); return SockToken; @@ -139,15 +130,15 @@ SockBufferToken ( **/ EFI_STATUS SockDestroyChild ( - IN OUT SOCKET *Sock + IN OUT SOCKET *Sock ) { - EFI_STATUS Status; - TCP_PROTO_DATA *ProtoData; - TCP_CB *Tcb; - EFI_GUID *IpProtocolGuid; - EFI_GUID *TcpProtocolGuid; - VOID *SockProtocol; + EFI_STATUS Status; + TCP_PROTO_DATA *ProtoData; + TCP_CB *Tcb; + EFI_GUID *IpProtocolGuid; + EFI_GUID *TcpProtocolGuid; + VOID *SockProtocol; ASSERT ((Sock != NULL) && (Sock->ProtoHandler != NULL)); @@ -158,29 +149,18 @@ SockDestroyChild ( Sock->InDestroy = TRUE; if (Sock->IpVersion == IP_VERSION_4) { - IpProtocolGuid = &gEfiIp4ProtocolGuid; + IpProtocolGuid = &gEfiIp4ProtocolGuid; TcpProtocolGuid = &gEfiTcp4ProtocolGuid; } else { - IpProtocolGuid = &gEfiIp6ProtocolGuid; + IpProtocolGuid = &gEfiIp6ProtocolGuid; TcpProtocolGuid = &gEfiTcp6ProtocolGuid; } - ProtoData = (TCP_PROTO_DATA *) Sock->ProtoReserved; + + ProtoData = (TCP_PROTO_DATA *)Sock->ProtoReserved; Tcb = ProtoData->TcpPcb; ASSERT (Tcb != NULL); - Status = EfiAcquireLockOrFail (&(Sock->Lock)); - if (EFI_ERROR (Status)) { - - DEBUG ( - (EFI_D_ERROR, - "SockDestroyChild: Get the lock to access socket failed with %r\n", - Status) - ); - - return EFI_ACCESS_DENIED; - } - // // Close the IP protocol. // @@ -208,11 +188,10 @@ SockDestroyChild ( ); if (EFI_ERROR (Status)) { - DEBUG ( - (EFI_D_ERROR, - "SockDestroyChild: Open protocol installed on socket failed with %r\n", - Status) + (DEBUG_ERROR, + "SockDestroyChild: Open protocol installed on socket failed with %r\n", + Status) ); } @@ -220,11 +199,22 @@ SockDestroyChild ( // Uninstall the protocol installed on this sock // gBS->UninstallMultipleProtocolInterfaces ( - Sock->SockHandle, - TcpProtocolGuid, - SockProtocol, - NULL - ); + Sock->SockHandle, + TcpProtocolGuid, + SockProtocol, + NULL + ); + + Status = EfiAcquireLockOrFail (&(Sock->Lock)); + if (EFI_ERROR (Status)) { + DEBUG ( + (DEBUG_ERROR, + "SockDestroyChild: Get the lock to access socket failed with %r\n", + Status) + ); + + return EFI_ACCESS_DENIED; + } // // force protocol layer to detach the PCB @@ -232,16 +222,14 @@ SockDestroyChild ( Status = Sock->ProtoHandler (Sock, SOCK_DETACH, NULL); if (EFI_ERROR (Status)) { - DEBUG ( - (EFI_D_ERROR, - "SockDestroyChild: Protocol detach socket failed with %r\n", - Status) + (DEBUG_ERROR, + "SockDestroyChild: Protocol detach socket failed with %r\n", + Status) ); Sock->InDestroy = FALSE; } else if (SOCK_IS_CONFIGURED (Sock)) { - SockConnFlush (Sock); SockSetState (Sock, SO_CLOSED); @@ -260,17 +248,17 @@ SockDestroyChild ( /** Create a socket and its associated protocol control block - with the intial data SockInitData and protocol specific + with the initial data SockInitData and protocol specific data ProtoData. - @param[in] SockInitData Inital data to setting the socket. + @param[in] SockInitData Initial data to setting the socket. - @return Pointer to the newly created socket. If NULL, an error condition occured. + @return Pointer to the newly created socket. If NULL, an error condition occurred. **/ SOCKET * SockCreateChild ( - IN SOCK_INIT_DATA *SockInitData + IN SOCK_INIT_DATA *SockInitData ) { SOCKET *Sock; @@ -283,10 +271,9 @@ SockCreateChild ( // Sock = SockCreate (SockInitData); if (NULL == Sock) { - DEBUG ( - (EFI_D_ERROR, - "SockCreateChild: No resource to create a new socket\n") + (DEBUG_ERROR, + "SockCreateChild: No resource to create a new socket\n") ); return NULL; @@ -294,14 +281,14 @@ SockCreateChild ( Status = EfiAcquireLockOrFail (&(Sock->Lock)); if (EFI_ERROR (Status)) { - DEBUG ( - (EFI_D_ERROR, - "SockCreateChild: Get the lock to access socket failed with %r\n", - Status) + (DEBUG_ERROR, + "SockCreateChild: Get the lock to access socket failed with %r\n", + Status) ); goto ERROR; } + // // inform the protocol layer to attach the socket // with a new protocol control block @@ -309,11 +296,10 @@ SockCreateChild ( Status = Sock->ProtoHandler (Sock, SOCK_ATTACH, NULL); EfiReleaseLock (&(Sock->Lock)); if (EFI_ERROR (Status)) { - DEBUG ( - (EFI_D_ERROR, - "SockCreateChild: Protocol failed to attach a socket with %r\n", - Status) + (DEBUG_ERROR, + "SockCreateChild: Protocol failed to attach a socket with %r\n", + Status) ); goto ERROR; } @@ -344,13 +330,13 @@ ERROR: // Uninstall the protocol installed on this sock // gBS->UninstallMultipleProtocolInterfaces ( - Sock->SockHandle, - TcpProtocolGuid, - SockProtocol, - NULL - ); - SockDestroy (Sock); - return NULL; + Sock->SockHandle, + TcpProtocolGuid, + SockProtocol, + NULL + ); + SockDestroy (Sock); + return NULL; } /** @@ -366,19 +352,18 @@ ERROR: **/ EFI_STATUS SockConfigure ( - IN SOCKET *Sock, - IN VOID *ConfigData + IN SOCKET *Sock, + IN VOID *ConfigData ) { EFI_STATUS Status; Status = EfiAcquireLockOrFail (&(Sock->Lock)); if (EFI_ERROR (Status)) { - DEBUG ( - (EFI_D_ERROR, - "SockConfigure: Get the access for socket failed with %r", - Status) + (DEBUG_ERROR, + "SockConfigure: Get the access for socket failed with %r", + Status) ); return EFI_ACCESS_DENIED; @@ -402,7 +387,7 @@ OnExit: /** Initiate a connection establishment process. - @param[in] Sock Pointer to the socket to initiate the initate the + @param[in] Sock Pointer to the socket to initiate the connection. @param[in] Token Pointer to the token used for the connection operation. @@ -419,8 +404,8 @@ OnExit: **/ EFI_STATUS SockConnect ( - IN SOCKET *Sock, - IN VOID *Token + IN SOCKET *Sock, + IN VOID *Token ) { EFI_STATUS Status; @@ -428,11 +413,10 @@ SockConnect ( Status = EfiAcquireLockOrFail (&(Sock->Lock)); if (EFI_ERROR (Status)) { - DEBUG ( - (EFI_D_ERROR, - "SockConnect: Get the access for socket failed with %r", - Status) + (DEBUG_ERROR, + "SockConnect: Get the access for socket failed with %r", + Status) ); return EFI_ACCESS_DENIED; @@ -444,26 +428,23 @@ SockConnect ( } if (SOCK_IS_UNCONFIGURED (Sock)) { - Status = EFI_NOT_STARTED; goto OnExit; } if (!SOCK_IS_CLOSED (Sock) || !SOCK_IS_CONFIGURED_ACTIVE (Sock)) { - Status = EFI_ACCESS_DENIED; goto OnExit; } - Event = ((SOCK_COMPLETION_TOKEN *) Token)->Event; + Event = ((SOCK_COMPLETION_TOKEN *)Token)->Event; if (SockTokenExisted (Sock, Event)) { - Status = EFI_ACCESS_DENIED; goto OnExit; } - Sock->ConnectionToken = (SOCK_COMPLETION_TOKEN *) Token; + Sock->ConnectionToken = (SOCK_COMPLETION_TOKEN *)Token; SockSetState (Sock, SO_CONNECTING); Status = Sock->ProtoHandler (Sock, SOCK_CONNECT, NULL); @@ -479,7 +460,7 @@ OnExit: @param[in] Sock Pointer to the socket to accept connections. @param[in] Token The token to accept a connection. - @retval EFI_SUCCESS Either a connection is accpeted or the Token is + @retval EFI_SUCCESS Either a connection is accepted or the Token is buffered for further acception. @retval EFI_ACCESS_DENIED Failed to get the lock to access the socket, or the socket is closed, or the socket is not configured to @@ -493,25 +474,24 @@ OnExit: **/ EFI_STATUS SockAccept ( - IN SOCKET *Sock, - IN VOID *Token + IN SOCKET *Sock, + IN VOID *Token ) { - EFI_TCP4_LISTEN_TOKEN *ListenToken; - LIST_ENTRY *ListEntry; - EFI_STATUS Status; - SOCKET *Socket; - EFI_EVENT Event; + EFI_TCP4_LISTEN_TOKEN *ListenToken; + LIST_ENTRY *ListEntry; + EFI_STATUS Status; + SOCKET *Socket; + EFI_EVENT Event; ASSERT (SockStream == Sock->Type); Status = EfiAcquireLockOrFail (&(Sock->Lock)); if (EFI_ERROR (Status)) { - DEBUG ( - (EFI_D_ERROR, - "SockAccept: Get the access for socket failed with %r", - Status) + (DEBUG_ERROR, + "SockAccept: Get the access for socket failed with %r", + Status) ); return EFI_ACCESS_DENIED; @@ -523,32 +503,28 @@ SockAccept ( } if (SOCK_IS_UNCONFIGURED (Sock)) { - Status = EFI_NOT_STARTED; goto Exit; } if (!SOCK_IS_LISTENING (Sock)) { - Status = EFI_ACCESS_DENIED; goto Exit; } - Event = ((SOCK_COMPLETION_TOKEN *) Token)->Event; + Event = ((SOCK_COMPLETION_TOKEN *)Token)->Event; if (SockTokenExisted (Sock, Event)) { - Status = EFI_ACCESS_DENIED; goto Exit; } - ListenToken = (EFI_TCP4_LISTEN_TOKEN *) Token; + ListenToken = (EFI_TCP4_LISTEN_TOKEN *)Token; // // Check if a connection has already in this Sock->ConnectionList // NET_LIST_FOR_EACH (ListEntry, &Sock->ConnectionList) { - Socket = NET_LIST_USER_STRUCT (ListEntry, SOCKET, ConnectionList); if (SOCK_IS_CONNECTED (Socket)) { @@ -562,9 +538,9 @@ SockAccept ( Socket->Parent->ConnCnt--; DEBUG ( - (EFI_D_NET, - "SockAccept: Accept a socket, now conncount is %d", - Socket->Parent->ConnCnt) + (DEBUG_NET, + "SockAccept: Accept a socket, now conncount is %d", + Socket->Parent->ConnCnt) ); Socket->Parent = NULL; @@ -576,7 +552,6 @@ SockAccept ( // Buffer this token for latter incoming connection request // if (NULL == SockBufferToken (Sock, &(Sock->ListenTokenList), Token, 0)) { - Status = EFI_OUT_OF_RESOURCES; } @@ -606,8 +581,8 @@ Exit: **/ EFI_STATUS SockSend ( - IN SOCKET *Sock, - IN VOID *Token + IN SOCKET *Sock, + IN VOID *Token ) { SOCK_IO_TOKEN *SndToken; @@ -622,11 +597,10 @@ SockSend ( Status = EfiAcquireLockOrFail (&(Sock->Lock)); if (EFI_ERROR (Status)) { - DEBUG ( - (EFI_D_ERROR, - "SockSend: Get the access for socket failed with %r", - Status) + (DEBUG_ERROR, + "SockSend: Get the access for socket failed with %r", + Status) ); return EFI_ACCESS_DENIED; @@ -637,8 +611,8 @@ SockSend ( goto Exit; } - SndToken = (SOCK_IO_TOKEN *) Token; - TxData = (EFI_TCP4_TRANSMIT_DATA *) SndToken->Packet.TxData; + SndToken = (SOCK_IO_TOKEN *)Token; + TxData = (EFI_TCP4_TRANSMIT_DATA *)SndToken->Packet.TxData; if (SOCK_IS_UNCONFIGURED (Sock)) { Status = EFI_NOT_STARTED; @@ -646,7 +620,6 @@ SockSend ( } if (!(SOCK_IS_CONNECTING (Sock) || SOCK_IS_CONNECTED (Sock))) { - Status = EFI_ACCESS_DENIED; goto Exit; } @@ -669,7 +642,6 @@ SockSend ( FreeSpace = SockGetFreeSpace (Sock, SOCK_SND_BUF); if ((FreeSpace < Sock->SndBuffer.LowWater) || !SOCK_IS_CONNECTED (Sock)) { - SockToken = SockBufferToken ( Sock, &Sock->SndTokenList, @@ -681,7 +653,6 @@ SockSend ( Status = EFI_OUT_OF_RESOURCES; } } else { - SockToken = SockBufferToken ( Sock, &Sock->ProcessingSndTokenList, @@ -690,11 +661,7 @@ SockSend ( ); if (NULL == SockToken) { - DEBUG ( - (EFI_D_ERROR, - "SockSend: Failed to buffer IO token into socket processing SndToken List\n", - Status) - ); + DEBUG ((DEBUG_ERROR, "SockSend: Failed to buffer IO token into socket processing SndToken List\n")); Status = EFI_OUT_OF_RESOURCES; goto Exit; @@ -703,11 +670,7 @@ SockSend ( Status = SockProcessTcpSndData (Sock, TxData); if (EFI_ERROR (Status)) { - DEBUG ( - (EFI_D_ERROR, - "SockSend: Failed to process Snd Data\n", - Status) - ); + DEBUG ((DEBUG_ERROR, "SockSend: Failed to process Snd Data\n")); RemoveEntryList (&(SockToken->TokenList)); FreePool (SockToken); @@ -740,48 +703,44 @@ Exit: **/ EFI_STATUS SockRcv ( - IN SOCKET *Sock, - IN VOID *Token + IN SOCKET *Sock, + IN VOID *Token ) { - SOCK_IO_TOKEN *RcvToken; - UINT32 RcvdBytes; - EFI_STATUS Status; - EFI_EVENT Event; + SOCK_IO_TOKEN *RcvToken; + UINT32 RcvdBytes; + EFI_STATUS Status; + EFI_EVENT Event; ASSERT (SockStream == Sock->Type); Status = EfiAcquireLockOrFail (&(Sock->Lock)); if (EFI_ERROR (Status)) { - DEBUG ( - (EFI_D_ERROR, - "SockRcv: Get the access for socket failed with %r", - Status) + (DEBUG_ERROR, + "SockRcv: Get the access for socket failed with %r", + Status) ); return EFI_ACCESS_DENIED; } if (SOCK_IS_NO_MAPPING (Sock)) { - Status = EFI_NO_MAPPING; goto Exit; } if (SOCK_IS_UNCONFIGURED (Sock)) { - Status = EFI_NOT_STARTED; goto Exit; } if (!(SOCK_IS_CONNECTED (Sock) || SOCK_IS_CONNECTING (Sock))) { - Status = EFI_ACCESS_DENIED; goto Exit; } - RcvToken = (SOCK_IO_TOKEN *) Token; + RcvToken = (SOCK_IO_TOKEN *)Token; // // check if a token is already in the token buffer of this socket @@ -792,14 +751,13 @@ SockRcv ( goto Exit; } - RcvToken = (SOCK_IO_TOKEN *) Token; + RcvToken = (SOCK_IO_TOKEN *)Token; RcvdBytes = GET_RCV_DATASIZE (Sock); // // check whether an error has happened before // if (EFI_ABORTED != Sock->SockError) { - SIGNAL_TOKEN (&(RcvToken->Token), Sock->SockError); Sock->SockError = EFI_ABORTED; goto Exit; @@ -810,7 +768,6 @@ SockRcv ( // data buffered in Sock->RcvBuffer // if (SOCK_IS_NO_MORE_DATA (Sock) && (0 == RcvdBytes)) { - Status = EFI_CONNECTION_FIN; goto Exit; } @@ -820,7 +777,6 @@ SockRcv ( Status = Sock->ProtoHandler (Sock, SOCK_CONSUMED, NULL); } else { - if (NULL == SockBufferToken (Sock, &Sock->RcvTokenList, RcvToken, 0)) { Status = EFI_OUT_OF_RESOURCES; } @@ -842,7 +798,7 @@ Exit: **/ EFI_STATUS SockFlush ( - IN OUT SOCKET *Sock + IN OUT SOCKET *Sock ) { EFI_STATUS Status; @@ -851,29 +807,26 @@ SockFlush ( Status = EfiAcquireLockOrFail (&(Sock->Lock)); if (EFI_ERROR (Status)) { - DEBUG ( - (EFI_D_ERROR, - "SockFlush: Get the access for socket failed with %r", - Status) + (DEBUG_ERROR, + "SockFlush: Get the access for socket failed with %r", + Status) ); return EFI_ACCESS_DENIED; } if (!SOCK_IS_CONFIGURED (Sock)) { - Status = EFI_ACCESS_DENIED; goto Exit; } Status = Sock->ProtoHandler (Sock, SOCK_FLUSH, NULL); if (EFI_ERROR (Status)) { - DEBUG ( - (EFI_D_ERROR, - "SockFlush: Protocol failed handling SOCK_FLUSH with %r", - Status) + (DEBUG_ERROR, + "SockFlush: Protocol failed handling SOCK_FLUSH with %r", + Status) ); goto Exit; @@ -911,9 +864,9 @@ Exit: **/ EFI_STATUS SockClose ( - IN OUT SOCKET *Sock, - IN VOID *Token, - IN BOOLEAN OnAbort + IN OUT SOCKET *Sock, + IN VOID *Token, + IN BOOLEAN OnAbort ) { EFI_STATUS Status; @@ -924,9 +877,9 @@ SockClose ( Status = EfiAcquireLockOrFail (&(Sock->Lock)); if (EFI_ERROR (Status)) { DEBUG ( - (EFI_D_ERROR, - "SockClose: Get the access for socket failed with %r", - Status) + (DEBUG_ERROR, + "SockClose: Get the access for socket failed with %r", + Status) ); return EFI_ACCESS_DENIED; @@ -947,7 +900,7 @@ SockClose ( goto Exit; } - Event = ((SOCK_COMPLETION_TOKEN *) Token)->Event; + Event = ((SOCK_COMPLETION_TOKEN *)Token)->Event; if (SockTokenExisted (Sock, Event)) { Status = EFI_ACCESS_DENIED; @@ -984,20 +937,20 @@ EFI_STATUS SockCancel ( IN OUT SOCKET *Sock, IN VOID *Token - ) + ) { - EFI_STATUS Status; + EFI_STATUS Status; - Status = EFI_SUCCESS; + Status = EFI_SUCCESS; ASSERT (SockStream == Sock->Type); Status = EfiAcquireLockOrFail (&(Sock->Lock)); if (EFI_ERROR (Status)) { DEBUG ( - (EFI_D_ERROR, - "SockCancel: Get the access for socket failed with %r", - Status) + (DEBUG_ERROR, + "SockCancel: Get the access for socket failed with %r", + Status) ); return EFI_ACCESS_DENIED; @@ -1007,11 +960,11 @@ SockCancel ( Status = EFI_NOT_STARTED; goto Exit; } - + // // 1. Check ConnectionToken. // - if (Token == NULL || (SOCK_COMPLETION_TOKEN *) Token == Sock->ConnectionToken) { + if ((Token == NULL) || ((SOCK_COMPLETION_TOKEN *)Token == Sock->ConnectionToken)) { if (Sock->ConnectionToken != NULL) { SIGNAL_TOKEN (Sock->ConnectionToken, EFI_ABORTED); Sock->ConnectionToken = NULL; @@ -1027,7 +980,7 @@ SockCancel ( // 2. Check ListenTokenList. // Status = SockCancelToken (Token, &Sock->ListenTokenList); - if (Token != NULL && !EFI_ERROR (Status)) { + if ((Token != NULL) && !EFI_ERROR (Status)) { goto Exit; } @@ -1035,15 +988,15 @@ SockCancel ( // 3. Check RcvTokenList. // Status = SockCancelToken (Token, &Sock->RcvTokenList); - if (Token != NULL && !EFI_ERROR (Status)) { + if ((Token != NULL) && !EFI_ERROR (Status)) { goto Exit; } - + // // 4. Check SndTokenList. // Status = SockCancelToken (Token, &Sock->SndTokenList); - if (Token != NULL && !EFI_ERROR (Status)) { + if ((Token != NULL) && !EFI_ERROR (Status)) { goto Exit; } @@ -1051,13 +1004,12 @@ SockCancel ( // 5. Check ProcessingSndTokenList. // Status = SockCancelToken (Token, &Sock->ProcessingSndTokenList); - + Exit: EfiReleaseLock (&(Sock->Lock)); return Status; } - /** Get the mode data of the low layer protocol. @@ -1071,59 +1023,13 @@ Exit: **/ EFI_STATUS SockGetMode ( - IN SOCKET *Sock, - IN OUT VOID *Mode + IN SOCKET *Sock, + IN OUT VOID *Mode ) { return Sock->ProtoHandler (Sock, SOCK_MODE, Mode); } -/** - Configure the low level protocol to join a multicast group for - this socket's connection. - - @param[in] Sock Pointer to the socket of the connection to join the - specific multicast group. - @param[in] GroupInfo Pointer to the multicast group info. - - @retval EFI_SUCCESS The configuration completed successfully. - @retval EFI_ACCESS_DENIED Failed to get the lock to access the socket. - @retval EFI_NOT_STARTED The socket is not configured. - -**/ -EFI_STATUS -SockGroup ( - IN SOCKET *Sock, - IN VOID *GroupInfo - ) -{ - EFI_STATUS Status; - - Status = EfiAcquireLockOrFail (&(Sock->Lock)); - - if (EFI_ERROR (Status)) { - - DEBUG ( - (EFI_D_ERROR, - "SockGroup: Get the access for socket failed with %r", - Status) - ); - - return EFI_ACCESS_DENIED; - } - - if (SOCK_IS_UNCONFIGURED (Sock)) { - Status = EFI_NOT_STARTED; - goto Exit; - } - - Status = Sock->ProtoHandler (Sock, SOCK_GROUP, GroupInfo); - -Exit: - EfiReleaseLock (&(Sock->Lock)); - return Status; -} - /** Add or remove route information in IP route table associated with this socket. @@ -1141,8 +1047,8 @@ Exit: **/ EFI_STATUS SockRoute ( - IN SOCKET *Sock, - IN VOID *RouteInfo + IN SOCKET *Sock, + IN VOID *RouteInfo ) { EFI_STATUS Status; @@ -1150,9 +1056,9 @@ SockRoute ( Status = EfiAcquireLockOrFail (&(Sock->Lock)); if (EFI_ERROR (Status)) { DEBUG ( - (EFI_D_ERROR, - "SockRoute: Get the access for socket failed with %r", - Status) + (DEBUG_ERROR, + "SockRoute: Get the access for socket failed with %r", + Status) ); return EFI_ACCESS_DENIED; @@ -1174,4 +1080,3 @@ Exit: EfiReleaseLock (&(Sock->Lock)); return Status; } -