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

FreeBSD Manual Pages

  
 
  

home | help
NN_ALLOCMSG(3)			 nanomsg 1.0.0			NN_ALLOCMSG(3)

NAME
       nn_allocmsg - allocate a	message

SYNOPSIS
       #include	<nanomsg/nn.h>

       void *nn_allocmsg (size_t size, int type);

DESCRIPTION
       Allocate	a message of the specified size	to be sent in zero-copy
       fashion.	The content of the message is undefined	after allocation and
       it should be filled in by the user. While nn_send(3) and	nn_sendmsg(3)
       allow to	send arbitrary buffers,	buffers	allocated using	nn_allocmsg()
       can be more efficient for large messages	as they	allow for using
       zero-copy techniques.

       type parameter specifies	type of	allocation mechanism to	use. Zero is
       the default one,	however, individual transport mechanisms may define
       their own allocation mechanisms,	such as	allocating in shared memory or
       allocating a memory block pinned	down to	a physical memory address.
       Such allocation,	when used with the transport that defines them,	should
       be more efficient than the default allocation mechanism.

RETURN VALUE
       If the function succeeds	pointer	to newly allocated buffer is returned.
       Otherwise, NULL is returned and errno is	set to to one of the values
       defined below.

ERRORS
       EINVAL
	   Supplied allocation type is invalid.

       ENOMEM
	   Not enough memory to	allocate the message.

EXAMPLE
	   void	*buf = nn_allocmsg (12,	0);
	   memcpy (buf,	"Hello world!",	12);
	   nn_send (s, &amp;buf, NN_MSG, 0);

SEE ALSO
       nn_freemsg(3) nn_reallocmsg(3) nn_send(3) nn_sendmsg(3) nanomsg(7)

AUTHORS
       Martin Sustrik <sustrik@250bpm.com>

				  2016-06-10			NN_ALLOCMSG(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_allocmsg&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help