libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’– libnvme(9) β€” enum nvme_pel_rci πŸ’–

okay so bestie, welcome to the libnvme API manual, section 9, and today's main character is a lil enum called nvme_pel_rci β€” and yes it's giving "unnecessarily long name for a very specific job" but honestly? slay. πŸŽ€


✨ NAME ✨

enum nvme_pel_rci β€” this field indicates the persistent event log reporting context. no cap, that's literally what it is. πŸ¦‹


🌸 SYNOPSIS 🌸

enum nvme_pel_rci {
    NVME_PEL_RCI_RCPID_SHIFT ,
    NVME_PEL_RCI_RCPIT_SHIFT ,
    NVME_PEL_RCI_RCE_SHIFT ,
    NVME_PEL_RCI_RSVD_SHIFT ,
    NVME_PEL_RCI_RCPID_MASK ,
    NVME_PEL_RCI_RCPIT_MASK ,
    NVME_PEL_RCI_RCE_MASK ,
    NVME_PEL_RCI_RSVD_MASK

};

look at her. eight constants. four shifts, four masks. balanced. iconic. πŸ’…


πŸ‘‘ Constants πŸ‘‘

okay so every single one of these is about pulling some piece of info out of the struct nvme_persistent_event_log.rci field β€” the shifts tell you how far to move over, the masks tell you what to keep. it's giving "bitfield surgery but make it cute". ✨

  • NVME_PEL_RCI_RCPID_SHIFT β€” shift amount to get the reporting context port identifier from the struct nvme_persistent_event_log.rci field. 🫢
  • NVME_PEL_RCI_RCPIT_SHIFT β€” shift amount to get the reporting context port identifier type from the struct nvme_persistent_event_log.rci field. 🌸
  • NVME_PEL_RCI_RCE_SHIFT β€” shift amount to get the reporting context exists from the struct nvme_persistent_event_log.rci field. πŸ’œ
  • NVME_PEL_RCI_RSVD_SHIFT β€” shift amount to get the reserved reporting context from the struct nvme_persistent_event_log.rci field. πŸ¦‹
  • NVME_PEL_RCI_RCPID_MASK β€” mask to get the reporting context port identifier from the struct nvme_persistent_event_log.rci field. πŸ”₯
  • NVME_PEL_RCI_RCPIT_MASK β€” mask to get the reporting context port identifier type from the struct nvme_persistent_event_log.rci field. 🌈
  • NVME_PEL_RCI_RCE_MASK β€” mask to get the reporting context exists from the struct nvme_persistent_event_log.rci field. ⭐
  • NVME_PEL_RCI_RSVD_MASK β€” mask to get the reserved reporting context from the struct nvme_persistent_event_log.rci field. 🧚

bestie note: yes, the shifts and the masks come in matching pairs β€” RCPID, RCPIT, RCE, RSVD, four of each β€” and every single one of them is scoped to that one .rci field. do not go applying them to random other fields, i'm begging. πŸ™ˆ

and that's the whole page, fr fr β€” no hidden options, no env vars, no exit statuses, she's a small enum and she knows it. πŸ’€

sign-off time: this was the libnvme API manual, enum nvme_pel_rci, in section 9, dated October 2026 β€” version info lives in that footer and we're keeping it, mwah. πŸ’– go shift some bits, i believe in you. πŸ’…

πŸ“¦ where this page comes from