rem: static inline int transfer_PIO_block( ide_device_info *device, int length, bool write, int *transferred )
add: transfer_PIO_block(ide_device_info *device, int length, bool write, int *transferred)
context: static inline int transfer_PIO_block( ide_device_info *device, int length, bool write,	int *transferred ){	// data is usually split up into multiple scatter/gather blocks	while( length > 0 ) {		int left_bytes, cur_len;		status_t err;				if( device->left_sg_elem == 0 )			// ups - buffer too small (for ATAPI data, this is OK)			return ERR_TOO_BIG;				// we might have transmitted part of a scatter/entry already!		left_bytes = device->cur_sg_elem->size - device->cur_sg_ofs;				cur_len = min( left_bytes, length );						err = transfer_PIO_physcont( device, 			(addr_t)device->cur_sg_elem->address + device->cur_sg_ofs,			cur_len, write, transferred );					if( err != B_OK )			return err;					if( left_bytes <= length ) {			// end of one scatter/gather block reached			device->cur_sg_ofs = 0;			++device->cur_sg_elem;			--device->left_sg_elem;		} else {			// still in the same block			device->cur_sg_ofs += cur_len;		}					length -= cur_len;	}		return B_OK;}