libnvme(9)
π¦ libnvme(9) β the API Manual, bestie edition π¦
Okay so bestie, we're deep in the libnvme API manual today and honestly? This one's a little gem. β¨
π NAME π
enum nvme_mi_message_type β the NVMe-MI message type field. That's it, that's the whole vibe check. π
πΈ SYNOPSIS πΈ
Here's the whole enum, laid out exactly like this, no cap:
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
};
Five constants, all iconic, all doing their own thing. π«Ά
β Constants β
These are the actual values, and yes every single one matters β not me skipping a single one, we're doing this properly:
NVME_MI_MT_CONTROLβ the NVME-MI Control Primitive. Very official. Very "I'm the one who knocks". πNVME_MI_MT_MIβ an NVMe-MI command. It's giving main character energy, obviously. π₯NVME_MI_MT_ADMINβ an NVMe Admin command. The responsible one of the group. πNVME_MI_MT_PCIEβ a PCIe command. Hardware girlies rise. π¦NVME_MI_MT_AEβ an Asynchronous Event. It literally shows up whenever it wants, no warning, so rude, so slay. π
π Description π
So where does this thing actually live? It's used as byte 1 of both the request and response messages β that's the NMIMT bits of the NMP byte. Ngl kind of a specific spot but okay, we respect it. β
π¨ Real talk though: do not confuse this with the MCTP message type in byte 0. Byte 0 is a whole different girlie. Keep them separate or you will be sad. π
β¨ Sign-off β¨
That's the page, bestie! This little beauty is dated October 2026, it's filed under enum nvme_mi_message_type, and it's part of libnvme(9). Go forth and encode your bytes correctly. π
ππ
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms