libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’– NAME πŸ’–

okay so bestie, this whole page is about one thing: enum nvme_tdisp_ti β€” the NVMe TDISP DEVICE_INTERFACE_REPORT - TDISP Information (TI) enum. it's a libnvme(9) situation, and honestly it's giving "one struct, twenty constants, zero chill" ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the whole enum, and yes we're keeping every single member, periodt:

enum nvme_tdisp_ti {
    NVME_TDISP_TI_VER_SHIFT ,
    NVME_TDISP_TI_VER_MASK ,
    NVME_TDISP_TI_ACPS_SHIFT ,
    NVME_TDISP_TI_ACPS_MASK ,
    NVME_TDISP_TI_ENV_SHIFT ,
    NVME_TDISP_TI_ENV_MASK ,
    NVME_TDISP_TI_SHNV_SHIFT ,
    NVME_TDISP_TI_SHNV_MASK ,
    NVME_TDISP_TI_SHSTV_SHIFT ,
    NVME_TDISP_TI_SHSTV_MASK ,
    NVME_TDISP_TI_STV_SHIFT ,
    NVME_TDISP_TI_STV_MASK ,
    NVME_TDISP_TI_CSSV_SHIFT ,
    NVME_TDISP_TI_CSSV_MASK ,
    NVME_TDISP_TI_MPSV_SHIFT ,
    NVME_TDISP_TI_MPSV_MASK ,
    NVME_TDISP_TI_IOSQESV_SHIFT ,
    NVME_TDISP_TI_IOSQESV_MASK ,
    NVME_TDISP_TI_IOCQESV_SHIFT ,
    NVME_TDISP_TI_IOCQESV_MASK

};

like, the pattern is right there babes: every field gets a _SHIFT and a _MASK, no field is left behind, we love a consistent king πŸ‘‘


🌈 CONSTANTS 🌈

lowkey the best part, highkey the whole page. every constant, in order, unpacked for you 🫢

  • NVME_TDISP_TI_VER_SHIFT β€” the shift amount you use to get the Version (VER) πŸ’…
  • NVME_TDISP_TI_VER_MASK β€” the mask that gets you VER
  • NVME_TDISP_TI_ACPS_SHIFT β€” the shift amount that gets you the Admin Command Processing Status (ACPS)
  • NVME_TDISP_TI_ACPS_MASK β€” the mask that gets you ACPS
  • NVME_TDISP_TI_ENV_SHIFT β€” the shift amount that gets you the Enable Value (ENV)
  • NVME_TDISP_TI_ENV_MASK β€” the mask that gets you ENV
  • NVME_TDISP_TI_SHNV_SHIFT β€” the shift amount that gets you the Shutdown Notification Value (SHNV)
  • NVME_TDISP_TI_SHNV_MASK β€” the mask that gets you SHNV
  • NVME_TDISP_TI_SHSTV_SHIFT β€” the shift amount that gets you the Shutdown Status Value (SHSTV)
  • NVME_TDISP_TI_SHSTV_MASK β€” the mask that gets you SHSTV
  • NVME_TDISP_TI_STV_SHIFT β€” the shift amount that gets you the Shutdown Type Value (STV)
  • NVME_TDISP_TI_STV_MASK β€” the mask that gets you STV
  • NVME_TDISP_TI_CSSV_SHIFT β€” the shift amount that gets you the Command Sets Supported Value (CSSV)
  • NVME_TDISP_TI_CSSV_MASK β€” the mask that gets you CSSV
  • NVME_TDISP_TI_MPSV_SHIFT β€” the shift amount that gets you the Memory Page Size Value (MPSV)
  • NVME_TDISP_TI_MPSV_MASK β€” the mask that gets you MPSV
  • NVME_TDISP_TI_IOSQESV_SHIFT β€” the shift amount that gets you the I/O Submission Queue Entry Size Value (IOSQESV)
  • NVME_TDISP_TI_IOSQESV_MASK β€” the mask that gets you IOSQESV
  • NVME_TDISP_TI_IOCQESV_SHIFT β€” the shift amount that gets you the I/O Completion Queue Entry Size Value (IOCQESV)
  • NVME_TDISP_TI_IOCQESV_MASK β€” the mask that gets you IOCQESV
ngl the move is always the same: shift, then mask. every field, every time. that's the vibe check and it passes πŸ’―

and that's the whole page, bestie β€” this was enum nvme_tdisp_ti from the libnvme(9) API Manual, dated October 2026. you ate that. go shift something πŸŽ€πŸŒΈπŸ’œ


πŸ“¦ where this page comes from