blob: 61a79085268adc9c618103cf6adaa9933ca79d90 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
## 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 xref:../nng_send.adoc[`nng_send`] using the flag ((`NNG_FLAG_ALLOC`)).
Alternatively, it can be freed when no longer needed using xref:nng_free.adoc[`nng_free`].
IMPORTANT: Do not use the system `free` function to release this memory.
Doing so may lead to a crash or other undesirable and unpredictable behavior.
### Return Values
This function returns a pointer to the allocated memory on success, and `NULL` otherwise.
### Errors
No errors are returned, but a `NULL` return value should be treated the same as `NNG_ENOMEM`.
### See Also
xref:nng_free.adoc[nng_free],
xref:../sock/nng_send.adoc[nng_send]
|