ndi_event_hdl
{ "ndi_event_hdl", "?", "print ndi_event_hdl", ndi_event_hdl },
ndi_event_print(struct ndi_event_hdl *hdl, uint_t flags)
struct ndi_event_hdl handle;
if (mdb_vread(&handle, sizeof (struct ndi_event_hdl), addr) == -1) {
if (mdb_vread(&handle, sizeof (struct ndi_event_hdl),
extern int ndi_event_hdl(uintptr_t addr, uint_t flags, int argc,
return (ndi_event_retrieve_cookie(pshot->ndi_event_hdl,
return (ndi_event_add_callback(pshot->ndi_event_hdl, rdip,
return (ndi_event_remove_callback(pshot->ndi_event_hdl, cb_id));
return (ndi_event_run_callbacks(pshot->ndi_event_hdl, rdip,
pshot->ndi_event_hdl, event_tag);
ndi_event_tag_to_name(pshot->ndi_event_hdl,
ndi_event_tag_to_name(pshot->ndi_event_hdl,
return (ndi_event_run_callbacks(pshot->ndi_event_hdl,
(void) ndi_event_run_callbacks(pshot->ndi_event_hdl,
if (ndi_event_alloc_hdl(devi, NULL, &pshot->ndi_event_hdl,
if (ndi_event_bind_set(pshot->ndi_event_hdl, &pshot->ndi_events,
rval = ndi_event_free_hdl(pshot->ndi_event_hdl);
struct ndi_event_hdl *ndi_event_hdl;
ndi_event_hdl = kmem_zalloc(sizeof (struct ndi_event_hdl),
if (!ndi_event_hdl) {
ndi_event_hdl->ndi_evthdl_dip = dip;
ndi_event_hdl->ndi_evthdl_iblock_cookie = cookie;
mutex_init(&ndi_event_hdl->ndi_evthdl_mutex, NULL,
mutex_init(&ndi_event_hdl->ndi_evthdl_cb_mutex, NULL,
*handle = (ndi_event_hdl_t)ndi_event_hdl;
struct ndi_event_hdl *ndi_event_hdl = (struct ndi_event_hdl *)handle;
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_enter(&ndi_event_hdl->ndi_evthdl_cb_mutex);
cookie = ndi_event_hdl->ndi_evthdl_cookie_list;
mutex_exit(&ndi_event_hdl->ndi_evthdl_cb_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_destroy(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_destroy(&ndi_event_hdl->ndi_evthdl_cb_mutex);
kmem_free(ndi_event_hdl, sizeof (struct ndi_event_hdl));
struct ndi_event_hdl *ndi_event_hdl;
ndi_event_hdl = (struct ndi_event_hdl *)handle;
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
(other_plevels && ndi_event_hdl->ndi_evthdl_high_plevels) ||
(high_plevels && ndi_event_hdl->ndi_evthdl_other_plevels)) {
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
next = ndi_event_hdl->ndi_evthdl_cookie_list;
if (ndi_event_hdl->ndi_evthdl_n_events == 0) {
ndi_event_hdl->ndi_evthdl_cookie_list =
ndi_event_hdl->ndi_evthdl_n_events++;
new_cookie->ddip = ndi_event_hdl->ndi_evthdl_dip;
next = ndi_event_hdl->ndi_evthdl_cookie_list;
ndi_event_hdl->ndi_evthdl_high_plevels += high_plevels;
ndi_event_hdl->ndi_evthdl_other_plevels += other_plevels;
ASSERT((ndi_event_hdl->ndi_evthdl_high_plevels == 0) ||
(ndi_event_hdl->ndi_evthdl_other_plevels == 0));
ndi_event_dump_hdl(ndi_event_hdl, "ndi_event_bind_set");
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
struct ndi_event_hdl *ndi_event_hdl = (struct ndi_event_hdl *)handle;
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
cookie_list = ndi_event_hdl->ndi_evthdl_cookie_list;
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
ndi_event_hdl->ndi_evthdl_dip, rdip, eventname, cookiep));
struct ndi_event_hdl *ndi_event_hdl = (struct ndi_event_hdl *)handle;
cookie_list = ndi_event_hdl->ndi_evthdl_cookie_list;
struct ndi_event_hdl *ndi_event_hdl = (struct ndi_event_hdl *)handle;
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_enter(&ndi_event_hdl->ndi_evthdl_cb_mutex);
ndi_event_dump_hdl(ndi_event_hdl, "ndi_event_add_callback");
mutex_exit(&ndi_event_hdl->ndi_evthdl_cb_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
static void do_ndi_event_remove_callback(struct ndi_event_hdl *ndi_event_hdl,
struct ndi_event_hdl *ndi_event_hdl = (struct ndi_event_hdl *)handle;
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_enter(&ndi_event_hdl->ndi_evthdl_cb_mutex);
do_ndi_event_remove_callback(ndi_event_hdl, cb_id);
mutex_exit(&ndi_event_hdl->ndi_evthdl_cb_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
do_ndi_event_remove_callback(struct ndi_event_hdl *ndi_event_hdl,
ASSERT(mutex_owned(&ndi_event_hdl->ndi_evthdl_mutex));
ASSERT(mutex_owned(&ndi_event_hdl->ndi_evthdl_cb_mutex));
struct ndi_event_hdl *ndi_event_hdl = (struct ndi_event_hdl *)handle;
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
(void *)ndi_event_hdl->ndi_evthdl_dip,
ddi_node_name(ndi_event_hdl->ndi_evthdl_dip),
ddi_get_instance(ndi_event_hdl->ndi_evthdl_dip),
mutex_enter(&ndi_event_hdl->ndi_evthdl_cb_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_cb_mutex);
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
ndi_event_dump_hdl(ndi_event_hdl, "ndi_event_run_callbacks");
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
struct ndi_event_hdl *ndi_event_hdl = (struct ndi_event_hdl *)handle;
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
(void *)ndi_event_hdl->ndi_evthdl_dip,
ddi_node_name(ndi_event_hdl->ndi_evthdl_dip),
ddi_get_instance(ndi_event_hdl->ndi_evthdl_dip),
mutex_enter(&ndi_event_hdl->ndi_evthdl_cb_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_cb_mutex);
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
ndi_event_dump_hdl(ndi_event_hdl, "ndi_event_run_callbacks");
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
struct ndi_event_hdl *ndi_event_hdl = (struct ndi_event_hdl *)handle;
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
list = ndi_event_hdl->ndi_evthdl_cookie_list;
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
struct ndi_event_hdl *ndi_event_hdl = (struct ndi_event_hdl *)handle;
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
list = ndi_event_hdl->ndi_evthdl_cookie_list;
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
struct ndi_event_hdl *ndi_event_hdl = (struct ndi_event_hdl *)handle;
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
list = ndi_event_hdl->ndi_evthdl_cookie_list;
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
struct ndi_event_hdl *ndi_event_hdl = (struct ndi_event_hdl *)handle;
mutex_enter(&ndi_event_hdl->ndi_evthdl_mutex);
list = ndi_event_hdl->ndi_evthdl_cookie_list;
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
mutex_exit(&ndi_event_hdl->ndi_evthdl_mutex);
ndi_event_dump_hdl(struct ndi_event_hdl *hdl, char *location)
ndi_event_hdl_t ndi_event_hdl;
typedef struct ndi_event_hdl *ndi_event_hdl_t;
ndi_event_hdl_t *ndi_event_hdl, uint_t flag);
ndi_event_dump_hdl(struct ndi_event_hdl *hdl, char *location);