form_hook(3X)                                       form_hook(3X)

NAME
       form_hook - set hooks for automatic invocation by applica-
       tions

SYNOPSIS
       #include <form.h>
       int set_field_init(FORM *form, void (*func)(FORM *));
       void (*)(FORM *) field_init(const FORM *form);
       int set_field_term(FORM *form, void (*func)(FORM *));
       void (*)(FORM *) field_term(const FORM *form);
       int set_form_init(FORM *form, void (*func)(FORM *));
       void (*)(FORM *) form_init(const FORM *form);
       int set_form_term(FORM *form, void (*func)(FORM *));
       void (*)(FORM *) form_term(const FORM *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.

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

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

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

       The  function  set_form_term  sets  a hook to be called at
       form-unpost time and just before a page change change once
       it  is  posted.   form_init  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(3X), form(3X).

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.

AUTHORS
       Juergen  Pfeifer.   Manual  pages  and  adaptation for new
       curses by Eric S. Raymond.

                                                                1