trap_retval ReqWrite_io( void ) { write_io_req *acc; write_io_ret *ret; void *data; trap_elen len; acc = GetInPtr(0); data = GetInPtr( sizeof( *acc ) ); len = GetTotalSize() - sizeof( *acc ); ret = GetOutPtr(0); if( len == 1 ) { Out_b( acc->IO_offset, *( (byte __far *)data ) ); ret->len = 1; } else if( len == 2 ) { Out_w( acc->IO_offset, *( (word __far *)data ) ); ret->len = 2; } else if ( Flags.Is386 ) { Out_d( acc->IO_offset, *( (dword __far *)data ) ); ret->len = 4; } else { ret->len = 0; } return( sizeof( *ret ) ); }
trap_retval ReqWrite_io( void ) { int len; write_io_req *acc; write_io_ret *ret; void *data; acc = GetInPtr(0); data = GetInPtr( sizeof( *acc ) ); len = GetTotalSize() - sizeof( *acc ); ret = GetOutPtr(0); if( len == 1 ) { Out_b( acc->IO_offset, *( (byte *)data ) ); } else if( len == 2 ) { Out_w( acc->IO_offset, *( (word *)data ) ); } else { Out_d( acc->IO_offset, *( (dword *)data ) ); } ret->len = len; return( sizeof( *ret ) ); }