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, -1 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_reallocmsg[3]
linknanomsg:nn_recv[3]
linknanomsg:nn_recvmsg[3]
linknanomsg:nanomsg[7]

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

