libnvme(9)

πŸ“¦ version 3.2, in arch rolling

πŸ’– 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_process and libnvme_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