1*a0e6850fSThomas Cort.\" $NetBSD: form_hook.3,v 1.10 2010/03/22 21:58:31 joerg Exp $ 2*a0e6850fSThomas Cort.\" 3*a0e6850fSThomas Cort.\" Copyright (c) 2001 4*a0e6850fSThomas Cort.\" Brett Lymn - blymn@baea.com.au, brett_lymn@yahoo.com.au 5*a0e6850fSThomas Cort.\" 6*a0e6850fSThomas Cort.\" This code is donated to The NetBSD Foundation by the author. 7*a0e6850fSThomas Cort.\" 8*a0e6850fSThomas Cort.\" Redistribution and use in source and binary forms, with or without 9*a0e6850fSThomas Cort.\" modification, are permitted provided that the following conditions 10*a0e6850fSThomas Cort.\" are met: 11*a0e6850fSThomas Cort.\" 1. Redistributions of source code must retain the above copyright 12*a0e6850fSThomas Cort.\" notice, this list of conditions and the following disclaimer. 13*a0e6850fSThomas Cort.\" 2. Redistributions in binary form must reproduce the above copyright 14*a0e6850fSThomas Cort.\" notice, this list of conditions and the following disclaimer in the 15*a0e6850fSThomas Cort.\" documentation and/or other materials provided with the distribution. 16*a0e6850fSThomas Cort.\" 3. The name of the Author may not be used to endorse or promote 17*a0e6850fSThomas Cort.\" products derived from this software without specific prior written 18*a0e6850fSThomas Cort.\" permission. 19*a0e6850fSThomas Cort.\" 20*a0e6850fSThomas Cort.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND 21*a0e6850fSThomas Cort.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22*a0e6850fSThomas Cort.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23*a0e6850fSThomas Cort.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE 24*a0e6850fSThomas Cort.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25*a0e6850fSThomas Cort.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26*a0e6850fSThomas Cort.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27*a0e6850fSThomas Cort.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28*a0e6850fSThomas Cort.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29*a0e6850fSThomas Cort.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30*a0e6850fSThomas Cort.\" SUCH DAMAGE. 31*a0e6850fSThomas Cort.\" 32*a0e6850fSThomas Cort.Dd January 1, 2001 33*a0e6850fSThomas Cort.Dt FORMS 3 34*a0e6850fSThomas Cort.Os 35*a0e6850fSThomas Cort.Sh NAME 36*a0e6850fSThomas Cort.Nm field_init , 37*a0e6850fSThomas Cort.Nm field_term , 38*a0e6850fSThomas Cort.Nm form_init , 39*a0e6850fSThomas Cort.Nm form_term , 40*a0e6850fSThomas Cort.Nm set_field_init , 41*a0e6850fSThomas Cort.Nm set_field_term , 42*a0e6850fSThomas Cort.Nm set_form_init , 43*a0e6850fSThomas Cort.Nm set_form_term 44*a0e6850fSThomas Cort.Nd form library 45*a0e6850fSThomas Cort.Sh LIBRARY 46*a0e6850fSThomas Cort.Lb libform 47*a0e6850fSThomas Cort.Sh SYNOPSIS 48*a0e6850fSThomas Cort.In form.h 49*a0e6850fSThomas Cort.Ft void (*)(FORM *) 50*a0e6850fSThomas Cort.Fn field_init "FORM *form" 51*a0e6850fSThomas Cort.Ft void (*)(FORM *) 52*a0e6850fSThomas Cort.Fn field_term "FORM *form" 53*a0e6850fSThomas Cort.Ft void (*)(FORM *) 54*a0e6850fSThomas Cort.Fn form_init "FORM *form" 55*a0e6850fSThomas Cort.Ft void (*)(FORM *) 56*a0e6850fSThomas Cort.Fn form_term "FORM *form" 57*a0e6850fSThomas Cort.Ft int 58*a0e6850fSThomas Cort.Fn set_field_init "FORM *form" "void (*function)(FORM *)" 59*a0e6850fSThomas Cort.Ft int 60*a0e6850fSThomas Cort.Fn set_field_term "FORM *form" "void (*function)(FORM *)" 61*a0e6850fSThomas Cort.Ft int 62*a0e6850fSThomas Cort.Fn set_form_init "FORM *form" "void (*function)(FORM *)" 63*a0e6850fSThomas Cort.Ft int 64*a0e6850fSThomas Cort.Fn set_form_term "FORM *form" "void (*function)(FORM *)" 65*a0e6850fSThomas Cort.Sh DESCRIPTION 66*a0e6850fSThomas CortThe 67*a0e6850fSThomas Cort.Fn field_init 68*a0e6850fSThomas Cortfunction returns a pointer to the function that will be called just 69*a0e6850fSThomas Cortafter the current field changes and just before the form is posted, 70*a0e6850fSThomas Cortthis function may be set by using the 71*a0e6850fSThomas Cort.Fn set_field_init 72*a0e6850fSThomas Cortfunction. 73*a0e6850fSThomas CortSimilarly, the function 74*a0e6850fSThomas Cort.Fn field_term 75*a0e6850fSThomas Cortwill return a pointer to the function that will be called just before 76*a0e6850fSThomas Cortthe current field changes and just after the form is unposted, this 77*a0e6850fSThomas Cortfunction pointer may be set by using the 78*a0e6850fSThomas Cort.Fn set_field_term 79*a0e6850fSThomas Cortfunction. 80*a0e6850fSThomas CortThe 81*a0e6850fSThomas Cort.Fn form_init 82*a0e6850fSThomas Cortfunction will return a pointer to the function that will be called 83*a0e6850fSThomas Cortjust before the form is posted to the screen, this function can be set 84*a0e6850fSThomas Cortby calling the 85*a0e6850fSThomas Cort.Fn set_form_init 86*a0e6850fSThomas Cortfunction. 87*a0e6850fSThomas CortThe 88*a0e6850fSThomas Cort.Fn form_term 89*a0e6850fSThomas Cortfunction will return a pointer to the function that will be called 90*a0e6850fSThomas Cortjust after the form is unposted from the screen, this function may be 91*a0e6850fSThomas Cortset by using the 92*a0e6850fSThomas Cort.Fn set_form_term 93*a0e6850fSThomas Cortfunction. 94*a0e6850fSThomas CortBy default, the init and term function pointers are 95*a0e6850fSThomas Cort.Dv NULL . 96*a0e6850fSThomas Cort.Sh RETURN VALUES 97*a0e6850fSThomas CortFunctions returning pointers will return 98*a0e6850fSThomas Cort.Dv NULL 99*a0e6850fSThomas Cortif an error is detected. 100*a0e6850fSThomas CortThe functions that return an int will return one of the following error 101*a0e6850fSThomas Cortvalues: 102*a0e6850fSThomas Cort.Pp 103*a0e6850fSThomas Cort.Bl -tag -width E_UNKNOWN_COMMAND -compact 104*a0e6850fSThomas Cort.It Er E_OK 105*a0e6850fSThomas CortThe function was successful. 106*a0e6850fSThomas Cort.El 107*a0e6850fSThomas Cort.Sh SEE ALSO 108*a0e6850fSThomas Cort.Xr curses 3 , 109*a0e6850fSThomas Cort.Xr forms 3 110*a0e6850fSThomas Cort.Sh NOTES 111*a0e6850fSThomas CortThe header 112*a0e6850fSThomas Cort.In form.h 113*a0e6850fSThomas Cortautomatically includes both 114*a0e6850fSThomas Cort.In curses.h 115*a0e6850fSThomas Cortand 116*a0e6850fSThomas Cort.In eti.h . 117