aboutsummaryrefslogtreecommitdiff
path: root/docs/man/nn_errno.3compat.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/man/nn_errno.3compat.adoc')
-rw-r--r--docs/man/nn_errno.3compat.adoc78
1 files changed, 78 insertions, 0 deletions
diff --git a/docs/man/nn_errno.3compat.adoc b/docs/man/nn_errno.3compat.adoc
new file mode 100644
index 00000000..316a419e
--- /dev/null
+++ b/docs/man/nn_errno.3compat.adoc
@@ -0,0 +1,78 @@
+= nn_errno(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_errno - return most recent error (compatible API)
+
+== SYNOPSIS
+
+[source,c]
+----
+#include <nanomsg/nn.h>
+
+int nn_errno(void);
+----
+
+== DESCRIPTION
+
+The `nn_errno()` function returns the error number corresponding to the
+most recent failed operation by the calling thread.
+
+NOTE: This function is provided for API
+<<nng_compat.3compat#,compatibility>> with legacy _libnanomsg_.
+Consider using the relevant <<libnng.3#,modern API>> instead.
+
+IMPORTANT: The error numbers returned from this function may include
+errors caused by system functions, which overlap the usual `errno` variable,
+and this function simply returns the value of `errno`.
+However, the values returned may include numeric values that are not
+defined by the system, but are unique to _libnanomsg_, such as `EFSM`.
+
+This library implements the following error numbers, in addition to any others
+that might be set for `errno` by the underlying system:
+
+
+== RETURN VALUES
+
+This function returns the value of `errno`.
+If no operation has failed, then this will be zero.
+
+== ERRORS
+
+[horizontal]
+`EINTR`:: Operation interrupted.
+`ENOMEM`:: Insufficient memory.
+`EINVAL`:: Invalid argument.
+`EBUSY`:: Resource is busy.
+`ETIMEDOUT`:: Operation timed out.
+`ECONNREFUSED`:: Connection refused by peer.
+`EBADF`:: Invalid or closed socket.
+`EAGAIN`:: Operation would block.
+`ENOTSUP`:: Protocol or option not supported.
+`EADDRINUSE`:: Requested address is already in use.
+`EFSM`:: Protocol state incorrect.
+`EPROTO`:: Protocol error.
+`EHOSTUNREACH`:: Remote peer is unreachable.
+`EADDRNOTAVAIL`:: Requested address is not available.
+`EACCES`:: Permission denied.
+`EMSGSIZE`:: Message is too large.
+`ECONNABORTED`:: Connection attempt aborted.
+`ECONNRESET`:: Connection reset by peer.
+`EEXIST`:: Resource already exists.
+`EMFILE`:: Too many open files.
+`ENOSPC`:: Insufficient persistent storage.
+
+== SEE ALSO
+
+<<nn_strerror.3compat#,nn_strerror(3compat)>>,
+<<nng_compat.3compat#,nng_compat(3compat)>>,
+<<nng.7#,nng(7)>>