nvme_mi_control(2)

πŸ’– NAME πŸ’–

nvme_mi_control β€” bestie, this is the one that runs a Control Primitive command πŸŽ€


✨ SYNOPSIS ✨

int nvme_mi_control (nvme_mi_ep_t ep , __u8 opcode , __u16 cpsp , __u16
*result_cpsr );

🌸 ARGUMENTS 🌸

  • ep β€” the endpoint for MI communication, like the little phone line you're yapping over πŸ“ž
  • opcode β€” the Control Primitive opcode (you grab this from enum nvme_mi_control_opcode) πŸ’…
  • cpsp β€” the Control Primitive Specific Parameter. yes that's the whole name. say it five times fast 🫢
  • result_cpsr β€” optional field, and if you hand it over it'll give you back the result from the CPSR field πŸ‘‘

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so, what this does is it performs a Control Primitive command, and it uses whichever opcode you dropped into opcode. πŸŽ€

and then β€” this is the slay part β€” it stores the result from the CPSR field into result_cpsr, but only if you actually set it. no result_cpsr, no result returning, no cap fr fr. πŸ’…

See: enum nvme_mi_control_opcode ✨


🌈 RETURN 🌈

0 on success, and non-zero on failure. so like, zero is the main character here and anything else is giving "it didn't work bestie" 😭


no other manual pages linked from here, so that's the whole vibe check, periodt. πŸ’œ

written against the libnvme API manual, page date July 2026 β€” mwah, go run your Control Primitive commands, you gorgeous nerd πŸ‘‘πŸ’–πŸŒŸ

πŸ“¦ where this page comes from