libnvme(9)

πŸ“¦ version 3.2, in arch rolling

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

okay so you're looking at the libnvme API manual, specifically the page for one very specific little struct. yes it's a page in section 9. no i will not stop being excited about it. πŸŽ€


✨ NAME ✨

struct nvme_supported_ctrl_state_formats β€” the Supported Controller State Formats Data Structure, aka the thing you get from CNS 20h. it's giving "i am a very niche struct and i know it" and honestly? iconic. πŸ‘‘


🌸 SYNOPSIS 🌸

look at her. she's literally just three members. so demure. so mindful.

struct nvme_supported_ctrl_state_formats {
    __u8 nv;
    __u8 nuuid;
    __u8 data[4094];
 };
fr fr, data is 4094 bytes. not 4096. not 4095. 4094. the math is mathing because nv + nuuid + 4094 = 4096. she ate and left no crumbs. πŸ’€

πŸ¦‹ Members πŸ¦‹

  • nv β€” the Number of Versions (NV) chillin' in the NVMe Controller State Version list, which lives right at the start of data. that's the count of how many version entries you're about to read. slay. ✨
  • nuuid β€” the Number of UUIDs (NUUID) in the Vendor Specific Controller State UUID Supported list. and where's that list? immediately following the NVMe Controller State Version list in data. the way she just stacks them back to back… πŸ’…
  • data β€” the main character energy of this whole struct, ngl. it holds the NVMe Controller State Version list (that's nv __le16 entries) immediately followed by the Vendor Specific Controller State UUID Supported list (that's nuuid 128-bit UUID entries). so it's two lists in a trench coat, one buffer, zero drama. 🫢
🌈 heads up: the order matters here, bestie. versions first, UUIDs second, immediately after. don't go rearranging her. no cap.

πŸ’– SEE ALSO… wait, there isn't one

bestie there is genuinely no SEE ALSO section on this page. it's just vibes and a struct. i checked. πŸ™ˆ


and that's the whole page, you're so welcome πŸ’œ β€” this little love letter comes to you from libnvme(9), the API Manual, dated October 2026, and the footer is literally just struct nvme_supported_ctrl_state_formats and libnvme(9) again because she likes her name. periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from