---
name: "libnvme_mi_ep_set_submit_entry-libnvme3"
section: "2"
platform: "linux"
package: "nvme-cli"
version: "3.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libnvme_mi_ep_set_submit_entry-libnvme3"
---

# libnvme\_mi\_ep\_set\_submit\_entry-libnvme3(2)

Install MI submit-entry callback

## NAME

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

## 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

- ep

  endpoint to configure

- 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

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.
