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

# [NAME](#NAME)

libnvme\_mi\_ep\_set\_submit\_entry - Install MI submit-entry callback

# [SYNOPSIS](#SYNOPSIS)

**void libnvme\_mi\_ep\_set\_submit\_entry** **(struct libnvme\_mi\_ep \*ep ,** **void \*(\*mi\_submit\_entry)(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) );**

# [ARGUMENTS](#ARGUMENTS)

[ep](#ep)

endpoint to configure

[mi\_submit\_entry](#mi_submit_entry)

After input validation the callback is invoked before an MI command is submitted. The function receives the endpoint, message type, header, and data about to be sent, and may return an opaque pointer representing per-command context. This pointer is later passed unmodified to the mi\_submit\_exit callback. Implementations typically use this hook for logging, tracing, or allocating per-command state.

# [DESCRIPTION](#DESCRIPTION)

Installs a callback invoked at the moment an MI command enters the submission path. This applies to all MI operations through this endpoint (both endpoint- level MI commands and controller admin commands). Passing NULL removes any previously installed callback.

libnvme\_mi\_ep\_set\_submit\_entry October 2026

---

Document: libnvme_mi_ep_set_submit_entry-libnvme3(2) from nvme-cli 3.2-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
