= nn_bind(3compat) // // Copyright 2018 Staysail Systems, Inc. // Copyright 2018 Capitar IT Group BV // // This document is supplied under the terms of the MIT License, a // copy of which should be located in the distribution where this // file was obtained (LICENSE.txt). A copy of the license may also be // found online at https://opensource.org/licenses/MIT. // == NAME nn_bind - accept connections from remote peers (compatible API) == SYNOPSIS [source, c] ---- #include int nn_bind(int sock, const char *url) ---- == DESCRIPTION The `nn_bind()` function arranges for the socket _sock_ to accept connections at the address specified by _url_. An "`endpoint identifier`" for this socket's association with the _url_ is returned to the caller on success. This ID can be used with xref:nn_shutdown.3compat.adoc[`nn_shutdown()`] to "`unbind`" the socket from the address at _url_. NOTE: This function is provided for API xref:nng_compat.3compat.adoc[compatibility] with legacy _libnanomsg_. Consider using the relevant xref:libnng.3.adoc[modern API] instead. NOTE: The bind operation is performed asynchronously, and may not have completed before this function returns control to the caller. IMPORTANT: Only transports supported by legacy _libnanomsg_ may be used with this function. In particular, only the schemes `tcp://`, `ipc://`, `inproc://`, and `ws://` are supported with this function. (Use the xref:libnng.3.adoc[modern API] to use other schemes.) == RETURN VALUES This function returns a positive identifier on success, and -1 on error. == ERRORS [horizontal] `EADDRINUSE`:: The address specified by _url_ is already in use. `EADDRNOTAVAIL`:: The address specified by _url_ is not available. `EBADF`:: The socket _sock_ is not open. `EINVAL`:: An invalid _url_ was supplied. == SEE ALSO [.text-left] xref:nn_connect.3compat.adoc[nn_connect(3compat)], xref:nn_errno.3compat.adoc[nn_errno(3compat)], xref:nn_shutdown.3compat.adoc[nn_shutdown(3compat)], xref:nn_socket.3compat.adoc[nn_socket(3compat)], xref:nng_compat.3compat.adoc[nn_compat(3compat)], xref:nng.7.adoc[nng(7)]