multiwire_get_list_c (ul_multiwire)

	status.i4.v = multiwire_get_list_c(multiwire_names.i1a.r,
					   max_wires.i4.v,positions.i4a.r,
					   wire_data.ga.r,wire_status.i4a.r,
					   calculated_data.sa.r,
					   calculated_data_status.i4a.r,
    					   data_type.i4.v,num_multiwires.i4.v
    					   [,ftd.i4.v][,listid.i4.r]
                                          [,mean_option.u4.v])

	This routine returns data (scaled or raw) and calculation data for a
	list of multiwires

	multiwire_names	multiwire name(s)
			(MW_DEVICE_NAME_LEN characters per name)
	max_wires	maximum number of wires, that will fit in wire_data
			for per multiwire
			(if max_wires is 96, it will return 48 horizontal
			 wires' data and 48 vertical wires' data)
	positions	array of returned position of requested multiwires
			(MW_POSITION_OUT -> position (or SWIC scanner) is out,
			 MW_POSITION_IN -> swic scanner is in,
					   (for SWIC/SEM type device only)
			 MW_POSITION_HORZ -> position is horizontal,
			 MW_POSITION_VERT -> position is vertical,
			 MW_POSITION_INDETERM -> position is indeterminate,
						 as controller is off-line
						 or hardware problem
						 (For SEM devices, it means 
						  motor is not available.),
			 MW_POSITION_UNKNOWN -> probably hardware problem
						(for SWIC/SEM type device only),
			 CLIB_INVARG -> invalid multiwire name)
			(Note: A value of NULL may be passed for this
			argument if no positions is desired.)
	wire_data	returned scaled or raw data 
			(If data_type is MW_RAW_DATA, This is a short array
			of num_multiwires * max_wires size;
			If data_type is MW_SCALED_DATA, This is a float array
			of num_multiwires * max_wires size)
			(if max_wires is 96, horizontal wires' data will be
			stored from 0 to 47 and vertical wires'data from 48 to
			95 for each multiwire)
			(For a SEM type device, this is a short array of 
			 num_multiwires * max_wires size only.)
			(Note: A value of NULL may be passed for this
			argument if no wire data is desired.)
	wire_status	returned reading wire status	
			(an array of num_multiwires * max_wires size)
			(CLIB_OK -> good data
			 returned positive wire_status:
			 MW_MISSING_WIRE -> missing wire (MW only)
			 MW_NOISY_WIRE -> noisy wire   (MW/SWIC only)
			 returned negative wire_status:
			 MW_NOT_IN_BEAM -> multiwire is OUT
			 MW_DPM_IO_ERROR -> DPM-detected I/O error (MW only)
			 MW_BUF_WRONG_NUM_WIRE -> Buffer contains wrong number
						  of wires (MW only)
	 		 MW_BUF_WRONG_CHNL_NUM -> Buffer contains wrong channel
						  number (MW only)
	 		 MW_BUF_WRONG_SCAN_NUM	-> Buffer contains wrong scan
						   number (MW only)
	 		 MW_BUF_NOT_SINGLE_SCAN	-> Buffer is not a single-scan
						   data buffer (MW only)
	 		 MW_NOT_AVERAGE_BUFFER -> Buffer is not an average 
						  buffer (MW only)
	 		 MW_BUF_WRONG_WIRE_POS	-> Buffer is for wrong chamber
						   position (MW only)
	 		 MW_AVG_CALC_NOT_READY -> Average calculations did not
						  finish (MW only)
	 		 MW_BUF_2_ZERO_WORDS -> First two words in buffer are
						zero (MW only)
	 		 MW_BUF_3_ZERO_WORDS -> First three words in buffer 
						are zero) (MW only)
			 CLIB_INVALID_DATA ->	if max_wires is 96 and one of
						the two planes is invalid)
			(if max_wires is 96, it will return horizontal wires'
			(from 0 to 47) and vertical wires'(from 48 to 95) 
			status for each multiwire)
			otherwise		ACNET format error
			(Note: A value of NULL may be passed for this
			argument if no wire_status is desired.)
	calculated_data	returned calculated data and time stamp
			(if max_wires is 96, it will return horizontal 
			calculated_data and vertical calculated_data
			for each multiwire)
			(MW_EXT_CALCULATIONS structure)
			(Note: A value of NULL may be passed for this
			argument if no calculated_data is desired.)
	calculated_data_status	returned reading calculated data status	
			(CLIB_OK -> good data,
			 CLIB_NOTYET -> calculation not finished (MW/SWIC only),
			 CLIB_INVALID_DATA -> if max_wires is 96 and one of
					      the two planes is invalid
					      then the invalid plane's
					      calculated_data_status is
					      CLIB_INVALID_DATA,
			 otherwise -> ACNET format error)
			(if max_wires is 96, it will return horizontal 
			 calculated_data_status and vertical 
			 calculated_data_status for each multiwire)
			(Note: A value of NULL may be passed for this
			 argument if no calculated_data_status is desired.)
	data_type	data type of returned data
			(MW_RAW_DATA -> returns raw data
			 MW_SCALED_DATA	-> returns scaled data
					   (engineering units))
	num_multiwires	number of multiwires requesting data
	[ftd]		Frequency Time Descriptor
			(FTD_ONESHOT -> one shot (default),
			 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'))
			(Note:for SEM type device only.)
	[listid]	returned list ID for use by subsequent data
			retrieval routines 
			(Note:for SEM type device only.)
	[mean_option]	mean type of calculated data
			(MW_OPT_NONE -> no options requested (default)
			 returns means to the wire number
			 MW_OPT_RELATIVE_TO_CENTER_MEAN -> returns means
			 relative to the center wire)
	[source_data]	returned source data

	This function returns ACNET status values as follows:

	CLIB_OK			success
	CLIB_BUGCHK		initialization failed
	positive		the number of Multiwire OUT
	othewise		ACNET format error

	This function requires the following include files:

	ul_multiwire_h:multiwires_h, acnet_errors_h

	Related functions:

	multiwire_get_names_c, multiwire_menu_c, multiwire_cancel_get_lst,
	multiwire_get_data_c, multiwire_get_scanc_list_c,
	multiwire_detector_type_c, multiwire_num_wires_c,
	multiwire_get_position_c, multiwire_set_position_c,
	multiwire_get_power_status_c, multiwire_get_hv_status_c,
	multiwire_get_sequencer_status_c, multiwire_set_sequencer_status_c,
	multiwire_set_hv_status_c, multiwire_display_config_c,
	multiwire_display_dir_select_c

	C/C++ usage:

	char	multiwire_names[NUM_MULTIWIRES*MW_DEVICE_NAME_LEN];
	int	status;
	int	max_wires = MAX_WIRES;
	int	position[NUM_MULTIWIRES];
	int	wire_status[NUM_MULTIWIRES*MAX_WIRES];
	int	calculated_data_status[NUM_MULTIWIRES];
	(if MAX_WIRES is 96, calculated_data_status's size should be 
	 NUM_MULTIWIRES*2)
	int	data_type = MW_SCALED_DATA;
	int	num_multiwires = NUM_MULTIWIRES;
	int	ftd = FTD_ONESHOT;
	int	listid;
	unsigned int mean_option = MW_OPT_NONE;
	float	wire_data[NUM_MULTIWIRES*MAX_WIRES];
	MW_EXT_CALCULATIONS	calculated_data[NUM_MULTIWIRES];
	(if MAX_WIRES is 96, calculated_data's size should be NUM_MULTIWIRES*2)

	status = multiwire_get_list_c(multiwire_names,max_wires,
				      position,wire_data,wire_status,
				      calculated_data,calculated_data_status,
				      data_type,num_multiwires,ftd,
				      &listid,mean_option);