Provided by: ncurses-doc_6.4+20230625-2_all bug

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

       ncurses(3NCURSES), form(3FORM).

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.