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

# [NAME](#NAME)

libnvme\_mi\_submit\_entry - Weak hook called before an MI message is sent.

# [SYNOPSIS](#SYNOPSIS)

**void * libnvme\_mi\_submit\_entry** **(\_\_u8 type ,** **const struct nvme\_mi\_msg\_hdr \*hdr ,** **size\_t hdr\_len ,** **const void \*data ,** **size\_t data\_len );**

# [ARGUMENTS](#ARGUMENTS)

[type](#type)

MCTP message type

[hdr](#hdr)

Pointer to the MI message header

[hdr\_len](#hdr_len)

Length of the message header in bytes

[data](#data)

Pointer to message payload data

[data\_len](#data_len)

Length of payload data in bytes

# [DESCRIPTION](#DESCRIPTION)

This is a weak symbol that can be overridden by an application to intercept outgoing MI messages for tracing or testing purposes. The return value is passed back as *user\_data* to the matching **libnvme\_mi\_submit\_exit** call.

# [RETURN](#RETURN)

An opaque pointer passed to **libnvme\_mi\_submit\_exit**, or NULL.

libnvme\_mi\_submit\_entry October 2026

---

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