form_fieldtype(3X) — MISCELLANEOUS LIBRARY FUNCTIONS
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.