libnvme(9)
π libnvme(9) β hey bestie, welcome to the API Manual
okay so bestie, listen β this is the page for libnvme(9), and today's main character is a little enum called nvme_security_personality_attrs. it's literally the Security Personality Attributes data structure, and no, that's not a personality test for your SSD (tho honestly? iconic concept). it's about security protocols. stay with me, it slaps. β¨
β¨ NAME β¨
enum nvme_security_personality_attrs β the Security Personality Attributes data structure. that's it, that's the name, and it ate. π
π¦ SYNOPSIS π¦
here's the whole vibe, exactly as it lives in the header:
enum nvme_security_personality_attrs {
NVME_SEC_PERSONALITY_ASP ,
NVME_SEC_PERSONALITY_TCGP ,
NVME_SEC_PERSONALITY_AHATSDP ,
NVME_SEC_PERSONALITY_VSP_SHIFT ,
NVME_SEC_PERSONALITY_VSP_MASK
};
that's five whole constants, no more no less, and we're gonna meet every single one of them. π
πΈ Constants πΈ
these are the icons of the enum, one by one, no skipping, fr fr:
NVME_SEC_PERSONALITY_ASPβ this one is the Allow Security Protocol bit, and it's giving gatekeeper energy πͺ: if it's set, then the security protocols specified by this data structure shall be allowed; if it's cleared, then they shall be prohibited. that's it. that's the whole vibe check. if you flip this bit you literally changed the policy, so likeβ¦ be normal about it.NVME_SEC_PERSONALITY_TCGPβ the TCG Security Protocol one π. it specifies the security protocol range01hto06h. that's the range, those are the numbers, we respect them.NVME_SEC_PERSONALITY_AHATSDPβ the Authentication in Host Attachments of Transient Storage Devices Protocol π (yes that's a real long name, yes it's a mouthful, no we are not shortening it, it's not my fault). it specifies the security protocol valueEEh. iconic hex, no notes.NVME_SEC_PERSONALITY_VSP_SHIFTβ the shift amount π to get the Vendor Specific Protocol Fx bitmap field, which covers security protocolsF0htoFFh. shift amount. shift it. slay.NVME_SEC_PERSONALITY_VSP_MASKβ the mask π to get that same Vendor Specific Protocol Fx bitmap field. shift on one side, mask on the other, a whole little duo, iykyk.
okay real talk for a sec π«Ά βNVME_SEC_PERSONALITY_VSP_SHIFTandNVME_SEC_PERSONALITY_VSP_MASKare literally just a shift amount and a mask for the same field, the Vendor Specific Protocol Fx bitmap (protocolsF0htoFFh). use both together or you're gonna have a bad time. π
and that's the whole page bestie!! you made it, we're so proud of you πβ no cap, you now know every single constant, every value, every range, and every bit of the Security Personality Attributes data structure. go forth and be secure. π
πΈ signing off from this libnvme(9) page, dated October 2026, brought to you by the libnvme API manual β mwah, ily, bye!! πππ¦
π¦ 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