libnvme(2)
π libnvme β enum nvme_mi_message_type π
okay bestie, sit DOWN, because we're cracking open a page from the API Manual for libnvme β section 2 of the manual pages, iykyk β and it's all about one lil enum that does a whole lot of heavy lifting. no cap.
β¨ NAME β¨
enum nvme_mi_message_type β the NVMe-MI message type field. that's it, that's the whole vibe. π
π¦ 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
};
look at her. five constants, zero drama. π
πΈ Constants πΈ
NVME_MI_MT_CONTROLβ the NV-MI Control Primitive. it's giving β¨management vibesβ¨, the one that handles the control-primitive stuff.NVME_MI_MT_MIβ an NVMe-MI command. yes, MI inside MI, it's MI-ception and we love her for it. π«ΆNVME_MI_MT_ADMINβ an NVMe Admin command. the responsible older sibling of the group. πNVME_MI_MT_PCIEβ a PCIe command. it's down at the bus level doing bus-level things. π₯NVME_MI_MT_AEβ Asynchronous Event. the main character who shows up whenever she feels like it, uninvited. π not me getting jumpscared by an async event.
π Description π
so here's the tea: this enum is used as byte 1 of both the request and the response messages β specifically the NMIMT bits of the NMP byte. π
β οΈ and do NOT, I repeat, do NOT confuse this with the MCTP message type in byte 0. different byte, different bestie, different whole situation. that's a separate field living its own life in byte 0 and she doesn't want your confusion. π
and that's the page, babe! π this lil writeup is dated July 2026, it's all about enum nvme_mi_message_type, and it lives in the libnvme(2) spot of the API Manual. go forth and byte 1 responsibly. πβ¨ππ¦
π¦ where this page comes from
- ubuntu stonking: libnvme-dev 1.16.2-1build1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms