nvme_mi_mi_...ta_ctrl_list(2)

πŸ’– nvme_mi_mi_read_mi_data_ctrl_list(2) πŸ’–

okay bestie, so this is a page from the libnvme API manual, and we're diving into nvme_mi_mi_read_mi_data_ctrl_list β€” yes the name is a whole mouthful, we love her anyway πŸ’…


✨ NAME ✨

nvme_mi_mi_read_mi_data_ctrl_list β€” Perform a Read MI Data Structure command, retrieving the list of attached controllers.

like. that's the whole job. she reads. she lists. she slays. πŸŽ€


🌸 SYNOPSIS 🌸

int nvme_mi_mi_read_mi_data_ctrl_list (nvme_mi_ep_t ep , __u8
start_ctrlid , struct nvme_ctrl_list *list );

periodt. that's the signature, don't @ me, just copy it exactly 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • ep β€” the endpoint for MI communication. she's your lil communication doorway, your main character connector ✨
  • start_ctrlid β€” the starting controller ID. this is where you're like "okay we begin here" 🏁
  • list β€” the controller list to populate. you hand her an empty lil container and she fills it up, iconic behavior honestly πŸ’–

🌈 DESCRIPTION 🌈

okay so here's the vibe: this call retrieves the list of attached controllers, and the ones it gives you back have IDs greater than or equal to start_ctrlid πŸ‘‘

so like. you pick a floor, and everything at or above that floor shows up to the party. no gatekeeping below your number, bestie.

See struct nvme_ctrl_list.

not me casually pointing you at struct nvme_ctrl_list like it's a whole other lore drop. go read her. iykyk πŸ“–

πŸ’œ RETURN πŸ’œ

she gives you back the nvme command status if a response was received (see enum nvme_status_field) β€” hooray, real data ✨

otherwise? -1 with errno set. so like, if things go sideways, check errno, that's your girl telling you what actually happened 😭

(fr fr, the original even ends that sentence with two periods, and honestly? same energy. mood.)


🧚 a lil sign-off 🧚

this page is from July 2026, and the page name on the tin is nvme_mi_mi_read_mi_data_ctrl_list(2) β€” yes the title got a lil squished in the original footer (nvme_mi_mi_read_mi_data_ctrnvme_mi_mi_...ta_ctrl_list(2)), no cap, we're just noting it for the record and moving on πŸ’€

go forth and read your MI data structures, bestie. you got this. πŸ’–βœ¨πŸ‘‘

πŸ“¦ where this page comes from