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

# nng\_iov(5)

scatter/gather element

## NAME

nng\_iov - scatter/gather element

## SYNOPSIS

```
#include <nng/nng.h>
typedef struct {
    void * iov_buf;
    size_t iov_len;
} nng_iov;
```

## DESCRIPTION

An `nng_iov` structure represents a single element in a scatter/gather array. Some operations can use arrays of these to access different regions of memory in a single operation. For example, it may be useful to send a message with header data from one part of memory, and a user payload from another.

The operations that do this typically store an array of these in an `nng_aio` structure using the `nng_aio_set_iov()` function.

The following structure members are present:

`iov_buf`

This is a pointer to the first byte within the memory being referenced by this scatter/gather element.

`iov_len`

This is the size in bytes of this scatter/gather element.

## SEE ALSO

[nng\_aio\_set\_iov(3)](/nng_aio_set_iov/3.md), [nng\_aio(5)](/nng_aio/5.md), [nng(7)](/nng/7.md)
