libnvme(2)

πŸ’– NAME πŸ’–

bestie, meet struct nvme_primary_ctrl_cap β€” aka the Identify - Controller Capabilities Structure ✨ it's from the libnvme API manual and it lives in section 2. she's a struct, she's iconic, she's holding all the controller capability tea πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

okay so here's the whole shape of her, no cap:

struct nvme_primary_ctrl_cap {
    __le16 cntlid;
    __le16 portid;
    __u8 crt;
    __u8 rsvd5[27];
    __le32 vqfrt;
    __le32 vqrfa;
    __le16 vqrfap;
    __le16 vqprt;
    __le16 vqfrsm;
    __le16 vqgran;
    __u8 rsvd48[16];
    __le32 vifrt;
    __le32 virfa;
    __le16 virfap;
    __le16 viprt;
    __le16 vifrsm;
    __le16 vigran;
    __u8 rsvd80[4016];
};

🌸 Members 🌸

literally every single field, in order, zero skipped πŸ’…

  • cntlid β€” Controller Identifier πŸͺͺ
  • portid β€” Port Identifier πŸšͺ
  • crt β€” Controller Resource Types 🧩
  • rsvd5 β€” reserved πŸ™ˆ (don't touch her, she's just vibing there)
  • vqfrt β€” VQ Resources Flexible Total πŸ“Š
  • vqrfa β€” VQ Resources Flexible Assigned βœ…
  • vqrfap β€” VQ Resources Flexible Allocated to Primary πŸ‘‘
  • vqprt β€” VQ Resources Private Total πŸ”’
  • vqfrsm β€” VQ Resources Flexible Secondary Maximum ⬆️
  • vqgran β€” VQ Flexible Resource Preferred Granularity 🎚️
  • rsvd48 β€” reserved πŸ™ˆ (again, just sitting there being mysterious)
  • vifrt β€” VI Resources Flexible Total πŸ“ˆ
  • virfa β€” VI Resources Flexible Assigned βœ…
  • virfap β€” VI Resources Flexible Allocated to Primary πŸ‘‘
  • viprt β€” VI Resources Private Total πŸ”’
  • vifrsm β€” VI Resources Flexible Secondary Maximum ⬆️
  • vigran β€” VI Flexible Resource Preferred Granularity 🎚️
  • rsvd80 β€” reserved πŸ™ˆ (yes, another one β€” the reserved girlies said "we're staying")
not me pointing out that the rsvd5, rsvd48, and rsvd80 fields are all just padding doing absolutely nothing academically πŸ“šβœ¨ they keep the byte math honest so the real fields land in the right spots. respect the grind fr fr.

and that's the whole page, bestie 🫢 this was struct nvme_primary_ctrl_cap from the libnvme API Manual, dated July 2026 β€” documented right here under libnvme(2). go forth and identify those controller capabilities, queen πŸ’œπŸ§šπŸ’–

πŸ“¦ where this page comes from