libnvme(2)

πŸ’– NAME πŸ’–

struct nvme_mi_read_port_info β€” the Port Information Data Structure, bestie. It's giving "here's the tea on your port" ✨

So real talk: this is a page from the libnvme API Manual, and we're doing one (1) struct today. Let's get into it 🫢


πŸŽ€ SYNOPSIS πŸŽ€

struct nvme_mi_read_port_info {
    __u8 portt;
    __u8 rsvd1;
    __le16 mmctptus;
    __le32 meb;
    union {
      struct nvme_mi_port_pcie pcie;
      struct nvme_mi_port_smb smb;
    };
 };

Look at that little guy. Absolutely iconic layout, no notes πŸ’…


🌸 Members 🌸

  • portt β€” Port Type. Literally just tells you what kind of port we're talking about. The vibe check of ports 🌈
  • rsvd1 β€” Reserved. Bestie. Do NOT touch this one. It's reserved, meaning it's not yours, it's not mine, it's not for us. Leave it alone πŸ™ˆ
  • mmctptus β€” Maximum MCTP Transmission Unit Size. Yes that's a mouthful, yes it's important, yes it's exactly what it says on the tin: the max MTU for MCTP πŸ¦‹
  • meb β€” Management Endpoint Buffer Size. How big the buffer is at the management endpoint. Size matters, periodt πŸ‘‘
  • {unnamed_union} β€” anonymous. Yep, it's an unnamed union. No name, no crumbs, just vibes. It's giving mysterious main character energy ✨
  • pcie β€” PCIe Port Specific Data. The PCIe-flavoured details, tucked inside that anonymous union πŸŽ€
  • smb β€” SMBus Port Specific Data. And the SMBus-flavoured details too. Pick your fighter πŸ”₯
Heads up bestie: pcie and smb live in the same anonymous union, so it's one or the other, never both. Don't be greedy πŸ’€

okay that's the whole page, we ate and left no crumbs πŸ’–

This was the libnvme API Manual (that's the manual name, in case the vibe check needed it), struct nvme_mi_read_port_info edition, dated July 2026. Mwah, ily, go read your structs 🫢✨

πŸ“¦ where this page comes from