libnvme\_mi\_ep\_set\_submit\_exit(9) libnvme API manual libnvme\_mi\_ep\_set\_submit\_exit(9)

# [NAME](#NAME)

libnvme\_mi\_ep\_set\_submit\_exit - Install MI submit-exit callback

# [SYNOPSIS](#SYNOPSIS)

**void libnvme\_mi\_ep\_set\_submit\_exit** **(struct libnvme\_mi\_ep \*ep ,** **void (\*mi\_submit\_exit)(struct libnvme\_mi\_ep \*ep, \_\_u8 type, const struct nvme\_mi\_msg\_hdr \*hdr, size\_t hdr\_len, const void \*data, size\_t data\_len, void \*user\_data) );**

# [ARGUMENTS](#ARGUMENTS)

[ep](#ep)

endpoint to configure

[mi\_submit\_exit](#mi_submit_exit)

Callback invoked after an MI command completes callback (i.e., after a response has been received and passed basic validation). The function receives the endpoint, message type, header, data, and the *user\_data* pointer returned earlier by the mi\_submit\_entry callback. Implementations typically use this hook for logging, tracing, or freeing per-command state.

# [DESCRIPTION](#DESCRIPTION)

Installs a callback invoked when an MI command completes. This applies to all MI operations through this endpoint. Passing NULL removes any previously installed callback.

libnvme\_mi\_ep\_set\_submit\_exit September 2026

---

Document: libnvme_mi_ep_set_submit_exit-libnvme3(2) from nvme-cli 3.1-r1 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
