---
name: "ixp_pu16"
section: "3"
platform: "linux"
package: "libixp-dev"
version: "0.6~20121202+hg148-5"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/ixp_pu16"
---

# ixp\_pu16(3)

## NAME

ixp\_pu8, ixp\_pu16, ixp\_pu32, ixp\_pu64

## SYNOPSIS

```
#include <ixp.h>
void ixp_pu8(IxpMsg *msg, uint8_t *val);
void ixp_pu16(IxpMsg *msg, uint16_t *val);
void ixp_pu32(IxpMsg *msg, uint32_t *val);
void ixp_pu64(IxpMsg *msg, uint64_t *val);
```

## DESCRIPTION

These functions pack or unpack an unsigned integer of the specified size.

If *msg*-\>mode is MsgPack, the value pointed to by *val* is packed into the buffer at *msg*-\>pos. If *msg*-\>mode is MsgUnpack, the packed value at *msg*-\>pos is loaded into the location pointed to by *val*. In both cases, *msg*-\>pos is advanced by the number of bytes read or written. If the call would advance *msg*-\>pos beyond *msg*-\>end, *msg*-\>pos is advanced, but nothing is modified.

## SEE ALSO

[IxpMsg(3)](/IxpMsg/3.md)
