---
name: "nng_msg_alloc"
section: "3"
platform: "linux"
package: "libnng-dev"
version: "1.10.1-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/nng_msg_alloc"
---

# nng\_msg\_alloc(3)

allocate a message

## NAME

nng\_msg\_alloc - allocate a message

## SYNOPSIS

```
#include <nng/nng.h>
int nng_msg_alloc(nng_msg **msgp, size_t size);
```

## DESCRIPTION

The `nng_msg_alloc()` function allocates a new message with body length *size* and stores the result in *msgp*. Messages allocated with this function contain a body and optionally a header. They are used with receive and transmit functions.

## RETURN VALUES

This function returns 0 on success, and non-zero otherwise.

## ERRORS

`NNG_ENOMEM`

Insufficient free memory exists to allocate a message.

## SEE ALSO

[nng\_msg\_free(3)](/nng_msg_free/3.md), [nng\_msg\_body(3)](/nng_msg_body/3.md), [nng\_msg\_dup(3)](/nng_msg_dup/3.md), [nng\_msg\_header(3)](/nng_msg_header/3.md), [nng\_msg\_header\_len(3)](/nng_msg_header_len/3.md), [nng\_msg\_len(3)](/nng_msg_len/3.md), nng\_msg\_capacity(3), nng\_msg\_reserve(3), [nng\_msg\_realloc(3)](/nng_msg_realloc/3.md), [nng\_strerror(3)](/nng_strerror/3.md), [nng\_msg(5)](/nng_msg/5.md), [nng(7)](/nng/7.md)
