LIBNVME_MI_EP_SET_SUBMIT_ENTRY-LIBNVME3(2)
π libnvme_mi_ep_set_submit_entry π
okay so bestie, welcome to the libnvme API manual β specifically libnvme_mi_ep_set_submit_entry(9), which lowkey has main character energy for reasons we're about to get into. no cap, this one's a little gem.
β¨ NAME β¨
libnvme_mi_ep_set_submit_entry β install the MI submit-entry callback π
like, literally install it. it's giving "set it and forget it" but make it C.
π¦ SYNOPSIS π¦
here's the whole vibe, verbatim:
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)
);
yeah the signature is a whole paragraph. we don't gatekeep, we just cope. π
πΈ ARGUMENTS πΈ
epβ the endpoint you're configuring. that's your girl. that's who you're setting up. π«Άmi_submit_entryβ okay so this is the callback itself, and here's the tea β: after input validation happens, this callback gets invoked before an MI command is submitted. it receives the endpoint, message type, header, and data about to be sent β the whole little care package. and the fun part? it may return an opaque pointer representing per-command context. that pointer later gets passed unmodified to themi_submit_exitcallback. so if you're a "keep track of my stuff" girly, this is your moment.
implementations typically use this hook for logging, tracing, or allocating per-command state. very much "notes app" behavior but for C structs. iconic. β¨
π DESCRIPTION π
so what does this actually do? it installs a callback that gets 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. so like, no sneaky exceptions, no "except this one thing" betrayal. it's consistent. we love consistency.
heads up bestie: passing NULL removes any previously installed callback. yes, it's the uno-reverse card of callbacks. π
that's the whole page, no filler, no fluff, fr fr. π₯
libnvme API manual Β· the page was all libnvme_mi_ep_set_submitβ¦submit_entry(9) up top and down at the bottom too, and we're signing off from October 2026 β go forth and submit your entries, queen. ππ
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms