libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

enum nvme\_mi\_message\_type - NVMe-MI message type field.

# [SYNOPSIS](#SYNOPSIS)

enum nvme\_mi\_message\_type {  
**NVME\_MI\_MT\_CONTROL** ,  
**NVME\_MI\_MT\_MI** ,  
**NVME\_MI\_MT\_ADMIN** ,  
**NVME\_MI\_MT\_PCIE** ,  
**NVME\_MI\_MT\_AE**

};

# [Constants](#Constants)

[NVME\_MI\_MT\_CONTROL](#NVME_MI_MT_CONTROL)

NVME-MI Control Primitive

[NVME\_MI\_MT\_MI](#NVME_MI_MT_MI)

NVMe-MI command

[NVME\_MI\_MT\_ADMIN](#NVME_MI_MT_ADMIN)

NVMe Admin command

[NVME\_MI\_MT\_PCIE](#NVME_MI_MT_PCIE)

PCIe command

[NVME\_MI\_MT\_AE](#NVME_MI_MT_AE)

Asynchronous Event

# [Description](#Description)

Used as byte 1 of both request and response messages (NMIMT bits of NMP byte). Not to be confused with the MCTP message type in byte 0.

enum nvme\_mi\_message\_type September 2026

---

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