libnvme_mi_aem_enable(9)

NAME
libnvme_mi_aem_enable - Enable AE on the provided endpoint

SYNOPSIS
int libnvme_mi_aem_enable (libnvme_mi_ep_t 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

DESCRIPTION
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.