trap_retval ReqMachine_data( void ) /******************************/ { machine_data_req *acc; machine_data_ret *ret; union { unsigned_8 charact; } *data; trap_elen len; _DBG( "AccMachineData\r\n" ); acc = GetInPtr( 0 ); ret = GetOutPtr( 0 ); ret->cache_start = 0; ret->cache_end = 0; len = 0; if( acc->info_type == X86MD_ADDR_CHARACTERISTICS ) { ret->cache_end = ~(addr_off)0; data = GetOutPtr( sizeof( *ret ) ); len = sizeof( data->charact ); data->charact = 0; if( IsSel32bit( acc->addr.segment ) ) { data->charact = X86AC_BIG; } } _DBG( "address %x:%x is %s\r\n", acc->addr.segment, acc->addr.offset, data->charact ? "32-bit" : "16-bit" ); return( sizeof( *ret ) + len ); }
//OBSOLETE - use ReqMachine_data unsigned ReqAddr_info( void ) /***************************/ { addr_info_req *acc; addr_info_ret *ret; _DBG( "AccAddrInfo\r\n" ); acc = GetInPtr( 0 ); ret = GetOutPtr( 0 ); ret->is_32 = 0; if( IsSel32bit( acc->in_addr.segment ) ) { ret->is_32 = 1; } return( sizeof( *ret ) ); }