libnvme_mi_aem_enable-libnvme32
Enable ae on the provided endpoint
Usage
int libnvme_mi_aem_enable (struct libnvme_mi_ep *ep , struct libnvme_mi_aem_config *config , void *userdata );
Arguments
ep
|
Endpoint to enable AEs |
|---|---|
config
|
AE configuraiton including which events are enabled and the callback function |
userdata
|
Application provided context pointer for callback function |
Overview
This function is called to enable AE on the endpoint. Endpoint will provide initial state (if any) of enabled AEs and application can parse those via the aem_handler fn pointer in callbacks. Thes can be obtained in the callback by calling libnvme_mi_aem_get_next_event.
Application should poll the fd that can be obtained from libnvme_mi_aem_get_fd and then call libnvme_mi_aem_process when poll indicates data available.
A call to libnvme_mi_aem_process will grab AEM data and call the aem_handler fn pointer. At this point the application can call libnvme_mi_aem_get_next_event to get information for each triggered event.
Return
0 on success, negative error code otherwise.