status.i4.v = dio_num_data_elements_c(device_indices.i4a.r,
					      num_elements.i4a.r, errors.i2a.r

	This routine returns the number of data elements 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')
	num_elements	returned array of number of data elements
			(If a property is not an array property and is
			 not an atomic structure*, a value of
			 0 is returned for that property.  This occurs
			 if the total size of the property is not a
			 multiple of the atomic size.)
			 (* - atomic structure means the atomic size equals
			      the maximum size, in which case the number of
			      elements returned will be 1)
			(A value of NULL may be passed if no number of
			 elements are needed.)
	errors		returned ACNET status value or array of status values
			(If a property is not an array property, a status of
			 DIO_INVDATA is returned for that property.)
	[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

	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

	This function requires the following include files:

	cnsparam_h, dbprops_h, diolib_h, acnet_errors_h

	Related functions:

	dio_raw_element_length_c, dio_data_length_c, dio_data_len(_c),
	dio_get_array_device_c, dio_set_array_device_c,
	dio_build_get_array_list_c, dio_build_set_array_list_c,
	error_in_list(_c), dio_enable_obsolete_dev_info,

	C/C++ usage:

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

	status = dio_num_data_elements_c(device_indices,&properties,