libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct nvme\_id\_ctrl\_nvm - I/O Command Set Specific Identify Controller data structure

# [SYNOPSIS](#SYNOPSIS)

struct nvme\_id\_ctrl\_nvm {  
**\_\_u8 vsl;**  
**\_\_u8 wzsl;**  
**\_\_u8 wusl;**  
**\_\_u8 dmrl;**  
**\_\_le32 dmrsl;**  
**\_\_le64 dmsl;**  
**\_\_u8 kpiocap;**  
**\_\_u8 wzdsl;**  
**\_\_le16 aocs;**  
**\_\_le32 ver;**  
**\_\_u8 lbamqf;**  
**\_\_u8 rla;**  
**\_\_le16 slmc;**  
**\_\_u8 rsvd28\[4068];**  
};

# [Members](#Members)

[vsl](#vsl)

Verify Size Limit

[wzsl](#wzsl)

Write Zeroes Size Limit

[wusl](#wusl)

Write Uncorrectable Size Limit

[dmrl](#dmrl)

Dataset Management Ranges Limit

[dmrsl](#dmrsl)

Dataset Management Range Size Limit

[dmsl](#dmsl)

Dataset Management Size Limit

[kpiocap](#kpiocap)

Key Per I/O Capabilities

[wzdsl](#wzdsl)

Write Zeroes With Deallocate Size Limit

[aocs](#aocs)

Admin Optional Command Support

[ver](#ver)

Version

[lbamqf](#lbamqf)

LBA Migration Queue Format

[rla](#rla)

Rate Limiting Attributes, see *enum nvme\_id\_ctrl\_nvm\_rla*

[slmc](#slmc)

Soft Limit Maximum Controllers (0's based), valid only if SLS is set

[rsvd28](#rsvd28)

Reserved

struct nvme\_id\_ctrl\_nvm October 2026

---

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