Lines Matching refs:enab

8897 dtrace_probe_enable(const dtrace_probedesc_t *desc, dtrace_enabling_t *enab)  in dtrace_probe_enable()  argument
8912 (void) dtrace_ecb_create_enable(NULL, enab); in dtrace_probe_enable()
8917 dtrace_cred2priv(enab->dten_vstate->dtvs_state->dts_cred.dcr_cred, in dtrace_probe_enable()
8921 enab)); in dtrace_probe_enable()
11364 dtrace_enabling_t *enab) in dtrace_ecb_create() argument
11370 dtrace_ecbdesc_t *desc = enab->dten_current; in dtrace_ecb_create()
11436 if ((enab->dten_error = dtrace_ecb_action_add(ecb, act)) != 0) { in dtrace_ecb_create()
11442 if ((enab->dten_error = dtrace_ecb_resize(ecb)) != 0) { in dtrace_ecb_create()
11454 dtrace_enabling_t *enab = arg; in dtrace_ecb_create_enable() local
11455 dtrace_state_t *state = enab->dten_vstate->dtvs_state; in dtrace_ecb_create_enable()
11459 if (probe != NULL && probe->dtpr_gen < enab->dten_probegen) { in dtrace_ecb_create_enable()
11468 if ((ecb = dtrace_ecb_create(state, probe, enab)) == NULL) in dtrace_ecb_create_enable()
12058 dtrace_enabling_t *enab; in dtrace_enabling_create() local
12060 enab = kmem_zalloc(sizeof (dtrace_enabling_t), KM_SLEEP); in dtrace_enabling_create()
12061 enab->dten_vstate = vstate; in dtrace_enabling_create()
12063 return (enab); in dtrace_enabling_create()
12067 dtrace_enabling_add(dtrace_enabling_t *enab, dtrace_ecbdesc_t *ecb) in dtrace_enabling_add() argument
12076 ASSERT(enab->dten_probegen == 0); in dtrace_enabling_add()
12077 ASSERT(enab->dten_next == NULL && enab->dten_prev == NULL); in dtrace_enabling_add()
12079 if (enab->dten_ndesc < enab->dten_maxdesc) { in dtrace_enabling_add()
12080 enab->dten_desc[enab->dten_ndesc++] = ecb; in dtrace_enabling_add()
12084 osize = enab->dten_maxdesc * sizeof (dtrace_enabling_t *); in dtrace_enabling_add()
12086 if (enab->dten_maxdesc == 0) { in dtrace_enabling_add()
12087 enab->dten_maxdesc = 1; in dtrace_enabling_add()
12089 enab->dten_maxdesc <<= 1; in dtrace_enabling_add()
12092 ASSERT(enab->dten_ndesc < enab->dten_maxdesc); in dtrace_enabling_add()
12094 nsize = enab->dten_maxdesc * sizeof (dtrace_enabling_t *); in dtrace_enabling_add()
12096 bcopy(enab->dten_desc, ndesc, osize); in dtrace_enabling_add()
12097 kmem_free(enab->dten_desc, osize); in dtrace_enabling_add()
12099 enab->dten_desc = ndesc; in dtrace_enabling_add()
12100 enab->dten_desc[enab->dten_ndesc++] = ecb; in dtrace_enabling_add()
12104 dtrace_enabling_addlike(dtrace_enabling_t *enab, dtrace_ecbdesc_t *ecb, in dtrace_enabling_addlike() argument
12128 dtrace_enabling_add(enab, new); in dtrace_enabling_addlike()
12132 dtrace_enabling_dump(dtrace_enabling_t *enab) in dtrace_enabling_dump() argument
12136 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_enabling_dump()
12137 dtrace_probedesc_t *desc = &enab->dten_desc[i]->dted_probe; in dtrace_enabling_dump()
12146 dtrace_enabling_destroy(dtrace_enabling_t *enab) in dtrace_enabling_destroy() argument
12150 dtrace_vstate_t *vstate = enab->dten_vstate; in dtrace_enabling_destroy()
12154 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_enabling_destroy()
12158 ep = enab->dten_desc[i]; in dtrace_enabling_destroy()
12171 kmem_free(enab->dten_desc, in dtrace_enabling_destroy()
12172 enab->dten_maxdesc * sizeof (dtrace_enabling_t *)); in dtrace_enabling_destroy()
12178 if (enab->dten_prev != NULL || enab->dten_next != NULL || in dtrace_enabling_destroy()
12179 dtrace_retained == enab) { in dtrace_enabling_destroy()
12180 ASSERT(enab->dten_vstate->dtvs_state != NULL); in dtrace_enabling_destroy()
12181 ASSERT(enab->dten_vstate->dtvs_state->dts_nretained > 0); in dtrace_enabling_destroy()
12182 enab->dten_vstate->dtvs_state->dts_nretained--; in dtrace_enabling_destroy()
12186 if (enab->dten_prev == NULL) { in dtrace_enabling_destroy()
12187 if (dtrace_retained == enab) { in dtrace_enabling_destroy()
12188 dtrace_retained = enab->dten_next; in dtrace_enabling_destroy()
12194 ASSERT(enab != dtrace_retained); in dtrace_enabling_destroy()
12196 enab->dten_prev->dten_next = enab->dten_next; in dtrace_enabling_destroy()
12199 if (enab->dten_next != NULL) { in dtrace_enabling_destroy()
12201 enab->dten_next->dten_prev = enab->dten_prev; in dtrace_enabling_destroy()
12204 kmem_free(enab, sizeof (dtrace_enabling_t)); in dtrace_enabling_destroy()
12208 dtrace_enabling_retain(dtrace_enabling_t *enab) in dtrace_enabling_retain() argument
12213 ASSERT(enab->dten_next == NULL && enab->dten_prev == NULL); in dtrace_enabling_retain()
12214 ASSERT(enab->dten_vstate != NULL); in dtrace_enabling_retain()
12216 state = enab->dten_vstate->dtvs_state; in dtrace_enabling_retain()
12229 dtrace_retained = enab; in dtrace_enabling_retain()
12233 enab->dten_next = dtrace_retained; in dtrace_enabling_retain()
12234 dtrace_retained->dten_prev = enab; in dtrace_enabling_retain()
12235 dtrace_retained = enab; in dtrace_enabling_retain()
12244 dtrace_enabling_t *new, *enab; in dtrace_enabling_replicate() local
12259 for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) { in dtrace_enabling_replicate()
12266 ASSERT(enab->dten_vstate->dtvs_state != NULL); in dtrace_enabling_replicate()
12268 if (enab->dten_vstate->dtvs_state != state) in dtrace_enabling_replicate()
12275 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_enabling_replicate()
12276 dtrace_ecbdesc_t *ep = enab->dten_desc[i]; in dtrace_enabling_replicate()
12311 dtrace_enabling_t *enab, *next; in dtrace_enabling_retract() local
12319 for (enab = dtrace_retained; enab != NULL; enab = next) { in dtrace_enabling_retract()
12320 next = enab->dten_next; in dtrace_enabling_retract()
12326 ASSERT(enab->dten_vstate->dtvs_state != NULL); in dtrace_enabling_retract()
12328 if (enab->dten_vstate->dtvs_state == state) { in dtrace_enabling_retract()
12330 dtrace_enabling_destroy(enab); in dtrace_enabling_retract()
12338 dtrace_enabling_match(dtrace_enabling_t *enab, int *nmatched) in dtrace_enabling_match() argument
12346 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_enabling_match()
12347 dtrace_ecbdesc_t *ep = enab->dten_desc[i]; in dtrace_enabling_match()
12349 enab->dten_current = ep; in dtrace_enabling_match()
12350 enab->dten_error = 0; in dtrace_enabling_match()
12356 if ((matched = dtrace_probe_enable(&ep->dted_probe, enab)) < 0) in dtrace_enabling_match()
12361 if (enab->dten_error != 0) { in dtrace_enabling_match()
12378 enab->dten_error); in dtrace_enabling_match()
12381 return (enab->dten_error); in dtrace_enabling_match()
12385 enab->dten_probegen = dtrace_probegen; in dtrace_enabling_match()
12395 dtrace_enabling_t *enab; in dtrace_enabling_matchall() local
12410 for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) { in dtrace_enabling_matchall()
12411 dtrace_cred_t *dcr = &enab->dten_vstate->dtvs_state->dts_cred; in dtrace_enabling_matchall()
12417 (void) dtrace_enabling_match(enab, NULL); in dtrace_enabling_matchall()
12437 dtrace_enabling_t *enab; in dtrace_enabling_prime() local
12440 for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) { in dtrace_enabling_prime()
12441 ASSERT(enab->dten_vstate->dtvs_state != NULL); in dtrace_enabling_prime()
12443 if (enab->dten_vstate->dtvs_state != state) in dtrace_enabling_prime()
12453 if (enab->dten_primed) in dtrace_enabling_prime()
12456 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_enabling_prime()
12457 enab->dten_current = enab->dten_desc[i]; in dtrace_enabling_prime()
12458 (void) dtrace_probe_enable(NULL, enab); in dtrace_enabling_prime()
12461 enab->dten_primed = 1; in dtrace_enabling_prime()
12487 dtrace_enabling_t *enab; in dtrace_enabling_provide() local
12492 for (enab = dtrace_retained; enab != NULL; in dtrace_enabling_provide()
12493 enab = enab->dten_next) { in dtrace_enabling_provide()
12494 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_enabling_provide()
12495 desc = enab->dten_desc[i]->dted_probe; in dtrace_enabling_provide()
13343 dtrace_enabling_t *enab; in dtrace_dof_slurp() local
13506 if ((enab = *enabp) == NULL) in dtrace_dof_slurp()
13507 enab = *enabp = dtrace_enabling_create(vstate); in dtrace_dof_slurp()
13517 dtrace_enabling_destroy(enab); in dtrace_dof_slurp()
13522 dtrace_enabling_add(enab, ep); in dtrace_dof_slurp()
15541 dtrace_enabling_t *enab = NULL; in dtrace_helper_slurp() local
15552 if ((rv = dtrace_dof_slurp(dof, vstate, NULL, &enab, in dtrace_helper_slurp()
15570 dtrace_enabling_destroy(enab); in dtrace_helper_slurp()
15582 for (i = 0; i < enab->dten_ndesc; i++) { in dtrace_helper_slurp()
15583 dtrace_ecbdesc_t *ep = enab->dten_desc[i]; in dtrace_helper_slurp()
15602 dtrace_enabling_destroy(enab); in dtrace_helper_slurp()
15610 if (nhelpers < enab->dten_ndesc) in dtrace_helper_slurp()
15614 dtrace_enabling_destroy(enab); in dtrace_helper_slurp()
16132 dtrace_enabling_t *enab; in dtrace_attach() local
16263 if ((enab = dtrace_anon.dta_enabling) != NULL) in dtrace_attach()
16264 (void) dtrace_enabling_match(enab, NULL); in dtrace_attach()
16698 dtrace_enabling_t *enab = NULL; in dtrace_ioctl() local
16728 if (dtrace_dof_slurp(dof, vstate, cr, &enab, 0, B_TRUE) != 0) { in dtrace_ioctl()
16736 dtrace_enabling_destroy(enab); in dtrace_ioctl()
16743 if ((err = dtrace_enabling_match(enab, rv)) == 0) { in dtrace_ioctl()
16744 err = dtrace_enabling_retain(enab); in dtrace_ioctl()
16746 dtrace_enabling_destroy(enab); in dtrace_ioctl()