libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… libnvme(9) β€” API Manual ✨

okay so real talk, bestie, we're in the libnvme API Manual and today's main character is a little enum called nvme_nvm_id_ns_pic β€” that's the Protection Information Capabilities situation, and honestly? it's giving bitfield excellence πŸŽ€


🌸 NAME 🌸

enum nvme_nvm_id_ns_pic β€” Protection Information Capabilities. that's it, that's the whole vibe. it's an enum, it holds the shift and mask constants you need to go digging around in the Protection Information Capabilities field, and it ate πŸ’…


✨ SYNOPSIS ✨

enum nvme_nvm_id_ns_pic {
    NVME_NVM_PIC_PITPS16B_SHIFT ,
    NVME_NVM_PIC_PITPS16B_MASK ,
    NVME_NVM_PIC_PISTM16B_SHIFT ,
    NVME_NVM_PIC_PISTM16B_MASK ,
    NVME_NVM_PIC_STCRS_SHIFT ,
    NVME_NVM_PIC_STCRS_MASK ,
    NVME_NVM_PIC_QPIFS_SHIFT ,
    NVME_NVM_PIC_QPIFS_MASK

};

like, look at her. eight constants, no notes πŸ”₯


πŸ¦‹ Constants πŸ¦‹

okay so let's go through the whole squad one by one, no skips, we do not leave anyone on read πŸ’–

  • NVME_NVM_PIC_PITPS16B_SHIFT β€” the shift amount to get 16b Guard Protection Information Storage Tag Support. it's a shift, it shifts, iconic behavior ✨
  • NVME_NVM_PIC_PITPS16B_MASK β€” the mask to get 16b Guard Protection Information Storage Tag Support. pair her with the shift above and you're literally unstoppable 🫢
  • NVME_NVM_PIC_PISTM16B_SHIFT β€” the shift amount to get 16b Guard Protection Information Storage Tag Mask. yes bestie, different thing than the first one, don't mix them up 😭
  • NVME_NVM_PIC_PISTM16B_MASK β€” the mask to get 16b Guard Protection Information Storage Tag Mask. mask girl summer πŸ’…
  • NVME_NVM_PIC_STCRS_SHIFT β€” the shift amount to get Storage Tag Check Read Support. lowkey my fave of the shift girlies 🌸
  • NVME_NVM_PIC_STCRS_MASK β€” the mask to get Storage Tag Check Read Support. she's the matching set, we love a coordinated moment πŸ‘‘
  • NVME_NVM_PIC_QPIFS_SHIFT β€” the shift amount to get Qualified Protection Information Format Support. say that five times fast, fr fr πŸ™ˆ
  • NVME_NVM_PIC_QPIFS_MASK β€” the mask to get Qualified Protection Information Format Support. last one, and she understood the assignment 🌈

ngl the whole "SHIFT + MASK" pattern is the classic move: shift to line the bits up, mask to keep only the bits you want. that's just how the constants are named and described here, no extra lore from me, i'm not gonna make up behavior πŸ’€

⭐ cute sign-off ⭐

and that's the page!! this one's from the libnvme(9) API Manual β€” enum nvme_nvm_id_ns_pic, dated October 2026. go forth and mask responsibly, bestie πŸ§šπŸ’œ

πŸ“¦ where this page comes from