enum_type_menu_info_c

	status.i4.v = enum_type_menu_info_c(data_type.i4.v, num_values.i4.r,
					    data_length.i4.r, data_values.g.v,
					    entry_length.i4.r, menu_text.i1a.r,
					    menu_text_type.i4.v
					    [,data_type_info.g.v])

	This routine returns menu selection information for enumerated
	data types.  All return value arguments can be defaulted by
	passing a value of NULL.

	data_type	data type
			(CNV_ENUMERATED -> four byte integer from most recent
					   call to set_enumerated_strings_c,
			 >= CNV_ENUMERATED_BASE -> four byte integer from a
						   prior call to
						   set_enumerated_strings_c,
			 CNV_BIT_MASK -> four byte integer from most recent
					 call to set_bit_mask_strings_c,
			 >= CNV_BIT_MASK_BASE -> four byte integer from a
						 prior call to
						 set_bit_mask_strings_c,
			 CNV_NODE_MENU -> two byte integer containing an
					  ACNET node value,
			 CNV_NODE_OPERATIONAL -> two byte integer containing an
						 operationally significant
						 ACNET node value,
			 CNV_NODE_CONSOLE -> two byte integer containing an
					     ACNET console node value,
			 CNV_NODE_FRONTEND -> two byte integer containing a
					      CAMAC front end node value,
			 CNV_NODE_FRONTEND_ALL -> two byte integer containing
						  a front end node value,
			 CNV_NODE_MOOC -> two byte integer containing
					  a MOOC node value,
			 CNV_NODE_IRM -> two byte integer containing
					 an IRM node value,
			 CNV_NODE_DAE_FE -> two byte integer containing
					    a DAE front end node value,
			 CNV_NODE_LCS -> two byte integer containing
					 an LCS (Local Control System)
					 front end node value,
			 CNV_NODE_PSEUDO -> two byte integer containing
					    a pseudo node value,
			 CNV_NODE_CENTRALVAX -> two byte integer containing
						a central VAX node value,
			 CNV_NODE_GPIB -> two byte integer containing a
					  GPIB node value,
			 CNV_NODE_BPM -> two byte integer containing a
					 BPM node value,
			 CNV_NODE_FRIG -> two byte integer containing a
					  frig node value,
			 CNV_NODE_MOTION_CONTROL -> two byte integer
						    containing a motion
						    controller node value,
			 CNV_NODE_QPM -> two byte integer containing a
					 QPM node value,
			 CNV_NODE_SWIC -> two byte integer containing a
					  SWIC node value,
			 CNV_NODE_VACUUM -> two byte integer containing a
					    vacuum node value,
			 CNV_NODE_MADC -> two byte integer containing a
					  MADC node value,
			 CNV_NODE_MADC_SUPPORT -> two byte integer containing a
						  MADC support node value,
			*CNV_DEVICE_CLASS -> four byte integer containing a
					     device class value,
			*CNV_DEVICE_TYPE -> four byte integer containing a
					    device type value,
			*CNV_DBPROP -> two byte integer containing an
				       ACNET database property,
			*CNV_DBPROP_ENGLISH -> two byte integer containing an
					       ACNET database property (English),
			*CNV_READ_SET_DBPROP -> two byte integer containing an
						ACNET reading/setting
						database property,
			*CNV_READABLE_DBPROP -> two byte integer containing an
						ACNET readable
						database property,
			*CNV_SETTABLE_DBPROP -> two byte integer containing an
						ACNET settable
						database property,
			 CNV_COLOR -> four byte integer containing color value,
			 CNV_PACKED_TV_COLOR -> four byte integer containing
						a packed TV color value,
			 CNV_GRAPHIC_COLOR -> four byte integer containing
					      a graphic color value,
			 CNV_WINDOW -> four byte console window value,
			 CNV_TV_WINDOW -> four byte console TV window value,
			 CNV_GRAPHIC_WINDOW -> four byte console graphic
					       window value,
			 CNV_PA_GRAPHIC_WINDOW -> four byte PA graphic
						  window value,
			 CNV_ERROR -> ACNET_ERR structure containing ACNET
				      error code,
			*CNV_SR_SYSTEM -> four byte integer containing a
					  Save/Restore system value,
			 CNV_SR_FILE -> four byte integer containing a
					Save/Restore file number,
			 CNV_SAVE_LIST -> four byte integer containing a
					  Save/Restore list value,
			*CNV_SR_SAVE_CODE -> four byte integer containing a
					     Save/Restore save code value,
			*CNV_SR_DISPLAY_CODE -> four byte integer containing a
						Save/Restore display code value,
			*CNV_SR_DISPLAY_SUBCODE -> four byte integer containing
						   a Save/Restore display
						   subcode value,
			*CNV_CONSOLE_NUMBER -> four byte integer containing a
					       console number value,
			 CNV_CONSOLE_SLOT -> four byte integer containing a
					     console slot value,
			 CNV_CONSOLE_SLOT_WILD -> four byte integer containing a
						  wildcarded console slot value,
			 CNV_CONSOLE_PA_SLOT -> four byte integer containing a
						console PA slot value,
			 CNV_CONSOLE_SA_SLOT -> four byte integer containing a
						console SA slot value,
			 CNV_CONSOLE_CLASS -> four byte integer containing a
					      console class value,
			 CNV_SHARED_LOG_FILE -> LOG_NAMLEN character string
						containing a shared log file
						name,
			 CNV_LEX_DRAW_FILE -> CNV_LEX_DRAW_FILE_LEN character
					      string containing a Lex Draw
					      file name,
			*CNV_LEX_PROG_FILE -> CNV_LEX_PROG_FILE_LEN character
					      string containing a Lex Prog
					      file name,
			 CNV_LEX_OBJECT -> LEXT_OBJECT_NAMLEN character
					   string containing a Lex Object name,
			*CNV_LJ_NODE -> two byte integer containing a
					Lumberjack node value,
			*CNV_LJ_NODE_ID -> four byte integer containing a
					   Lumberjack node ID value,
			*CNV_MACHINE -> four byte integer containing an
					accelerator machine value)
			*CNV_CNV_TYPE -> four byte integer containing a
					 conversion type value,
			*CNV_INP_TYPE -> four byte integer containing an
					 input type value,
			*CNV_CLOCK_EVENT -> four byte integer containing a
					    clock event value,
			*CNV_CLOCK_EVENT_TYPE -> four byte integer containing a
						 clock event type value,
			*CNV_MULTICAST_CLOCK_EVENT_TYPE -> four byte integer
							   containing a
							   multicast clock
							   event type value,
			*CNV_HCLK_EVENT -> four byte integer containing a
					   HINS clock event value,
			*CNV_NCLK_EVENT -> four byte integer containing
					   an NML clock event value,
			*CNV_MIBS_EVENT -> four byte integer containing an
					   MIBS clock event value,
			*CNV_RRBS_EVENT -> four byte integer containing an
					   RRBS clock event value,
			 CNV_TVBS_EVENT -> four byte integer containing a
					   TVBS clock event value,
			*CNV_MDAT_FRAME -> four byte integer containing an
					   MDAT frame value,
			 CNV_NOTIFY_CATEGORY -> four byte integer containing
						a notify category value,
			 CNV_NOTIFY_PRIORITY -> four byte integer containing
						a notify priority value,
			 CNV_NOTIFY_DATA_TYPE -> four byte integer containing
						 a notify data type value,
			*CNV_PRIMARY_TRANSFORM -> four byte integer containing
						  a primary transform value,
			 CNV_PRIMARY_TRANSFORM_LONG -> four byte integer
						       containing a primary
						       transform value,
			*CNV_COMMON_TRANSFORM -> four byte integer containing
						 a common transform value,
			 CNV_COMMON_TRANSFORM_LONG -> four byte integer
						      containing a common
						      transform value,
			 CNV_STATE_DEVICE -> four byte integer containing a
					     state device index,
			 CNV_STATE_VALUE -> STATE_VALUE structure containing a
					    state value specification,
			*CNV_SDA_DIR -> four byte integer containing an
					SDA directory value (obsolete),
			 CNV_SDA_USAGE -> four byte integer containing an
					  SDA usage value,
			 CNV_SDA_FILE -> SDA_FILE_VALUE structure
					 containing an SDA file value
					 specification,
			 CNV_SDA_CASE -> four byte integer containing an
					 SDA case value (for Collider shot),
			 CNV_EXT_SDA_CASE -> SDA_CASE_VALUE structure
					     containing an SDA case value
					     specification,
			 CNV_EXT_SDA_SUBCASE -> SDA_CASE_VALUE structure
						containing an SDA subcase value
						specification,
			 CNV_FTP_CLASS -> four byte integer containing an
					  FTP class value,
			 CNV_SNP_CLASS -> four byte integer containing a
					  SNP class value,
			 CNV_COMPARATOR -> four byte integer containing a
					   comparator value,
			 CNV_DATA_SOURCE_TYPE -> four byte integer containing
						 a data source type,
			 CNV_DATA_SOURCE -> DATA_SOURCE_DATA structure
					    containing a data source
					    specification,
			 CNV_DATABASE_SOURCE_TYPE -> four byte integer containing
						     a database source type,
			 CNV_DEVICE_DATA_TYPE -> four byte integer containing a
						 device data type value,
			 CNV_ALARM_LIST -> four byte integer containing an
					   alarm list value,
			 CNV_ALARM_LIST_LONG -> four byte integer containing an
						alarm list value (long text),
			 CNV_ALARM_HANDLER_CODE -> four byte integer containing
						   an alarm handler code value,
			 CNV_ALARM_LIMIT_TYPE -> convert a 4 byte analog alarm
						 limit type value,
			 CNV_ALARM_LIMIT_TYPE_SHORT -> convert a 4 byte
						       analog alarm limit type
						       value (short string),
			 CNV_ALARM_LIMIT_DATA_TYPE -> convert a 4 byte
						      analog alarm limit data
						      type value,
			 CNV_ALARM_LIMIT_DATA_TYPE_SHORT -> convert a 4 byte
							    analog alarm limit
							    data type value
							    (short string),
			 CNV_ALARM_POST_METHOD -> convert a 4 byte alarm
						  post method value,
			 CNV_ALARM_POST_METHOD_SHORT -> convert a 4 byte
							alarm post method value
							(short string),
			 CNV_ALARM_HI_LOW_STATUS -> convert a 4 byte analog
						    alarm high/low status value,
			 CNV_ALARM_FTD -> convert a 4 byte alarm FTD value,
			 CNV_NODE_SYSTEM -> four byte integer containing a
					    node system type value,
			 CNV_NODE_HARDWARE -> four byte integer containing a
					      node hardware type value,
			 CNV_NODE_SOFTWARE -> four byte integer containing a
					      node software type value,
			 CNV_NODE_STATUS -> four byte integer containing a
					    node status type value,
			 CNV_NODE_AREA -> four byte integer containing a
					  node area type value,
			 CNV_NODE_OPSYS -> four byte integer containing a
					   node operating system type value,
			 CNV_STATE_FTD_INDEX -> four byte integer containing a
						state FTD index,
			 CNV_ERROR_CATEGORY -> four byte integer containing
					       an error category value)
			 CNV_LJ_USER_DIRECTORY -> convert a Lumberjack user
						  directory string,
			 CNV_LJ_USER_FILE -> convert a Lumberjack user file
					     name string,
			 CNV_DEVICE_VALUE -> convert an ACNET device value
					     contained in an ACNET_DEVICE_VALUE
					     structure,
			 CNV_SWITCH -> CNV_SWITCH_NAME_LEN character string
				       containing a network switch name,
			 CNV_CONTROL_SYSTEM_TYPE -> four byte integer containing
						    a control system type value,
			 CNV_FOREIGN_SYSTEM_TYPE -> four byte integer containing
						    a foreign control
						    system type value,
			 CNV_EPICS_DATA_TYPE -> four byte integer containing
						an EPICS data type value,
			 CNV_APACS_DATA_TYPE -> four byte integer containing
						an APACS data type value,
			 CNV_LABVIEW_DATA_TYPE -> four byte integer containing
						  a LabView data type value,
			 CNV_OPC_DATA_TYPE -> four byte integer containing
					      an OPC data type value,
			 CNV_SNMP_DATA_TYPE -> four byte integer containing
					       an SNMP data type value,
			 CNV_SIEMENS_S7_DATA_TYPE -> four byte integer
						     containing a Siemens S7
						     data type value,
			 CNV_HTTP_DATA_TYPE -> four byte integer containing
					       an HTTP data type value,
			 CNV_FOREIGN_DATA_TYPE -> FOREIGN_DATA_TYPE_INFO
						  structure containing
						  a foreign data type value,
			 CNV_SNAP_MANAGER_SYSTEM -> four byte integer
						    containing a snapshot
						    manager system value,
			 CNV_DBNEWS_OPERATION -> four byte integer
						 containing a DBNEWS
						 operation value,
			 CNV_DEVICE_RAW_DATA_TYPE -> four byte integer
						     containing a device raw
						     data type value,
			 CNV_DEVICE_RAW_DATA_TYPE_LONG -> four byte integer
							  containing a device
							  raw data type value
							  (long text),
			 CNV_DEVICE_ADDRESSING_MODE -> four byte integer
						       containing a device
						       addressing mode value,
			 CNV_DEVICE_ADDRESSING_MODE_LONG -> four byte integer
							    containing a device
							    addressing mode
							    value (long text),
			 CNV_TIME_T -> time_t value,
			 CNV_SIZE_T -> size_t value)
	num_values	returned number of values for this data type
	data_length	returned data length in bytes for this data type
	data_values	returned array of data values
			("num_values" * "data_length" bytes)
	entry_length	returned length in characters of a menu entry
	menu_text	returned menu text
			("num_values" * "entry_length" characters)
	menu_text_type	type of menu text  (Note: Data types with both short
			and long menu text are denoted above by an asterisk.)
			(CNV_SHORT_MENU_TEXT -> short menu text,
			 CNV_LONG_MENU_TEXT -> long menu text)
	[data_type_info] supplemental data needed to specify some data types
			(Uses for this argument are:
			 CNV_STATE_VALUE -> STATE_VALUE structure,
			 CNV_SDA_FILE -> SDA_FILE_VALUE structure,
			 CNV_EXT_SDA_CASE -> SDA_CASE_VALUE structure,
			 CNV_EXT_SDA_SUBCASE -> SDA_CASE_VALUE structure,
			 CNV_FOREIGN_DATA_TYPE -> FOREIGN_DATA_TYPE_INFO
						  structure)
			(default is NULL)

	This function returns ACNET status values as follows:

	OK			success
	CBS_INVARG		invalid conversion type
	CBS_GENERR		error accessing menu information

	This function requires the following include files:

	cbslib_h, acnet_errors_h

	Related functions:

	numeric_is_enumerated_type_c, numeric_is_user_defined_enum_type_c,
	numeric_data_length_c, numeric_default_length_c,
	numeric_fundamental_type_c, numeric_to_ascii(_c), numeric_values_c,
	ascii_to_numeric(_c), numeric_convert_type_id_c, numeric_to_float_c,
	winput(_c), window_input_value(_c), create_user_data_type_c,
	numeric_convert_tuner_c, build_sda_case_value_c

	C/C++ usage:

	char	*menu_text;
	int	status;
	int	data_type = CNV_DBPROP;
	int	num_values;
	int	data_length;
	int	entry_length;
	int	menu_text_type = CNV_SHORT_MENU_TEXT;
	void	*data_values;
	void	*data_type_info = (void *) NULL;

	status = enum_type_menu_info_c(data_type,&num_values,&data_length,
				       (void *) NULL,&entry_length,
				       (char *) NULL,menu_text_type,
				       data_type_info);

	if (status == OK)
	    {
	    data_values = (void *) malloc(num_values*data_length);
	    menu_text = (char *) malloc(num_values*entry_length);
	    status = enum_type_menu_info_c(data_type,&num_values,&data_length,
					   data_values,&entry_length,
					   menu_text,menu_text_type,
					   data_type_info);
	    }