libnvme(2)

πŸ’– libnvme(2) β€” the API manual, but make it make sense πŸ’–

okay so bestie, welcome to the libnvme manual page for enum nvme_pel_ehai ✨ this is the cute little enum that holds the persistent event header additional information β€” that's literally what EHAI stands for, not me being mysterious πŸŽ€

Think of it as the vibe-check lookup table for the rci field. iykyk πŸ’…


✨ NAME ✨

enum nvme_pel_ehai β€” this field indicates the persistent event header additional information πŸ¦‹


🌸 SYNOPSIS 🌸

enum nvme_pel_ehai {
    NVME_PEL_EHAI_PIT_SHIFT ,
    NVME_PEL_EHAI_RSVD_SHIFT ,
    NVME_PEL_EHAI_PIT_MASK ,
    NVME_PEL_EHAI_RSVD_MASK

};

πŸ‘‘ Constants πŸ‘‘

four constants, four little besties, each one doing its own iconic job 🌈

  • NVME_PEL_EHAI_PIT_SHIFT β€” the shift amount you use to pull the reporting context port identifier out of the struct nvme_persistent_event_log.rci field πŸ’« like, shift it and the PIT just appears.
  • NVME_PEL_EHAI_RSVD_SHIFT β€” the shift amount you use to get the reserved reporting context out of that same struct nvme_persistent_event_log.rci field πŸ™ˆ reserved stuff, we don't ask questions, we just shift.
  • NVME_PEL_EHAI_PIT_MASK β€” the mask that gets you the reporting context port identifier from the struct nvme_st_result.dsts field 🎯 different struct this time, so keep your eyes open bestie, it's dsts not rci, okay?
  • NVME_PEL_EHAI_RSVD_MASK β€” the mask that gets you the reserved reporting context from the struct nvme_st_result.dsts field 🫢 again with the dsts field. yes exactly.
fr fr, two of these are about struct nvme_persistent_event_log.rci and two are about struct nvme_st_result.dsts β€” don't mix them up, that's the whole plot twist πŸ’€

that's the whole page, no cap, every single constant accounted for ⭐

okay and for the cute sign-off: this is enum nvme_pel_ehai from the libnvme API manual, dated July 2026, and the manual name is libnvme(2). slay πŸ’–πŸŽ€βœ¨

πŸ“¦ where this page comes from