cc [flag . . .] file -lform -locurses [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);
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 mak_arg. Function free_arg frees any storage allocated by mak_arg or copy_arg.
The form_driver requests REN_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.
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. |