LIBNVME_MI_MI_READ_MI_DATA_CTRL_LIST-LIBNVME3(2)

πŸ“¦ version 3.2, in arch rolling

πŸ’– libnvme_mi_mi_read_mi_data_ctrl_list(9) πŸ’–

okay bestie, welcome to the libnvme API manual β€” this page is all about one little function with a very long name, and honestly? it ate. 🫢


✨ NAME ✨

libnvme_mi_mi_read_mi_data_ctrl_list β€” does a Read MI Data Structure command and brings back the list of attached controllers. literally just vibes and controllers. πŸ’…


🌸 SYNOPSIS 🌸

int libnvme_mi_mi_read_mi_data_ctrl_list (struct libnvme_mi_ep *ep ,
__u8 start_ctrlid , struct nvme_ctrl_list *list );

πŸŽ€ ARGUMENTS πŸŽ€

  • ep β€” the endpoint for MI communication. this is the connection, the main character of the whole operation πŸ‘‘
  • start_ctrlid β€” starting controller ID. like, where do we even begin, you know? this is that number 🧚
  • list β€” the controller list to populate. you hand it over, the function fills it in. bestie does the work, you provide the vessel πŸ’œ

πŸ¦‹ DESCRIPTION πŸ¦‹

So the way this works: it retrieves the list of attached controllers β€” and specifically, the ones with IDs that are greater than or equal to start_ctrlid. no cap, that's the filter. 🌈

Also, go look at struct nvme_ctrl_list if you wanna know what's actually inside. iykyk ⭐


πŸ”₯ RETURN πŸ”₯

If a response came back, you get the nvme command status (peep enum nvme_status_field for that one πŸ‘€). Otherwise you get a negative error code β€” which is the function's way of saying "nah babe, something went wrong" πŸ˜­πŸ’€


fr fr, don't forget: the status is only there if a response was received. no response means negative error code, periodt. πŸ’…

✨ that's the whole page, you're so welcome ✨

okay so this was the libnvme API manual page, and just so we're all on the same page, the footer says October 2026 and it's from libnvme_mi_mi_read_mi_data_ctrl_list(9) β€” big slay, go touch some grass now, or better yet, go read your controller list πŸŽ€πŸ’–πŸ¦‹πŸŒΈπŸ«ΆπŸ‘‘

πŸ“¦ where this page comes from