libnvme(9)
π 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 thestruct nvme_persistent_event_log.rcifield. π«ΆNVME_PEL_RCI_RCPIT_SHIFTβ shift amount to get the reporting context port identifier type from thestruct nvme_persistent_event_log.rcifield. πΈNVME_PEL_RCI_RCE_SHIFTβ shift amount to get the reporting context exists from thestruct nvme_persistent_event_log.rcifield. πNVME_PEL_RCI_RSVD_SHIFTβ shift amount to get the reserved reporting context from thestruct nvme_persistent_event_log.rcifield. π¦NVME_PEL_RCI_RCPID_MASKβ mask to get the reporting context port identifier from thestruct nvme_persistent_event_log.rcifield. π₯NVME_PEL_RCI_RCPIT_MASKβ mask to get the reporting context port identifier type from thestruct nvme_persistent_event_log.rcifield. πNVME_PEL_RCI_RCE_MASKβ mask to get the reporting context exists from thestruct nvme_persistent_event_log.rcifield. βNVME_PEL_RCI_RSVD_MASKβ mask to get the reserved reporting context from thestruct nvme_persistent_event_log.rcifield. π§
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
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms