---
name: "nng_msg_header_trim"
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_header_trim"
---

# nng\_msg\_header\_trim(3)

remove data from start of message header

## NAME

nng\_msg\_header\_trim - remove data from start of message header

## SYNOPSIS

```
#include <nng/nng.h>
int nng_msg_header_trim(nng_msg *msg, size_t size);
int nng_msg_header_trim_u16(nng_msg *msg, uint16_t *val16);
int nng_msg_header_trim_u32(nng_msg *msg, uint32_t *val32);
int nng_msg_header_trim_u64(nng_msg *msg, uint64_t *val64);
```

## DESCRIPTION

The `nng_msg_header_trim()` family of functions remove data from the start of the header of message *msg*. The first function removes *size* bytes. The remaining functions removes 2, 4, or 8 bytes, and stores them in the value (such as *val32*), after converting them from network-byte order (big-endian) to native byte order.

## RETURN VALUES

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

## ERRORS

`NNG_EINVAL`

The message header is too short to remove the requested data.

## SEE ALSO

[nng\_msg\_alloc(3)](/nng_msg_alloc/3.md), [nng\_msg\_header(3)](/nng_msg_header/3.md), [nng\_msg\_header\_append(3)](/nng_msg_header_append/3.md), [nng\_msg\_header\_chop(3)](/nng_msg_header_chop/3.md), [nng\_msg\_header\_insert(3)](/nng_msg_header_insert/3.md), [nng\_msg\_header\_len(3)](/nng_msg_header_len/3.md), [nng\_msg\_free(3)](/nng_msg_free/3.md), [nng\_strerror(3)](/nng_strerror/3.md), [nng\_msg(5)](/nng_msg/5.md), [nng(7)](/nng/7.md)
