NVME_MI_ADMIN_IDENTIFY_CTRL(2)

πŸ’– nvme_mi_admin_identify_ctrl(2) πŸ’–

okay bestie, welcome to the libnvme API manual, section 2 🫢 this one's short and sweet and honestly kinda iconic.


✨ NAME ✨

nvme_mi_admin_identify_ctrl β€” Perform an Admin identify for a controller πŸ’…


🌸 SYNOPSIS 🌸

int nvme_mi_admin_identify_ctrl (nvme_mi_ctrl_t ctrl , struct
nvme_id_ctrl *id );

πŸŽ€ ARGUMENTS πŸŽ€

  • ctrl β€” the Controller you wanna process the identify command on πŸ‘‘
  • id β€” the Controller identify data you're populating, like you're filling up a lil container with facts 🌸

πŸ¦‹ DESCRIPTION πŸ¦‹

So literally what happens is: you perform an Identify command, for the controller you specified with ctrl, and it writes the identify data into id. That's it. That's the whole vibe. ✨

lowkey important: it will return an error if the length of the response data (the stuff coming back from the controller) is not a full NVME_IDENTIFY_DATA_SIZE. so on success, id is gonna be fully populated, no crumbs left behind πŸ’–

See: struct nvme_id_ctrl πŸ‘€


πŸ’œ RETURN πŸ’œ

It gives you the nvme command status if a response was received (peep enum nvme_status_field for the deets), or -1 with errno set otherwise. fr fr, that's the deal πŸ™ˆ


July 2026 β€” that's the date bestie, and this whole thing lives in the libnvme API manual, nvme_mi_admin_identify_ctrl(2). go off, you got this πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from