libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… NAME πŸ’…

struct nvme_mi_msg_hdr β€” the general MI message header. That's the whole vibe, bestie, it's the header. πŸ’Œ

And yes, we're in the libnvme(9) API Manual, so buckle up πŸŽ€


✨ SYNOPSIS ✨

struct nvme_mi_msg_hdr {
    __u8 type;
    __u8 nmp;
    __u8 meb;
    __u8 rsvd0;
 };

🫢 Members 🫢

  • type β€” the MCTP message type, and it will always be NVME_MI_MSGTYPE_NVME. Like, always always. No cap. πŸ’―
  • nmp β€” the NVMe-MI message parameters (and yes, that includes the MI message type, iykyk).
  • meb β€” the Management Endpoint Buffer flag; it's unused for the libnvme-mi implementation, so she's just sitting there looking pretty πŸ™ˆ
  • rsvd0 β€” currently reserved. Hands off, she's not ready πŸ‘‘

🌸 Description 🌸

Okay so this is the wire format shared by both request and response messages, per NVMe-MI section 3.1. Both of them. Sharing. Iconic teamwork behavior fr fr. 🫢

It's used for all message types β€” MI and Admin β€” so it's basically the main character energy of every message out there. ⭐


πŸ¦‹ quick reminder: keep those field names exactly as written, they're literally the whole point πŸ’–

and that's the page, bestie! 🌈 This little number comes to you from October 2026, all about struct nvme_mi_msg_hdr, living its best life in libnvme(9). mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from