libnvme\_mi\_mi\_read\_mi\_data\_port(9) libnvme API manual libnvme\_mi\_mi\_read\_mi\_data\_port(9)

# [NAME](#NAME)

libnvme\_mi\_mi\_read\_mi\_data\_port - Perform a Read MI Data Structure command, retrieving port data.

# [SYNOPSIS](#SYNOPSIS)

**int libnvme\_mi\_mi\_read\_mi\_data\_port** **(struct libnvme\_mi\_ep \*ep ,** **\_\_u8 portid ,** **struct nvme\_mi\_read\_port\_info \*p );**

# [ARGUMENTS](#ARGUMENTS)

[ep](#ep)

endpoint for MI communication

[portid](#portid)

id of port data to retrieve

[p](#p)

port information to populate

# [DESCRIPTION](#DESCRIPTION)

Retrieves the Port information, for the specified port ID. The subsystem data (from *libnvme\_mi\_mi\_read\_mi\_data\_subsys*) nmp field contains the allowed range of port IDs.

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

# [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\_port September 2026

---

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