---
name: "libnvme_mi_mi_pda_read-libnvme3"
section: "2"
platform: "linux"
package: "nvme-cli"
version: "3.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libnvme_mi_mi_pda_read-libnvme3"
---

# libnvme\_mi\_mi\_pda\_read-libnvme3(2)

Read the NVMe-MI Persistent Data Area (PDA)

## NAME

libnvme\_mi\_mi\_pda\_read - Read the NVMe-MI Persistent Data Area (PDA)

## SYNOPSIS

**int libnvme\_mi\_mi\_pda\_read** **(struct libnvme\_mi\_ep \*ep** *,* **enum nvme\_mi\_pda\_dformat dformat** *,* **\_\_u32 dofst** *,* **\_\_u32 dlen** *,* **void \*data** *,* **size\_t \*data\_len** *);*

## ARGUMENTS

- ep

  endpoint for MI communication

- dformat

  data format to use for *dofst* and *dlen*, see *enum nvme\_mi\_pda\_dformat*

- dofst

  starting offset, in units of *dformat*, into the PDA to read

- dlen

  length, in units of *dformat*, to read from the PDA starting at *dofst*

- data

  buffer to receive the PDA contents

- data\_len

  in: size of *data*; out: length of data actually returned

## DESCRIPTION

Performs an NVMe-MI PDA Read command. See the PDA Size (PDAS) and Supported Data Format (SDFORMAT) fields of *struct nvme\_mi\_port\_smb* for the size and supported *dformat* values of the PDA on a given port.

## RETURN

The nvme command status if a response was received (see *enum nvme\_status\_field*) or negative error code otherwise.
