status.i4.v = dio_ssdn_to_device_type_c(ssdns.i1a.r, nodes.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_GAS_DEVICE -> GAS device,
			 DIO_GAS_GLOBAL_DEVICE -> multihouse GAS device,
			 DIO_VIRTUAL_DEVICE -> virtual (software) device,
			 DIO_FE_CALCULATED_DEVICE -> front end calculated
			 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
			 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
			 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)
			 DIO_TWT_DEVICE -> Travelling Wave Tube (TWT) device,
			 DIO_MDAT_DEVICE -> MDAT transmitter 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

	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,