dio_pdb_to_scaling_info_c

	status.i4.v = dio_pdb_to_scaling_info_c(num_pdbs.i4.v, pdbs.sa.r,
						primary_indices.i4a.r,
						common_indices.i4a.r
						[,num_constants.i4a.r]
						[,constants.r4a.r]
						[,primary_text.i1a.r]
						[,common_text.i1a.r]
						[,data_lengths.i4a.r]
						[,display_lens.i4a.r]
						[,display_types.i4a.r]
						[,is_motor.i4a.r]
						[,handler_codes.i4a.r]
						[,errors.i2a.r])

	This routine returns reading and/or setting scaling information for
	a device or list of devices.
	
	num_pdbs	number of PDBs to process
	pdbs		read/set PDB or array of PDBs
			(structure of type PDB_RS)
	primary_indices	returned primary transform index or array of indices
			(If primary index data is not needed, a value of NULL
			can be passed for this argument.)
	common_indices	returned common transform index or array of indices
			(If common index data is not needed, a value of NULL
			can be passed for this argument.)
	[num_constants]	returned number of constants defined
			(0 - DIO_NUM_SCALING_CONSTANTS)
			(default is NULL)
	[constants]	returned common transform constants
			(DIO_NUM_SCALING_CONSTANTS single precision real
			 constants per entry)
			(If transform constants are not needed, a value of
			 NULL can be passed for this argument.)
			(default is NULL)
	[primary_text]	returned primary units text
			(LEN_DEV_UNITS characters per device) (default is NULL)
			(default is NULL)
	[common_text]	returned common units text
			(LEN_DEV_UNITS characters per device) (default is NULL)
			(default is NULL)
	[data_lengths]	returned raw data lengths for scaling (1, 2, or 4 bytes)
			(default is NULL)
	[display_lens]	returned default display lengths (DIO_SHORT_DISPLAY_LEN
			or DIO_LONG_DISPLAY_LEN characters or length for
			special display type)
			(default is NULL)
	[display_types]	returned default display types
			(DIO_STANDARD_NOTATION -> display values in standard
						  notation,
			 DIO_SCIENTIFIC_NOTATION -> display values in
						    scientific notation,
			 otherwise -> special display type (negated CNV_ type))
			(default is NULL)
	[is_motor]	returned motor control flags (Note: This is only
			meaningful for the setting property.)
			(TRUE -> device is a stepper motor,
			 FALSE -> device is not a stepper motor)
			(default is NULL)
	[handler_codes]	returned data handler codes
			(DIO_HANDLER_NONE -> no special data handling,
			 DIO_HANDLER_SWAP_BYTES -> swap adjacent bytes,
			 DIO_HANDLER_SWAP_WORDS -> swap adjacent words)
			(default is NULL)
	[errors]	returned ACNET status value or array of returned
			status values
			(default is NULL)

	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

	Function returns ACNET error status.
	If positive, return value is number of devices with errors

	This function requires the following include files:

	dbprops_h, diolib_h, acnet_errors_h

	Related functions:

	dio_scaling, dio_is_display_dec(_c), dio_is_display_short(_c),
	dio_scaling_len(_c), dio_scaling_length_list_c,
	dio_scaling_transforms_c, dio_units_text_c, dio_get_pdb,
	dio_pdb_sts, dio_pdb_ctl, dio_get_historic_scaling_c,
	dio_data_type_info_c, error_in_list(_c)

	C/C++ usage:

	char	primary_text[NUM_PDBS][LEN_DEV_UNITS];
	char	common_text[NUM_PDBS][LEN_DEV_UNITS];
	short	errors[NUM_PDBS];
	int	status;
	int	num_pdbs = NUM_PDBS;
	int	primary_indices[NUM_PDBS];
	int	common_indices[NUM_PDBS];
	int	num_constants[NUM_PDBS];
	int	data_lengths[NUM_PDBS];
	int	display_lengths[NUM_PDBS];
	int	display_types[NUM_PDBS];
	int	is_motor[NUM_PDBS];
	int	handler_codes[NUM_PDBS];
	float	constants[NUM_PDBS][DIO_NUM_SCALING_CONSTANTS];
	PDB_RS	pdbs[NUM_PDBS];

	status = dio_pdb_to_scaling_info_c(num_pdbs,pdbs,primary_indices,
					   common_indices,num_constants,
					   (float *) constants,
					   (char *) primary_text,
					   (char *) common_text,
					   data_lengths,display_lengths,
					   display_types,is_motor,
					   handler_codes,errors);