Skip to content

Most visited

Recently visited


multinetwork.h File Reference

multinetwork.h File Reference


int android_setsocknetwork (net_handle_t network, int fd)
int android_setprocnetwork (net_handle_t network)
int android_getaddrinfofornetwork (net_handle_t network, const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res)


__BEGIN_DECLS typedef uint64_t net_handle_t

Function Documentation

◆ android_getaddrinfofornetwork()

int android_getaddrinfofornetwork ( net_handle_t  network,
const char *  node,
const char *  service,
const struct addrinfo *  hints,
struct addrinfo **  res 

Perform hostname resolution via the DNS servers associated with |network|.

All arguments (apart from |network|) are used identically as those passed to getaddrinfo(3). Return and error values are identical to those of getaddrinfo(3), and in particular gai_strerror(3) can be used as expected. Similar to getaddrinfo(3):

  • |hints| may be NULL (in which case man page documented defaults apply)
  • either |node| or |service| may be NULL, but not both
  • |res| must not be NULL

This is the equivalent of:

◆ android_setprocnetwork()

int android_setprocnetwork ( net_handle_t  network)

Binds the current process to |network|. All sockets created in the future (and not explicitly bound via android_setsocknetwork()) will be bound to |network|. All host name resolutions will be limited to |network| as well. Note that if the network identified by |network| ever disconnects, all sockets created in this way will cease to work and all host name resolutions will fail. This is by design so an application doesn't accidentally use sockets it thinks are still bound to a particular network.

To clear a previous process binding, invoke with NETWORK_UNSPECIFIED.

This is the equivalent of:

◆ android_setsocknetwork()

int android_setsocknetwork ( net_handle_t  network,
int  fd 

All functions below that return an int return 0 on success or -1 on failure with an appropriate errno value set. Set the network to be used by the given socket file descriptor.

To clear a previous socket binding, invoke with NETWORK_UNSPECIFIED.

This is the equivalent of:

Variable Documentation

◆ net_handle_t

__BEGIN_DECLS typedef uint64_t net_handle_t

The corresponding C type for return values. The Java signed long value can be safely cast to a net_handle_t:

[C]    ((net_handle_t) java_long_network_handle)
[C++]  static_cast<net_handle_t>(java_long_network_handle)

as appropriate.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields


Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (April 2018 — Developer Survey)