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