libnvme(9)
π¦ NAME π¦
okay so bestie, this one is enum nvme_pmrcap β literally the struct that tells you all about the persistent memory region capabilities π
no cap, that's the whole vibe. It's an enum, it's in libnvme(9), and it's basically a little cheat-sheet of every shift and mask you need to poke at PMR capability bits. Obsessed.
β¨ SYNOPSIS β¨
enum nvme_pmrcap {
NVME_PMRCAP_RDS_SHIFT ,
NVME_PMRCAP_WDS_SHIFT ,
NVME_PMRCAP_BIR_SHIFT ,
NVME_PMRCAP_PMRTU_SHIFT ,
NVME_PMRCAP_PMRWBM_SHIFT ,
NVME_PMRCAP_PMRTO_SHIFT ,
NVME_PMRCAP_CMSS_SHIFT ,
NVME_PMRCAP_PMRWMB_SHIFT ,
NVME_PMRCAP_RDS_MASK ,
NVME_PMRCAP_WDS_MASK ,
NVME_PMRCAP_BIR_MASK ,
NVME_PMRCAP_PMRTU_MASK ,
NVME_PMRCAP_PMRWBM_MASK ,
NVME_PMRCAP_PMRTO_MASK ,
NVME_PMRCAP_CMSS_MASK ,
NVME_PMRCAP_PMRWMB_MASK ,
NVME_PMRCAP_PMRTU_500MS ,
NVME_PMRCAP_PMRTU_60S
};
look at her π₯Ή every single constant, copied exactly, zero edits. we do not touch the source. periodt.
πΈ Constants πΈ
okay so these are all the little members, and I'm giving you each one with its official description translated into vibes but keeping literally every word of meaning intact π«Ά
π« The *_SHIFT girlies β shift amounts
NVME_PMRCAP_RDS_SHIFTβ shift amount to get the read data support πNVME_PMRCAP_WDS_SHIFTβ shift amount to get the write data support πNVME_PMRCAP_BIR_SHIFTβ shift amount to get the base indicator register πNVME_PMRCAP_PMRTU_SHIFTβ shift amount to get the persistent memory region time units β±οΈNVME_PMRCAP_PMRWBM_SHIFTβ shift amount to get the persistent memory region write barrier mechanisms π§±NVME_PMRCAP_PMRTO_SHIFTβ shift amount to get the persistent memory region timeout β³NVME_PMRCAP_CMSS_SHIFTβ shift amount to get the controller memory space supported πNVME_PMRCAP_PMRWMB_SHIFTβ Deprecated shift amount to get the persistent memory region write barrier mechanisms π yes bestie, deprecated, she's legacy, the newerPMRWBMone is the main character now
π― The *_MASK besties β mask values
NVME_PMRCAP_RDS_MASKβ mask to get the read data support πΈNVME_PMRCAP_WDS_MASKβ mask to get the write data support β¨NVME_PMRCAP_BIR_MASKβ mask to get the base indicator register πNVME_PMRCAP_PMRTU_MASKβ mask to get the persistent memory region time units β±οΈNVME_PMRCAP_PMRWBM_MASKβ mask to get the persistent memory region write barrier mechanisms π§±NVME_PMRCAP_PMRTO_MASKβ mask to get the persistent memory region timeout β³NVME_PMRCAP_CMSS_MASKβ mask to get the controller memory space supported πNVME_PMRCAP_PMRWMB_MASKβ Deprecated mask to get the persistent memory region write barrier mechanisms π same energy, older spelling, do not come for me
π The time-unit values
NVME_PMRCAP_PMRTU_500MSβ 500 milliseconds π«ΆNVME_PMRCAP_PMRTU_60Sβ minutes π and yes, the original manpage literally just says βminutesβ for this one β not me being quirky, that is verbatim the text, iykyk π
lowkey a reminder thatNVME_PMRCAP_PMRWMB_SHIFTandNVME_PMRCAP_PMRWMB_MASKare marked Deprecated β the page says so, so I'm saying so, don't @ me π
and that's the page, bestie!! π§π
cute lil sign-off: this whole thing comes from the API Manual β that's the libnvme(9) manual name right there, folded in like a little bow π β and the footer date is October 2026, version slot filled by libnvme(9) again. mwah, go read your capability bits responsibly βπ₯
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms