Lines Matching refs:tdtd
46 tdtrav_init(tdtrav_data_t *tdtd, int *vgenp, tdtrav_cb_f *firstops,
49 tdtd->vgen = ++(*vgenp);
50 tdtd->firstops = firstops ? firstops : tdnops;
51 tdtd->preops = preops ? preops : tdnops;
52 tdtd->postops = postops ? postops : tdnops;
53 tdtd->private = private;
57 tdtrav_plain(tdesc_t *this, tdtrav_data_t *tdtd)
59 return (tdtraverse(this->t_tdesc, &this->t_tdesc, tdtd));
63 tdtrav_func(tdesc_t *this, tdtrav_data_t *tdtd)
68 if ((rc = tdtraverse(fn->fn_ret, &fn->fn_ret, tdtd)) < 0)
73 tdtd)) < 0)
81 tdtrav_array(tdesc_t *this, tdtrav_data_t *tdtd)
87 tdtd)) < 0)
90 return (tdtraverse(ardef->ad_idxtype, &ardef->ad_idxtype, tdtd));
94 tdtrav_su(tdesc_t *this, tdtrav_data_t *tdtd)
100 if ((rc = tdtraverse(ml->ml_type, &ml->ml_type, tdtd)) < 0)
151 tdtraverse(tdesc_t *this, tdesc_t **thisp, tdtrav_data_t *tdtd)
158 if ((travcb = tdtd->firstops[this->t_type]) != NULL) {
159 if ((rc = travcb(this, thisp, tdtd->private)) < 0)
165 if (this->t_vgen == tdtd->vgen)
167 this->t_vgen = tdtd->vgen;
169 if (descend && (travcb = tdtd->preops[this->t_type]) != NULL) {
170 if ((rc = travcb(this, thisp, tdtd->private)) < 0)
178 (rc = descender(this, tdtd)) < 0)
181 if ((travcb = tdtd->postops[this->t_type]) != NULL &&
182 (rc = travcb(this, thisp, tdtd->private)) < 0)
190 iitraverse_td(iidesc_t *ii, tdtrav_data_t *tdtd)
194 if ((rc = tdtraverse(ii->ii_dtype, &ii->ii_dtype, tdtd)) < 0)
199 tdtd)) < 0)
210 tdtrav_data_t tdtd;
212 tdtrav_init(&tdtd, vgenp, firstops, preops, postops, private);
214 return (iitraverse_td(ii, &tdtd));
221 tdtrav_data_t tdtd;
223 tdtrav_init(&tdtd, vgenp, firstops, preops, postops, private);
225 return (hash_iter(iihash, (int (*)())iitraverse_td, &tdtd));