summaryrefslogtreecommitdiff
path: root/StdLib/BsdSocketLib/close.c
diff options
context:
space:
mode:
Diffstat (limited to 'StdLib/BsdSocketLib/close.c')
-rw-r--r--StdLib/BsdSocketLib/close.c108
1 files changed, 0 insertions, 108 deletions
diff --git a/StdLib/BsdSocketLib/close.c b/StdLib/BsdSocketLib/close.c
deleted file mode 100644
index 01eb48ecb5..0000000000
--- a/StdLib/BsdSocketLib/close.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/** @file
- Implement the close API.
-
- Copyright (c) 2011, 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.
-
-**/
-
-#include <SocketInternals.h>
-
-
-/**
- Worker routine to close the socket.
-
- @param[in] pSocketProtocol Socket protocol structure address
-
- @param[in] pErrno Address of the ::errno variable
-
- @retval EFI_SUCCESS Successfully closed the socket
-
-**/
-EFI_STATUS
-BslSocketCloseWork (
- IN EFI_SOCKET_PROTOCOL * pSocketProtocol,
- IN int * pErrno
- )
-{
- EFI_STATUS Status;
-
- //
- // Start closing the socket
- //
- Status = pSocketProtocol->pfnCloseStart ( pSocketProtocol,
- FALSE,
- pErrno );
-
- //
- // Wait for the socket to close or an error
- //
- while ( EFI_NOT_READY == Status ) {
- Status = pSocketProtocol->pfnClosePoll ( pSocketProtocol,
- pErrno );
- }
- if ( !EFI_ERROR ( Status )) {
- //
- // Release the socket resources
- //
- *pErrno = EslServiceFreeProtocol ( pSocketProtocol );
- }
- else {
- DEBUG (( DEBUG_ERROR,
- "ERROR - Failed to close the socket: %r\r\n",
- Status ));
- *pErrno = EIO;
- }
-
- //
- // Return the close status
- //
- return Status;
-}
-
-
-/**
- Close the socket
-
- The BslSocketClose routine is called indirectly from the close file
- system routine. This routine closes the socket and returns the
- status to the caller.
-
- @param[in] pDescriptor Descriptor address for the file
-
- @return This routine returns 0 upon success and -1 upon failure.
- In the case of failure, ::errno contains more information.
-
-**/
-int
-EFIAPI
-BslSocketClose (
- struct __filedes * pDescriptor
- )
-{
- int CloseStatus;
- EFI_SOCKET_PROTOCOL * pSocketProtocol;
-
- //
- // Locate the socket protocol
- //
- pSocketProtocol = BslValidateSocketFd ( pDescriptor, &errno );
- if ( NULL != pSocketProtocol ) {
- //
- // Close the socket
- //
- BslSocketCloseWork ( pSocketProtocol, &errno );
- }
-
- //
- // Return the close status
- //
- CloseStatus = ( errno == 0 ) ? 0 : -1;
- return CloseStatus;
-}