status.i4.v = menu_create(top_row.i4.r, left_column.i4.r,
				  num_items.i4.r, num_chars.i4.r,
				  item_text.i1a.r, title.i1a.r,
				  num_columns.i4.r, menu_id.i2.r [,funcs.fa.r]
				  [,] [,auto_update.i4.r]
				  [,num_lines.i4.r] [,text_color.i4.r]
				  [,enabl_entries.i1a.r] [,]
				  [,header_line.i1a.r] [,padding_chars.i4.r]

	status.i4.v = menu_create_c(top_row.i4.v, left_column.i4.v,
				    num_items.i4.v, num_chars.i4.v,
				    item_text.i1a.r, title.i1a.r,
				    num_columns.i4.v, menu_id.i2.r [,funcs.fa.r]
				    [,] [,auto_update.i4.v]
				    [,num_lines.i4.v] [,text_color.i4.v]
				    [,enabl_entries.i1a.r] [,]
				    [,header_line.i1a.r] [,padding_chars.i4.v]

	This routine will create a fixed menu on the TV screen.  This
	differs from wmenu(_c) in that the menu remains active until it
	is removed by calling menu_delete(_c).  The routine automatically 
	determines the window size.  (Note: If hierarchical menus are to
	be created, window_freeze_c should be called following this call.
	The window ID argument passed to the freeze routine should be

	top_row		top row of menu (use WMNGR_CENTER for centering
			or WINDOW_xxx_COORD macros in macro for special
	left_column	left column of menu (use WMNGR_CENTER for centering
			or WINDOW_xxx_COORD macros in macro for special
	num_items	number of menu items
	num_chars	number of characters in a menu item
			(If a value of zero is passed for this argument,
			the routine will automatically determine the
			length of a menu item.)
	item_text	menu item text ("num_chars" characters per entry)
	title		null-terminated text string (ie. a quoted literal)
			to be written to the top line of the window. It
			may be no longer than:
			(("num_chars" + 3) * "num_columns" - 3) characters.
	num_columns	number of menu columns
	menu_id		menu ID
	[funcs]		pointers to functions to be called by the menu
			(called as follows:
			 funcs(mid.i2.v, func_data.g.v, menu_data.s.r)
			 ("menu_data" is a structure of type
	[func_data]	pointers to data to be passed to "funcs"
	[auto_update]	flag to determine whether to automatically update
			(TRUE -> automatically update this menu,
			 FALSE -> update by calls to menu_update_c (default))
	[num_lines]	number of menu lines to display (default is all)
	[text_color]	menu text color (default is WHITE)
			(constants are in 'cnsparam')
	[enabl_entries]	array of logical flags indicating which menu entries
			are enabled/active (default is NULL which enables
			all menu entries)
			(MENU_ENABLED_ENTRY -> enabled entry (default),
			 MENU_DISABLED_ENTRY -> disabled entry,
			 MENU_SEPARATOR -> separator entry)
	[help_info]	entry by entry help callback information
			(array of HELP_CALLBACK_DATA structures)
			(default is NULL)
	[header_line]	null terminated text string that will be displayed
			in a nonscrolling banner at the top of the window
			(default is NULL)
	[padding_chars]	number of blank characters to insert before and
			after every menu entry (must be >= 1)
	[options]	optional menu feature flags
			(MENU_OPT_NONE -> no special menu options requested
			 MENU_OPT_HEADER_SEPARATOR -> insert a separator line
						      between the header line
						      and the menu entries,
			 MENU_OPT_SAME_FUNCTION -> use the same function and
						   function data for all
						   menu entries)

	This function returns ACNET status values as follows:

	OK			success
	CBS_INVARG		invalid number of items or padding characters
	CBS_TOO_MANY		there are too many menus to create another
	CBS_MEMFAIL		error in allocating dynamic memory
	CBS_WINDOW_TOO_BIG	window is too big to fit on the screen

	This function requires the following include files:

	cnsparam_h, cns_data_structs_h, cbslib_h, acnet_errors_h

	Related functions:

	multicolor_menu_create_c, menu_update(_c), menu_delete(_c),
	menu_topmost, menu_change_entry_c, menu_change_entry_case_c,
	menu_set_current_entry_c, window_freeze_c, wmenu(_c), popup_menu(_c),
	scroll_menu(_c), logical_scroll_menu(_c), menu_setup_c, build_menu_text

	C/C++ usage:

	static const char	item_text[NUM_ITEMS][NUM_CHARS] =
	{"Entry 1", "Entry 2", "Entry 3", "Entry 4", "Entry 5", "Entry 6"};
	static const char	title[] = "Title";
	char	*enabled_entries = (char *) NULL;
	char	*header_line = (char *) NULL;
	short	menu_id;
	int	status;
	int	top_row = WMNGR_CENTER;
	int	left_column = WMNGR_CENTER;
	int	num_items = NUM_ITEMS;
	int	num_chars = NUM_CHARS;
	int	num_columns = 1;
	int	auto_update = TRUE;
	int	num_lines = 4;
	int	text_color = WHITE;
	int	padding_chars = 1;
	unsigned int	options = MENU_OPT_NONE;
	void	**func_data = (void **) NULL;
	menu_function	funcs[NUM_ITEMS];

	funcs[0] = function_0;
	status = menu_create_c(top_row,left_column,num_items,num_chars,
			       (char *) item_text,title,num_columns,