form_hook()

NAME

set_field_init(), set_field_term(), field_term(), form_init(), set_form_init(), set_form_term(), form_term() - set hooks for automatic invocation by applications

SYNOPSIS

#include <form.h>

int set_field_init(FORM *form, void (*func)(FORM *)); void (*)(FORM *) field_init(MWNU *form); int set_field_term(FORM *form, void (*func)(FORM *)); void (*)(FORM *) field_term(MWNU *form); int set_form_init(FORM *form, void (*func)(FORM *)); void (*)(FORM *) form_init(MWNU *form); int set_form_term(FORM *form, void (*func)(FORM *)); void (*)(FORM *) form_term(MWNU *form);

DESCRIPTION

These functions make it possible to set hook functions to be called at various points in the automatic processing of input event codes by form_driver(3).

The function set_field_init(3) sets a hook to be called at form-post time and each time the selected field changes (after the change). field_init(3) returns the current field init hook, if any (NULL if there is no such hook).

The function set_field_term(3) sets a hook to be called at form-unpost time and each time the selected field changes (before the change). field_term(3) returns the current field term hook, if any (NULL if there is no such hook).

The function set_form_init(3) sets a hook to be called at form-post time and just after a page change once it is posted. form_init(3) returns the current form init hook, if any (NULL if there is no such hook).

The function set_form_term(3) sets a hook to be called at form-unpost time and just before a page change change once it is posted. form_init(3) returns the current form term hook, if any (NULL if there is no such hook).

RETURN VALUE

Routines that return pointers return NULL on error. Other routines return one of the following:

E_OK
The routine succeeded.
E_SYSTEM_ERROR
System error occurred (see errno

SEE ALSO

curses(3)

forms(3)

NOTES

The header file <form.h> automatically includes the header file <curses.h>.

PORTABILITY

These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions.