= 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 `<>` to "`unbind`" the socket from the address at _url_. NOTE: This function is provided for API <> with legacy _libnanomsg_. Consider using the relevant <> 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 <> 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 <>, <>, <>, <>, <>, <>