libnvme(2)

πŸ’– NAME πŸ’–

struct nvme_lba_range_type_entry β€” no cap, this is the LBA Range Type - Data Structure Entry, and it lives right here in the libnvme API manual, section 2, bestie 🫢


✨ SYNOPSIS ✨

okay so here's the whole shape of it, character for character, don't touch the padding:

struct nvme_lba_range_type_entry {
    __u8 type;
    __u8 attributes;
    __u8 rsvd2[14];
    __le64 slba;
    __le64 nlb;
    __u8 guid[16];
    __u8 rsvd48[16];
 };

like. look at those little reserved gaps. the struct said "i need space" and the spec said "say less" πŸ’…


πŸŽ€ Members πŸŽ€

  • type β€” picks what Type of LBA range this baby is. it's the vibe check for the whole entry, fr fr.
  • attributes β€” the attributes of the LBA range. all the personality traits, right here ✨
  • rsvd2 β€” Reserved. hands off, it's not for you, it's a __u8 array of 14. leave it alone πŸ™ˆ
  • slba β€” the Starting LBA. where the range begins, __le64, little-endian bc ofc it is 🌸
  • nlb β€” the Number of Logical Blocks. how many blocks we're counting, also __le64. iconic.
  • guid β€” the Unique Identifier. __u8 array, 16 bytes of pure main character energy πŸ‘‘
  • rsvd48 β€” also Reserved. __u8 array, 16 bytes, also none of your business πŸ’€
ngl, notice how there are two reserved fields β€” rsvd2 and rsvd48 β€” and they are not the same size bestie. 14 vs 16. do not confuse them. that's the whole lore.

and that's the entry! short, sweet, deeply obsessed with byte alignment πŸ¦‹

this page came to you courtesy of the libnvme(2) manual, dated July 2026 β€” that's the source and the version-date energy right there, periodt 🌈⭐

stay padded, stay aligned πŸ’–πŸ§š

πŸ“¦ where this page comes from