libnvme(2)
π enum nvme_cc β the controller configuration π
okay bestie, welcome to the libnvme manual, page libnvme(2). sit down, grab a strawberry π, because today we're talking about enum nvme_cc, aka the controller configuration. this thing is literally the field that says how your controller is set up. it's giving "settings panel but make it an enum". π
β¨ NAME β¨
enum nvme_cc β this field indicates the controller configuration.
no cap, that's the whole vibe. π«Ά
π SYNOPSIS π
enum nvme_cc {
NVME_CC_EN_SHIFT ,
NVME_CC_CSS_SHIFT ,
NVME_CC_MPS_SHIFT ,
NVME_CC_AMS_SHIFT ,
NVME_CC_SHN_SHIFT ,
NVME_CC_IOSQES_SHIFT ,
NVME_CC_IOCQES_SHIFT ,
NVME_CC_CRIME_SHIFT ,
NVME_CC_EN_MASK ,
NVME_CC_CSS_MASK ,
NVME_CC_MPS_MASK ,
NVME_CC_AMS_MASK ,
NVME_CC_SHN_MASK ,
NVME_CC_CRIME_MASK ,
NVME_CC_IOSQES_MASK ,
NVME_CC_IOCQES_MASK ,
NVME_CC_CSS_NVM ,
NVME_CC_CSS_CSI ,
NVME_CC_CSS_ADMIN ,
NVME_CC_AMS_RR ,
NVME_CC_AMS_WRRU ,
NVME_CC_AMS_VS ,
NVME_CC_SHN_NONE ,
NVME_CC_SHN_NORMAL ,
NVME_CC_SHN_ABRUPT ,
NVME_CC_CRWME ,
NVME_CC_CRIME
};
look at her. 27 members, all iconic, all in their little lineup like a girl group. π
π Constants π
bestie listen: these are the actual spellings, we do NOT freestyle the names. every single one, in order, exactly as the compiler expects. π§
the shift amounts (bits be shifting β¨)
NVME_CC_EN_SHIFTβ shift amount to get the enableNVME_CC_CSS_SHIFTβ shift amount to get the I/O command set selectedNVME_CC_MPS_SHIFTβ shift amount to get the memory page sizeNVME_CC_AMS_SHIFTβ shift amount to get the arbitration mechanism selectedNVME_CC_SHN_SHIFTβ shift amount to get the shutdown notificationNVME_CC_IOSQES_SHIFTβ shift amount to get the I/O submission queue entry sizeNVME_CC_IOCQES_SHIFTβ shift amount to get the I/O completion queue entry sizeNVME_CC_CRIME_SHIFTβ shift amount to get the controller ready independent of media enable
the masks (cover-up but make it bitwise π )
NVME_CC_EN_MASKβ mask to get the enableNVME_CC_CSS_MASKβ mask to get the I/O command set selectedNVME_CC_MPS_MASKβ mask to get the memory page sizeNVME_CC_AMS_MASKβ mask to get the arbitration mechanism selectedNVME_CC_SHN_MASKβ mask to get the shutdown notificationNVME_CC_CRIME_MASKβ mask to get the I/O submission queue entry sizeNVME_CC_IOSQES_MASKβ mask to get the I/O completion queue entry sizeNVME_CC_IOCQES_MASKβ mask to get the controller ready independent of media enable
the command set options (pick ur fighter βοΈ)
NVME_CC_CSS_NVMβ NVM command setNVME_CC_CSS_CSIβ all supported I/O command setsNVME_CC_CSS_ADMINβ admin command set only
the arbitration mechanisms (who goes first, no pushing π¦)
NVME_CC_AMS_RRβ round robinNVME_CC_AMS_WRRUβ weighted round robin with urgent priority classNVME_CC_AMS_VSβ vendor specific
the shutdown notifications (say bye properly π)
NVME_CC_SHN_NONEβ no notification; no effectNVME_CC_SHN_NORMALβ normal shutdown notificationNVME_CC_SHN_ABRUPTβ abrupt shutdown notification
the "controller ready" girls (main character energy π)
NVME_CC_CRWMEβ controller ready with media enableNVME_CC_CRIMEβ controller ready independent of media enable
fr fr, that's the whole enum. no hidden lore, no extra members, we showed you everything. π₯
and that's a wrap on this one, bestie π«Ά this page came straight out of the libnvme API manual β yep, enum nvme_cc in libnvme(2) β and the date on it is July 2026. go forth and configure ur controller, you absolute icon. slay, 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