libnvme(9)
π libnvme(9) β the API Manual, but make it make sense
okay bestie, buckle up π this is a page out of the libnvme API Manual, and it's all about one lil struct. it's called struct nvme_mi_aem_config, and the whole reason it exists is to be provided for nvme_mi_aem_enable. that's literally the NAME section, that's the tea β
β¨ NAME β¨
struct nvme_mi_aem_config β Provided for nvme_mi_aem_enable
likeβ¦ it's giving "I'm the config struct your AEM enable call has been waiting for" π
πΈ SYNOPSIS πΈ
here's the whole shape of it, no cap, copy it exactly:
struct nvme_mi_aem_config {
enum nvme_mi_aem_handler_next_action (*aem_handler)(nvme_mi_ep_t
ep,size_t num_events, void *userdata);
struct nvme_mi_aem_enabled_map enabled_map;
bool envfa;
bool empfa;
bool encfa;
__u8 aemd;
__u8 aerd;
};
she's a struct, she's got a function pointer, she's got a map, she's got three lil bools and two __u8s. iconic honestly π
π¦ Members π¦
every single one of these, explained with love:
aem_handlerβ the callback function where your application gets to do the event processing. it's YOUR moment, main character energy β¨enabled_mapβ the map that says which AE should be enabled on the endpoint. like a little guest list for events ποΈenvfaβ Enable SR-IOV virtual functions AEempfaβ Enable SR-IOV physical functions AEencfaβ Enable PCIe functions AEaemdβ AEM Delay (that's time in seconds from when the event happens to when the AEM gets batched and sent). so it's the "how long do we sit on this" number β³aerdβ AEM Retry Delay (time in 100s of ms between AEM retries from the endpoint). yes, hundreds of milliseconds, not plain ms, read it again bestie π«Ά
π Description π
so here's the vibe: application callbacks for nvme_mi_aem_process will be able to call nvme_mi_aem_get_next_event, and that call returns a pointer to an identifier like this one β for the next event the application should parse. that's it. that's the whole plot π
ngl the wording here is doing the absolute most with the fewest words, but the fact is the fact:nvme_mi_aem_processcallbacks β can callnvme_mi_aem_get_next_eventβ get a pointer to such an identifier β for the next event your app needs to parse. periodt. π
that's the page!! short, sweet, very demure, very mindful π
sign-off time π this was libnvme(9) β struct nvme_mi_aem_config β from August 2026, the API Manual edition. go forth and parse your events, bestie, you got this πβ¨π¦
π¦ where this page comes from
- fedora 44: libnvme-doc 1.16.2-1.fc44 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms