NVME_MI_ADMIN_GET_LOG_MI_CMD_SUPPORTED_EFFECTS(2)

✨ NAME ✨

nvme_mi_admin_get_log_mi_cmd_supported_effects β€” bestie, this one displays the MI Commands Supported by the controller πŸ’–

This page lives in the libnvme API manual, so if you're the kind of girlie who reads manpages for fun (valid), you're in exactly the right place πŸŽ€


🌸 SYNOPSIS 🌸

int nvme_mi_admin_get_log_mi_cmd_supported_effects (nvme_mi_ctrl_t ctrl
, bool rae , struct nvme_mi_cmd_supported_effects_log *log );

okay so it's giving function signature, it's giving three args, and it's giving int return. She's not complicated, she just wants to know things πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • ctrl β€” the Controller to query 🫢 like, this is the one you're asking. the main character. the source of all the tea.
  • rae β€” Retain asynchronous events ✨ a little bool that says whether you're holding onto those async events or not, iykyk.
  • log β€” the MI Command Supported and Effects data structure πŸ’… this is where the answer gets written, bestie. it's a struct nvme_mi_cmd_supported_effects_log *, so yes, pointer, because we're fancy like that.

πŸ’€ RETURN πŸ’€

So here's the tea on what comes back:

  • if a response was received, you get the nvme command status β€” check enum nvme_status_field for what that actually means πŸ‘‘
  • otherwise? it's -1, and errno gets set. not the fun outcome, but at least she tells you why 😭
⚠️ fr fr, the -1 case means no response came through β€” always peek at errno before you start spiralling ✨

libnvme API manual Β· July 2026 β€” that's the source, that's the version, that's the date, and that's the whole page bestie πŸ’– no cap, every flag preserved, every struct intact, we ate and left no crumbs πŸ“πŸ§šβ­

πŸ“¦ where this page comes from