libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct nvme\_mi\_admin\_req\_hdr - Admin command request header.

# [SYNOPSIS](#SYNOPSIS)

struct nvme\_mi\_admin\_req\_hdr {  
**struct nvme\_mi\_msg\_hdr hdr;**  
**\_\_u8 opcode;**  
**\_\_u8 flags;**  
**\_\_le16 ctrl\_id;**  
**\_\_le32 cdw1, cdw2, cdw3, cdw4, cdw5;**  
**\_\_le32 doff;**  
**\_\_le32 dlen;**  
**\_\_le32 rsvd0, rsvd1;**  
**\_\_le32 cdw10, cdw11, cdw12, cdw13, cdw14, cdw15;**  
};

# [Members](#Members)

[hdr](#hdr)

Generic MI message header

[opcode](#opcode)

Admin command opcode (using enum nvme\_admin\_opcode)

[flags](#flags)

Command Flags, indicating dlen and doff validity; Only defined in NVMe-MI version 1.1, no fields defined in 1.2 (where the dlen/doff are always considered valid).

[ctrl\_id](#ctrl_id)

Controller ID target of command

[cdw1](#cdw1)

Submission Queue Entry doubleword 1

[cdw2](#cdw2)

Submission Queue Entry doubleword 2

[cdw3](#cdw3)

Submission Queue Entry doubleword 3

[cdw4](#cdw4)

Submission Queue Entry doubleword 4

[cdw5](#cdw5)

Submission Queue Entry doubleword 5

[doff](#doff)

Offset of data to return from command

[dlen](#dlen)

Length of sent/returned data

[rsvd0](#rsvd0)

Reserved

[rsvd1](#rsvd1)

Reserved

[cdw10](#cdw10)

Submission Queue Entry doubleword 10

[cdw11](#cdw11)

Submission Queue Entry doubleword 11

[cdw12](#cdw12)

Submission Queue Entry doubleword 12

[cdw13](#cdw13)

Submission Queue Entry doubleword 13

[cdw14](#cdw14)

Submission Queue Entry doubleword 14

[cdw15](#cdw15)

Submission Queue Entry doubleword 15

# [Description](#Description)

Wire format for Admin command message headers, defined in section 6 of NVMe-MI.

struct nvme\_mi\_admin\_req\_hdr September 2026

---

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