AN_ACCEPT
Section: Antinat Programmer's Manual (3)Updated: 2005-01-06
Index Return to Main Contents
NAME
an_accept - accept a connection on a proxy-capable socket
SYNOPSIS
#include <antinat.h>
int an_accept(ANCONN s, struct sockaddr *addr, int socklen);
DESCRIPTION
The an_accept(3) function is used to accept an incoming connection on a socket that was created earlier and switched into listen mode using the an_listen(3) call. For proxy-based connections, only one incoming connection is allowed on any listening socket. Accepting a connection will use the primary socket for communication and will not create any other socket.
s is a socket previously created with an_new_connection(3), bound with the an_bind_tohostname(3) or an_bind_tosockaddr(3) calls, and placed into listen mode with an_listen(3).
Similar to accept, addr is filled in with the address of the connecting entity and socklen contains the length of addr. If addr is NULL then this data is not returned, but may be retrieved later with a call to an_getpeername(3).
NOTES
Although there is planned support for non-blocking sockets in a future release, this call should be considered a blocking call. A non-blocking socket will be silently (and temporarily) changed to a blocking one to process the connection.
RETURN VALUE
This call returns AN_ERROR_SUCCESS to indicate successful completion.
ERRORS
- AN_ERROR_INVALIDARG
- The socket handle is invalid.
- AN_ERROR_NETWORK
- Could not read information from the network; a network error occurred.
- AN_ERROR_NOMEM
- There was not enough space to store the resulting socket information into the addr buffer.
- AN_ERROR_NOTSUPPORTED
- This call cannot be made on the type of socket, or cannot return socket information for this type of connection.
- AN_ERROR_ORDER
- This call must be called after a prior successful call to an_bind_tosockaddr(3) or an_bind_tohostname(3).
- AN_ERROR_PROXY
- The proxy failed to successfully process the incoming connection.
SEE ALSO
accept, an_bind_tohostname(3), an_bind_tosockaddr(3), an_getpeername(3), an_listen(3), an_new_connection(3)
AUTHOR
Malcolm Smith <malxau@users.sourceforge.net>
Index
Time: 14:19:43 GMT, January 09, 2005