| 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 <<nn_allocmsg.3.txt#,nn_allocmsg(3)>> function or |
| received via <<nn_recv.3.txt#,nn_recv(3)>> or <<nn_recvmsg.3.txt#,nn_recvmsg(3)>> function. |
| While <<nn_recv.3.txt#,nn_recv(3)>> and <<nn_recvmsg.3.txt#,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 |
| -------- |
| <<nn_allocmsg.3.txt#,nn_allocmsg(3)>> |
| <<nn_reallocmsg.3.txt#,nn_reallocmsg(3)>> |
| <<nn_recv.3.txt#,nn_recv(3)>> |
| <<nn_recvmsg.3.txt#,nn_recvmsg(3)>> |
| <<nanomsg.7.txt#,nanomsg(7)>> |
| |
| AUTHORS |
| ------- |
| link:mailto:sustrik@250bpm.com[Martin Sustrik] |
| |