menu_hook(3X)                                       menu_hook(3X)

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

SYNOPSIS
       #include <menu.h>
       int set_item_init(MENU *menu, void (*func)(MENU *));
       void (*)(MENU *) item_init(const MENU *menu);
       int set_item_term(MENU *menu, void (*func)(MENU *));
       void (*)(MENU *) item_term(const MENU *menu);
       int set_menu_init(MENU *menu, void (*func)(MENU *));
       void (*)(MENU *) menu_init(const MENU *menu);
       int set_menu_term(MENU *menu, void (*func)(MENU *));
       void (*)(MENU *) menu_term(const MENU *menu);

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 menu_driver.

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

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

       The function set_menu_init sets a hook  to  be  called  at
       menu-post  time  and  just  after  the top row on the menu
       changes once it is posted.  menu_init returns the  current
       menu init hook, if any (NULL if there is no such hook).

       The  function  set_menu_term  sets  a hook to be called at
       menu-unpost time and just before the top row on  the  menu
       changes  once it is posted.  menu_term returns the current
       menu 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), menu(3X).

NOTES
       The header file <menu.h> automatically includes the header
       file <curses.h>.

PORTABILITY
       These routines emulate the System V  menu  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