libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’… libnvme(9) β€” like, the API Manual, bestie ✨

okay so this is a page straight out of libnvme, the API manual, and it's giving "one very specific struct, and we're gonna learn it together" energy. no cap, it's short, it's sweet, and it slays in its own quiet way πŸŽ€


🌸 NAME 🌸

struct nvme_ave_tr_record β€” the AVE Transport Record. that's it. that's the whole name. iconic behavior honestly πŸ‘‘


✨ SYNOPSIS ✨

here's the shape of it, bestie β€” every field, exactly as it lives in the header:

struct nvme_ave_tr_record {
    __u8 aveadrfam;
    __u8 rsvd1;
    __le16 avetrsvcid;
    __u8 avetraddr[16];
 };

like, technically it's four lines and a closing brace, but emotionally it's a whole vibe 🌈


πŸ¦‹ Members πŸ¦‹

okay so let's meet the cast, one member at a time. no skipped entries, we're doing all of them πŸ’–

  • aveadrfam β€” the AVE Address Family. yes, that's its whole personality. it tells you which address family the AVE stuff belongs to 🫢
  • rsvd1 β€” Reserved. it's not for you, bestie. it's reserved. leave it alone, don't touch it, hands off πŸ’… (fr fr, reserved fields are reserved for a reason.)
  • avetrsvcid β€” the AVE Transport Service Identifier. the service ID for the AVE transport β€” type __le16, so it's little-endian, just so you know πŸ‘€
  • avetraddr β€” the AVE Transport Address. and it's an array of 16 __u8, so yes, sixteen whole bytes of address. she's got room 🧚
quick vibe check: rsvd1 is reserved. that's not me being dramatic, that's literally what the manual says. respect the reserved field πŸ™ˆ

and that's the whole page, bestie β€” every member, every type, every byte accounted for πŸ’œ

sign-off time πŸŽ€ this was struct nvme_ave_tr_record on the libnvme(9) page, dated October 2026, from the API Manual. stay little-endian, stay reserved, and don't touch rsvd1 πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from