status.i4.v = select_field_init_c(window_id.i2.v, row.i4.v, column.i4.v,
					  select_id.i4.v, initial_entry.i1a.r
					  [,update_func.f.v] [,update_data.g.v]
					  [,help_info.s.r] [,handle.i1a.r]

	This routine initializes a selection field having the format
	"Label-<Entry>+".  This field can be serviced by calling
	the routine select_field_update_c upon the receipt of a
	user interrupt event.  All select fields in a window are
	automatically deleted when the window is deleted.

	window_id	ID of desired window (returned from prior call to
	row		row of select field
	column		left column of select field
	select_id	ID of selection field type (returned from a prior
			call to select_field_register_c)
	initial_entry	initial "entry" text  (If this selection field type
			was initialized with enumerated values, a null string
			can be passed for this argument which will result
			in the first value in the list being displayed.  A
			null pointer will initialize this field with blanks.)
			 been selected, this value will be interpreted as a
			 int integer passed by address.)
	[update_func]	function to be called as follows if this field is to
			be automatically updated:
			update_func(wid.i2.v, update_data.g.v, field_data.s.r)
			("field_data" is a structure of type SELECT_FIELD_DATA)
			(default is NULL which disables automatic updates and
			 requires the application program to call
			 select_field_update_c for updates)
	[update_data]	data pointer to be passed to "update_func"
			(If "update_func" has a value of NULL, this argument
			 will be interpreted as the address of a four byte
			 integer that will be filled with the current value
			 of the select field during automatic updates.)
			(default is NULL)
	[help_info]	context sensitive help callback information
			(structure of type HELP_CALLBACK_DATA)
			(default is NULL)
	[handle]	null terminated ASCII handle to be used as an
			alternate means of identifying this select field
			(default is NULL)
	[options]	select field initialization options
			(SELECT_FIELD_OPT_NONE -> no options selected
			 SELECT_FIELD_OPT_BY_ENTRY_VALUE -> initial field
							    value is specified
							    by numeric value,
			 SELECT_FIELD_OPT_HIDE_NO_CHANGE -> don't report user
							    entries when the
							    selection isn't
			 SELECT_FIELD_OPT_MULTICOLUMN_MENU -> use a multicolumn
							      menu if possible)

	This function returns ACNET status values as follows:

	OK			success
	CBS_NO_SUCH		select ID does not exist
	CBS_INVARG		invalid select ID, window coordinates,
				or entry value
	CBS_NO_WINDOW		window does not exist
	CBS_NOTENB		initial entry value passed with no
				corresponding verify value funcion present
	CBS_DUPREQ		select field already exists for this window
	CBS_MEMFAIL		memory allocation failure

	This function requires the following include files:

	cns_data_structs_h, cbslib_h, acnet_errors_h

	Related functions:

	select_field_register_c, select_field_update_c, select_field_read_c,
	select_field_set_c, select_field_set_by_value_c, select_field_delete_c,
	select_field_enable_c, select_field_disable_c,
	select_field_text_to_id_c, select_field_display_info_c

	C/C++ usage:

	static const char	label[] = "Field label ";
	static const char	data_2[ENTRY_LENGTH*NUM_ENTRIES+1] =
				"Value 1Value 2";
	static const char	inital_entry[] = "Value 1";
	static const char	handle[] = "my_field";
	short	window_id = WMNGR_BACKGROUND;
	int	status;
	int	entry_length = ENTRY_LENGTH;
	int	label_length = 0;
	int	data_1 = NUM_ENTRIES;
	int	char_case = WMNGR_MIXED_CASE;
	int	row = 3;
	int	column = 1;
	int	select_id;
	int	color = WHITE;
	unsigned int	options = SELECT_FIELD_OPT_NONE;
	void	*data_3 = (void *) NULL; 
	void	*update_data = (void *) NULL;
	void	update_func(short window_id, void *update_data,
			    SELECT_FIELD_DATA *field_data);

	status = select_field_register_c(&select_id,entry_length,label,
					 label_length,type,(void *) &data_1,
					 (void *) data_2,data_3,char_case);

	status = select_field_init_c(window_id,row,column,select_id,