NVME_SUBMIT_ADMIN_PASSTHRU64(2)

πŸ’– nvme_submit_admin_passthru64 β€” libnvme API manual, section 2 πŸ’–

bestie. stop scrolling. you're in the libnvme API manual and this is the function that lets you yeet a full 64-bit admin command straight at your NVMe device. no cap. it's giving raw ioctl energy but, like, with a nice wrapper. πŸ¦‹


✨ NAME ✨

nvme_submit_admin_passthru64 β€” Submit a 64-bit nvme passthrough admin command

okay so literally that's the whole vibe: a 64-bit passthrough admin command, submitted. slay. πŸ’…


✨ SYNOPSIS ✨

int nvme_submit_admin_passthru64 (int fd , struct nvme_passthru_cmd64
*cmd , __u64 *result );

three little params standing in a row, iconic honestly 🌸


✨ ARGUMENTS ✨

  • fd β€” File descriptor of nvme device. yes bestie, the actual open handle to your drive, you can't just manifest this one πŸŽ€
  • cmd β€” The nvme admin command to send. this is your struct nvme_passthru_cmd64 and it's the main character of this whole operation πŸ‘‘
  • result β€” Optional field to return the result from the CQE DW0-1. optional!! so you can pass it if you want the tea, or not if you don't πŸ“

✨ DESCRIPTION ✨

so basically this function goes through NVME_IOCTL_ADMIN64_CMD for the ioctl request. that's it. that's the whole description. it's a one-line queen and she ate. πŸ”₯

lowkey important: that's the only mechanism mentioned here, so that's the one it uses. no substitutions, no improvising, we respect the pipeline πŸ’œ

✨ RETURN ✨

here's the vibe check on what you get back:

  • it returns the nvme command status if a response was received β€” and for the full list of what those statuses mean, go look at enum nvme_status_field πŸ‘€
  • otherwise it returns -1 and errno gets set. yes, the classic. -1 + errno, the duo that never misses πŸ’€

so fr fr: check your return value, and if it's -1, go read errno before you spiral. ✨


🌈 that's the whole page 🌈

no SEE ALSO section, no extra lore, just a tiny perfect function doing one job. obsessed. 🫢

and that's a wrap on this lil section-2 moment β€” brought to you by the libnvme API manual, dated July 2026 πŸ’– mwah, go submit something 64-bit, iykyk 🧚

πŸ“¦ where this page comes from