libnvme(2)
π libnvme(2) π
okay bestie, welcome to the libnvme manual, page 2 β¨ this is the API manual and today's main character is an enum. yes, an enum. she's long, she's iconic, she has 28 values, and we're gonna go through every single one of them together because we don't skip. periodt. π
πΈ NAME πΈ
enum nvme_identify_cns β Identify - CNS Values π
(CNS = Controller Namespace? bestie no. it's the Identify command's "what do you want me to identify" selector. anyway, keep reading, the constants explain themselves.)
β¨ SYNOPSIS β¨
enum nvme_identify_cns {
NVME_IDENTIFY_CNS_NS ,
NVME_IDENTIFY_CNS_CTRL ,
NVME_IDENTIFY_CNS_NS_ACTIVE_LIST ,
NVME_IDENTIFY_CNS_NS_DESC_LIST ,
NVME_IDENTIFY_CNS_NVMSET_LIST ,
NVME_IDENTIFY_CNS_CSI_NS ,
NVME_IDENTIFY_CNS_CSI_CTRL ,
NVME_IDENTIFY_CNS_CSI_NS_ACTIVE_LIST ,
NVME_IDENTIFY_CNS_CSI_INDEPENDENT_ID_NS ,
NVME_IDENTIFY_CNS_NS_USER_DATA_FORMAT ,
NVME_IDENTIFY_CNS_CSI_NS_USER_DATA_FORMAT ,
NVME_IDENTIFY_CNS_ALLOCATED_NS_LIST ,
NVME_IDENTIFY_CNS_ALLOCATED_NS ,
NVME_IDENTIFY_CNS_NS_CTRL_LIST ,
NVME_IDENTIFY_CNS_CTRL_LIST ,
NVME_IDENTIFY_CNS_PRIMARY_CTRL_CAP ,
NVME_IDENTIFY_CNS_SECONDARY_CTRL_LIST ,
NVME_IDENTIFY_CNS_NS_GRANULARITY ,
NVME_IDENTIFY_CNS_UUID_LIST ,
NVME_IDENTIFY_CNS_DOMAIN_LIST ,
NVME_IDENTIFY_CNS_ENDURANCE_GROUP_ID ,
NVME_IDENTIFY_CNS_CSI_ALLOCATED_NS_LIST ,
NVME_IDENTIFY_CNS_CSI_ID_NS_DATA_STRUCTURE ,
NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE ,
NVME_IDENTIFY_CNS_UNDERLYING_NS_LIST ,
NVME_IDENTIFY_CNS_PORTS_LIST ,
NVME_IDENTIFY_CNS_IOCS_IND_ID_ALLOC_NS ,
NVME_IDENTIFY_CNS_SUPPORTED_CTRL_STATE_FORMATS
};
like. look at her. 28 entries, all just vibing in an enum with nothing assigned, which is so real of her. π¦
π Constants π
every single value, in the exact order she was born, no gatekeeping π₯
π the namespace & controller classics
NVME_IDENTIFY_CNS_NSβ Identify Namespace data structure π«ΆNVME_IDENTIFY_CNS_CTRLβ Identify Controller data structure π«ΆNVME_IDENTIFY_CNS_NS_ACTIVE_LISTβ Active Namespace ID list β¨NVME_IDENTIFY_CNS_NS_DESC_LISTβ Namespace Identification Descriptor list πNVME_IDENTIFY_CNS_NVMSET_LISTβ NVM Set List π
π§ the I/O Command Set girlies
NVME_IDENTIFY_CNS_CSI_NSβ I/O Command Set specific Identify Namespace data structure πNVME_IDENTIFY_CNS_CSI_CTRLβ I/O Command Set specific Identify Controller data structure πNVME_IDENTIFY_CNS_CSI_NS_ACTIVE_LISTβ Active Namespace ID list associated with the specified I/O Command Set πΈNVME_IDENTIFY_CNS_CSI_INDEPENDENT_ID_NSβ I/O Command Set Independent Identify π
π user data format era
NVME_IDENTIFY_CNS_NS_USER_DATA_FORMATβ Namespace user data format πNVME_IDENTIFY_CNS_CSI_NS_USER_DATA_FORMATβ I/O Command Set specific user data format Namespace data structure π
π allocated namespace lore
NVME_IDENTIFY_CNS_ALLOCATED_NS_LISTβ Allocated Namespace ID list πNVME_IDENTIFY_CNS_ALLOCATED_NSβ Identify Namespace data structure for the specified allocated NSID π
π«Ά controller lists (yes plural, plural slays)
NVME_IDENTIFY_CNS_NS_CTRL_LISTβ Controller List of controllers attached to the specified NSID πNVME_IDENTIFY_CNS_CTRL_LISTβ Controller List of controllers that exist in the NVM subsystem πNVME_IDENTIFY_CNS_PRIMARY_CTRL_CAPβ Primary Controller Capabilities data structure for the specified primary controller πNVME_IDENTIFY_CNS_SECONDARY_CTRL_LISTβ Secondary Controller list of controllers associated with the primary controller processing the command πͺ©
β¨ the lists, the lore, the range
NVME_IDENTIFY_CNS_NS_GRANULARITYβ A Namespace Granularity List πNVME_IDENTIFY_CNS_UUID_LISTβ A UUID List πNVME_IDENTIFY_CNS_DOMAIN_LISTβ Domain List πΊοΈNVME_IDENTIFY_CNS_ENDURANCE_GROUP_IDβ Endurance Group List πͺ
π I/O Command Set specific (again, but allocated this time)
NVME_IDENTIFY_CNS_CSI_ALLOCATED_NS_LISTβ I/O Command Set specific Allocated Namespace ID list ποΈNVME_IDENTIFY_CNS_CSI_ID_NS_DATA_STRUCTUREβ I/O Command Set specific ID Namespace Data Structure for Allocated Namespace ID π§¬
π₯ the deep lore section, lowkey the best part
NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTUREβ I/O Command Set data structure ποΈNVME_IDENTIFY_CNS_UNDERLYING_NS_LISTβ Get Underlying Namespace List π΅οΈNVME_IDENTIFY_CNS_PORTS_LISTβ Get Ports List πͺNVME_IDENTIFY_CNS_IOCS_IND_ID_ALLOC_NSβ I/O Command Set Independent Identify Namespace data structure for the specified allocated NSID π―NVME_IDENTIFY_CNS_SUPPORTED_CTRL_STATE_FORMATSβ Supported Controller State Formats identifying the supported NVMe Controller State data structures π§
no cap, that's genuinely the whole page. 28 constants, every one of them listed, nothing skipped, we ate and left no crumbs π½οΈπ
kisses bestie, this was enum nvme_identify_cns in the libnvme(2) manual, dated July 2026, and that's the vibe check passed πβ¨π¦πΈπ
π¦ where this page comes from
- ubuntu stonking: libnvme-dev 1.16.2-1build1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms