nn_freemsg(3)
=============

NAME
----
nn_freemsg - deallocate a message


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

*int nn_freemsg (void '*msg');*


DESCRIPTION
-----------
Deallocates a message allocated using linknanomsg:nn_allocmsg[3] function or
received via linknanomsg:nn_recv[3] or linknanomsg:nn_recvmsg[3] function.
While linknanomsg:nn_recv[3] and linknanomsg:nn_recvmsg[3] allow to receive data
into arbitrary buffers, using library-allocated buffers can be more
efficient for large messages as it allows for using zero-copy techniques.


RETURN VALUE
------------
If the function succeeds zero is returned. Otherwise, negative number is
returned and 'errno' is set to to one of the values defined below.


ERRORS
------
*EFAULT*::
The message pointer is invalid.


EXAMPLE
-------

----
void *buf;
nn_recv (s, &buf, NN_MSG, 0);
nn_freemsg (buf);
----


SEE ALSO
--------
linknanomsg:nn_allocmsg[3]
linknanomsg:nn_recv[3]
linknanomsg:nn_recvmsg[3]
linknanomsg:nanomsg[7]

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

