file_view_edit_c

	status.i4.v = file_view_edit_c(top_row.i4.v, left_column.i4.v,
				       num_columns.i4.v, num_rows.i4.v,
				       file_name.i1a.r, title.i1a.r,
				       text_color.i4.v, user_key_func.f.v,
				       user_key_data.g.v, language_func.f.v,
				       options.u4.v, search_string.i1a.r)

	This routine supports reading and editing an ASCII text file.

	top_row		top row of window (use WMNGR_CENTER for centering
			or WINDOW_xxx_COORD macros in macro for special
			positioning)
	left_column	left column of window (use WMNGR_CENTER for centering
			or WINDOW_xxx_COORD macros in macro for special
			positioning)
	num_columns	number of columns inside the window  (If a value of 0
			is passed, an optimal window width is found.)
	num_rows	number of rows inside the window  (If a value of 0
			is passed, an optimal window width is found.)
	file_name	null-terminated string specifing the file
	title		optional window title
			(If a value of NULL is passed for this argument,
			 the title will be the name of the file.)
	text_color	text color (default is CYAN) (constants are in cnsparam)
	user_key_func	function to be executed upon each key press
			(function called as follows:
			 done.i4.v = user_key_func(wid.i2.v, key_data.s.r,
						   user_key_data.g.v,
						   edit_data.s.r,
						   edit_made.i4.v)
			 ("key_data" is a structure of type TEXT_CURSOR_DATA)
			 ("edit_data" is a structure of type CNS_EDIT_DATA)
			 (Valid return values include: CNS_EDIT_CONTINUE,
			  CNS_EDIT_DONT_PROCESS, CNS_EDIT_POST_PROCESS, and
			  CNS_EDIT_ADD_LINE.))
			(A value of NULL can be passed for this argument.)
	user_key_data	data to be passed to "user_key_func"
			(A value of NULL can be passed for this argument.)
	language_func	function to be executed upon a language sensitive
			help command (ctrl e)
			(function called as follows:
			 language_func(wid.i2.v, row.i4.v, column.i4.v,
				       text_color.i4.v)
			(A value of NULL can be passed for this argument.)
	options		file read options
			(FILE_VIEW_OPT_NONE -> no options selected,
			 FILE_VIEW_OPT_NO_HTML -> strip HTML code,
			 FILE_VIEW_OPT_EXTRACT_CLIB_HELP -> extract only
							    CLIB-style help)
	search_string	string to search for  (If this argument is supplied
			and the string exists in the file text, the window
			will be scrolled to the first occurrence of the string.)
			(Pass a value of NULL if no search is desired.)

	This function returns status values as follows:

	OK			success
	CBS_MEMFAIL		failed in allocating dynamic memory
	CBS_INVARG		requested window is too large
	CBS_NOTOPN		couldn't open file
	CBS_WINDOW_TOO_BIG	file window won't fit on background window
	CBS_ABORT		user abort

	This function requires the following include files:

	cnsparam_h, cbslib_h, macro_h, acnet_errors_h

	Related functions:

	file_view_read, window_edit_c, file_view_select, file_view_find,
	input_file_name_c, window_restore_hint_c, dialog_setup_c

	C/C++ usage:

	static const char	file_name[] = "/some_path/file_name.ext";
	static const char	title[] = "Title";
	char	*search_string = (char *) NULL;
	int	status;
	int	top_row = WMNGR_CENTER;
	int	left_column = WMNGR_CENTER;
	int	num_columns = 0;
	int	num_rows = 0;
	int	text_color = CYAN;
	unsigned int	options = FILE_VIEW_OPT_NONE;
	int	user_key_func(short window_id, TEXT_CURSOR_DATA *key_data,
			      void *user_key_data);
	void	*user_key_data = (void *) NULL;
	void	language_func(short window_id, int row, int column,
			      int text_color);

	status = file_view_edit_c(top_row,left_column,num_columns,num_rows,
				  file_name,title,text_color,user_key_func,
				  user_key_data,language_func,options,
				  search_string);