diff options
author | Guo Mang <mang.guo@intel.com> | 2017-08-02 09:54:47 +0800 |
---|---|---|
committer | Guo Mang <mang.guo@intel.com> | 2017-09-05 19:45:08 +0800 |
commit | 6c128c65b5ec0e5b8b5a0ccb165f3afd29e485f8 (patch) | |
tree | 444372d92a0ae8991fe4d15eb3937df43690dfda /StdLib/BsdSocketLib/accept.c | |
parent | b207c6434d7a5a4502975d322312e07017e8a8cb (diff) | |
download | edk2-platforms-6c128c65b5ec0e5b8b5a0ccb165f3afd29e485f8.tar.xz |
Remove core packages since we can get them from edk2 repository
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Guo Mang <mang.guo@intel.com>
Diffstat (limited to 'StdLib/BsdSocketLib/accept.c')
-rw-r--r-- | StdLib/BsdSocketLib/accept.c | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/StdLib/BsdSocketLib/accept.c b/StdLib/BsdSocketLib/accept.c deleted file mode 100644 index 4f0dbac5f9..0000000000 --- a/StdLib/BsdSocketLib/accept.c +++ /dev/null @@ -1,161 +0,0 @@ -/** @file
- Implement the accept 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 for ::accept and ::AcceptNB
-
- @param [in] s Socket file descriptor returned from ::socket.
-
- @param [in] bBlockingAllowed TRUE if this is a blocking call
- @param [in] address Address of a buffer to receive the remote network address.
-
- @param [in, out] address_len Address of a buffer containing the Length in bytes
- of the remote network address buffer. Upon return,
- contains the length of the remote network address.
-
- @return AcceptWork returns zero if successful and -1 when an error occurs.
- In the case of an error, ::errno contains more details.
-
- **/
-int
-AcceptWork (
- int s,
- BOOLEAN bBlockingAllowed,
- struct sockaddr * address,
- socklen_t * address_len
- )
-{
- BOOLEAN bBlocking;
- INT32 NewSocketFd;
- struct __filedes * pDescriptor;
- EFI_SOCKET_PROTOCOL * pNewSocket;
- EFI_SOCKET_PROTOCOL * pSocketProtocol;
- EFI_STATUS Status;
-
- //
- // Assume failure
- //
- NewSocketFd = -1;
-
- //
- // Locate the context for this socket
- //
- pSocketProtocol = BslFdToSocketProtocol ( s,
- &pDescriptor,
- &errno );
- if ( NULL != pSocketProtocol ) {
- //
- // Determine if the operation is blocking
- //
- bBlocking = (BOOLEAN)( 0 == ( pDescriptor->Oflags & O_NONBLOCK ));
- bBlocking &= bBlockingAllowed;
-
- //
- // Attempt to accept a new network connection
- //
- do {
- Status = pSocketProtocol->pfnAccept ( pSocketProtocol,
- address,
- address_len,
- &pNewSocket,
- &errno );
- } while ( bBlocking && ( EFI_NOT_READY == Status ));
-
- //
- // Convert the protocol to a socket
- //
- if ( !EFI_ERROR ( Status )) {
- NewSocketFd = BslSocketProtocolToFd ( pNewSocket, &errno );
- if ( -1 == NewSocketFd ) {
- //
- // Close the socket
- //
- BslSocketCloseWork ( pNewSocket, NULL );
- }
- }
- }
-
- //
- // Return the new socket file descriptor
- //
- return NewSocketFd;
-}
-
-
-/**
- Accept a network connection.
-
- The accept routine waits for a network connection to the socket.
- It returns the remote network address to the caller if requested.
-
- The
- <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/accept.html">POSIX</a>
- documentation is available online.
-
- @param [in] s Socket file descriptor returned from ::socket.
-
- @param [in] address Address of a buffer to receive the remote network address.
-
- @param [in, out] address_len Address of a buffer containing the Length in bytes
- of the remote network address buffer. Upon return,
- contains the length of the remote network address.
-
- @return The accept routine returns zero if successful and -1 when an error occurs.
- In the case of an error, ::errno contains more details.
-
- **/
-int
-accept (
- int s,
- struct sockaddr * address,
- socklen_t * address_len
- )
-{
- //
- // Wait for the accept call to complete
- //
- return AcceptWork ( s, TRUE, address, address_len );
-}
-
-
-/**
- Non blocking version of ::accept.
-
- @param [in] s Socket file descriptor returned from ::socket.
-
- @param [in] address Address of a buffer to receive the remote network address.
-
- @param [in, out] address_len Address of a buffer containing the Length in bytes
- of the remote network address buffer. Upon return,
- contains the length of the remote network address.
-
- @return This routine returns zero if successful and -1 when an error occurs.
- In the case of an error, ::errno contains more details.
-
- **/
-int
-AcceptNB (
- int s,
- struct sockaddr * address,
- socklen_t * address_len
- )
-{
- //
- // Attempt to accept a network connection
- //
- return AcceptWork ( s, FALSE, address, address_len );
-}
|