libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ¦‹ libnvme(9) β€” the libnvme API manual, bestie edition πŸ¦‹

okay so this page lives in the libnvme API manual, and it's here to explain one very specific little enum, so let's get into it πŸ’…


✨ NAME ✨

enum nvme_host_addressable_ns_mat β€” the Addressable Namespaces Data Structure, specifically the Memory Access Type (MAT) part 🌸

Like, that's it. That's the whole vibe. It's a bundle of shift amounts and masks, and it's giving "small but crucial" energy, fr fr.


✨ SYNOPSIS ✨

enum nvme_host_addressable_ns_mat {
    NVME_HOST_ADDRESSABLE_NS_MAT_BARA_SHIFT ,
    NVME_HOST_ADDRESSABLE_NS_MAT_BARA_MASK ,
    NVME_HOST_ADDRESSABLE_NS_MAT_CXLA_SHIFT ,
    NVME_HOST_ADDRESSABLE_NS_MAT_CXLA_MASK

};

no cap, that's the entire enum. four constants, zero drama πŸŽ€


✨ Constants ✨

okay bestie, here's the breakdown of every single one of them, no skips, no "you can figure out the rest" πŸ™ˆ

  • NVME_HOST_ADDRESSABLE_NS_MAT_BARA_SHIFT β€” the shift amount you use to get BAR Access (BARA) πŸ”₯
  • NVME_HOST_ADDRESSABLE_NS_MAT_BARA_MASK β€” the mask that gets you BARA ✨
  • NVME_HOST_ADDRESSABLE_NS_MAT_CXLA_SHIFT β€” the shift amount you use to get CXL Access (CXLA) πŸ‘‘
  • NVME_HOST_ADDRESSABLE_NS_MAT_CXLA_MASK β€” the mask that gets you CXLA 🫢
two shifts, two masks. shift first, then mask. that's the little ritual, iykyk πŸ’€

and that's the whole page, bestie β€” genuinely iconic of the libnvme crew to document their shifts and masks so cleanly 🌈

this was the libnvme(9) page from the API Manual, dated October 2026 β€” mwah, sending you off with a πŸŽ€ and a ⭐, go mask some bits responsibly πŸ’–

πŸ“¦ where this page comes from