libnvme(9)
π libnvme(9) π
okay so bestie, welcome to the API Manual page for struct libnvme_mi_aem_config β literally the glow-up config struct for libnvme_mi_aem_enable π like, this is the whole vibe, no cap.
β¨ NAME β¨
struct libnvme_mi_aem_config β Provided for libnvme_mi_aem_enable. that's it, that's the whole name section, slay π
πΈ SYNOPSIS πΈ
here's the whole struct, bestie β copy it exactly, don't you dare touch a character, fr fr:
struct libnvme_mi_aem_config {
enum libnvme_mi_aem_handler_next_action (*aem_handler)(struct
libnvme_mi_ep *ep,size_t num_events, void *userdata);
struct libnvme_mi_aem_enabled_map enabled_map;
bool envfa;
bool empfa;
bool encfa;
__u8 aemd;
__u8 aerd;
};
like, yes, that signature wrapping is giving "the terminal was not having it today" but it's iconic and we keep it π
π¦ Members π¦
okay so every single one of these fields, one by one, we're gonna vibe-check them all π
aem_handlerβ Callback function for application processing of events. this is your main character callback, the one that actually does the event handling β¨enabled_mapβ Map indicating which AE should be enabled on the endpoint. basically the little roster of who gets to be enabled π«Άenvfaβ Enable SR-IOV virtual functions AE. yes bestie, turn it on πempfaβ Enable SR-IOV physical functions AE. also enable-able, we love to see it πencfaβ Enable PCIe functions AE. PCIe getting its moment too πaemdβ AEM Delay (time in seconds from when event happens to AEM being batched and sent). so like, how long it chills before getting batched and yeeted out β in seconds β±οΈaerdβ AEM Retry Delay (time in 100s of ms between AEM retries from the endpoint). and this one is in 100s of ms, not seconds, do NOT mix them up, that's the trap π¨
π Description π
so here's the tea: Application callbacks for libnvme_mi_aem_process will be able to call libnvme_mi_aem_get_next_event β which will return a pointer to such an identifier for the next event the application should parse π§ like, callback goes in, asks for the next event, gets a pointer to the identifier, and then the application parses it. that's the whole loop, periodt π
ngl bestie, keep the exact names straight βlibnvme_mi_aem_processandlibnvme_mi_aem_get_next_eventβ iykyk π₯
and that's the page, no cap π this was the API Manual, from the struct libnvme_mi_aem_config girlies, dated October 2026, living in section libnvme(9) β mwah, take care of your structs π
π
π¦ 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