libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct libnvme\_mi\_aem\_config - Provided for libnvme\_mi\_aem\_enable

# [SYNOPSIS](#SYNOPSIS)

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;**  
};

# [Members](#Members)

[aem\_handler](#aem_handler)

Callback function for application processing of events

[enabled\_map](#enabled_map)

Map indicating which AE should be enabled on the endpoint

[envfa](#envfa)

Enable SR-IOV virtual functions AE

[empfa](#empfa)

Enable SR-IOV physical functions AE

[encfa](#encfa)

Enable PCIe functions AE

[aemd](#aemd)

AEM Delay (time in seconds from when event happens to AEM being batched and sent)

[aerd](#aerd)

AEM Retry Delay (time in 100s of ms between AEM retries from the endpoint)

# [Description](#Description)

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

struct libnvme\_mi\_aem\_config October 2026

---

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