This documentation is for version v1.3.0 of NNG, but the latest released version is v1.8.0. see the documentation for v1.8.0 for the most up-to-date information.


#include <nng/nng.h>

void *nng_alloc(size_t size);


The nng_alloc() function allocates a contiguous memory region of at least size bytes. The memory will be 64-bit aligned.

The returned memory can be used to hold message buffers, in which case it can be directly passed to nng_send() using the flag NNG_FLAG_ALLOC. Alternatively, it can be freed when no longer needed using nng_free().

Do not use the system free() function to release this memory. On some platforms this may work, but it is not guaranteed and may lead to a crash or other undesirable and unpredictable behavior.


This function returns a pointer to the allocated memory on success, and NULL otherwise.


No errors are returned, but a NULL return value should be treated the same as NNG_ENOMEM.