libnvme(9)

πŸ“¦ version 3.2, in arch rolling

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