Lines Matching refs:ifp
107 ctf_diff_name(ctf_file_t *ifp, ctf_id_t iid, ctf_file_t *ofp, ctf_id_t oid) in ctf_diff_name() argument
112 if ((itp = ctf_lookup_by_id(&ifp, iid)) == NULL) in ctf_diff_name()
116 return (ctf_set_errno(ifp, iid)); in ctf_diff_name()
118 iname = ctf_strptr(ifp, itp->ctt_name); in ctf_diff_name()
135 ctf_diff_number(ctf_file_t *ifp, ctf_id_t iid, ctf_file_t *ofp, ctf_id_t oid) in ctf_diff_number() argument
139 if (ctf_type_encoding(ifp, iid, &ien) != 0) in ctf_diff_number()
143 return (ctf_set_errno(ifp, iid)); in ctf_diff_number()
161 ctf_diff_typedef(ctf_diff_t *cds, ctf_file_t *ifp, ctf_id_t iid, in ctf_diff_typedef() argument
166 while (ctf_type_kind(ifp, iid) == CTF_K_TYPEDEF) { in ctf_diff_typedef()
167 iref = ctf_type_reference(ifp, iid); in ctf_diff_typedef()
181 return (ctf_diff_type(cds, ifp, iref, ofp, oref)); in ctf_diff_typedef()
188 ctf_diff_qualifier(ctf_diff_t *cds, ctf_file_t *ifp, ctf_id_t iid, in ctf_diff_qualifier() argument
193 iref = ctf_type_reference(ifp, iid); in ctf_diff_qualifier()
199 return (ctf_set_errno(ifp, ctf_errno(ofp))); in ctf_diff_qualifier()
201 return (ctf_diff_type(cds, ifp, iref, ofp, oref)); in ctf_diff_qualifier()
209 ctf_diff_array(ctf_diff_t *cds, ctf_file_t *ifp, ctf_id_t iid, ctf_file_t *ofp, in ctf_diff_array() argument
215 if (ctf_array_info(ifp, iid, &iar) == CTF_ERR) in ctf_diff_array()
219 return (ctf_set_errno(ifp, ctf_errno(ofp))); in ctf_diff_array()
221 ret = ctf_diff_type(cds, ifp, iar.ctr_contents, ofp, oar.ctr_contents); in ctf_diff_array()
235 ret = ctf_diff_type(cds, ifp, iar.ctr_index, ofp, in ctf_diff_array()
253 ctf_diff_fptr(ctf_diff_t *cds, ctf_file_t *ifp, ctf_id_t iid, ctf_file_t *ofp, in ctf_diff_fptr() argument
260 if (ctf_func_info_by_id(ifp, iid, &ifunc) == CTF_ERR) in ctf_diff_fptr()
264 return (ctf_set_errno(ifp, ctf_errno(ofp))); in ctf_diff_fptr()
272 ret = ctf_diff_type(cds, ifp, ifunc.ctc_return, ofp, ofunc.ctc_return); in ctf_diff_fptr()
278 return (ctf_set_errno(ifp, ENOMEM)); in ctf_diff_fptr()
283 return (ctf_set_errno(ifp, ENOMEM)); in ctf_diff_fptr()
286 if (ctf_func_args_by_id(ifp, iid, ifunc.ctc_argc, iids) == CTF_ERR) { in ctf_diff_fptr()
292 ret = ctf_set_errno(ifp, ctf_errno(ofp)); in ctf_diff_fptr()
298 ret = ctf_diff_type(cds, ifp, iids[i], ofp, oids[i]); in ctf_diff_fptr()
316 ctf_diff_struct(ctf_diff_t *cds, ctf_file_t *ifp, ctf_id_t iid, ctf_file_t *ofp, in ctf_diff_struct() argument
327 oifp = ifp; in ctf_diff_struct()
329 if ((itp = ctf_lookup_by_id(&ifp, iid)) == NULL) in ctf_diff_struct()
335 if (ctf_type_size(ifp, iid) != ctf_type_size(ofp, oid)) in ctf_diff_struct()
338 if (LCTF_INFO_VLEN(ifp, itp->ctt_info) != in ctf_diff_struct()
342 (void) ctf_get_ctt_size(ifp, itp, &isize, &iincr); in ctf_diff_struct()
345 if (ifp->ctf_version == CTF_VERSION_1 || isize < CTF_LSTRUCT_THRESH) { in ctf_diff_struct()
366 return (ctf_set_errno(ifp, ENOMEM)); in ctf_diff_struct()
374 for (n = LCTF_INFO_VLEN(ifp, itp->ctt_info); n != 0; n--) { in ctf_diff_struct()
381 iname = ctf_strptr(ifp, imp->ctm_name); in ctf_diff_struct()
385 iname = ctf_strptr(ifp, ilmp->ctlm_name); in ctf_diff_struct()
406 ret = ctf_diff_type(cds, ifp, itype, ofp, otype); in ctf_diff_struct()
508 ctf_diff_union(ctf_diff_t *cds, ctf_file_t *ifp, ctf_id_t iid, ctf_file_t *ofp, in ctf_diff_union() argument
517 oifp = ifp; in ctf_diff_union()
518 if ((itp = ctf_lookup_by_id(&ifp, iid)) == NULL) in ctf_diff_union()
523 if (LCTF_INFO_VLEN(ifp, itp->ctt_info) != in ctf_diff_union()
529 return (ctf_set_errno(ifp, ENOMEM)); in ctf_diff_union()
538 cduf.cduf_curfp = ifp; in ctf_diff_union()
542 ret = ctf_member_iter(ifp, iid, ctf_diff_union_check_fp, &cduf); in ctf_diff_union()
554 ctf_diff_enum(ctf_file_t *ifp, ctf_id_t iid, ctf_file_t *ofp, ctf_id_t oid) in ctf_diff_enum() argument
562 oifp = ifp; in ctf_diff_enum()
563 if ((itp = ctf_lookup_by_id(&ifp, iid)) == NULL) in ctf_diff_enum()
568 if (LCTF_INFO_VLEN(ifp, itp->ctt_info) != in ctf_diff_enum()
572 (void) ctf_get_ctt_size(ifp, itp, NULL, &iincr); in ctf_diff_enum()
577 for (n = LCTF_INFO_VLEN(ifp, itp->ctt_info); n != 0; in ctf_diff_enum()
579 if (strcmp(ctf_strptr(ifp, iep->cte_name), in ctf_diff_enum()
596 ctf_diff_forward(ctf_file_t *ifp, ctf_id_t iid, ctf_file_t *ofp, ctf_id_t oid) in ctf_diff_forward() argument
600 ikind = ctf_type_kind(ifp, iid); in ctf_diff_forward()
617 ctf_diff_type(ctf_diff_t *cds, ctf_file_t *ifp, ctf_id_t iid, ctf_file_t *ofp, in ctf_diff_type() argument
623 if (ifp == ofp && iid == oid) in ctf_diff_type()
641 ikind = ctf_type_kind(ifp, iid); in ctf_diff_type()
649 if ((ret = ctf_diff_name(ifp, iid, ofp, oid)) != B_FALSE) { in ctf_diff_type()
656 return (ctf_diff_forward(ifp, iid, ofp, oid)); in ctf_diff_type()
661 ret = ctf_diff_number(ifp, iid, ofp, oid); in ctf_diff_type()
664 ret = ctf_diff_array(cds, ifp, iid, ofp, oid); in ctf_diff_type()
667 ret = ctf_diff_fptr(cds, ifp, iid, ofp, oid); in ctf_diff_type()
670 ret = ctf_diff_struct(cds, ifp, iid, ofp, oid); in ctf_diff_type()
673 ret = ctf_diff_union(cds, ifp, iid, ofp, oid); in ctf_diff_type()
676 ret = ctf_diff_enum(ifp, iid, ofp, oid); in ctf_diff_type()
679 ret = ctf_diff_forward(ifp, iid, ofp, oid); in ctf_diff_type()
682 ret = ctf_diff_typedef(cds, ifp, iid, ofp, oid); in ctf_diff_type()
688 ret = ctf_diff_qualifier(cds, ifp, iid, ofp, oid); in ctf_diff_type()
819 ctf_diff_init(ctf_file_t *ifp, ctf_file_t *ofp, ctf_diff_t **cdsp) in ctf_diff_init() argument
826 return (ctf_set_errno(ifp, ENOMEM)); in ctf_diff_init()
829 cds->cds_ifp = ifp; in ctf_diff_init()
832 fsize = sizeof (ctf_id_t) * ifp->ctf_typemax; in ctf_diff_init()
834 if (ifp->ctf_flags & LCTF_CHILD) in ctf_diff_init()
842 return (ctf_set_errno(ifp, ENOMEM)); in ctf_diff_init()
849 return (ctf_set_errno(ifp, ENOMEM)); in ctf_diff_init()
963 ctf_file_t *ifp, *ofp; in ctf_diff_symid() local
965 ifp = cds->cds_ifp; in ctf_diff_symid()
976 if (!(ifp->ctf_flags & LCTF_CHILD) && !(ofp->ctf_flags & LCTF_CHILD)) { in ctf_diff_symid()
982 return (ctf_diff_type(cds, ifp, iid, ofp, oid)); in ctf_diff_symid()
987 ctf_diff_void_cb(ctf_file_t *ifp, ctf_id_t iid, boolean_t same, ctf_file_t *ofp, in ctf_diff_void_cb() argument