nvme_get_log_ave_discover(2)

πŸ’– nvme_get_log_ave_discover β€” bestie edition πŸ’–

okay so this is a page from the libnvme API manual, section 2, and it's all about the function nvme_get_log_ave_discover. she's giving "go ask the hardware for its AVE discovery tea" energy and honestly? iconic. 🫢


✨ NAME ✨

nvme_get_log_ave_discover β€” Retrieve AVE Discovery Log πŸ’…

like. that's her whole job. retrieve the AVE Discovery Log. no notes.


✨ SYNOPSIS ✨

int nvme_get_log_ave_discover (int fd , bool rae , __u32 len ,
                               struct nvme_ave_discover_log *log );

she takes four things and gives you back an int. lowkey simple, highkey powerful. 🌸


✨ ARGUMENTS ✨

  • fd β€” the file descriptor of your nvme device πŸŽ€ like, that's the doorway to the whole thing, you gotta bring it.
  • rae β€” Retain asynchronous events ✨ a bool, so it's just yes/no vibes on whether you're keeping those async events around.
  • len β€” the allocated length of the log page πŸ“ a __u32, because you have to tell her how much room you've set aside.
  • log β€” user address to store the log page πŸ’Ύ you're handing over a struct nvme_ave_discover_log * and she's gonna fill it up. that's the spot. the destination. the moment.

✨ RETURN ✨

so what do you get back?? two possibilities bestie:

  • the nvme command status if a response was received πŸ‘‘ (go peek at enum nvme_status_field for the deets)
  • or -1 with errno set otherwise 😭 (so always check that errno, fr fr)

πŸ’œ quick vibe check: this signature is not playing around. fd is an int, rae is a bool, len is a __u32, and log is a struct nvme_ave_discover_log *. copy them exactly, don't freestyle, iykyk.

that's the whole page, no cap. every argument, every return path, all of it. she's short, she's sweet, she's a libnvme API manual page from July 2026 (libnvme API manual era πŸ’–) and she ate. πŸŒˆβ­πŸ¦‹ periodt.

πŸ“¦ where this page comes from