libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… libnvme(9) β€” like, the actual API manual, bestie

okay so real talk, this is the libnvme(9) manual page, and today's main character is enum nvme_id_iocs_iocsc β€” yes that's a mouthful, no I will not be pronouncing it out loud πŸ’€


✨ NAME ✨

enum nvme_id_iocs_iocsc β€” bestie, this field literally indicates the Identify I/O Command Set Data Structure. that's it. that's the whole vibe. πŸŽ€


🌸 SYNOPSIS 🌸

here's the whole thing in all its glory, copy it exactly, don't @ me:

enum nvme_id_iocs_iocsc {
    NVME_IOCS_IOCSC_NVMCS_SHIFT ,
    NVME_IOCS_IOCSC_NVMCS_MASK ,
    NVME_IOCS_IOCSC_KVCS_SHIFT ,
    NVME_IOCS_IOCSC_KVCS_MASK ,
    NVME_IOCS_IOCSC_ZNSCS_SHIFT ,
    NVME_IOCS_IOCSC_ZNSCS_MASK ,
    NVME_IOCS_IOCSC_SLMCS_SHIFT ,
    NVME_IOCS_IOCSC_SLMCS_MASK ,
    NVME_IOCS_IOCSC_CPNCS_SHIFT ,
    NVME_IOCS_IOCSC_CPNCS_MASK

};

πŸ¦‹ Constants πŸ¦‹

okay so each command set gets itself a little SHIFT + MASK duo, like matching friendship bracelets except they're bitfields 🫢. the SHIFT tells you how far to slide, the MASK tells you what to grab. slay.

  • NVME_IOCS_IOCSC_NVMCS_SHIFT β€” the shift amount so you can get the value of NVM Command Set πŸ’–
  • NVME_IOCS_IOCSC_NVMCS_MASK β€” the mask so you can get the value of NVM Command Set ✨
  • NVME_IOCS_IOCSC_KVCS_SHIFT β€” shift amount, but make it Key Value Command Set πŸŽ€
  • NVME_IOCS_IOCSC_KVCS_MASK β€” mask, and yup, it's for the Key Value Command Set πŸ¦‹
  • NVME_IOCS_IOCSC_ZNSCS_SHIFT β€” shift amount to get the value of Zoned Namespace Command Set, iconic honestly 🌸
  • NVME_IOCS_IOCSC_ZNSCS_MASK β€” mask to get the value of Zoned Namespace Command Set πŸ’…
  • NVME_IOCS_IOCSC_SLMCS_SHIFT β€” shift amount to get the value of Subsystem Local Memory Command Set, say that five times fast 😭
  • NVME_IOCS_IOCSC_SLMCS_MASK β€” mask to get the value of Subsystem Local Memory Command Set πŸ”₯
  • NVME_IOCS_IOCSC_CPNCS_SHIFT β€” shift amount to get the value of Computational Programs Namespace Command Set πŸ‘‘
  • NVME_IOCS_IOCSC_CPNCS_MASK β€” mask to get the value of Computational Programs Namespace Command Set ⭐
ngl bestie, they're all "shift to get the value" and "mask to get the value" β€” that's the entire lore. ten constants, five command sets, zero surprises. iykyk πŸ’€

and that's the page!! no cap, that's genuinely everything πŸ’œ this lil' writeup is from October 2026, it's the enum nvme_id_iocs_iocsc entry, and it lives in the libnvme(9) manual β€” go forth and mask your bits responsibly, mwah 🧚✨

πŸ“¦ where this page comes from