# form_hook 3x

    form_hook(3x)                                                    form_hook(3x)

## NAME

           form_hook - set hooks for automatic invocation by applications

## SYNOPSIS

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

## 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 sup-
           ported on Version 7 or BSD versions.

## AUTHORS

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

                                                                     form_hook(3x)