---
name: "libnvme_mi_mi_read_mi_data_ctrl-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_read_mi_data_ctrl-libnvme3"
---

# libnvme\_mi\_mi\_read\_mi\_data\_ctrl-libnvme3(2)

Perform a Read MI Data Structure command, retrieving controller information

## NAME

libnvme\_mi\_mi\_read\_mi\_data\_ctrl - Perform a Read MI Data Structure command, retrieving controller information

## SYNOPSIS

**int libnvme\_mi\_mi\_read\_mi\_data\_ctrl** **(struct libnvme\_mi\_ep \*ep** *,* **\_\_u16 ctrl\_id** *,* **struct nvme\_mi\_read\_ctrl\_info \*ctrl** *);*

## ARGUMENTS

- ep

  endpoint for MI communication

- ctrl\_id

  ID of controller to query

- ctrl

  controller data to populate

## DESCRIPTION

Retrieves the Controller Information Data Structure for the attached controller with ID *ctrlid*.

See *struct nvme\_mi\_read\_ctrl\_info*.

## RETURN

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