libnvme(9)
libnvme(9) π
okay bestie, welcome to the libnvme API manual β this page is straight from the libnvme(9) section of the manual, and we're about to get into the very specific lore of Protection Information Format Attribute. yes, that's a whole enum. yes, it's iconic. let's go π
πΈ NAME πΈ
enum nvme_nvm_id_ns_pifa β Protection Information Format Attribute. literally what it says on the tin, bestie π«Ά
β¨ SYNOPSIS β¨
here's the whole enum, copied exactly, no cap:
enum nvme_nvm_id_ns_pifa {
NVME_NVM_PIFA_STMLA_SHIFT ,
NVME_NVM_PIFA_STMLA_MASK ,
NVME_NVM_PIFA_BIT_GRANULARITY_MASKING ,
NVME_NVM_PIFA_BYTE_GRANULARITY_MASKING ,
NVME_NVM_PIFA_MASKING_NOT_SUPPORTED
};
she's simple, she's sleek, she's giving "five constants and a dream" β¨
π Constants π
every single member, explained, because we do not leave anyone out:
NVME_NVM_PIFA_STMLA_SHIFTβ the shift amount you use to get the Storage Tag Masking Level Attribute. it's the lil slide-to-the-left number, iykyk π¦NVME_NVM_PIFA_STMLA_MASKβ the mask you use to get the Storage Tag Masking Level Attribute. masking era πNVME_NVM_PIFA_BIT_GRANULARITY_MASKINGβ Bit Granularity Masking. bit-by-bit, main character energy βNVME_NVM_PIFA_BYTE_GRANULARITY_MASKINGβ Byte Granularity Masking. chunkier granularity, still slaying πNVME_NVM_PIFA_MASKING_NOT_SUPPORTEDβ Masking Not Supported. she said "not today" and honestly? valid π
lowkey a reminder: these are the constants as written, so keep the exact spellings when you use them in code β no renaming, no shortcuts, fr fr π
okay that's the whole page, bestie, you ate that π this was enum nvme_nvm_id_ns_pifa from the libnvme(9) API Manual, dated October 2026 β and the source/version vibes on the footer are also libnvme(9), so consider yourself fully caught up. mwah ππ§
π¦ 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