libnvme(2)

πŸ’– libnvme(2) β€” the API Manual, bestie edition πŸ’–

okay so you're deep in the libnvme API manual and you landed on struct nvme_phy_rx_eom_log, aka the Physical Interface Receiver Eye Opening Measurement Log 🌸. yes the name is a whole mouthful, we're gonna get through it together, hand in hand 🫢


✨ NAME ✨

struct nvme_phy_rx_eom_log β€” the Physical Interface Receiver Eye Opening Measurement Log πŸ‘οΈβœ¨ like it's literally a struct that holds the log of how wide-open your receiver's eye is. slay.


✨ SYNOPSIS ✨

here's the whole glow-up, verbatim, no cap:

struct nvme_phy_rx_eom_log {
    __u8 lid;
    __u8 eomip;
    __le16 hsize;
    __le32 rsize;
    __u8 eomdgn;
    __u8 lr;
    __u8 odp;
    __u8 lanes;
    __u8 epl;
    __u8 lspfc;
    __u8 li;
    __u8 rsvd15[3];
    __le16 lsic;
    __le32 dsize;
    __le16 nd;
    __le16 maxtb;
    __le16 maxlr;
    __le16 etgood;
    __le16 etbetter;
    __le16 etbest;
    __u8 rsvd36[28];
    struct nvme_eom_lane_desc descs[];
};

✨ Members ✨

the way each of these fields has a job and they're all doing it πŸ’… let's meet the cast:

  • lid β€” Log Identifier. it's giving "hi, which log am I" πŸŽ€
  • eomip β€” EOM In Progress. is the eye-opening measurement still cooking? πŸ‘€
  • hsize β€” Header Size.
  • rsize β€” Result Size.
  • eomdgn β€” EOM Data Generation Number.
  • lr β€” Log Revision. glow-up tracking, basically.
  • odp β€” Optional Data Present. is the optional stuff in the room with us? πŸ™ˆ
  • lanes β€” Number of lanes configured for this port. lanes! plural! iconic 🌈
  • epl β€” Eyes Per Lane. yes bestie, every lane gets its own little eyes πŸ‘οΈπŸ‘οΈ
  • lspfc β€” Log Specific Parameter Field Copy.
  • li β€” Link Information. the lore πŸ”₯
  • rsvd15 β€” Reserved. shhh, not for us πŸ’€
  • lsic β€” Log Specific Identifier Copy.
  • dsize β€” Descriptor Size.
  • nd β€” Number of Descriptors. how many descs we got, fr fr.
  • maxtb β€” Maximum Top Bottom.
  • maxlr β€” Maximum Left Right. up down left right, main character energy ⭐
  • etgood β€” Estimated Time for Good Quality.
  • etbetter β€” Estimated Time for Better Quality. better!! we love an upgrade πŸ¦‹
  • etbest β€” Estimated Time for Best Quality. bestie this is THE one πŸ‘‘
  • rsvd36 β€” Reserved. another reserved moment, respect the boundary πŸ’œ
  • descs β€” EOM Lane Descriptors. the flexible-array-ζˆε‘˜ grand finale, struct nvme_eom_lane_desc descs[] 🧚

lowkey reminder: everything above is exactly what the page says, I'm just hyping it up. don't come for me, come for the struct 😭

and that's the whole page, bestie! this was struct nvme_phy_rx_eom_log from the API Manual, dated July 2026, living its best life in libnvme(2). periodt. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from