dio_build_get_array_list_c

	status.i4.v = dio_build_get_array_list_c(list_id.i4.r, num_devices.i4.v,
						 device_indices.i4a.r,
						 properties.i2a.r, errors.i2a.r,
						 ftd.i2.v, num_elements.i4a.r,
						 start_elements.i4a.r)

	This routine builds a list of requests for array devices for
	later retrieval with dio_get_lst.  In general, lists should be
	segregated into reading/setting lists and basic status lists.
	Do not use this routine for table devices (ramp cards, etc).  Use
	the routine td_build(_c) instead.

	list_id		returned list ID for subsequent use by dio_get_lst
	num_devices	number of devices
	device_indices	device index array
	properties	device property array (If the first value is less
			than zero, all devices will be submitted with the
			same property.  The property value used will be the
			absolute value of this argument.)
			(constants are in 'dbprops')
			(PRREAD -> reading property,
			 PRSET -> setting property,
			 PRBSTS -> basic status property)
	errors		array of returned ACNET status values
			(one for each device in the list)
	ftd		frequency/time that list data is collected
			(FTD_ONESHOT -> one shot,
			 FTD_DEFAULT -> use database default FTD,
			 FTD_1HZ -> 1 Hz request (Note: This value can be
				    multiplied by an integer constant to
				    retrieve data every "constant" seconds.),
			 FTD_EVENT_MASK OR'ed with TCLK event value -> read
			 on TCLK event (event constants are in 'tclk_events')
			 (can use the macro BUILD_EVENT_FTD(event) or
			  BUILD_EVENT_PLUS_DELAY_FTD(event,delay) in 'macro'))
	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.)

	This function returns status values as follows:

	OK			success
	DIO_MEMFAIL		memory allocation failure
	DIO_INVDEV		at least one entry is not a valid array device
	DIO_BADARG		invalid number of elements or starting element
	negative value		other ACNET format error
	positive value		number of devices in error

	This function requires the following include files:

	dbprops_h, diolib_h, acnet_errors_h, tclk_events_h, macro_h

	Related functions:

	dio_get_device_list_c, dio_get_lst, dio_get_directed_list,
	dio_build_get_array_list_raw_c, dio_bld_get(_c),
	dio_get_array_device_c, dio_get_array_device_double_c,
	dio_can_get_lst, dio_bld_get_raw(_c), dio_get_dev(_c),
	dio_get_raw(_c), td_build(_c), error_in_list(_c)

	C/C++ usage:

	short		errors[NUM_DEVICES];
	short		properties = -PRSET;
	short		ftd = FTD_ONESHOT;
	int		status;
	int		list_id;
	int		num_devices = NUM_DEVICES;
	static int	device_indices[NUM_DEVICES] = {14430, 14431};
	static int	num_elements[NUM_DEVICES] = {1, 1};
	static int	start_elements[NUM_DEVICES] = {0, 0};

	status = dio_build_get_array_list_c(&list_id,num_devices,
					    device_indices,&properties,
					    errors,ftd,num_elements,
					    start_elements);