dio_scaled_to_raw_custom_c

	status.i4.v = dio_scaled_to_raw_custom_c(values.g.v, raw_data.g.v,
						 errors.i2a.r,
						 num_devices.i4.v,
						 convert_type.i4.v,
						 lengths.i4a.r,
						 scaling_lengths.i4a.r,
						 primary_indices.i4a.r,
						 common_indices.i4a.r,
						 constants.r8a.r,
						 num_constants.i4a.r,
						 same_values.i4.v)

	This routine converts scaled reading or setting data to its
	corresponding raw value using caller-supplied scaling information.

	values		scaled floating point value or array of values
	raw_data	returned raw reading or setting data
	errors		returned ACNET status value or array of returned
			status values
	num_devices	number of devices
	convert_type	type of scaling conversion desired
			(DIO_COMMON -> input data is in common engineering
				       units as single precision floats,
			 DIO_COMMON_DOUBLE -> input data is in common
					      engineering units as double
					      precision floats,
			 DIO_PRIMARY -> input data is in primary units as
				        single precision floats,
			 DIO_PRIMARY_DOUBLE -> input data is in primary units
					       as double precision floats)
	lengths		device length or array of lengths (*)
	scaling_lengths	length or array of lengths indicating atomic size
			of scaling  (The number of values returned per device
			is "lengths"/"scaling_lengths".) (*)
	primary_indices	primary scaling index or array of indices (*)
	common_indices	common (engineering) scaling index or array
			of indices (*)
	constants	constants to be used in the common transform
			scaling (*)
	num_constants	number of constants per device or array of numbers
			(maximum is DIO_PDB_MAX_CONSTANTS per device) (*)
	[same_values]	argument interpretation flag
			(TRUE -> use the same scaling information for every
				 device (all arguments marked by "(*)")
				 (default),
			 FALSE -> use individual scaling information for
				  each device)

	This function returns status values as follows:

	OK			success
	DIO_BADARG		invalid property index passed
	DIO_MEMFAIL		memory allocation failure
	negative value		other ACNET format error
	positive value		number of devices in error

	This function requires the following include files:

	dbprops_h, diolib_h, acnet_errors_h

	Related functions:

	dio_scaled_to_raw_data(_c), dio_raw_to_scaled_custom_c,
	dio_primary_to_scaled_custom_c, dio_raw_to_scaled_data(_c),
	dio_primary_to_scaled_data_c, dio_set_raw(_c), dio_set_dev(_c),
	dio_bld_set_raw(_c), dio_set_lst_raw(_c), dio_bld_set(_c), dio_set_lst, dio_get_dev(_c),
	dio_get_lst, dio_get_raw(_c), dio_get_lst_raw(_c), dio_get_pdb,
	error_in_list(_c)

	C/C++ usage:

	char	raw_data[TOTAL_LENGTH];
	short	errors[NUM_DEVICES];
	short	properties = -PRSET;
	int	status;
	int	num_devices = NUM_DEVICES;
	int	convert_type = DIO_COMMON_DOUBLE;
	static const int	lengths[NUM_DEVICES] = {2, 2};
	static const int	scaling_lengths[NUM_DEVICES] = {2, 2};
	static const int	primary_indices[NUM_DEVICES] = {0, 0};
	static const int	common_indices[NUM_DEVICES] = {4, 4};
	static const int	num_constants[NUM_DEVICES] = {2, 2};
	int	same_values = FALSE;
	double	values[NUM_DEVICES];
	static const double	constants[2*NUM_DEVICES] = {{1, 1}, {1, 1}};

	status = dio_scaled_to_raw_custom_c((void *) values,(void *) raw_data,
					    errors,num_devices,convert_type,
					    lengths,scaling_lengths,
					    primary_indices,common_indices,
					    constants,num_constants,
					    same_values);