libnvme(2)
π NAME π
okay so bestie, this is libnvme(2) from the API Manual, and today's main character is:
enum nvme_pmrcap β this field indicates the persistent memory region capabilities π«Ά
that's it. that's the whole vibe. a struct-less little enum fam that tells you what a persistent memory region can actually do. and yes we're gonna go through every single member bc i am NOT about to leave you out here guessing. periodt π
β¨ SYNOPSIS β¨
here's the whole thing, exactly as it is, no notes, no edits, iconic behavior only:
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
};
πΈ Constants πΈ
so the pattern here is shift constants and mask constants, and honestly? it's giving bitfield energy and i'm obsessed π
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. it's still here, bestie, but it's the old one, don't build your whole personality on it π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 deal, its deprecated twin isNVME_PMRCAP_PMRWBM_MASK, use that one πNVME_PMRCAP_PMRTU_500MSβ 500 milliseconds β‘NVME_PMRCAP_PMRTU_60Sβ minutes β°
ok real talk queen, heads up: the description literally just says minutes for NVME_PMRCAP_PMRTU_60S, and i am not about to go inventing extra lore for it. that's the text. i'm just the messenger π«‘
and that's the whole page, no crumbs left, every single constant accounted for π
this lil cutie came from the enum nvme_pmrcap page in the libnvme(2) API Manual, dated July 2026 πβ¨ mwah, go forth and mask your bits responsibly, ily bye ππ¦
π¦ 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