dio_data_length_c

	status.i4.v = dio_data_length_c(device_indices.i4a.r, properties.i2a.r,
					default_sizes.i2a.r, atomic_sizes.i4a.r,
					maximum_sizes.u4a.r, errors.i2a.r
					[,num_devices.i4.v] [,options.u4.v]
					[,addr_modes.i4a.r])

	This routine returns the default and maximum data sizes for a device
	and property (DI/PI).

	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')
	default_sizes	returned default size in bytes or array of default sizes
			(A value of NULL may be passed if no default sizes
			 are needed.)
	atomic_sizes	returned array of atomic (smallest readable) sizes
			(A value of NULL may be passed if no atomic sizes
			 are needed.)
	maximum_sizes	returned maximum data size in bytes or array of
			maximum sizes (A value of NULL may be passed if no
			maximum sizes are needed.)
	errors		returned ACNET status value or array of status values
	[num_devices]	number of devices (default is 1)
	[options]	retrieval options
			(DIO_OPT_NONE -> no options selected (default),
			 DIO_OPT_ALLOW_OBSOLETE -> return data for obsolete
						   devices)
	[addr_modes]	returned array of addressing modes
			(A value of NULL may be passed if no addressing modes
			 are needed.) (default is NULL)

	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, dbprops_h, diolib_h, acnet_errors_h

	Related functions:

	dio_data_length_ext_c, dio_data_len(_c), dio_num_data_elements_c,
	dio_raw_element_length_c, dio_historic_data_length_c, dio_get_dev(_c),
	dio_get_raw(_c), dio_bld_get(_c), dio_set_dev(_c), dio_set_raw(_c),
	dio_bld_set(_c), dio_extrema(_c), dio_raw_data_type, dio_dpreq_info,
	dio_cache_property_info_c, dio_data_type_info_c, error_in_list(_c),
	dio_enable_obsolete_dev_info, dio_disable_obsolete_dev_info

	C/C++ usage:

	short	default_sizes[NUM_DEVICES];
	short	errors[NUM_DEVICES];
	short	properties = -PRSET;
	int	status;
	static const int	device_indices[NUM_DEVICES] = {14430, 14431};
	int	atomic_sizes[NUM_DEVICES];
	int	num_devices = NUM_DEVICES;
	int	addr_modes[NUM_DEVICES];
	unsigned int	maximum_sizes[NUM_DEVICES];
	unsigned int	options = DIO_OPT_NONE;

	status = dio_data_length_c(device_indices,&properties,default_sizes,
				   atomic_sizes,maximum_sizes,errors,
				   num_devices,options,addr_modes);