form_fieldtype(3X) SDK R4.11 form_fieldtype(3X)
NAME
form_fieldtype: new_fieldtype, free_fieldtype, set_fieldtype_arg,
set_fieldtype_choice, link_fieldtype - forms fieldtype routines
SYNOPSIS
#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 VALUE
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.
NOTES
The header file <form.h> automatically includes the header files
<eti.h> and <curses.h>.
SEE ALSO
curses(3X), forms(3X).
Licensed material--property of copyright holder(s)