ldi_add_event_handler - add NDI event service callback handler
#include <sys/ddi_obsolete.h> int ldi_add_event_handler(ldi_handle_t lh, ddi_eventcookie_t ec, void (*handler)(ldi_handle_t, ddi_eventcookie_t, void *, void *) void *arg, ldi_callback_id_t *id);
ldi_handle_t lh
ddi_eventcookie_t ec
void (*handler)(ldi_handle_t, ddi_eventcookie_t, void *, void *)
void *arg
ldi_callback_id_t *id
This function is obsolete and is only maintained for compatibility. Use of this function is strongly discouraged. For equivalent functionality provided by new interfaces, see ldi_ev_get_cookie(9F) and ldi_ev_register_callbacks(9F).
The ldi_add_event_handler() function adds a callback handler to be invoked at the occurance of the event specified by the cookie. Adding a callback handler is also known as subscribing to an event. Upon successful subscription, the handler is invoked when the event occurs. You can unregister the handler by using ldi_remove_event_handler(9F).
An instance of a layered driver can register multiple handlers for an event or a single handler for multiple events. Callback order is not defined and should be assumed to be random.
The routine handler is invoked with the following arguments:
ldi_handle_t lh
ddi_eventcookie_t ec
void *arg
void *impl_data
DDI_SUCCESS
DDI_FAILURE
The ldi_add_event_handler() function can be called from user and kernel contexts only.
ldi_ev_get_cookie(9F), ldi_ev_register_callbacks(9F), ldi_get_eventcookie(9F), ldi_remove_event_handler(9F)
Layered drivers must remove all registered callback handlers for a device instance, represented by the layered handle, by calling ldi_remove_event_handler(9F) before the layered driver's detach(9E) routine completes.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |