search_result DIPIMPENTRY( AddrMod )( imp_image_handle *iih, address a, imp_mod_handle *imh ) { /* unused parameters */ (void)iih; (void)a; if( FindAddrBlock( iih, a.mach ) != NULL ) { *imh = IMH_MAP; return( SR_CLOSEST ); } return( SR_NONE ); }
search_result DIGENTRY DIPImpAddrMod( imp_image_handle *ii, address a, imp_mod_handle *im ) { ii = ii; a = a; if( FindAddrBlock( ii, a.mach ) != NULL ) { *im = IMH_EXPORT; return( SR_CLOSEST ); } return( SR_NONE ); }
dip_status DIPENTRY DIPImpSymType( imp_image_handle *ii, imp_sym_handle *is, imp_type_handle *it ) { msym_block *b; b = FindAddrBlock( ii, is->p->addr ); if( b != NULL ) { it->code = b->code; } else { it->code = 0; } return( DS_OK ); }
dip_status DIPENTRY DIPImpSymInfo( imp_image_handle *ii, imp_sym_handle *is, location_context *lc, sym_info *si ) { msym_block *b; memset( si, 0, sizeof( *si ) ); lc = lc; b = FindAddrBlock( ii, is->p->addr ); if( b != NULL && b->code ) { si->kind = SK_CODE; } else { si->kind = SK_DATA; } si->global = 1; si->is_static = 1; return( DS_OK ); }