---
name: "nng_msg_append"
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_append"
---

# nng\_msg\_append(3)

append to message body

## NAME

nng\_msg\_append - append to message body

## SYNOPSIS

```
#include <nng/nng.h>
int nng_msg_append(nng_msg *msg, const void *val, size_t size);
int nng_msg_append_u16(nng_msg *msg, uint16_t val16);
int nng_msg_append_u32(nng_msg *msg, uint32_t val32);
int nng_msg_append_u64(nng_msg *msg, uint64_t val64);
```

## DESCRIPTION

The `nng_msg_append()` family of functions appends data to the end of the body of message *msg*, reallocating it if necessary. The first function appends *size* bytes, copying them from *val*. The remaining functions append the value specified (such as *val32*) in network-byte order (big-endian).

## RETURN VALUES

These functions return 0 on success, and non-zero otherwise.

## ERRORS

`NNG_ENOMEM`

Insufficient free memory exists.

## SEE ALSO

[nng\_msg\_alloc(3)](/nng_msg_alloc/3.md), [nng\_msg\_body(3)](/nng_msg_body/3.md), [nng\_msg\_chop(3)](/nng_msg_chop/3.md), [nng\_msg\_free(3)](/nng_msg_free/3.md), [nng\_msg\_insert(3)](/nng_msg_insert/3.md), [nng\_msg\_len(3)](/nng_msg_len/3.md), [nng\_msg\_realloc(3)](/nng_msg_realloc/3.md), [nng\_msg\_trim(3)](/nng_msg_trim/3.md), [nng\_strerror(3)](/nng_strerror/3.md), [nng\_msg(5)](/nng_msg/5.md), [nng(7)](/nng/7.md)
