Lines Matching defs:enab

191 static dtrace_genid_t	dtrace_retained_gen;	/* current retained enab gen */
8822 dtrace_probe_enable(const dtrace_probedesc_t *desc, dtrace_enabling_t *enab)
8837 (void) dtrace_ecb_create_enable(NULL, enab);
8842 dtrace_cred2priv(enab->dten_vstate->dtvs_state->dts_cred.dcr_cred,
8846 enab));
11265 dtrace_enabling_t *enab)
11271 dtrace_ecbdesc_t *desc = enab->dten_current;
11337 if ((enab->dten_error = dtrace_ecb_action_add(ecb, act)) != 0) {
11343 if ((enab->dten_error = dtrace_ecb_resize(ecb)) != 0) {
11355 dtrace_enabling_t *enab = arg;
11356 dtrace_state_t *state = enab->dten_vstate->dtvs_state;
11360 if (probe != NULL && probe->dtpr_gen < enab->dten_probegen) {
11369 if ((ecb = dtrace_ecb_create(state, probe, enab)) == NULL)
11930 dtrace_enabling_t *enab;
11932 enab = kmem_zalloc(sizeof (dtrace_enabling_t), KM_SLEEP);
11933 enab->dten_vstate = vstate;
11935 return (enab);
11939 dtrace_enabling_add(dtrace_enabling_t *enab, dtrace_ecbdesc_t *ecb)
11948 ASSERT(enab->dten_probegen == 0);
11949 ASSERT(enab->dten_next == NULL && enab->dten_prev == NULL);
11951 if (enab->dten_ndesc < enab->dten_maxdesc) {
11952 enab->dten_desc[enab->dten_ndesc++] = ecb;
11956 osize = enab->dten_maxdesc * sizeof (dtrace_enabling_t *);
11958 if (enab->dten_maxdesc == 0) {
11959 enab->dten_maxdesc = 1;
11961 enab->dten_maxdesc <<= 1;
11964 ASSERT(enab->dten_ndesc < enab->dten_maxdesc);
11966 nsize = enab->dten_maxdesc * sizeof (dtrace_enabling_t *);
11968 bcopy(enab->dten_desc, ndesc, osize);
11969 kmem_free(enab->dten_desc, osize);
11971 enab->dten_desc = ndesc;
11972 enab->dten_desc[enab->dten_ndesc++] = ecb;
11976 dtrace_enabling_addlike(dtrace_enabling_t *enab, dtrace_ecbdesc_t *ecb,
12000 dtrace_enabling_add(enab, new);
12004 dtrace_enabling_dump(dtrace_enabling_t *enab)
12008 for (i = 0; i < enab->dten_ndesc; i++) {
12009 dtrace_probedesc_t *desc = &enab->dten_desc[i]->dted_probe;
12018 dtrace_enabling_destroy(dtrace_enabling_t *enab)
12022 dtrace_vstate_t *vstate = enab->dten_vstate;
12026 for (i = 0; i < enab->dten_ndesc; i++) {
12030 ep = enab->dten_desc[i];
12043 kmem_free(enab->dten_desc,
12044 enab->dten_maxdesc * sizeof (dtrace_enabling_t *));
12050 if (enab->dten_prev != NULL || enab->dten_next != NULL ||
12051 dtrace_retained == enab) {
12052 ASSERT(enab->dten_vstate->dtvs_state != NULL);
12053 ASSERT(enab->dten_vstate->dtvs_state->dts_nretained > 0);
12054 enab->dten_vstate->dtvs_state->dts_nretained--;
12058 if (enab->dten_prev == NULL) {
12059 if (dtrace_retained == enab) {
12060 dtrace_retained = enab->dten_next;
12066 ASSERT(enab != dtrace_retained);
12068 enab->dten_prev->dten_next = enab->dten_next;
12071 if (enab->dten_next != NULL) {
12073 enab->dten_next->dten_prev = enab->dten_prev;
12076 kmem_free(enab, sizeof (dtrace_enabling_t));
12080 dtrace_enabling_retain(dtrace_enabling_t *enab)
12085 ASSERT(enab->dten_next == NULL && enab->dten_prev == NULL);
12086 ASSERT(enab->dten_vstate != NULL);
12088 state = enab->dten_vstate->dtvs_state;
12101 dtrace_retained = enab;
12105 enab->dten_next = dtrace_retained;
12106 dtrace_retained->dten_prev = enab;
12107 dtrace_retained = enab;
12116 dtrace_enabling_t *new, *enab;
12131 for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) {
12138 ASSERT(enab->dten_vstate->dtvs_state != NULL);
12140 if (enab->dten_vstate->dtvs_state != state)
12147 for (i = 0; i < enab->dten_ndesc; i++) {
12148 dtrace_ecbdesc_t *ep = enab->dten_desc[i];
12183 dtrace_enabling_t *enab, *next;
12191 for (enab = dtrace_retained; enab != NULL; enab = next) {
12192 next = enab->dten_next;
12198 ASSERT(enab->dten_vstate->dtvs_state != NULL);
12200 if (enab->dten_vstate->dtvs_state == state) {
12202 dtrace_enabling_destroy(enab);
12210 dtrace_enabling_match(dtrace_enabling_t *enab, int *nmatched)
12218 for (i = 0; i < enab->dten_ndesc; i++) {
12219 dtrace_ecbdesc_t *ep = enab->dten_desc[i];
12221 enab->dten_current = ep;
12222 enab->dten_error = 0;
12228 if ((matched = dtrace_probe_enable(&ep->dted_probe, enab)) < 0)
12233 if (enab->dten_error != 0) {
12250 enab->dten_error);
12253 return (enab->dten_error);
12257 enab->dten_probegen = dtrace_probegen;
12267 dtrace_enabling_t *enab;
12282 for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) {
12283 dtrace_cred_t *dcr = &enab->dten_vstate->dtvs_state->dts_cred;
12289 (void) dtrace_enabling_match(enab, NULL);
12309 dtrace_enabling_t *enab;
12312 for (enab = dtrace_retained; enab != NULL; enab = enab->dten_next) {
12313 ASSERT(enab->dten_vstate->dtvs_state != NULL);
12315 if (enab->dten_vstate->dtvs_state != state)
12325 if (enab->dten_primed)
12328 for (i = 0; i < enab->dten_ndesc; i++) {
12329 enab->dten_current = enab->dten_desc[i];
12330 (void) dtrace_probe_enable(NULL, enab);
12333 enab->dten_primed = 1;
12359 dtrace_enabling_t *enab;
12364 for (enab = dtrace_retained; enab != NULL;
12365 enab = enab->dten_next) {
12366 for (i = 0; i < enab->dten_ndesc; i++) {
12367 desc = enab->dten_desc[i]->dted_probe;
13202 dtrace_enabling_t *enab;
13365 if ((enab = *enabp) == NULL)
13366 enab = *enabp = dtrace_enabling_create(vstate);
13376 dtrace_enabling_destroy(enab);
13381 dtrace_enabling_add(enab, ep);
15325 dtrace_enabling_t *enab = NULL;
15336 if ((rv = dtrace_dof_slurp(dof, vstate, NULL, &enab,
15354 dtrace_enabling_destroy(enab);
15366 for (i = 0; i < enab->dten_ndesc; i++) {
15367 dtrace_ecbdesc_t *ep = enab->dten_desc[i];
15386 dtrace_enabling_destroy(enab);
15394 if (nhelpers < enab->dten_ndesc)
15398 dtrace_enabling_destroy(enab);
15916 dtrace_enabling_t *enab;
16047 if ((enab = dtrace_anon.dta_enabling) != NULL)
16048 (void) dtrace_enabling_match(enab, NULL);
16482 dtrace_enabling_t *enab = NULL;
16512 if (dtrace_dof_slurp(dof, vstate, cr, &enab, 0, B_TRUE) != 0) {
16520 dtrace_enabling_destroy(enab);
16527 if ((err = dtrace_enabling_match(enab, rv)) == 0) {
16528 err = dtrace_enabling_retain(enab);
16530 dtrace_enabling_destroy(enab);