libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’œ libnvme(9) β€” API Manual, bestie edition πŸŽ€

okay so before we even get into it β€” hi, you found a page from the API Manual, and the manual is called libnvme(9), and today's main character is a little struct called struct nvme_id_domain_attr. it's giving "small but important." let's go ✨


🌸 NAME 🌸

struct nvme_id_domain_attr β€” the Domain Attributes Entry. yeah. that's it. that's the whole vibe. it's an entry, it holds domain attributes, and it's struct-shaped. slay πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the exact shape of it, no notes, no edits, copy it character for character because we do not freestyle struct definitions:

struct nvme_id_domain_attr {
    __le16 dom_id;
    __u8 rsvd2[14];
    __u8 dom_cap[16];
    __u8 unalloc_dom_cap[16];
    __u8 max_egrp_dom_cap[16];
    __u8 rsvd64[64];
 };

look at her. five fields of pure purpose and two reserved blobs that are just there to keep the alignment cute. iconic 🫢


🧚 Members 🧚

lowkey this is the part you actually need, so let's do a vibe check on every single field, one by one, no skipping 😀

  • dom_id β€” Domain Identifier. this is the one that says which domain you're talking about. the ID. the name tag. the "hi my name is" sticker of the struct πŸ’–
  • rsvd2 β€” Reserved. it's reserved, bestie. don't touch it, don't fill it with your own little experiments, it's not for us. it's __u8 rsvd2[14] and it's just sitting there looking pretty πŸŽ€
  • dom_cap β€” Total Domain Capacity. the whole capacity of the domain. the full picture. the big number. __u8 dom_cap[16] if you were wondering πŸ‘‘
  • unalloc_dom_cap β€” Unallocated Domain Capacity. the slice of capacity that hasn't been handed out yet. the still-in-the-wrapper energy πŸ“
  • max_egrp_dom_cap β€” Max Endurance Group Domain Capacity. say that five times fast, I dare you 😭 this is the max endurance group domain capacity, which is exactly what it sounds like and nothing more, because I'm not about to invent details that aren't on the page πŸ™ˆ
  • rsvd64 β€” Reserved. again. __u8 rsvd64[64] worth of "not yours." respectfully, leave it alone πŸ’€
ngl, the two reserved fields are doing a lot of heavy lifting in the "do not interpret this" department. if you're ever tempted to stash something in rsvd2 or rsvd64 β€” don't. they're reserved. that's the whole message. no cap 🫢

and that's the page, bestie β€” every field, every size, every "Reserved," nothing dropped, nothing invented. you understood it, you ate, periodt. ✨

cute little sign-off because the footer deserves love too: this one's tagged October 2026, filed under struct nvme_id_domain_attr, and it lives in libnvme(9). see you in the next manpage, mwah πŸ’‹πŸŽ€

πŸ“¦ where this page comes from