Lines Matching refs:enab
8610 dtrace_probe_enable(const dtrace_probedesc_t *desc, dtrace_enabling_t *enab) in dtrace_probe_enable() argument
8625 (void) dtrace_ecb_create_enable(NULL, enab); in dtrace_probe_enable()
8630 dtrace_cred2priv(enab->dten_vstate->dtvs_state->dts_cred.dcr_cred, in dtrace_probe_enable()
8634 enab)); in dtrace_probe_enable()
10988 dtrace_enabling_t *enab) in dtrace_ecb_create() argument
10994 dtrace_ecbdesc_t *desc = enab->dten_current; in dtrace_ecb_create()
11060 if ((enab->dten_error = dtrace_ecb_action_add(ecb, act)) != 0) { in dtrace_ecb_create()
11075 dtrace_enabling_t *enab = arg; in dtrace_ecb_create_enable() local
11076 dtrace_state_t *state = enab->dten_vstate->dtvs_state; in dtrace_ecb_create_enable()
11080 if (probe != NULL && probe->dtpr_gen < enab->dten_probegen) { in dtrace_ecb_create_enable()
11089 if ((ecb = dtrace_ecb_create(state, probe, enab)) == NULL) in dtrace_ecb_create_enable()
11650 dtrace_enabling_t *enab; in dtrace_enabling_create() local
11652 enab = kmem_zalloc(sizeof (dtrace_enabling_t), KM_SLEEP); in dtrace_enabling_create()
11653 enab->dten_vstate = vstate; in dtrace_enabling_create()
11655 return (enab); in dtrace_enabling_create()
11659 dtrace_enabling_add(dtrace_enabling_t *enab, dtrace_ecbdesc_t *ecb) in dtrace_enabling_add() argument
11668 ASSERT(enab->dten_probegen == 0); in dtrace_enabling_add()
11669 ASSERT(enab->dten_next == NULL && enab->dten_prev == NULL); in dtrace_enabling_add()
11671 if (enab->dten_ndesc < enab->dten_maxdesc) { in dtrace_enabling_add()
11672 enab->dten_desc[enab->dten_ndesc++] = ecb; in dtrace_enabling_add()
11676 osize = enab->dten_maxdesc * sizeof (dtrace_enabling_t *); in dtrace_enabling_add()
11678 if (enab->dten_maxdesc == 0) { in dtrace_enabling_add()
11679 enab->dten_maxdesc = 1; in dtrace_enabling_add()
11681 enab->dten_maxdesc <<= 1; in dtrace_enabling_add()
11684 ASSERT(enab->dten_ndesc < enab->dten_maxdesc); in dtrace_enabling_add()
11686 nsize = enab->dten_maxdesc * sizeof (dtrace_enabling_t *); in dtrace_enabling_add()
11688 bcopy(enab->dten_desc, ndesc, osize); in dtrace_enabling_add()
11689 kmem_free(enab->dten_desc, osize); in dtrace_enabling_add()
11691 enab->dten_desc = ndesc; in dtrace_enabling_add()
11692 enab->dten_desc[enab->dten_ndesc++] = ecb; in dtrace_enabling_add()
11696 dtrace_enabling_addlike(dtrace_enabling_t *enab, dtrace_ecbdesc_t *ecb, in dtrace_enabling_addlike() argument
11720 dtrace_enabling_add(enab, new); in dtrace_enabling_addlike()
11724 dtrace_enabling_dump(dtrace_enabling_t *enab) in dtrace_enabling_dump() argument
11728 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_enabling_dump()
11729 dtrace_probedesc_t *desc = &enab->dten_desc[i]->dted_probe; in dtrace_enabling_dump()
11738 dtrace_enabling_destroy(dtrace_enabling_t *enab) in dtrace_enabling_destroy() argument
11742 dtrace_vstate_t *vstate = enab->dten_vstate; in dtrace_enabling_destroy()
11746 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_enabling_destroy()
11750 ep = enab->dten_desc[i]; in dtrace_enabling_destroy()
11763 kmem_free(enab->dten_desc, in dtrace_enabling_destroy()
11764 enab->dten_maxdesc * sizeof (dtrace_enabling_t *)); in dtrace_enabling_destroy()
11770 if (enab->dten_prev != NULL || enab->dten_next != NULL || in dtrace_enabling_destroy()
11771 dtrace_retained == enab) { in dtrace_enabling_destroy()
11772 ASSERT(enab->dten_vstate->dtvs_state != NULL); in dtrace_enabling_destroy()
11773 ASSERT(enab->dten_vstate->dtvs_state->dts_nretained > 0); in dtrace_enabling_destroy()
11774 enab->dten_vstate->dtvs_state->dts_nretained--; in dtrace_enabling_destroy()
11778 if (enab->dten_prev == NULL) { in dtrace_enabling_destroy()
11779 if (dtrace_retained == enab) { in dtrace_enabling_destroy()
11780 dtrace_retained = enab->dten_next; in dtrace_enabling_destroy()
11786 ASSERT(enab != dtrace_retained); in dtrace_enabling_destroy()
11788 enab->dten_prev->dten_next = enab->dten_next; in dtrace_enabling_destroy()
11791 if (enab->dten_next != NULL) { in dtrace_enabling_destroy()
11793 enab->dten_next->dten_prev = enab->dten_prev; in dtrace_enabling_destroy()
11796 kmem_free(enab, sizeof (dtrace_enabling_t)); in dtrace_enabling_destroy()
11800 dtrace_enabling_retain(dtrace_enabling_t *enab) in dtrace_enabling_retain() argument
11805 ASSERT(enab->dten_next == NULL && enab->dten_prev == NULL); in dtrace_enabling_retain()
11806 ASSERT(enab->dten_vstate != NULL); in dtrace_enabling_retain()
11808 state = enab->dten_vstate->dtvs_state; in dtrace_enabling_retain()
11821 dtrace_retained = enab; in dtrace_enabling_retain()
11825 enab->dten_next = dtrace_retained; in dtrace_enabling_retain()
11826 dtrace_retained->dten_prev = enab; in dtrace_enabling_retain()
11827 dtrace_retained = enab; in dtrace_enabling_retain()
11836 dtrace_enabling_t *new, *enab; in dtrace_enabling_replicate() local
11851 for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) { in dtrace_enabling_replicate()
11858 ASSERT(enab->dten_vstate->dtvs_state != NULL); in dtrace_enabling_replicate()
11860 if (enab->dten_vstate->dtvs_state != state) in dtrace_enabling_replicate()
11867 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_enabling_replicate()
11868 dtrace_ecbdesc_t *ep = enab->dten_desc[i]; in dtrace_enabling_replicate()
11903 dtrace_enabling_t *enab, *next; in dtrace_enabling_retract() local
11911 for (enab = dtrace_retained; enab != NULL; enab = next) { in dtrace_enabling_retract()
11912 next = enab->dten_next; in dtrace_enabling_retract()
11918 ASSERT(enab->dten_vstate->dtvs_state != NULL); in dtrace_enabling_retract()
11920 if (enab->dten_vstate->dtvs_state == state) { in dtrace_enabling_retract()
11922 dtrace_enabling_destroy(enab); in dtrace_enabling_retract()
11930 dtrace_enabling_match(dtrace_enabling_t *enab, int *nmatched) in dtrace_enabling_match() argument
11938 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_enabling_match()
11939 dtrace_ecbdesc_t *ep = enab->dten_desc[i]; in dtrace_enabling_match()
11941 enab->dten_current = ep; in dtrace_enabling_match()
11942 enab->dten_error = 0; in dtrace_enabling_match()
11948 if ((matched = dtrace_probe_enable(&ep->dted_probe, enab)) < 0) in dtrace_enabling_match()
11953 if (enab->dten_error != 0) { in dtrace_enabling_match()
11970 enab->dten_error); in dtrace_enabling_match()
11973 return (enab->dten_error); in dtrace_enabling_match()
11977 enab->dten_probegen = dtrace_probegen; in dtrace_enabling_match()
11987 dtrace_enabling_t *enab; in dtrace_enabling_matchall() local
12002 for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) { in dtrace_enabling_matchall()
12003 dtrace_cred_t *dcr = &enab->dten_vstate->dtvs_state->dts_cred; in dtrace_enabling_matchall()
12009 (void) dtrace_enabling_match(enab, NULL); in dtrace_enabling_matchall()
12029 dtrace_enabling_t *enab; in dtrace_enabling_prime() local
12032 for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) { in dtrace_enabling_prime()
12033 ASSERT(enab->dten_vstate->dtvs_state != NULL); in dtrace_enabling_prime()
12035 if (enab->dten_vstate->dtvs_state != state) in dtrace_enabling_prime()
12045 if (enab->dten_primed) in dtrace_enabling_prime()
12048 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_enabling_prime()
12049 enab->dten_current = enab->dten_desc[i]; in dtrace_enabling_prime()
12050 (void) dtrace_probe_enable(NULL, enab); in dtrace_enabling_prime()
12053 enab->dten_primed = 1; in dtrace_enabling_prime()
12079 dtrace_enabling_t *enab; in dtrace_enabling_provide() local
12084 for (enab = dtrace_retained; enab != NULL; in dtrace_enabling_provide()
12085 enab = enab->dten_next) { in dtrace_enabling_provide()
12086 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_enabling_provide()
12087 desc = enab->dten_desc[i]->dted_probe; in dtrace_enabling_provide()
12922 dtrace_enabling_t *enab; in dtrace_dof_slurp() local
13085 if ((enab = *enabp) == NULL) in dtrace_dof_slurp()
13086 enab = *enabp = dtrace_enabling_create(vstate); in dtrace_dof_slurp()
13096 dtrace_enabling_destroy(enab); in dtrace_dof_slurp()
13101 dtrace_enabling_add(enab, ep); in dtrace_dof_slurp()
15038 dtrace_enabling_t *enab = NULL; in dtrace_helper_slurp() local
15049 if ((rv = dtrace_dof_slurp(dof, vstate, NULL, &enab, in dtrace_helper_slurp()
15067 dtrace_enabling_destroy(enab); in dtrace_helper_slurp()
15079 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_helper_slurp()
15080 dtrace_ecbdesc_t *ep = enab->dten_desc[i]; in dtrace_helper_slurp()
15099 dtrace_enabling_destroy(enab); in dtrace_helper_slurp()
15107 if (nhelpers < enab->dten_ndesc) in dtrace_helper_slurp()
15111 dtrace_enabling_destroy(enab); in dtrace_helper_slurp()
15612 dtrace_enabling_t *enab; in dtrace_attach() local
15743 if ((enab = dtrace_anon.dta_enabling) != NULL) in dtrace_attach()
15744 (void) dtrace_enabling_match(enab, NULL); in dtrace_attach()
16178 dtrace_enabling_t *enab = NULL; in dtrace_ioctl() local
16208 if (dtrace_dof_slurp(dof, vstate, cr, &enab, 0, B_TRUE) != 0) { in dtrace_ioctl()
16216 dtrace_enabling_destroy(enab); in dtrace_ioctl()
16223 if ((err = dtrace_enabling_match(enab, rv)) == 0) { in dtrace_ioctl()
16224 err = dtrace_enabling_retain(enab); in dtrace_ioctl()
16226 dtrace_enabling_destroy(enab); in dtrace_ioctl()