an_bind_tohostname(3) - Linux man page

Name

an_bind_tohostname - bind to an incoming address

Synopsis

#include <antinat.h>

int an_bind_tohostname(ANCONN s, const char *hostname, unsigned short port);

Description

The an_bind_tohostname(3) function is used allow incoming connections from the specified hostname. In order to accept any incoming connection, an_listen(3) must be called on the bound socket. 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) call.

hostname is a hostname that a connection will be allowed from.

port is the port that a connection will be allowed from. The antinat server ignores this value.

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 or hostname is invalid.
AN_ERROR_NAMERESOLVE
Could not resolve the proxy hostname. For some types of proxy, the remote client name will also need to be locally resolved, and could also generate this error.
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 without having performed any operation on the socket other than an_new_connection(3).
AN_ERROR_NETWORK
Could not read information from the network; a network error occurred.
AN_ERROR_PROXY
The proxy failed to successfully process the incoming connection.

See Also

an_accept(3), an_bind_tosockaddr(3), an_listen(3), an_new_connection(3)

Author

Malcolm Smith <malxau@users.sourceforge.net>

Referenced By

an_gethostbyname(3), an_getsockname(3)