Lines Matching refs:fp

81 ctf_lookup_by_name(ctf_file_t *fp, const char *name)  in ctf_lookup_by_name()  argument
92 return (ctf_set_errno(fp, EINVAL)); in ctf_lookup_by_name()
114 ntype = fp->ctf_ptrtab[CTF_TYPE_TO_INDEX(type)]; in ctf_lookup_by_name()
116 ntype = ctf_type_resolve(fp, type); in ctf_lookup_by_name()
117 if (ntype == CTF_ERR || (ntype = fp->ctf_ptrtab[ in ctf_lookup_by_name()
119 (void) ctf_set_errno(fp, ECTF_NOTYPE); in ctf_lookup_by_name()
125 (fp->ctf_flags & LCTF_CHILD)); in ctf_lookup_by_name()
134 for (lp = fp->ctf_lookups; lp->ctl_prefix != NULL; lp++) { in ctf_lookup_by_name()
147 if ((hp = ctf_hash_lookup(lp->ctl_hash, fp, p, in ctf_lookup_by_name()
149 (void) ctf_set_errno(fp, ECTF_NOTYPE); in ctf_lookup_by_name()
159 (void) ctf_set_errno(fp, ECTF_NOTYPE); in ctf_lookup_by_name()
165 return (ctf_set_errno(fp, ECTF_SYNTAX)); in ctf_lookup_by_name()
170 if (fp->ctf_parent != NULL && in ctf_lookup_by_name()
171 (ptype = ctf_lookup_by_name(fp->ctf_parent, name)) != CTF_ERR) in ctf_lookup_by_name()
182 ctf_lookup_by_symbol(ctf_file_t *fp, ulong_t symidx) in ctf_lookup_by_symbol() argument
184 const ctf_sect_t *sp = &fp->ctf_symtab; in ctf_lookup_by_symbol()
188 return (ctf_set_errno(fp, ECTF_NOSYMTAB)); in ctf_lookup_by_symbol()
190 if (symidx >= fp->ctf_nsyms) in ctf_lookup_by_symbol()
191 return (ctf_set_errno(fp, EINVAL)); in ctf_lookup_by_symbol()
196 return (ctf_set_errno(fp, ECTF_NOTDATA)); in ctf_lookup_by_symbol()
200 return (ctf_set_errno(fp, ECTF_NOTDATA)); in ctf_lookup_by_symbol()
203 if (fp->ctf_sxlate[symidx] == -1u) in ctf_lookup_by_symbol()
204 return (ctf_set_errno(fp, ECTF_NOTYPEDAT)); in ctf_lookup_by_symbol()
206 type = *(ushort_t *)((uintptr_t)fp->ctf_buf + fp->ctf_sxlate[symidx]); in ctf_lookup_by_symbol()
208 return (ctf_set_errno(fp, ECTF_NOTYPEDAT)); in ctf_lookup_by_symbol()
221 ctf_file_t *fp = *fpp; /* caller passes in starting CTF container */ in ctf_lookup_by_id() local
223 if ((fp->ctf_flags & LCTF_CHILD) && CTF_TYPE_ISPARENT(type) && in ctf_lookup_by_id()
224 (fp = fp->ctf_parent) == NULL) { in ctf_lookup_by_id()
230 if (type > 0 && type <= fp->ctf_typemax) { in ctf_lookup_by_id()
231 *fpp = fp; /* function returns ending CTF container */ in ctf_lookup_by_id()
232 return (LCTF_INDEX_TO_TYPEPTR(fp, type)); in ctf_lookup_by_id()
235 (void) ctf_set_errno(fp, ECTF_BADID); in ctf_lookup_by_id()
244 ctf_func_info(ctf_file_t *fp, ulong_t symidx, ctf_funcinfo_t *fip) in ctf_func_info() argument
246 const ctf_sect_t *sp = &fp->ctf_symtab; in ctf_func_info()
251 return (ctf_set_errno(fp, ECTF_NOSYMTAB)); in ctf_func_info()
253 if (symidx >= fp->ctf_nsyms) in ctf_func_info()
254 return (ctf_set_errno(fp, EINVAL)); in ctf_func_info()
259 return (ctf_set_errno(fp, ECTF_NOTFUNC)); in ctf_func_info()
263 return (ctf_set_errno(fp, ECTF_NOTFUNC)); in ctf_func_info()
266 if (fp->ctf_sxlate[symidx] == -1u) in ctf_func_info()
267 return (ctf_set_errno(fp, ECTF_NOFUNCDAT)); in ctf_func_info()
269 dp = (ushort_t *)((uintptr_t)fp->ctf_buf + fp->ctf_sxlate[symidx]); in ctf_func_info()
272 kind = LCTF_INFO_KIND(fp, info); in ctf_func_info()
273 n = LCTF_INFO_VLEN(fp, info); in ctf_func_info()
276 return (ctf_set_errno(fp, ECTF_NOFUNCDAT)); in ctf_func_info()
279 return (ctf_set_errno(fp, ECTF_CORRUPT)); in ctf_func_info()
298 ctf_func_args(ctf_file_t *fp, ulong_t symidx, uint_t argc, ctf_id_t *argv) in ctf_func_args() argument
303 if (ctf_func_info(fp, symidx, &f) == CTF_ERR) in ctf_func_args()
310 dp = (ushort_t *)((uintptr_t)fp->ctf_buf + fp->ctf_sxlate[symidx]) + 2; in ctf_func_args()
325 ctf_dyn_lookup_by_id(ctf_file_t *fp, ctf_id_t id) in ctf_dyn_lookup_by_id() argument
327 ctf_file_t **fpp = &fp; in ctf_dyn_lookup_by_id()
334 if ((dtd = ctf_dtd_lookup(fp, id)) == NULL) in ctf_dyn_lookup_by_id()
343 ctf_file_t *fp = infp; in ctf_dyn_array_info() local
347 if ((t = ctf_lookup_by_id(&fp, id)) != NULL) { in ctf_dyn_array_info()
349 if (LCTF_INFO_KIND(fp, t->ctt_info) != CTF_K_ARRAY) in ctf_dyn_array_info()
352 return (ctf_array_info(fp, id, arinfop)); in ctf_dyn_array_info()
355 if ((dtd = ctf_dtd_lookup(fp, id)) == NULL) in ctf_dyn_array_info()
358 if (LCTF_INFO_KIND(fp, dtd->dtd_data.ctt_info) != CTF_K_ARRAY) in ctf_dyn_array_info()