libnvme(2)
π libnvme(2) β API Manual π
okay so bestie, sit down, hydrate, because we're talking about enum nvme_id_ctrl_ctratt β that's the Controller attributes enum from libnvme, and she is lowkey a whole vibe check for your NVMe controller. every single one of these constants is a "yes queen, I support that" bit that a controller can advertise about herself. let's get into it π¦
β¨ NAME β¨
enum nvme_id_ctrl_ctratt β Controller attributes π
πΈ SYNOPSIS πΈ
enum nvme_id_ctrl_ctratt {
NVME_CTRL_CTRATT_128_ID ,
NVME_CTRL_CTRATT_NON_OP_PSP ,
NVME_CTRL_CTRATT_NVM_SETS ,
NVME_CTRL_CTRATT_READ_RECV_LVLS ,
NVME_CTRL_CTRATT_ENDURANCE_GROUPS ,
NVME_CTRL_CTRATT_PREDICTABLE_LAT ,
NVME_CTRL_CTRATT_TBKAS ,
NVME_CTRL_CTRATT_NAMESPACE_GRANULARITY ,
NVME_CTRL_CTRATT_SQ_ASSOCIATIONS ,
NVME_CTRL_CTRATT_UUID_LIST ,
NVME_CTRL_CTRATT_MDS ,
NVME_CTRL_CTRATT_FIXED_CAP ,
NVME_CTRL_CTRATT_VARIABLE_CAP ,
NVME_CTRL_CTRATT_DEL_ENDURANCE_GROUPS ,
NVME_CTRL_CTRATT_DEL_NVM_SETS ,
NVME_CTRL_CTRATT_ELBAS ,
NVME_CTRL_CTRATT_MEM ,
NVME_CTRL_CTRATT_HMBR ,
NVME_CTRL_CTRATT_RHII ,
NVME_CTRL_CTRATT_FDPS
};
like yes, that's the whole roster, no notes π
π Constants π
bestie these are the members, and each one is basically a lil flag saying "I can do this". here's the full lineup, no skips, no skips allowed:
NVME_CTRL_CTRATT_128_IDβ 128-bit Host Identifier supported β¨NVME_CTRL_CTRATT_NON_OP_PSPβ Non-Operational Poser State Permissive Mode supported π (yes, that's literally how it's spelled in the source, we don't fix, we report)NVME_CTRL_CTRATT_NVM_SETSβ NVM Sets supported πΈNVME_CTRL_CTRATT_READ_RECV_LVLSβ Read Recovery Levels supported π«ΆNVME_CTRL_CTRATT_ENDURANCE_GROUPSβ Endurance Groups supported πͺNVME_CTRL_CTRATT_PREDICTABLE_LATβ Predictable Latency Mode supported β±οΈNVME_CTRL_CTRATT_TBKASβ Traffic Based Keep Alive Support π«NVME_CTRL_CTRATT_NAMESPACE_GRANULARITYβ Namespace Granularity reporting supported πNVME_CTRL_CTRATT_SQ_ASSOCIATIONSβ SQ Associations supported πNVME_CTRL_CTRATT_UUID_LISTβ UUID List reporting supported πNVME_CTRL_CTRATT_MDSβ Multi-Domain Subsystem supported πNVME_CTRL_CTRATT_FIXED_CAPβ Fixed Capacity Management supported π§±NVME_CTRL_CTRATT_VARIABLE_CAPβ Variable Capacity Management supported πNVME_CTRL_CTRATT_DEL_ENDURANCE_GROUPSβ Delete Endurance Groups supported ποΈNVME_CTRL_CTRATT_DEL_NVM_SETSβ Delete NVM Sets supported π§ΉNVME_CTRL_CTRATT_ELBASβ Extended LBA Formats supported πNVME_CTRL_CTRATT_MEMβ MDTS and Size Limits Exclude Metadata supported π§NVME_CTRL_CTRATT_HMBRβ HMB Restrict Non-Operational Power State Access πNVME_CTRL_CTRATT_RHIIβ Reservations and Host Identifier Interaction π€NVME_CTRL_CTRATT_FDPSβ Flexible Data Placement supported π§
fr fr bestie, that's 20 constants, count 'em, all of them present and accounted for. no cap. π«Ά
and that's the whole page, mwah π this was enum nvme_id_ctrl_ctratt from the libnvme(2) API Manual, dated July 2026 β she ate, she left no crumbs, periodt. ππ
π¦ 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