sr_get_array_device_c

	status.i4.v = sr_get_array_device_c(device_indices.i4a.r,
					    properties.i2a.r,
					    file_number.i4.v, values.r4a.r,
					    errors.i2a.r, num_elements.i4a.r,
					    start_elements.i4a.r,
					    units_text.i1a.r,
					    num_devices.i4.v, data_source.i4.v,
					    case_number.i4.v,
					    values_per_dev.i4a.r
					    [,subcase_num.i4.v]
					    [,sda_usage.i1a.r])

	This routine returns array device data that has been previously
	saved by the save/restore system.

	device_indices	device index or array of device indices
	properties	property index or array of property 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)
			(PRREAD -> reading property,
			 PRSET -> setting property)
	file_number	file number from which to retrieve data
	values		returned value or array of returned values
	errors		returned ACNET status or array of status values
			(A value of DIO_INVLEN indicates an invalid
			 starting element / number of elements request.)
	num_elements	array of number of array elements to return (>= 1)
			(Note: If the first value is less than zero, all
			 devices will be submitted with the number of elements
			 requested equal to the absolute value of that value.)
			(If a value of NULL is passed for this argument,
			 the entire array for each device will be returned.)
	start_elements	array of first elements to return (starting at 0)
			(Note: If the first value is less than zero, all
			 devices will be submitted with the starting element
			 requested equal to the absolute value of that value.)
			(If a value of NULL is passed for this argument,
			 an offset of 0 will be used for each device.)
	units_text	units text (LEN_DEV_UNITS characters per device)
			(If a value of NULL is passed for this arguemnt,
			 no units text will be returned.)
	num_devices	number of devices
	data_source	source of data
			(SRMNGR_NORMAL -> normal save/restore files,
			 SRMNGR_SDA_DATA -> SDA data)
	case_number	SDA case number (This argument only has meaning if
			the data source is SDA.)
			(default is SDA_DEFAULT_CASE_NUMBER)
	values_per_dev	returned number of values per device
			(A value of NULL can be passed for this arguemnt if
			 this information is not needed.)
	[subcase_num]	SDA subcase number (This argument only has meaning if
			the data source is SDA.)
			(default is SDA_DEFAULT_SUBCASE_NUMBER)
	[sda_usage]	null terminated SDA usage string (This argument only
			has meaning if the data source is SDA.)
			(default is NULL which results in Collider shot access)

	This function returns status values as follows:

	OK			success
	DIO_BADARG		invalid data source or number of elements 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, cbslib_h, acnet_errors_h

	Related functions:

	sr_get_device_c, sr_set_source_c, sr_get_device_raw_c,
	sr_data_length_c, sr_sda_data_lengths_c, sr_status_c, sr_status_text_c,
	sr_is_on_c, sr_is_positive_c, sr_snapshot_header_c, sr_snapshot_info_c,
	sr_snapshot_info_list_c, sr_get_snapshot_c, sr_read_snapshot_c,
	sr_sda_snapshot_stats_c, sr_sda_cases_present_c, sr_sda_num_subcases_c,
	sr_sda_subcases_present_c, sr_sda_case_times_c, sr_disconnect

	C/C++ usage:

	char	units_text[NUM_DEVICES][LEN_DEV_UNITS];
	char	*sda_usage = (char *) NULL;
	short	properties[NUM_DEVICES] = {PRSET};
	short	errors[NUM_DEVICES];
	int	status;
	int	device_indices[NUM_DEVICES] = {14430};
	int	file_number = 0;
	int	num_elements[NUM_DEVICES] = {NUM_ELEMENTS};
	int	start_elements[NUM_DEVICES] = {0};
	int	num_devices = NUM_DEVICES;
	int	data_source = SRMNGR_NORMAL;
	int	case_number = SDA_DEFAULT_CASE_NUMBER;
	int	subcase_number = SDA_DEFAULT_SUBCASE_NUMBER;
	int	values_per_dev[NUM_DEVICES];
	float	values[NUM_ELEMENTS];

	status = sr_get_array_device_c(device_indices,properties,
				       file_number,values,errors,
				       num_elements,start_elements,
				       (char *) units_text,num_devices,
				       data_source,case_number,
				       values_per_dev,subcase_number,
				       sda_usage);