nn_errno(3)
===========

NAME
----
nn_errno - retrieve the current errno


SYNOPSIS
--------
*#include <nanomsg/nn.h>*

*int nn_errno (void);*


DESCRIPTION
-----------
Returns value of 'errno' for the current thread.

On most systems, 'errno' can be accessed directly and this function is not
needed. However, on Windows, there are multiple implementations of the CRT
library (single-threaded, multi-threaded, release, debug) and each of them
has its own instance of 'errno'. Thus, if nanomsg library and the application
that uses it link with different versions of CRT library, they don't share
same instance of 'errno'. Consequently, error codes set by nanomsg cannot be
accessed by the application. To overcome this problem, application can use
_nn_errno()_ function to retrieve the nanomsg's value of 'errno'.

RETURN VALUE
------------
Returns value of 'errno' for the current thread.


ERRORS
------
No errors are defined.


EXAMPLE
-------

----
rc = nn_send (s, "ABC", 3, 0);
if (rc < 0)
    printf ("nn_send failed with error code %d\n", nn_errno ());
----


SEE ALSO
--------
linknanomsg:nn_strerror[3]
linknanomsg:nanomsg[7]

AUTHORS
-------
Martin Sustrik <sustrik@250bpm.com>

