libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct libnvme\_uring\_cmd - nvme uring command structure

# [SYNOPSIS](#SYNOPSIS)

struct libnvme\_uring\_cmd {  
**\_\_u8 opcode;**  
**\_\_u8 flags;**  
**\_\_u16 rsvd1;**  
**\_\_u32 nsid;**  
**\_\_u32 cdw2;**  
**\_\_u32 cdw3;**  
**\_\_u64 metadata;**  
**\_\_u64 addr;**  
**\_\_u32 metadata\_len;**  
**\_\_u32 data\_len;**  
**\_\_u32 cdw10;**  
**\_\_u32 cdw11;**  
**\_\_u32 cdw12;**  
**\_\_u32 cdw13;**  
**\_\_u32 cdw14;**  
**\_\_u32 cdw15;**  
**\_\_u32 timeout\_ms;**  
**\_\_u32 rsvd2;**  
};

# [Members](#Members)

[opcode](#opcode)

Operation code, see *enum libnvme\_io\_opcodes* and *enum libnvme\_admin\_opcodes*

[flags](#flags)

Not supported: intended for command flags (eg: SGL, FUSE)

[rsvd1](#rsvd1)

Reserved for future use

[nsid](#nsid)

Namespace Identifier, or Fabrics type

[cdw2](#cdw2)

Command Dword 2 (no spec defined use)

[cdw3](#cdw3)

Command Dword 3 (no spec defined use)

[metadata](#metadata)

User space address to metadata buffer (NULL if not used)

[addr](#addr)

User space address to data buffer (NULL if not used)

[metadata\_len](#metadata_len)

Metadata buffer transfer length

[data\_len](#data_len)

Data buffer transfer length

[cdw10](#cdw10)

Command Dword 10 (command specific)

[cdw11](#cdw11)

Command Dword 11 (command specific)

[cdw12](#cdw12)

Command Dword 12 (command specific)

[cdw13](#cdw13)

Command Dword 13 (command specific)

[cdw14](#cdw14)

Command Dword 14 (command specific)

[cdw15](#cdw15)

Command Dword 15 (command specific)

[timeout\_ms](#timeout_ms)

If non-zero, overrides system default timeout in milliseconds

[rsvd2](#rsvd2)

Reserved for future use (and fills an implicit struct pad

struct libnvme\_uring\_cmd October 2026

---

Document: libnvme_uring_cmd-libnvme3(2) from nvme-cli 3.2-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
