libnvme\_mi\_mi\_read\_mi\_data\_ctrl\_list(9) libnvme API manual libnvme\_mi\_mi\_read\_mi\_data\_ctrl\_list(9)

# [NAME](#NAME)

libnvme\_mi\_mi\_read\_mi\_data\_ctrl\_list - Perform a Read MI Data Structure command, retrieving the list of attached controllers.

# [SYNOPSIS](#SYNOPSIS)

**int libnvme\_mi\_mi\_read\_mi\_data\_ctrl\_list** **(struct libnvme\_mi\_ep \*ep ,** **\_\_u8 start\_ctrlid ,** **struct nvme\_ctrl\_list \*list );**

# [ARGUMENTS](#ARGUMENTS)

[ep](#ep)

endpoint for MI communication

[start\_ctrlid](#start_ctrlid)

starting controller ID

[list](#list)

controller list to populate

# [DESCRIPTION](#DESCRIPTION)

Retrieves the list of attached controllers, with IDs greater than or equal to *start\_ctrlid*.

See *struct nvme\_ctrl\_list*.

# [RETURN](#RETURN)

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

libnvme\_mi\_mi\_read\_mi\_data\_ctrl\_list September 2026

---

Document: libnvme_mi_mi_read_mi_data_ctrl_list-libnvme3(2) from nvme-cli 3.1-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
