'\" t
.\"***************************************************************************
-.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
+.\" Copyright 2018-2019,2020 Thomas E. Dickey *
+.\" Copyright 1998-2007,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_hook.3x,v 1.8 2006/11/04 17:12:00 tom Exp $
+.\" $Id: menu_hook.3x,v 1.15 2020/10/17 23:44:57 tom Exp $
.TH menu_hook 3X ""
.SH NAME
-\fBmenu_hook\fR - set hooks for automatic invocation by applications
+\fBmenu_hook\fR \- set hooks for automatic invocation by applications
.SH SYNOPSIS
\fB#include <menu.h>\fR
+.sp
+\fBint set_item_init(MENU *\fP\fImenu\fP\fB, Menu_Hook \fP\fIfunc);\fP
.br
-int set_item_init(MENU *menu, void (*func)(MENU *));
+\fBMenu_Hook item_init(const MENU *\fP\fImenu);\fP
+.sp
+\fBint set_item_term(MENU *\fP\fImenu\fP\fB, Menu_Hook \fP\fIfunc);\fP
.br
-void (*)(MENU *) item_init(const MENU *menu);
+\fBMenu_Hook item_term(const MENU *\fP\fImenu);\fP
+.sp
+\fBint set_menu_init(MENU *\fP\fImenu\fP\fB, Menu_Hook \fP\fIfunc);\fP
.br
-int set_item_term(MENU *menu, void (*func)(MENU *));
+\fBMenu_Hook menu_init(const MENU *\fP\fImenu);\fP
+.sp
+\fBint set_menu_term(MENU *\fP\fImenu\fP\fB, Menu_Hook \fP\fIfunc);\fP
.br
-void (*)(MENU *) item_term(const MENU *menu);
-.br
-int set_menu_init(MENU *menu, void (*func)(MENU *));
-.br
-void (*)(MENU *) menu_init(const MENU *menu);
-.br
-int set_menu_term(MENU *menu, void (*func)(MENU *));
-.br
-void (*)(MENU *) menu_term(const MENU *menu);
+\fBMenu_Hook menu_term(const MENU *\fP\fImenu);\fP
.br
.SH 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 \fBmenu_driver\fR.
.PP
The function \fBset_item_init\fR sets a hook to be called at menu-post time and
-each time the selected item changes (after the change). \fBitem_init\fR
+each time the selected item changes (after the change).
+\fBitem_init\fR
returns the current item init hook, if any (\fBNULL\fR if there is no such
hook).
.PP
The function \fBset_item_term\fR sets a hook to be called at menu-unpost time
-and each time the selected item changes (before the change). \fBitem_term\fR
+and each time the selected item changes (before the change).
+\fBitem_term\fR
returns the current item term hook, if any (\fBNULL\fR if there is no such
hook).
.PP
The function \fBset_menu_init\fR sets a hook to be called at menu-post time and
-just after the top row on the menu changes once it is posted. \fBmenu_init\fR
+just after the top row on the menu changes once it is posted.
+\fBmenu_init\fR
returns the current menu init hook, if any (\fBNULL\fR if there is no such
hook).
.PP
\fBmenu_term\fR returns the current menu term hook, if any (\fBNULL\fR if there
is no such hook).
.SH RETURN VALUE
-Routines that return pointers return \fBNULL\fR on error. Other routines
+Routines that return pointers return \fBNULL\fR on error.
+Other routines
return one of the following:
.TP 5
.B E_OK
The routine succeeded.
.TP 5
.B E_SYSTEM_ERROR
-System error occurred (see \fBerrno\fR).
+System error occurred (see \fBerrno\fR(3)).
.SH SEE ALSO
\fBcurses\fR(3X), \fBmenu\fR(3X).
.SH NOTES
The header file \fB<menu.h>\fR automatically includes the header file
\fB<curses.h>\fR.
.SH PORTABILITY
-These routines emulate the System V menu library. They were not supported on
+These routines emulate the System V menu library.
+They were not supported on
Version 7 or BSD versions.
.SH AUTHORS
-Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
+Juergen Pfeifer.
+Manual pages and adaptation for new curses by Eric
S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End: