dio_data_type_info_c

	status.i4.v = dio_data_type_info_c(device_indices.i4a.r,
					   properties.i2a.r, num_devices.i4.v,
					   max_entries.i4.v, options.u4.v,
					   data_type_ids.i4a.r,
					   num_entries.i4a.r, raw_offsets.i4a.r,
					   data_types.i4a.r,
					   scale_lengths.i4a.r,
					   num_elements.i4a.r,
					   bytes_to_skip.i4a.r,
					   primary_indices.i4a.r,
					   primary_text.i1a.r,
					   descriptions.i1a.r,
					   errors.i2a.r)

	This routine returns device data type information.  This information
	can allow a program to parse and scale raw device data.  Note that
	more than one set of data type information may exist for devices
	which return data structures.  A value of NULL can be passed for
	any returned argument whose values are not needed.

	device_indices	device index or array of device indices
	properties	property index or array of indices
			(If the first value is less than zero, all devices
			 will be requested with a property index which is
			 equal to the absolute value of this argument.)
			(constants are in 'dbprops')
	num_devices	number of devices
	max_entries	maximum number of data type entries to return per device
	options		retrieval options (currently unused)
	data_type_ids	returned data type IDs
	num_entries	returned number of data type entries
	raw_offsets	returned raw offsets
	data_types	returned data types
	scale_lengths	returned scaling lengths
	num_elements	returned array lengths
	bytes_to_skip	returned number of bytes between successive fields
	primary_indices	returned primary index values
	primary_text	returned primary text strings (16 characters per entry)
	descriptions	returned null terminated descriptive text strings
			(81 characters per entry)
	errors		returned ACNET status value or array of status values

	This function returns status values as follows:

	OK			success
	DIO_BADARG		invalid number of devices passed
	DIO_MEMFAIL		memory allocation failure
	negative value		ACNET format error indicating overall failure
	positive value		number of devices in error indicating partial
				success

	This function requires the following include files:

	cnsparam_h, diolib_h, acnet_errors_h

	Related functions:

	dio_data_len(_c), dio_raw_data_type, dio_dpreq_info,
	dio_raw_to_scaled_data(_c), dio_raw_to_value_text_c, dio_scaling,
	dio_scaling_len(_c), dio_scaling_length_list_c, dio_get_pdb,
	dio_units_text_c, error_in_list(_c)

	C/C++ usage:

	char	primary_text[NUM_DEVICES*MAX_ENTRIES][16];
	char	description[NUM_DEVICES*MAX_ENTRIES][81];
	static const short	properties[NUM_DEVICES] = {PRREAD, PRREAD};
	short	errors[NUM_DEVICES];
	int	status;
	static const int	device_indices[NUM_DEVICES] = {158579, 158583};
	int	num_devices = NUM_DEVICES;
	int	max_entries = MAX_ENTRIES;
	int	data_type_ids[NUM_DEVICES];
	int	num_entries[NUM_DEVICES];
	int	raw_offsets[NUM_DEVICES*MAX_ENTRIES];
	int	data_types[NUM_DEVICES*MAX_ENTRIES];
	int	scale_lengths[NUM_DEVICES*MAX_ENTRIES];
	int	num_elements[NUM_DEVICES*MAX_ENTRIES];
	int	bytes_to_skip[NUM_DEVICES*MAX_ENTRIES];
	int	primary_indices[NUM_DEVICES*MAX_ENTRIES];
	unsigned int	options = 0;

	status = dio_data_type_info_c(device_indices,properties,num_devices,
				      max_entries,options,data_type_ids,
				      num_entries,raw_offsets,data_types,
				      scale_lengths,num_elements,bytes_to_skip,
				      primary_indices,(char *) primary_text,
				      description,errors);