Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NN_DEVICE(3)			 nanomsg 1.1.5			  NN_DEVICE(3)

NAME
       nn_device - start a device

SYNOPSIS
       #include	<nanomsg/nn.h>

       int nn_device (int s1, int s2);

DESCRIPTION
       Starts a	device to forward messages between two sockets.	If both
       sockets are valid, nn_device function loops and sends any messages
       received	from s1	to s2 and vice versa. If only one socket is valid and
       the other is negative, nn_device	works in a "loopback" mode -- it loops
       and sends any messages received from the	socket back to itself.

       To break	the loop and make nn_device function exit use the nn_term(3)
       function.

RETURN VALUE
       The function loops until	it hits	an error. In such a case it returns -1
       and sets	errno to one of	the values defined below.

ERRORS
       EBADF
	   One of the provided sockets is invalid.

       EINVAL
	   Either one of the socket is not an AF_SP_RAW	socket;	or the two
	   sockets don't belong	to the same protocol; or the directionality of
	   the sockets doesn't fit (e.g. attempt to join two SINK sockets to
	   form	a device).

       EINTR
	   The operation was interrupted by delivery of	a signal.

       ETERM
	   The library is terminating.

EXAMPLE
	   int s1 = nn_socket (AF_SP_RAW, NN_REQ);
	   nn_bind (s1,	"tcp://127.0.0.1:5555");
	   int s2 = nn_socket (AF_SP_RAW, NN_REP);
	   nn_bind (s2,	"tcp://127.0.0.1:5556");
	   nn_device (s1, s2);

SEE ALSO
       nn_socket(3) nn_term(3) nanomsg(7)

AUTHORS
       Martin Sustrik <sustrik@250bpm.com>

				  2018-10-15			  NN_DEVICE(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLE | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=nn_device&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help