status.i4.v = input_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, data_type.i4.v,
					   data_length.i4.v, minimum.g.v,
					   maximum.g.v, initial_value.g.v,
					   value_length.i4.v, value_color.i4.v,
					   num_values.i4.v, callback_func.f.v,
					   callback_data.g.v, field_help.s.r,
					   options.u4.v, handle.i1a.r,

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

	window_id	window ID (use WMNGR_BACKGROUND for background window)
	row		field row
	column		left column of the field
	align_type	coordinate handling
			(INPUT_FIELD_ALIGN_LABEL -> row and column indicate the
						    location of the label text,
			 INPUT_FIELD_ALIGN_VALUE -> row and column
						    indicate the location
						    of the value text)
	label		label text  (If a value of NULL is passed for this
			argument, no label will be displayed.)  (There should
			be one label for each value.)
	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.  The label length will be the
			total length of the label text divided by the
			number of values unless the INPUT_FIELD_OPT_SINGLE_LABEL
			option is used.)
	label_color	color of label text (constants are in 'cnsparam')
	data_type	type of data to be input (These are the same data
			types used by numeric_to_ascii(_c) and
			ascii_to_numeric(_c).)  (constants are in 'cbslib')
	data_length	length of data in bytes  (This value is only used
			for data types CNV_CHAR and CNV_XCHAR.)
	minimum		minimum acceptable value  (This value is only used
			for numeric data types.  A value of NULL may be
			passed if no minimum value is desired.)
	maximum		maximum acceptable value  (This value is only used
			for numeric data types.  A value of NULL may be
			passed if no maximum value is desired.)
	initial_value	initial value for the field
	value_length	length of value input field  (Note: This field is
			only used for simple numeric data types.)
			(If a value of CLIB_DEFAULT_ARG is passed for this
			argument, a field length will be used that is equal
			to the length returned by numeric_default_length_c.)
	value_color	color of displayed value (constants are in 'cnsparam')
	num_values	number of values to input (Successive input fields
			will be arranged vertically.)
	callback_func	address of function to be called as follows:
			callback(window_id.i2.v, callback_data.g.v,
			("field_data" is a structure of type INPUT_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 to copy the
			 current value of the input field to whenever the
			 field is updated.)
	field_help	help callback information for the visible input 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.)
	options		create options
			(INPUT_FIELD_OPT_NONE -> no options selected,
			 INPUT_FIELD_OPT_NO_BRACKETS -> eliminate the
							characters which
							bracket the input field,
			 INPUT_FIELD_OPT_CENTER_VALUE -> center value
							 when displayed,
			 INPUT_FIELD_OPT_LABEL_ON_RIGHT -> display the text to
							   the right of the
							   input field,
			 INPUT_FIELD_OPT_SINGLE_LABEL -> only a single label
							 was passed)
	handle		null terminated ASCII handle to be used as an
			alternate means of accessing this input 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 input_field_delete_c)
			(Note: If this argument is not needed, a value of
			 NULL can be passed for it.)

	This function returns ACNET status values as follows:

	OK			success
	CBS_INVARG		invalid data type or 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:

	input_field_delete_c, input_field_window_delete_c, input_field_read_c,
	input_field_set_c, input_field_enable_c, input_field_disable_c,

	C/C++ usage:

	static const char	label[] = "Label";
	static const char	handle[] = "my_field";
	short	window_id;
	int	status;
	int	row = 1;
	int	column = 1;
	int	align_type = INPUT_FIELD_ALIGN_LABEL;
	int	label_length = 0;
	int	label_color = CYAN;
	int	data_type = CNV_LONG;
	int	data_length = 0;
	int	minimum = 0;
	int	maximum = 10;
	int	initial_value = 0;
	int	value_length = CLIB_DEFAULT_ARG;
	int	value_color = GREEN;
	int	num_values = 1;
	int	field_id;
	unsigned int	options = INPUT_FIELD_OPT_NONE;
	void	callback_func(short window_id, void *callback_data,
			      INPUT_FIELD_DATA *input_data);
	void	callback_data = (void *) NULL;

	status = input_field_create_c(window_id,row,column,align_type,
				      data_type,data_length,(void *) &minimum,
				      (void *) &maximum,
				      (void *) &initial_value,value_length,