dio_ssdn_to_device_type_c

	status.i4.v = dio_ssdn_to_device_type_c(ssdns.i1a.r, nodes.i4a.r,
						properties.i2a.r,
						device_classes.i4a.r,
						device_types.i4a.r,
						errors.i2a.r, num_devices.i4.v)

	This routine returns the device type and class for SSDN/node
	combinations.  If a particular returned parameter is not desired,
	a value of NULL can be passed for that argument.

	ssdns		SubSystem Device Number (SSDN) or array of SSDNs
	nodes		ACNET node or array of ACNET nodes
			(constants are in 'nodedefs')
	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')
	device_classes	returned device class or array of classes
			(DIO_CAMAC_DEVICE -> CAMAC device,
			 DIO_GAS_DEVICE -> GAS device,
			 DIO_GAS_GLOBAL_DEVICE -> multihouse GAS device,
			 DIO_VIRTUAL_DEVICE -> virtual (software) device,
			 DIO_FE_CALCULATED_DEVICE -> front end calculated
						     device,
			 DIO_FRIG_DEVICE -> cryogenic device (not GAS),
			 DIO_FRIG_GLOBAL_DEVICE -> multihouse cryogenic
						   device (not GAS),
			 DIO_LINAC_DEVICE -> Linac device,
			 DIO_INSTRUMENTATION_DEVICE -> generic instrumentation
						       device,
			 DIO_RF_MAC_DEVICE -> Lockheed MAC RF device,
			 DIO_BPM_DEVICE -> BPM device (not GAS),
			 DIO_BLM_DEVICE -> BLM device (not GAS),
			 DIO_QPM_DEVICE -> QPM device (not GAS),
			 DIO_RAW_CAMAC_DEVICE -> raw CAMAC command device,
			 DIO_D0_DEVICE -> D0 experiment device,
			 DIO_MRPS_DEVICE -> Main Ring power supply control
					    device,
			 DIO_MECAR_DEVICE -> MECAR Main Injector power supply
					     control device,
			 DIO_TECAR_DEVICE -> TECAR Tevatron power supply
					     control device,
			 DIO_CNSLIDTR_DEVICE -> consolidator device,
			 DIO_MOOC_DEVICE -> MOOC device,
			 DIO_E811_DEVICE -> E811 device,
			 DIO_GPIB_DEVICE -> VME interfaced GPIB device,
			 DIO_QXR_DEVICE -> QXR device,
			 DIO_LLRF_DEVICE -> Low Level RF device,
			 DIO_HLRF_DEVICE -> High Level RF device,
			 DIO_CHL_DEVICE -> Central Helium Liquifier device,
			 DIO_GFSDA_DEVICE -> General Finite State Data
					     Acquisition device,
			 DIO_IRM_DEVICE -> Internet Rack Monitor device,
			 DIO_OOC_DEVICE -> OOC device,
			 DIO_ACCUM_RF_DEVICE -> Accumulator RF device,
			 DIO_SWIC_DEVICE -> SWIC device,
			 DIO_VACUUM_DEVICE -> VME interfaced vacuum device,
			 DIO_BULB_DEVICE -> Basic Micro Learning Box,
			 DIO_STEP_MOTOR_DEVICE -> stepping motor device,
			 DIO_EPICURE_DEVICE -> Epicure (external beam line)
					       device,
			 DIO_TWT_DEVICE -> Travelling Wave Tube (TWT) device,
			 DIO_MDAT_DEVICE -> MDAT transmitter device,
			 DIO_MOOC_CAMAC_DEVICE -> MOOC-based CAMAC device,
			 DIO_FBI_DEVICE -> Fast Bunch Integrator device,
			 DIO_EMITTANCE_DEVICE -> emittance measurement device,
			 DIO_GMPS_DEVICE -> Booster GMPS device,
			 DIO_DAMPER_DEVICE -> beam damper device,
			 DIO_RF_TUNING_DEVICE -> RF tuning device,
			 DIO_TIMER_DEVICE -> timer device,
			 DIO_ACC_STATS_DEVICE -> accelerator statistics device,
			 DIO_SCHOTTKY_DEVICE -> Schottky monitor device,
			 DIO_BUNCH_LENGTH_DEVICE -> bunch length monitor device,
			 DIO_SMTF_DEVICE -> SMTF device,
			 DIO_HINS_DEVICE -> HINS device,
			 DIO_NML_DEVICE -> NML device,
			 DIO_HRM_DEVICE -> HRM device,
			 DIO_EBL_DEVICE -> external beam line device)
			(A value of NULL may be passed if no device types
			 are needed.)
	device_types	device type or array of types
			(At present, this is only valid for
			 GAS, CAMAC, frig, virtual, Linac, MOOC, MECAR, GPIB,
			 QXR, LLRF, E811, CHL, GFSDA, instrumentation, OOC,
			 Accumulator RF, SWIC, vacuum, BULB, stepping motor,
			 Epicure, TWT, MDAT, MOOC CAMAC, FBI, GMPS, damper,
			 RF tuning, accelerator statistics, Schottky,
			 bunch length, SMTF, HINS, NML, HRM, EBL, and
			 consolidator devices.) (default is NULL)
			(constants are in 'device_types' unless a literal
			 CAMAC module number is returned)
	errors		returned ACNET status value or array of status values
	num_devices	number of devices (>= 1)

	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
				success

	This function requires the following include files:

	dbprops_h, diolib_h, camac_devices_h, device_types_h, acnet_errors_h

	Related functions:

	dio_dev_type, dio_device_type_c, dio_dev_ssdn(_c),
	dio_device_location_c, error_in_list(_c)

	C/C++ usage:

	char	ssdns[NUM_DEVICES][LEN_SSDN];
	short	errors[NUM_DEVICES];
	short	properties = -PRREAD;
	int	status;
	static const int	nodes[NUM_DEVICES] = {BOOSTR, MUONFE};
	int	device_classes[NUM_DEVICES];
	int	device_types[NUM_DEVICES];
	int	num_devices = NUM_DEVICES;

	status = dio_ssdn_to_device_type_c(ssdns,nodes,&properties,
					   device_classes,device_types,
					   errors,num_devices);