libnvme(9)
π libnvme(9) β API Manual, bestie edition π
okay so this page is from the libnvme API Manual (section 9, the kernel/API girlies) and it's all about one little enum, and honestly? she's lowkey iconic. it's the enum nvme_eom_optional_data_present page, aka the EOM Optional Data Present Fields moment. no cap, this is a niche one but we're gonna slay it together β¨
β¨ NAME β¨
enum nvme_eom_optional_data_present β the EOM Optional Data Present Fields, fr fr. that's the whole vibe. π¦
πΈ SYNOPSIS πΈ
here's the whole enum, bestie, laid out exactly as she comes:
enum nvme_eom_optional_data_present {
NVME_EOM_ODP_PEFP_SHIFT ,
NVME_EOM_ODP_EDFP_SHIFT ,
NVME_EOM_ODP_RSVD_SHIFT ,
NVME_EOM_ODP_PEFP_MASK ,
NVME_EOM_ODP_EDFP_MASK ,
NVME_EOM_ODP_RSVD_MASK
};
look at her. six little constants. main character energy from top to bottom π
π Constants π
every single one of these bad girls is a helper for reading one specific field: .odp inside struct nvme_phy_rx_eom_log. some are shifts, some are masks, and all of them are pulling a different piece of the story out of that field. iykyk π₯
NVME_EOM_ODP_PEFP_SHIFTβ the shift amount that gets you the printable eye field present value out of thestruct nvme_phy_rx_eom_log.odpfield. shift it, and the printable eye field present is like, right there. π«NVME_EOM_ODP_EDFP_SHIFTβ the shift amount that gets you the eye data field present value out of thestruct nvme_phy_rx_eom_log.odpfield. same energy, different field. π«ΆNVME_EOM_ODP_RSVD_SHIFTβ the shift amount that gets you the reserved optional data present value out of thestruct nvme_phy_rx_eom_log.odpfield. yes, "reserved optional data present" β that's the exact wording, don't @ me πNVME_EOM_ODP_PEFP_MASKβ the mask that gets you the printable eye field present value from thestruct nvme_phy_rx_eom_log.odpfield. masking era β¨NVME_EOM_ODP_EDFP_MASKβ the mask that gets you the eye data field present value from thestruct nvme_phy_rx_eom_log.odpfield. another mask, another slay πNVME_EOM_ODP_RSVD_MASKβ the mask that gets you the reserved data present value from thestruct nvme_phy_rx_eom_log.odpfield. (and yes, this one just says "reserved data present" while the shift one above says "reserved optional data present" β i noticed too, but that's literally what the page says, so we keep it exactly like that β)
little reminder bestie: shifts and masks are two different moves β shifts get you the amount to shift by, masks get you the bits to mask with. both, always, out of that same.odpfield instruct nvme_phy_rx_eom_log. π§
and that's the whole page!! short and sweet, just how we like her. this was the libnvme(9) page for enum nvme_eom_optional_data_present, and it's dated October 2026, so mark your calendars and stan responsibly. mwah, ily, go read some .odp fields πππ¦πΈπ
π¦ 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