menu_hook()

NAME

set_item_init(), item_init(), set_item_term(), item_term(), set_menu_init(), menu_init(), set_menu_term(), menu_term() - set hooks for automatic invocation by applications

SYNOPSIS

#include <menu.h>

int set_item_init(MENU *menu, void (*func)(MENU *)); void (*)(MENU *) item_init(MWNU *menu); int set_item_term(MENU *menu, void (*func)(MENU *)); void (*)(MENU *) item_term(MWNU *menu); int set_menu_init(MENU *menu, void (*func)(MENU *)); void (*)(MENU *) menu_init(MWNU *menu); int set_menu_term(MENU *menu, void (*func)(MENU *)); void (*)(MENU *) menu_term(MWNU *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(3).

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

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

The function set_menu_init(3) 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(3) returns the current menu init hook, if any (NULL if there is no such hook).

The function set_menu_term(3) 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(3) 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(3)

menus(3).

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.