summaryrefslogtreecommitdiff
path: root/docs/reference/src/api/nng_alloc.md
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-03-24 12:53:58 -0700
committerGarrett D'Amore <garrett@damore.org>2024-03-24 12:53:58 -0700
commitb24ef189f1dc9f9bf4889cb420e4645721728036 (patch)
tree1dd4be3ce52c9c07018fb2a1d35c425e6dd33352 /docs/reference/src/api/nng_alloc.md
parent85fbe7f9e4642b554d0d97f2e3ff2aa12978691a (diff)
downloadnng-b24ef189f1dc9f9bf4889cb420e4645721728036.tar.gz
nng-b24ef189f1dc9f9bf4889cb420e4645721728036.tar.bz2
nng-b24ef189f1dc9f9bf4889cb420e4645721728036.zip
Initial swag at mdbook content.
This has the nng_a* to nng_c* content converted. Various editorial changes have been made as well.
Diffstat (limited to 'docs/reference/src/api/nng_alloc.md')
-rw-r--r--docs/reference/src/api/nng_alloc.md44
1 files changed, 44 insertions, 0 deletions
diff --git a/docs/reference/src/api/nng_alloc.md b/docs/reference/src/api/nng_alloc.md
new file mode 100644
index 00000000..6cc4b21f
--- /dev/null
+++ b/docs/reference/src/api/nng_alloc.md
@@ -0,0 +1,44 @@
+# nng_alloc()
+
+## NAME
+
+nng_alloc --- allocate memory
+
+## SYNOPSIS
+
+```c
+#include <nng/nng.h>
+
+void *nng_alloc(size_t size);
+```
+
+## DESCRIPTION
+
+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()`](nng_send.md) using
+the flag `NNG_FLAG_ALLOC`. Alternatively, it can be freed when no
+longer needed using [`nng_free()`](nng_free.md).
+
+> [!IMPORTANT]
+> Do not use the system `free()` function (or the C++ `delete` operator) to release this memory.
+> On some configurations this may work, but on others it will lead to a crash or
+> other unpredictable behavior.
+
+## RETURN VALUES
+
+This function returns a pointer to the allocated memory on success,
+and `NULL` otherwise.
+
+## ERRORS
+
+No errors are returned, but if memory cannot be allocated then `NULL`
+is returned.
+
+## SEE ALSO
+
+[nng_free()](nng_free.md),
+[nng_send()](nng_send.md)