LDI_EV_REMOVE_CALLBACKS(9F) | Kernel Functions for Drivers | LDI_EV_REMOVE_CALLBACKS(9F) |
ldi_ev_remove_callbacks - remove all callbacks for a given callback ID
#include <sys/sunldi.h> int ldi_ev_remove_callbacks(ldi_callback_id_t id);
illumos DDI specific (illumos DDI)
ldi_callback_id_t id
The ldi_ev_remove_callback() function unregisters any callbacks that were registered via ldi_ev_register_callbacks(9F). Once this function returns, the callback ID is no longer valid.
The finalize and notify callbacks exist independently of the LDI handle and are not automatically removed when the LDI handle is closed. The layered driver removes these callbacks via ldi_ev_remove_callbacks()() when the callbacks are no longer needed. The LDI framework may panic the system if the entity registering the callback (a dev_t, dip or module) no longer exists on the system and the callbacks have not been unregistered.
Upon successful completion, the ldi_ev_remove_callback() function returns LDI_EV_SUCCESS. Otherwise, if an invalid callback ID of 0 is supplied, or if the underlying call to ddi_remove_event_handler(9F) failed, LDI_EV_FAILURE is returned.
This function can be called from user and kernel contexts only.
ddi_remove_event_handler(9F), ldi_ev_get_cookie(9F), ldi_ev_register_callbacks(9F)
August 22, 2023 | OmniOS |