bpm_get_diagnostic_spec_c

	status.i4.v = bpm_get_diagnostic_spec_c(start_house.i4.v,
						num_houses.i4.v,
						diagnostic_specs.sa.r,
						num_ret_houses.i4.r)

	This routine reads BPM diagnostic mode data for the machine last
	requested by a call to bpm_machine_c.

	start_house	starting house index (starts at 0)
	num_houses	number of houses to set (use 0 for all houses)
	diagnostic_spec	returned diagnostic mode data
			(BPM_RECYCLER_BLT -> structure of type
					     BPM_RECYCLER_BLT_DIAGNOSTIC_SPEC,
			 BPM_R20_LINE -> structure of type
					 BPM_RECYCLER_diagnostic_SPEC,
			 BPM_R30_LINE -> structure of type
					 BPM_RECYCLER_DIAGNOSTIC_SPEC,
			 BPM_8_GEV_LINE -> structure of type
					   BPM_EIGHT_GEV_DIAGNOSTIC_SPEC,
			 BPM_MI_ABORT_LINE -> structure of type
					      BPM_BEAMLINE_DIAGNOSTIC_SPEC,
			 BPM_MI_BLT -> structure of type
				       BPM_MI_BLT_DIAGNOSTIC_SPEC,
			 BPM_P1_LINE -> structure of type
					BPM_BEAMLINE_DIAGNOSTIC_SPEC,
			 BPM_P2_LINE -> structure of type
					BPM_BEAMLINE_DIAGNOSTIC_SPEC,
			 BPM_A1_LINE -> structure of type
					BPM_BEAMLINE_DIAGNOSTIC_SPEC,
			 BPM_AP1_LINE -> structure of type
					 BPM_BEAMLINE_DIAGNOSTIC_SPEC,
			 BPM_AP3_LINE -> structure of type
					 BPM_BEAMLINE_DIAGNOSTIC_SPEC,
			 BPM_NUMI -> structure of type
				     BPM_NUMI_DIAGNOSTIC_SPEC,
			 BPM_M1_LINE -> structure of type
					BPM_BEAMLINE_DIAGNOSTIC_SPEC,
			 BPM_M3_LINE -> structure of type
					BPM_BEAMLINE_DIAGNOSTIC_SPEC)
	num_ret_houses	 returned number of houses read

	This function returns ACNET status values as follows:

	OK			success
	CBS_NOTYET		current machine is not supported
	CBS_INVARG		invalid starting house or number of
				houses requested
	CBS_NO_SUCH		no houses available in the requested range
	otherwise		error reading diagnostic specification

	This function requires the following include files:

	ul_cbsaux/bpmuti.h, acnet_errors_h

	Related functions:

	bpm_machine_c, bpm_get_calibration_spec_c, bpm_request_data_c,
	bpm_check_for_data_c, bpm_wait_for_data_c, bpm_get_data_c,
	bpm_get_names, bpm_query, bpm_name_to_index_c, bpm_data_source_c,
	bpm_beam_cycle_info, blm_get_data_c, bpm_get_intensity_c,
	bpm_plot_data, bpm_save_data, bpm_set_save_file,
	bpm_get_detector_status, bpm_get_crates_and_channels

	C/C++ usage:

	int	status;
	int	start_house = 0;
	int	num_houses = 0;
	int	num_ret_houses;
	BPM_RECYCLER_DIAGNOSTIC_SPEC	diagnostic_specs[7];

	status = bpm_get_diagnostic_spec_c(start_house,num_houses,
					   (void *) diagnostic_specs,
					   &num_ret_houses);