summaryrefslogtreecommitdiff
path: root/docs/reference/src/compat/nn_device.3compat.adoc
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-03-30 22:14:33 -0700
committerGarrett D'Amore <garrett@damore.org>2024-03-30 22:14:33 -0700
commit6f8944a96a5acd509014caae4e57dafbba51e126 (patch)
treecc409dd3522d2e949227525c2f88a453bcf84b79 /docs/reference/src/compat/nn_device.3compat.adoc
parenta30600629f4e885fee4acf25f5cd7c663ddc7b04 (diff)
downloadnng-6f8944a96a5acd509014caae4e57dafbba51e126.tar.gz
nng-6f8944a96a5acd509014caae4e57dafbba51e126.tar.bz2
nng-6f8944a96a5acd509014caae4e57dafbba51e126.zip
finished proto open pages
Diffstat (limited to 'docs/reference/src/compat/nn_device.3compat.adoc')
-rw-r--r--docs/reference/src/compat/nn_device.3compat.adoc59
1 files changed, 59 insertions, 0 deletions
diff --git a/docs/reference/src/compat/nn_device.3compat.adoc b/docs/reference/src/compat/nn_device.3compat.adoc
new file mode 100644
index 00000000..c69e1e04
--- /dev/null
+++ b/docs/reference/src/compat/nn_device.3compat.adoc
@@ -0,0 +1,59 @@
+= nn_device(3compat)
+//
+// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech>
+// Copyright 2018 Capitar IT Group BV <info@capitar.com>
+//
+// 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 <nanomsg/nn.h>
+
+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
+xref:nng_compat.3compat.adoc[compatibility] with legacy _libnanomsg_.
+Consider using the relevant xref:libnng.3.adoc[modern API] instead.
+
+The two sockets must be compatible, and must be
+xref:nng.7.adoc#raw_mode[raw mode]
+sockets.
+More detail about devices and how they can be used is available in the
+new style xref:nng_device.3.adoc[nng_device()] documentation.
+
+== RETURN VALUES
+
+This function blocks forever, and will return -1 only when
+one of the sockets is closed or an error occurs.
+
+== ERRORS
+
+[horizontal]
+`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
+
+[.text-left]
+xref:nn_errno.3compat.adoc[nn_errno(3compat)],
+xref:nn_socket.3compat.adoc[nn_socket(3compat)],
+xref:nng_compat.3compat.adoc[nng_compat(3compat)],
+xref:nng.7.adoc[nng(7)]