libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct nvme\_mi\_msg\_hdr - General MI message header.

# [SYNOPSIS](#SYNOPSIS)

struct nvme\_mi\_msg\_hdr {  
**\_\_u8 type;**  
**\_\_u8 nmp;**  
**\_\_u8 meb;**  
**\_\_u8 rsvd0;**  
};

# [Members](#Members)

[type](#type)

MCTP message type, will always be NVME\_MI\_MSGTYPE\_NVME

[nmp](#nmp)

NVMe-MI message parameters (including MI message type)

[meb](#meb)

Management Endpoint Buffer flag; unused for libnvme-mi implementation

[rsvd0](#rsvd0)

currently reserved

# [Description](#Description)

Wire format shared by both request and response messages, per NVMe-MI section 3.1. This is used for all message types, MI and Admin.

struct nvme\_mi\_msg\_hdr September 2026

---

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