libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… NAME πŸ’…

okay bestie, welcome to libnvme β€” the manual's literally called API Manual and this page is about one very specific lil guy: struct nvme_primary_ctrl_cap, aka the Identify - Controller Capabilities Structure. no cap, that's the whole name. 🫢


✨ SYNOPSIS ✨

here's the struct in all its glory, char-for-char, don't touch anything:

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];
 };

like, yes there are a LOT of fields. yes some of them are just vibes and reserved bytes. we love her anyway πŸ’–


πŸŽ€ Members πŸŽ€

okay so every single field, in order, no skips, let's go:

  • cntlid β€” Controller Identifier πŸ‘‘
  • portid β€” Port Identifier 🌸
  • crt β€” Controller Resource Types
  • rsvd5 β€” reserved (it's giving "do not perceive her" energy πŸ™ˆ)
  • 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. mind your business bestie πŸ’€)
  • 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 (the final boss of reserved fields, 4016 bytes of pure "nothing to see here" 🌈)

lowkey obsessed with how the VQ block and the VI block are basically twins β€” same shape, different prefix. it's giving coordinated outfits. iykyk πŸ’…

and that's the whole page bestie, you ate that πŸ“

sign-off szn: this was the libnvme(9) page from the API Manual β€” libnvme(9), dated October 2026, all about struct nvme_primary_ctrl_cap. take care of her, she's iconic πŸ‘‘βœ¨πŸ§š

πŸ“¦ where this page comes from