= nn_device(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_device - create forwarding device (compatible API) == SYNOPSIS [source,c] ---- #include int nn_device(int sock1, int sock2); ---- == DESCRIPTION The `nn_device()` function is used to create a forwarder, where messages received on one of the two sockets _sock1_ and _sock2_ are forwarded to the other. NOTE: This function is provided for API <> with legacy _libnanomsg_. Consider using the relevant <> instead. The two sockets must be compatible, and must be <> sockets. More detail about devices and how they can be used is available in the new style <> documentation. == RETURN VALUES This function blocks forever, and will return -1 only when one of the sockets is closed or an error occurs. == ERRORS [horizonal] `EBADF`:: One of the two sockets is invalid or not open, or has `EINVAL`:: The sockets are not compatible with each other, or not both raw. `ENOMEM`:: Insufficient memory is available. == SEE ALSO <>, <>, <>, <>