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)

tribblix@gmail.com :: GitHub :: Privacy