'\" t
+.\"***************************************************************************
+.\" Copyright (c) 1998-2018,2019 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 *
+.\" "Software"), to deal in the Software without restriction, including *
+.\" without limitation the rights to use, copy, modify, merge, publish, *
+.\" distribute, distribute with modifications, sublicense, and/or sell *
+.\" copies of the Software, and to permit persons to whom the Software is *
+.\" furnished to do so, subject to the following conditions: *
+.\" *
+.\" The above copyright notice and this permission notice shall be included *
+.\" in all copies or substantial portions of the Software. *
+.\" *
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+.\" *
+.\" Except as contained in this notice, the name(s) of the above copyright *
+.\" holders shall not be used in advertising or otherwise to promote the *
+.\" sale, use or other dealings in this Software without prior written *
+.\" authorization. *
+.\"***************************************************************************
+.\"
+.\" $Id: form_hook.3x,v 1.13 2019/01/20 20:31:42 tom Exp $
.TH form_hook 3X ""
.SH NAME
-\fBform_hook\fR - set hooks for automatic invocation by applications
+\fBform_hook\fR \- set hooks for automatic invocation by applications
.SH SYNOPSIS
\fB#include <form.h>\fR
.br
-int set_field_init(FORM *form, void (*func)(FORM *));
+int set_field_init(FORM *form, Form_Hook func);
.br
-void (*)(FORM *) field_init(const FORM *form);
+Form_Hook field_init(const FORM *form);
.br
-int set_field_term(FORM *form, void (*func)(FORM *));
+int set_field_term(FORM *form, Form_Hook func);
.br
-void (*)(FORM *) field_term(const FORM *form);
+Form_Hook field_term(const FORM *form);
.br
-int set_form_init(FORM *form, void (*func)(FORM *));
+int set_form_init(FORM *form, Form_Hook func);
.br
-void (*)(FORM *) form_init(const FORM *form);
+Form_Hook form_init(const FORM *form);
.br
-int set_form_term(FORM *form, void (*func)(FORM *));
+int set_form_term(FORM *form, Form_Hook func);
.br
-void (*)(FORM *) form_term(const FORM *form);
+Form_Hook form_term(const FORM *form);
.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 \fBform_driver\fR.
-
+.PP
The function \fBset_field_init\fR sets a hook to be called at form-post time
-and each time the selected field changes (after the change). \fBfield_init\fR
+and each time the selected field changes (after the change).
+\fBfield_init\fR
returns the current field init hook, if any (\fBNULL\fR if there is no such
hook).
-
+.PP
The function \fBset_field_term\fR sets a hook to be called at form-unpost time
-and each time the selected field changes (before the change). \fBfield_term\fR
+and each time the selected field changes (before the change).
+\fBfield_term\fR
returns the current field term hook, if any (\fBNULL\fR if there is no such
hook).
-
+.PP
The function \fBset_form_init\fR sets a hook to be called at form-post time and
-just after a page change once it is posted. \fBform_init\fR returns the
+just after a page change once it is posted.
+\fBform_init\fR returns the
current form init hook, if any (\fBNULL\fR if there is no such hook).
-
+.PP
The function \fBset_form_term\fR sets a hook to be called at form-unpost time
-and just before a page change change once it is posted. \fBform_init\fR
+and just before a page change once it is posted.
+\fBform_init\fR
returns the current form 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
-\fBE_OK\fR
+.B E_OK
The routine succeeded.
.TP 5
-\fBE_SYSTEM_ERROR\fR
-System error occurred (see \fBerrno\fR).
+.B E_SYSTEM_ERROR
+System error occurred (see \fBerrno\fR(3)).
.SH SEE ALSO
\fBcurses\fR(3X), \fBform\fR(3X).
.SH NOTES
The header file \fB<form.h>\fR automatically includes the header file
\fB<curses.h>\fR.
.SH PORTABILITY
-These routines emulate the System V forms library. They were not supported on
+These routines emulate the System V forms library.
+They were not supported on
Version 7 or BSD versions.
.SH AUTHORS
-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:
+Juergen Pfeifer.
+Manual pages and adaptation for new curses by Eric S. Raymond.