LDI_EV_REMOVE_CALLBACKS(9F) Kernel Functions for Drivers
NAME
ldi_ev_remove_callbacks - remove all callbacks for a given callback ID
SYNOPSIS
#include <sys/sunldi.h>
int ldi_ev_remove_callbacks(
ldi_callback_id_t id);
INTERFACE LEVEL
illumos DDI specific (illumos DDI)
PARAMETERS
ldi_callback_id_t id An opaque data structure returned on successful calls to
ldi_ev_register_callbacks(9F).
DESCRIPTION
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.
RETURN VALUES
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.
CONTEXT
This function can be called from user and kernel contexts only.
SEE ALSO
ddi_remove_event_handler(9F),
ldi_ev_get_cookie(9F),
ldi_ev_register_callbacks(9F) August 22, 2023
LDI_EV_REMOVE_CALLBACKS(9F)