User Tools

Site Tools


solaris:form_fieldtype.3curses

form_fieldtype


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:

SEE ALSO

curses(3CURSES), forms(3CURSES), attributes(7)

NOTES

The header <form.h> automatically includes the headers <eti.h> and <curses.h>.


solaris/form_fieldtype.3curses.txt · Last modified: 2023/07/19 08:58 by A User Not Logged in