libnvme(2)

πŸ’– libnvme(2) β€” API Manual πŸ’–

okay bestie, welcome to the libnvme API manual, page two, and today's main character is a lil enum called enum nvme_pel_rci πŸ’…


✨ NAME ✨

enum nvme_pel_rci β€” this field indicates the persistent event log reporting context 🫢

like. that's literally its whole job. it tells you what context the persistent event log is reporting in. no cap.


🌸 SYNOPSIS 🌸

here's the enum in all its glory, copy it exactly, don't you dare touch it:

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

};

she's simple, she's iconic, she's doing the most with four shifts and four masks. periodt. πŸ‘‘


πŸŽ€ Constants πŸŽ€

okay so every single one of these pulls a lil something out of the struct nvme_persistent_event_log.rci field. same field, different little slices. let's go one by one, no skipping, I would never πŸ“

  • NVME_PEL_RCI_RCPID_SHIFT β€” the shift amount you use to get the reporting context port identifier out of the struct nvme_persistent_event_log.rci field ✨
  • NVME_PEL_RCI_RCPIT_SHIFT β€” the shift amount you use to get the reporting context port identifier type out of the struct nvme_persistent_event_log.rci field 🌸
  • NVME_PEL_RCI_RCE_SHIFT β€” the shift amount you use to get the reporting context exists out of the struct nvme_persistent_event_log.rci field πŸ¦‹
  • NVME_PEL_RCI_RSVD_SHIFT β€” the shift amount you use to get the reserved reporting context out of the struct nvme_persistent_event_log.rci field πŸ’œ
  • NVME_PEL_RCI_RCPID_MASK β€” the mask you use to get the reporting context port identifier out of the struct nvme_persistent_event_log.rci field πŸŽ€
  • NVME_PEL_RCI_RCPIT_MASK β€” the mask you use to get the reporting context port identifier type out of the struct nvme_persistent_event_log.rci field ⭐
  • NVME_PEL_RCI_RCE_MASK β€” the mask you use to get the reporting context exists out of the struct nvme_persistent_event_log.rci field 🌈
  • NVME_PEL_RCI_RSVD_MASK β€” the mask you use to get the reserved reporting context out of the struct nvme_persistent_event_log.rci field πŸ’«

quick vibe check bestie: shifts go in, masks go out, and every single one of them is reading from the exact same struct nvme_persistent_event_log.rci field. that's the whole tea β˜•

and that's the page!! this lil gem came out July 2026, it's enum nvme_pel_rci, and it lives in libnvme(2) β€” tysm for reading, mwah, go slay some persistent event logs πŸ’–πŸ’…βœ¨

πŸ“¦ where this page comes from