dio_dbquery_c

	status.i4.v = dio_dbquery_c(query_type.i4.v, request_data.g.v,
				    max_return.i4.v, reply_data.g.v
				    [,options.u4.v])

	This routine performs special, type coded queries on the
	device database.  If a database timeout error is returned,
	you can try increasing the database timeout parameter by
	calling dio_tuner(_c).

	query_type	type of query to be performed
			(DIO_DBQ_GENERIC_SEARCH_TO_DIPI -> find all devices
							   having a given set
							   of parameters,
			 DIO_DBQ_SLOT_TO_DI -> find all devices in a
					       given CAMAC crate slot,
			 DIO_DBQ_MADC_TO_DI -> find all devices attached to
					       a given MADC,
			 DIO_DBQ_CRATE_TO_DI -> find all devices in a given
						CAMAC crate,
			 DIO_DBQ_STR_TO_NAME -> find all devices whose names
						match a given search string,
			 DIO_DBQ_STR_TO_FULL_NAME -> find all devices whose
						     full names match a given
						     search string,
			 DIO_DBQ_DEV_TEXT_TO_NAME -> find all devices matching
						     a descriptive text string,
			 DIO_DBQ_TEXT_NODE_TO_DI -> find all devices matching
						    a given description string
						    on a node,
			 DIO_DBQ_DI_TO_NAME -> find device names matching a
					       list of device indices,
			 DIO_DBQ_NAME_TO_DI -> find device indices matching a
					       list of device names,
			 DIO_DBQ_AUDIT_INFO -> retrieve device audit
					       information for a given device,
			 DIO_DBQ_AUDIT_BY_TIME_INFO -> retrieve device audit
						       information for a given
						       period of time,
			 DIO_DBQ_SSDN_TO_DI -> find all devices matching an
					       SSDN substring,
			 DIO_DBQ_EMC_TO_DI -> find all devices matching an
					      EMC substring,
			 DIO_DBQ_DEVICE_INDEX_COUNT -> find the number of
						       active device indices
						       and the maximum index,
			 DIO_DBQ_DEVICE_RANGE -> finds all devices in a
						 certain range,
			 DIO_DBQ_TRANSFORM_TO_DIPI -> finds all device
						      properties having a
						      certain scaling transform,
			 DIO_DBQ_SAVELIST_TO_DI -> finds all devices having
						   a given save list ID,
			 DIO_DBQ_SAVECODE_TO_DI -> finds all devices having
						   a given set of save/restore
						   handler codes,
			 DIO_DBQ_NODE_TO_DI -> find all devices from a
					       given node,
			 DIO_DBQ_TRUNK_TO_DIPI -> find all device/properties
						  from a given ACNET trunk,
			 DIO_DBQ_NODE_PIS_TO_DIPI -> find all devices from a
						     given node having at least
						     one property from a list
						     of properties,
			 DIO_DBQ_DRIVER_TO_DI -> find all devices using a given
						 CAMAC driver,
			 DIO_DBQ_DRIVER_NODE_TO_DI -> find all devices in a
						      node using a given CAMAC
						      driver,
			 DIO_DBQ_VM_TO_DI -> find all devices associated with
					     a given virtual machine,
			 DIO_DBQ_UNITS_TO_DI -> find all devices with a given
						units text string,
			 DIO_DBQ_PRIMARY_UNITS_TO_DI -> find all devices with a
							given primary units
							text string,
			 DIO_DBQ_ALL_FE_NODES -> find all front end nodes
						 which have devices attached
						 to them,
			 DIO_DBQ_CLASS_NODE_TO_DIPI -> find all devices having
						       a given device class,
			 DIO_DBQ_TYPE_NODE_TO_DIPI -> find all devices having
						      a given device type,
			 DIO_DBQ_TYPE_NAME_TO_DIPI -> find all devices having
						      a given device type with
						      a matching name string,
			 DIO_DBQ_TYPE_TEXT_TO_DIPI -> find all devices having
						      a given device type and
						      description string,
			 DIO_DBQ_CAMAC_MODULE_INFO -> find the locations of
						      all CAMAC modules of
						      a given type for a
						      given node,
			 DIO_DBQ_PRIORITY_TO_DIPI -> find all devices having
						     a given alarm priority,
			 DIO_DBQ_GAS_MODULE_TO_DI -> find all devices belonging
						     to a given GAS module)
			 DIO_DBQ_ALARM_LIST_TO_DI -> find all devices belonging
						     to a particular alarm list,
			 DIO_DBQ_ACTUAL_ALARM_LIST_TO_DI -> find all devices
							    belonging
							    to a particular
							    alarm list,
			 DIO_DBQ_ALARM_GROUP_TO_DI -> find all devices
						      belonging to a
						      particular alarm group,
			 DIO_DBQ_ALARM_CONSOLIDATOR_TO_DI -> find all devices
							     which are alarm
							     consolidators,
			 DIO_DBQ_ALARM_HANDLER_TO_DIPI -> find all devices
							  having a particular
							  alarm handler,
			 DIO_DBQ_BYPASSED_ALARM_TO_DIPI -> find all alarm blocks
							   that are bypassed,
			 DIO_DBQ_ALARM_SUPPRESSED_TO_DIPI -> find all devices
							     whose alarm display
							     is suppressed,
			 DIO_DBQ_ALARM_NEVER_USED_TO_DIPI -> find all devices
							     whose alarms have
							     never been used,
			 DIO_DBQ_CURRENTLY_ALARMING_TO_DIPI -> find all devices
							       which are
							       currently in
							       alarm,
			 DIO_DBQ_ABORT_ALARM_TO_DIPI -> find all devices which
							can generate an abort
							according to the
							database,
			 DIO_DBQ_ANALOG_ALARM_TEXT_TO_DI -> find all devices
							    matching an analog
							    alarm text string,
			 DIO_DBQ_DIGITAL_ALARM_TEXT_TO_DI -> find all devices
							     matching a digital
							     alarm text string,
			 DIO_DBQ_DI_TO_FAMILY -> find all families that a
						 particular device belongs to,
			 DIO_DBQ_DI_TO_COMPOSITE -> find all composite devices
						    that a particular device
						    belongs to,
			 DIO_DBQ_ALL_DEVICES -> find all active ACNET devices,
			 DIO_DBQ_ALL_DIPIS -> find all active ACNET devices
					      having at least one property
					      from a list of properties,
			 DIO_DBQ_WILDCARD_NODE_TO_DI -> find all devices from
							nodes matching a name
							string,
			 DIO_DBQ_WILDCARD_NODE_PIS_TO_DIPI -> find all devices
							      from nodes
							      matching a name
							      string having at
							      least one property
							      from a list of
							      properties,
			 DIO_DBQ_CONTROLLING_DEVICE_TO_DI -> find all devices
							     controlled by a
							     particular device,
			 DIO_DBQ_EXPR_STR_TO_DI -> find all devices containing
						   a particular string in their
						   reading expression,
			 DIO_DBQ_EXPR_DI_TO_DI -> find all devices containing
						  a particular device in their
						  reading expression,
			 DIO_DBQ_CONSOLE_CLASS_TO_DI -> find all devices which
							can be set by a console
							class(es),
			 DIO_DBQ_USER_AUDIT_TO_DI -> find all devices which
						     have been modified by a
						     given user,
			 DIO_DBQ_FOREIGN_DEVICE_TO_DIPI -> find all devices
							   which are mapped
							   to a given foreign
							   device,
			 DIO_DBQ_STRUCT_NAME_TO_DIPI -> find all devices which
							are described by a
							given data structure,
			 DIO_DBQ_DEPARTMENT_TO_DI -> find all devices matching
						     a given responsible
						     department name string,
			 DIO_DBQ_MAINTAINER_TO_DI -> find all devices matching a
						     given equipment maintainer
						     user name string,
			 DIO_DBQ_MACHINE_TO_DI -> find all devices matching
						  a given machine,
			 DIO_DBQ_AREA_TO_DI -> find all devices matching
					       associated with a given area,
			 DIO_DBQ_ADDRESSING_MODE_TO_DIPI -> find all devices
							    which have a given
							    addressing mode,
			 DIO_DBQ_LOGGER_DEVICE_TO_DIPI -> find all data logged
							  devices which match a
							  device name)
	request_data	structure of request information which depends
			on the type of query
			(DIO_DBQ_GENERIC_SEARCH_TO_DIPI -> structure of type
							   DIO_GENERIC_SEARCH_TO_DIPI_REQ,
			 DIO_DBQ_SLOT_TO_DI -> structure of type
					       DIO_SLOT_TO_DI_REQ,
			 DIO_DBQ_MADC_TO_DI -> structure of type
					       DIO_MADC_TO_DI_REQ,
			 DIO_DBQ_CRATE_TO_DI -> structure of type
						DIO_CRATE_TO_DI_REQ,
			 DIO_DBQ_STR_TO_NAME -> structure of type
						DIO_STR_TO_NAME_REQ,
			 DIO_DBQ_STR_TO_FULL_NAME -> structure of type
						     DIO_STR_TO_FULL_NAME_REQ,
			 DIO_DBQ_DEV_TEXT_TO_NAME -> structure of type
						     DIO_DEV_TEXT_TO_NAME_REQ,
			 DIO_DBQ_FULL_TEXT_TO_NAME -> structure of type
						      DIO_FULL_TEXT_TO_NAME_REQ,
			 DIO_DBQ_TEXT_NODE_TO_DI -> structure of type
						    DIO_TEXT_NODE_TO_DI_REQ,
			 DIO_DBQ_DI_TO_NAME -> structure of type
					       DIO_DI_TO_NAME_REQ,
			 DIO_DBQ_NAME_TO_DI -> structure of type
					       DIO_NAME_TO_DI_REQ,
			 DIO_DBQ_AUDIT_INFO -> structure of type
					       DIO_AUDIT_INFO_REQ,
			 DIO_DBQ_AUDIT_BY_TIME_INFO -> structure of type
						       DIO_AUDIT_BY_TIME_INFO_REQ,
			 DIO_DBQ_SSDN_TO_DI -> structure of type
					       DIO_SSDN_TO_DI_REQ,
			 DIO_DBQ_EMC_TO_DI -> structure of type
					      DIO_EMC_TO_DI_REQ,
			 DIO_DBQ_DEVICE_INDEX_COUNT -> structure of type
						     DIO_DEVICE_INDEX_COUNT_REQ)
			 DIO_DBQ_DEVICE_RANGE -> structure of type
						 DIO_DEVICE_RANGE_REQ)
			 DIO_DBQ_TRANSFORM_TO_DIPI -> structure of type
						      DIO_TRANSFORM_TO_DIPI_REQ,
			 DIO_DBQ_SAVELIST_TO_DI -> structure of type
						   DIO_SAVELIST_TO_DI_REQ,
			 DIO_DBQ_SAVECODE_TO_DI -> structure of type
						   DIO_SAVECODE_TO_DI_REQ,
			 DIO_DBQ_NODE_TO_DI -> structure of type
					       DIO_NODE_TO_DI_REQ,
			 DIO_DBQ_NODE_PIS_TO_DIPI -> structure of type
						     DIO_NODE_PIS_TO_DIPI_REQ,
			 DIO_DBQ_TRUNK_TO_DIPI -> structure of type
						  DIO_TRUNK_TO_DIPI_REQ,
			 DIO_DBQ_DRIVER_TO_DI -> structure of type
						 DIO_DRIVER_TO_DI_REQ,
			 DIO_DBQ_DRIVER_NODE_TO_DI -> structure of type
						      DIO_DRIVER_NODE_TO_DI_REQ,
			 DIO_DBQ_VM_TO_DI -> structure of type DIO_VM_TO_DI_REQ,
			 DIO_DBQ_UNITS_TO_DI -> structure of type
						DIO_UNITS_TO_DI_REQ,
			 DIO_DBQ_PRIMARY_UNITS_TO_DI -> structure of type
							DIO_UNITS_TO_DI_REQ,
			 DIO_DBQ_ALL_FE_NODES -> structure of type
						 DIO_ALL_FE_NODES_REQ,
			 DIO_DBQ_CLASS_NODE_TO_DIPI -> structure of type
						       DIO_CLASS_NODE_TO_DIPI_REQ,
			 DIO_DBQ_TYPE_NODE_TO_DIPI -> structure of type
						      DIO_TYPE_NODE_TO_DIPI_REQ,
			 DIO_DBQ_TYPE_NAME_TO_DIPI -> structure of type
						      DIO_TYPE_NAME_TO_DIPI_REQ,
			 DIO_DBQ_TYPE_TEXT_TO_DIPI -> structure of type
						      DIO_TYPE_TEXT_TO_DIPI_REQ,
			 DIO_DBQ_CAMAC_MODULE_INFO -> structure of type
						      DIO_CAMAC_MODULE_INFO_REQ,
			 DIO_DBQ_PRIORITY_TO_DIPI -> structure of type
						     DIO_PRIORITY_TO_DIPI_REQ,
			 DIO_DBQ_GAS_MODULE_TO_DI -> structure of type
						     DIO_GAS_MODULE_TO_DI_REQ,
			 DIO_DBQ_ALARM_LIST_TO_DI -> structure of type
						     DIO_ALARM_LIST_TO_DI_REQ,
			 DIO_DBQ_ACTUAL_ALARM_LIST_TO_DI -> structure of type
							    DIO_ACTUAL_ALARM_LIST_TO_DI_REQ,
			 DIO_DBQ_ALARM_GROUP_TO_DI -> structure of type
						      DIO_ALARM_GROUP_TO_DI_REQ,
			 DIO_DBQ_ALARM_CONSOLIDATOR_TO_DI -> structure of type
							     DIO_ALARM_CONSOLIDATOR_TO_DI_REQ,
			 DIO_DBQ_ALARM_HANDLER_TO_DI -> structure of type
							DIO_ALARM_HANDLER_TO_DI_REQ,
			 DIO_DBQ_BYPASSED_ALARM_TO_DIPI -> structure of type
							   DIO_BYPASSED_ALARM_TO_DIPI_REQ,
			 DIO_DBQ_ALARM_SUPPRESSED_TO_DIPI -> structure of type
							     DIO_ALARM_SUPPRESSED_TO_DIPI_REQ,
			 DIO_DBQ_ALARM_NEVER_USED_TO_DIPI -> structure of type
							     DIO_ALARM_NEVER_USED_TO_DIPI_REQ,
			 DIO_DBQ_CURRENTLY_ALARMING_TO_DIPI -> structure of type
							       DIO_CURRENTLY_ALARMING_TO_DIPI_REQ,
			 DIO_DBQ_ABORT_ALARM_TO_DIPI -> structure of type
							DIO_ABORT_ALARM_TO_DIPI_REQ,
			 DIO_DBQ_ANALOG_ALARM_TEXT_TO_DI -> structure of type
							    DIO_ANALOG_ALARM_TEXT_TO_DI_REQ,
			 DIO_DBQ_DIGITAL_ALARM_TEXT_TO_DI -> structure of type
							     DIO_DIGITAL_ALARM_TEXT_TO_DI_REQ,
			 DIO_DBQ_DI_TO_FAMILY -> structure of type
						 DIO_DI_TO_FAMILY_REQ,
			 DIO_DBQ_DI_TO_COMPOSITE -> structure of type
						    DIO_DI_TO_COMPOSITE_REQ,
			 DIO_DBQ_ALL_DEVICES -> structure of type
						DIO_ALL_DEVICES_REQ,
			 DIO_DBQ_ALL_DIPIS -> structure of type
					      DIO_ALL_DIPIS_REQ,
			 DIO_DBQ_WILDCARD_NODE_TO_DI -> structure of type
							DIO_WILDCARD_NODE_TO_DI_REQ,
			 DIO_DBQ_WILDCARD_NODE_PIS_TO_DIPI -> structure of type
							      DIO_WILDCARD_NODE_PIS_TO_DIPI_REQ,
			 DIO_DBQ_CONTROLLING_DEVICE_TO_DI -> structure of type
							     DIO_CONTROLLING_DEVICE_TO_DI_REQ,
			 DIO_DBQ_EXPR_STR_TO_DI -> structure of type
						   DIO_EXPR_STR_TO_DI_REQ,
			 DIO_DBQ_EXPR_DI_TO_DI -> structure of type
						  DIO_EXPR_DI_TO_DI_REQ,
			 DIO_DBQ_CONSOLE_CLASS_TO_DI -> structure of type
							DIO_CONSOLE_CLASS_TO_DI_REQ,
			 DIO_DBQ_USER_AUDIT_TO_DI -> structure of type
						     DIO_USER_AUDIT_TO_DI_REQ,
			 DIO_DBQ_FOREIGN_DEVICE_TO_DIPI -> structure of type
							   DIO_FOREIGN_DEVICE_TO_DIPI_REQ,
			 DIO_DBQ_STRUCT_NAME_TO_DIPI -> structure of type
							DIO_STRUCT_NAME_TO_DIPI_REQ,
			 DIO_DBQ_DEPARTMENT_TO_DI -> structure of type
						     DIO_DEPARTMENT_TO_DI_REQ,
			 DIO_DBQ_MAINTAINER_TO_DI -> structure of type
						     DIO_MAINTAINER_TO_DI_REQ,
			 DIO_DBQ_MACHINE_TO_DI -> structure of type
						  DIO_MACHINE_TO_DI_REQ,
			 DIO_DBQ_AREA_TO_DI -> structure of type
					       DIO_AREA_TO_DI_REQ,
			 DIO_DBQ_ADDRESSING_MODE_TO_DIPI -> structure of type
							    DIO_ADDRESSING_MODE_TO_DIPI_REQ,
			 DIO_DBQ_LOGGER_DEVICE_TO_DIPI -> structure of type
							  DIO_LOGGER_DEVICE_TO_DIPI_REQ)
			(definitions are in cns_data_structs)
	max_return	maximum number of values to return  (If a value of
			zero is passed for this argument, no data is returned
			in "reply_data".  Only the number of items in the
			database matching the request is returned.)
	reply_data	structure of reply data or array of structures which
			depend on the type of query
			(DIO_DBQ_GENERIC_SEARCH_TO_DIPI -> structure of type
							   DIO_GENERIC_SEARCH_TO_DIPI_REPLY,
			 DIO_DBQ_SLOT_TO_DI -> structure of type
					       DIO_SLOT_TO_DI_REPLY,
			 DIO_DBQ_MADC_TO_DI -> structure of type
					       DIO_MADC_TO_DI_REPLY,
			 DIO_DBQ_CRATE_TO_DI -> structure of type
						DIO_CRATE_TO_DI_REPLY,
			 DIO_DBQ_STR_TO_NAME -> structure of type
						DIO_STR_TO_NAME_REPLY,
			 DIO_DBQ_STR_TO_FULL_NAME -> structure of type
						     DIO_STR_TO_FULL_NAME_REPLY,
			 DIO_DBQ_DEV_TEXT_TO_NAME -> structure of type
						     DIO_DEV_TEXT_TO_NAME_REPLY,
			 DIO_DBQ_FULL_TEXT_TO_NAME -> structure of type
						      DIO_FULL_TEXT_TO_NAME_REPLY,
			 DIO_DBQ_TEXT_NODE_TO_DI -> structure of type
						    DIO_TEXT_NODE_TO_DI_REPLY,
			 DIO_DBQ_DI_TO_NAME -> structure of type
					       DIO_DI_TO_NAME_REPLY,
			 DIO_DBQ_NAME_TO_DI -> structure of type
					       DIO_NAME_TO_DI_REPLY,
			 DIO_DBQ_AUDIT_INFO -> structure of type
					       DIO_AUDIT_INFO_REPLY,
			 DIO_DBQ_AUDIT_BY_TIME_INFO -> structure of type
						       DIO_AUDIT_BY_TIME_INFO_REPLY,
			 DIO_DBQ_SSDN_TO_DI -> structure of type
					       DIO_SSDN_TO_DI_REPLY,
			 DIO_DBQ_EMC_TO_DI -> structure of type
					      DIO_EMC_TO_DI_REPLY,
			 DIO_DBQ_DEVICE_INDEX_COUNT -> structure of type
						   DIO_DEVICE_INDEX_COUNT_REPLY,
			 DIO_DBQ_DEVICE_RANGE -> structure of type
						 DIO_DEVICE_RANGE_REPLY)
			 DIO_DBQ_TRANSFORM_TO_DIPI -> structure of type
						      DIO_TRANSFORM_TO_DIPI_REPLY,
			 DIO_DBQ_SAVELIST_TO_DI -> structure of type
						   DIO_SAVELIST_TO_DI_REPLY,
			 DIO_DBQ_SAVECODE_TO_DI -> structure of type
						   DIO_SAVECODE_TO_DI_REPLY,
			 DIO_DBQ_NODE_TO_DI -> structure of type
					       DIO_NODE_TO_DI_REPLY,
			 DIO_DBQ_NODE_PIS_TO_DIPI -> structure of type
						     DIO_NODE_PIS_TO_DIPI_REPLY,
			 DIO_DBQ_TRUNK_TO_DIPI -> structure of type
						  DIO_TRUNK_TO_DIPI_REPLY,
			 DIO_DBQ_DRIVER_TO_DI -> structure of type
						 DIO_DRIVER_TO_DI_REPLY,
			 DIO_DBQ_DRIVER_NODE_TO_DI -> structure of type
						      DIO_DRIVER_NODE_TO_DI_REPLY,
			 DIO_DBQ_VM_TO_DI -> structure of type
					     DIO_VM_TO_DI_REPLY,
			 DIO_DBQ_UNITS_TO_DI -> structure of type
						DIO_UNITS_TO_DI_REPLY,
			 DIO_DBQ_PRIMARY_UNITS_TO_DI -> structure of type
							DIO_UNITS_TO_DI_REPLY,
			 DIO_DBQ_ALL_FE_NODES -> structure of type
						 DIO_ALL_FE_NODES_REPLY,
			 DIO_DBQ_CLASS_NODE_TO_DIPI -> structure of type
						       DIO_CLASS_NODE_TO_DIPI_REPLY,
			 DIO_DBQ_TYPE_NODE_TO_DIPI -> structure of type
						      DIO_TYPE_NODE_TO_DIPI_REPLY,
			 DIO_DBQ_TYPE_NAME_TO_DIPI -> structure of type
						      DIO_TYPE_NAME_TO_DIPI_REPLY,
			 DIO_DBQ_TYPE_TEXT_TO_DIPI -> structure of type
						      DIO_TYPE_TEXT_TO_DIPI_REPLY,
			 DIO_DBQ_CAMAC_MODULE_INFO -> structure of type
						      DIO_CAMAC_MODULE_INFO_REPLY)
			 DIO_DBQ_PRIORITY_TO_DIPI -> structure of type
						     DIO_PRIORITY_TO_DIPI_REPLY,
			 DIO_DBQ_GAS_MODULE_TO_DI -> structure of type
						     DIO_GAS_MODULE_TO_DI_REPLY,
			 DIO_DBQ_ALARM_LIST_TO_DI -> structure of type
						     DIO_ALARM_LIST_TO_DI_REPLY,
			 DIO_DBQ_ACTUAL_ALARM_LIST_TO_DI -> structure of type
							    DIO_ACTUAL_ALARM_LIST_TO_DI_REPLY,
			 DIO_DBQ_ALARM_GROUP_TO_DI -> structure of type
						      DIO_ALARM_GROUP_TO_DI_REPLY,
			 DIO_DBQ_ALARM_CONSOLIDATOR_TO_DI -> structure of type
							     DIO_ALARM_CONSOLIDATOR_TO_DI_REPLY,
			 DIO_DBQ_ALARM_HANDLER_TO_DIPI -> structure of type
							  DIO_ALARM_HANDLER_TO_DIPI_REPLY,
			 DIO_DBQ_BYPASSED_ALARM_TO_DIPI -> structure of type
							   DIO_BYPASSED_ALARM_TO_DIPI_REPLY,
			 DIO_DBQ_ALARM_SUPPRESSED_TO_DIPI -> structure of type
							     DIO_ALARM_SUPPRESSED_TO_DIPI_REPLY,
			 DIO_DBQ_ALARM_NEVER_USED_TO_DIPI -> structure of type
							     DIO_ALARM_NEVER_USED_TO_DIPI_REPLY,
			 DIO_DBQ_CURRENTLY_ALARMING_TO_DIPI -> structure of type
							       DIO_CURRENTLY_ALARMING_TO_DIPI_REPLY,
			 DIO_DBQ_ABORT_ALARM_TO_DIPI -> structure of type
							DIO_ABORT_ALARM_TO_DIPI_REPLY,
			 DIO_DBQ_ANALOG_ALARM_TEXT_TO_DI -> structure of type
							    DIO_ANALOG_ALARM_TEXT_TO_DI_REPLY,
			 DIO_DBQ_DIGITAL_ALARM_TEXT_TO_DI -> structure of type
							     DIO_DIGITAL_ALARM_TEXT_TO_DI_REPLY,
			 DIO_DBQ_DI_TO_FAMILY -> structure of type
						 DIO_DI_TO_FAMILY_REPLY,
			 DIO_DBQ_DI_TO_COMPOSITE -> structure of type
						    DIO_DI_TO_COMPOSITE_REPLY,
			 DIO_DBQ_ALL_DEVICES -> structure of type
						DIO_ALL_DEVICES_REPLY,
			 DIO_DBQ_ALL_DIPIS -> structure of type
					      DIO_ALL_DIPIS_REPLY,
			 DIO_DBQ_WILDCARD_NODE_TO_DI -> structure of type
							DIO_WILDCARD_NODE_TO_DI_REPLY,
			 DIO_DBQ_WILDCARD_NODE_PIS_TO_DIPI -> structure of type
							      DIO_WILDCARD_NODE_PIS_TO_DIPI_REPLY,
			 DIO_DBQ_CONTROLLING_DEVICE_TO_DI -> structure of type
							     DIO_CONTROLLING_DEVICE_TO_DI_REPLY,
			 DIO_DBQ_EXPR_STR_TO_DI -> structure of type
						   DIO_EXPR_STR_TO_DI_REPLY,
			 DIO_DBQ_EXPR_DI_TO_DI -> structure of type
						  DIO_EXPR_DI_TO_DI_REPLY,
			 DIO_DBQ_CONSOLE_CLASS_TO_DI -> structure of type
							DIO_CONSOLE_CLASS_TO_DI_REPLY,
			 DIO_DBQ_USER_AUDIT_TO_DI -> structure of type
						     DIO_USER_AUDIT_TO_DI_REPLY,
			 DIO_DBQ_FOREIGN_DEVICE_TO_DIPI -> structure of type
							   DIO_FOREIGN_DEVICE_TO_DIPI_REPLY,
			 DIO_DBQ_STRUCT_NAME_TO_DIPI -> structure of type
							DIO_STRUCT_NAME_TO_DIPI_REPLY,
			 DIO_DBQ_DEPARTMENT_TO_DI -> structure of type
						     DIO_DEPARTMENT_TO_DI_REPLY,
			 DIO_DBQ_MAINTAINER_TO_DI -> structure of type
						     DIO_MAINTAINER_TO_DI_REPLY,
			 DIO_DBQ_MACHINE_TO_DI -> structure of type
						  DIO_MACHINE_TO_DI_REPLY,
			 DIO_DBQ_AREA_TO_DI -> structure of type
					       DIO_AREA_TO_DI_REPLY,
			 DIO_DBQ_ADDRESSING_MODE_TO_DIPI -> structure of type
							    DIO_ADDRESSING_MODE_TO_DIPI_REPLY,
			 DIO_DBQ_LOGGER_DEVICE_TO_DIPI -> structure of type
							  DIO_LOGGER_DEVICE_TO_DIPI_REPLY)
			(definitions are in 'cns_data_structs')
	[options]	query options
			(DIO_OPT_NONE -> no options selected (default),
			 DIO_OPT_ALLOW_OBSOLETE -> allow obsolete devices)

	This function returns status values as follows:

	DIO_BADARG		invalid query type
	DIO_GENERR		no data or invalid query requested
	DIO_MEMFAIL		memory allocation failure
	SQL_TMOE		database timeout (change database
				timeout by calling dio_tuner(_c))
	otherwise		number of returned (or possible) values

	This function requires the following include files:

	cns_data_structs_h, diolib_h, acnet_errors_h

	Related functions:

	dio_dbquery_alloc_c, dio_tuner(_c), dio_find_name_c, dio_dev_text(_c),
	dio_device_location_c, dio_dev_ssdn(_c)

	C/C++ usage:

	int	status;
	int	max_return;
	unsigned int	options = DIO_OPT_NONE;
	DIO_STR_TO_NAME_REQ	request_data;
	DIO_STR_TO_NAME_REPLY	*reply_data;

	strcpy(request_data.string,"M:OUT%");
	request_data.num_characters = strlen(request_data.string);

	status = dio_dbquery_c(DIO_DBQ_STR_TO_NAME,&request_data,
			       0,(void *) NULL,options);
	if (status > 0)
	    {
	    max_return = status;
	    reply_data = (DIO_STR_TO_NAME_REPLY *)
			 malloc(max_return*(sizeof(DIO_STR_TO_NAME_REPLY)));
	    status = dio_dbquery_c(DIO_DBQ_STR_TO_NAME,&request_data,
				   max_return,(void *) reply_data,options);
	    }