list_field_create_c

	status.i4.v = list_field_create_c(window_id.i2.v, row.i4.v,
					  column.i4.v, align_type.i4.v,
					  label.i1a.r, label_length.i4.v,
					  label_color.i4.v, list_text.i1a.r,
					  text_length.i4.v, list_color.i4.v,
					  text_fill_char.i1.v,
					  num_entries.i4.v, initial_entry.i4.v,
					  callback_func.f.v,
					  callback_data.g.v, overall_help.s.r,
					  list_help.sa.r, options.u4.v,
					  default_text.i1a.r, handle.i1a.r,
					  field_id.i4.r [,enable_funcs.fa.r])

	This routine will create a list field in a window.  All list
	fields in a window are automatically deleted when the window is
	deleted.

	window_id	window ID (use WMNGR_BACKGROUND for background window)
	row		field row
	column		left column of the field
	align_type	coordinate handling
			(LIST_FIELD_ALIGN_LABEL -> row and column indicate the
						   location of the label text,
			 LIST_FIELD_ALIGN_LIST_TEXT -> row and column indicate
						       the location of the
						       list text)
	label		label text  (If a value of NULL is passed for this
			argument, no label will be displayed.)
	label_length	length of label text (If a value of zero is passed for
			this argument, the routine will determine the length
			of the label text.)
	label_color	color of label text (constants are in 'cnsparam')
	list_text	array of text entries  (If a value of NULL is passed
			for this argument, the text will be taken from an
			enumerated data type specified by "text_length".)
	text_length	length of a text entry
			(If a value of zero is passed for this argument,
			 the routine will assume that all of the menu text is
			 contained in a single null terminated or descriptor
			 described string and will automatically determine the
			 length of a single menu item by dividing the total
			 string length by the number of items.)
			(If "list_text" has a value of NULL, this argument
			 will be interpreted as an enumerated data type
			 which will be used as the source of the list text.)
	list_color	color of displayed list text
			(constants are in 'cnsparam')
	text_fill_char	character to replace trailing blanks with for
			the currently displayed entry
	num_entries	number of entries in the list  (This argument is
			ignored if the list text is taken from an enumerated
			data type.)
	initial_entry	initial entry number (entry values start at 1)
	callback_func	address of function (list_field_function) to be called
			when a selection is made in the list field and is
			called as follows:
			callback(window_id.i2.v, callback_data.g.v,
				 field_data.s.r)
			("field_data" is a structure of type LIST_FIELD_DATA)
	callback_data	pointer to user-supplied data to be passed to
			callback function
			(If "callback_func" has a value of NULL, this argument
			 will be interpreted as the address of a four byte
			 integer that will be updated with the current value
			 of the list field.)
	overall_help	help callback information for the visible field
			(structure of type HELP_CALLBACK_DATA)
			(A value of NULL can be passed for this argument if
			 no context sensitive help is to be provided.)
	list_help	entry by entry help callback information
			(array of HELP_CALLBACK_DATA structures)
			(A value of NULL can be passed for this argument if
			 no help is to be provided.)
	options		create options
			(LIST_FIELD_OPT_NONE -> no options selected,
			 LIST_FIELD_OPT_STATIC_TEXT -> display the default
						       text at all times,
			 LIST_FIELD_OPT_CENTER_TEXT -> center text strings
						       when displayed,
			 LIST_FIELD_OPT_LABEL_ON_RIGHT -> display the text to
							  the right of the
							  list field)
	default_text	null terminated default text to display if the
			currently selected item is invalid or the text
			to be displayed if the option
			LIST_FIELD_OPT_STATIC_TEXT is selected
			(If a value of NULL is passed for this argument,
			 the displayed field will be filled with
			 "text_fill_char" in the event of an invalid item.)
	handle		null terminated ASCII handle to be used as an
			alternate means of accessing this list field
			(Note: If this argument is not needed, a value of
			 NULL can be passed for it.)
	field_id	returned field ID
			(can be passed to list_field_delete_c)
			(Note: If this argument is not needed, a value of
			 NULL can be passed for it.)
	[enable_funcs]	user-supplied functions (list_field_enable_function)
			which (if provided) will be called to update whether or
			not individual list menu entries are enabled each time
			the menu is opened and are called as follows:
			enable.i4.v = enable_func(entry.i4)
			This function receives the index of the menu entry
			starting at 1.
			valid returned values are:
			(MENU_ENABLED_ENTRY -> enabled entry (default),
			 MENU_DISABLED_ENTRY -> disabled entry,
			 MENU_SEPARATOR -> separator entry)

	This function returns ACNET status values as follows:

	OK			success
	CBS_INVARG		invalid length
	CBS_NO_WINDOW		window doesn't exist
	CBS_INVSIZ		field is too big to fit in the window
	CBS_NOT_IN_WINDOW	field is not entirely in the
				requested window
	CBS_MEMFAIL		failed in allocating dynamic memory
	CBS_DUPREQ		this field overlaps an existing field

	This function requires the following include files:

	cnsparam_h, cns_data_structs_h, cbslib_h, acnet_errors_h

	Related functions:

	list_field_delete_c, list_field_window_delete_c, list_field_read_c,
	list_field_set_c, list_field_enable_c, list_field_disable_c,
	list_field_set_id_type_c

	C/C++ usage:

	static const char	label[] = "Label";
	static const char	list_text[] = "Entry 1Entry 2";
	static const char	handle[] = "my_field";
	char	text_fill_char = BLANK;
	char	*default_text = (char *) NULL;
	short	window_id;
	int	status;
	int	row = 1;
	int	column = 1;
	int	align_type = LIST_FIELD_ALIGN_LABEL;
	int	label_length = 0;
	int	label_color = CYAN;
	int	text_length = 0;
	int	list_color = GREEN;
	int	num_entries = 2;
	int	initial_entry = 1;
	int	field_id;
	unsigned int	options = LIST_FIELD_OPT_NONE;
	void	callback_func(short window_id, void *callback_data,
			      LIST_FIELD_DATA *list_data);
	void	callback_data = (void *) NULL;
	HELP_CALLBACK_DATA	*overall_help = (HELP_CALLBACK_DATA *) NULL;
	HELP_CALLBACK_DATA	*list_help = (HELP_CALLBACK_DATA *) NULL;
	list_field_enable_function	*enable_funcs = (list_field_enable_function *) NULL;

	status = list_field_create_c(window_id,row,column,align_type,
				     label,label_length,label_color,
				     list_text,text_length,list_color,
				     text_fill_char,num_entries,initial_entry,
				     callback_func,callback_data,overall_help,
				     list_help,options,default_text,handle,
				     &field_id,enable_funcs);