FORM_FIELDTYPE(3CURSES) Curses Library Functions FORM_FIELDTYPE(3CURSES)
NAME
form_fieldtype, new_fieldtype, free_fieldtype, set_fieldtype_arg,
set_fieldtype_choice, link_fieldtype - forms fieldtype routines
SYNOPSIS
cc [
flag... ]
file...
-lform -lcurses [
library... ]
#include <form.h>
FIELDTYPE *new_fieldtype(
int (* field_check)(FIELD *,
char *),
int (*char_check)(int, char *));
int free_fieldtype(
FIELDTYPE *fieldtype);
int set_fieldtype_arg(
FIELDTYPE *fieldtype,
char *(* mak_arg)(va_list *),
char *(* copy_arg)(char *),
void (* free_arg)(char *));
int set_fieldtype_choice(
FIELDTYPE *fieldtype,
int (* next_choice)
(FIELD *,
char *),
int (*prev_choice)(FIELD *,
char *));
FIELDTYPE *link_fieldtype(
FIELDTYPE *type1,
FIELDTYPE *type2);
DESCRIPTION
new_fieldtype() creates a new field type. The application programmer
must write the function
field_check, which validates the field value,
and the function
char_check, which validates each character.
free_fieldtype() frees the space allocated for the field type.
By associating function pointers with a field type,
set_fieldtype_arg() connects to the field type additional arguments
necessary for a
set_field_type() call. Function
mak_arg allocates a
structure for the field specific parameters to
set_field_type() and
returns a pointer to the saved data. Function
copy_arg duplicates the
structure created by
make_arg. Function
free_arg frees any storage
allocated by
make_arg or
copy_arg.
The
form_driver() requests
REQ_NEXT_CHOICE and
REQ_PREV_CHOICE let
the user request the next or previous value of a field type
comprising an ordered set of values.
set_fieldtype_choice() allows
the application programmer to implement these requests for the given
field type. It associates with the given field type those
application-defined functions that return pointers to the next or
previous choice for the field.
link_fieldtype() returns a pointer to the field type built from the
two given types. The constituent types may be any application-defined
or pre-defined types.
RETURN VALUES
Routines that return pointers always return
NULL on error. Routines
that return an integer return one of the following:
E_OK The function returned successfully.
E_SYSTEM_ERROR System error.
E_BAD_ARGUMENT An argument is incorrect.
E_CONNECTED Type is connected to one or more fields.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|MT-Level | Unsafe |
+---------------+-----------------+
SEE ALSO
curses(3CURSES),
forms(3CURSES),
attributes(7)NOTES
The header
<form.h> automatically includes the headers
<eti.h> and
<curses.h>.
December 31, 1996 FORM_FIELDTYPE(3CURSES)