1.\" $NetBSD: form_field_opts.3,v 1.11 2010/03/22 21:58:31 joerg Exp $ 2.\" 3.\" Copyright (c) 2001 4.\" Brett Lymn - blymn@baea.com.au, brett_lymn@yahoo.com.au 5.\" 6.\" This code is donated to The NetBSD Foundation by the author. 7.\" 8.\" Redistribution and use in source and binary forms, with or without 9.\" modification, are permitted provided that the following conditions 10.\" are met: 11.\" 1. Redistributions of source code must retain the above copyright 12.\" notice, this list of conditions and the following disclaimer. 13.\" 2. Redistributions in binary form must reproduce the above copyright 14.\" notice, this list of conditions and the following disclaimer in the 15.\" documentation and/or other materials provided with the distribution. 16.\" 3. The name of the Author may not be used to endorse or promote 17.\" products derived from this software without specific prior written 18.\" permission. 19.\" 20.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND 21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE 24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30.\" SUCH DAMAGE. 31.\" 32.Dd November 24, 2004 33.Dt FORMS 3 34.Os 35.Sh NAME 36.Nm field_opts , 37.Nm field_opts_off , 38.Nm field_opts_on , 39.Nm set_field_opts 40.Nd form library 41.Sh LIBRARY 42.Lb libform 43.Sh SYNOPSIS 44.In form.h 45.Ft Form_Options 46.Fn field_opts "FIELD *field" 47.Ft int 48.Fn field_opts_off "FIELD *field" "Form_Options options" 49.Ft int 50.Fn field_opts_on "FIELD *field" "Form_Options options" 51.Ft int 52.Fn set_field_opts "FIELD *field" "Form_Options options" 53.Sh DESCRIPTION 54The function 55.Fn field_opts 56returns the current options settings for the given field. 57The 58.Fn field_opts_off 59will turn the options given in 60.Fa options 61off for the given field, options not specified in 62.Fa options 63will remain unchanged. 64Conversely, the function 65.Fn field_opts_on 66will turn on the options given in 67.Fa options 68for the specified field, again, any options not specified will remain 69unchanged. 70The options for a field may be set to a specific set of 71options by calling the 72.Fn set_field_opts 73function. 74Options may only be changed if the field given is not the 75currently active one. 76.Sh PARAMETERS 77The following options are available for a field: 78.Pp 79.Bl -tag -width O_REFORMAT -compact 80.It Dv O_VISIBLE 81The field is visible, hence is displayed when the form is posted. 82.It Dv O_ACTIVE 83The field is active in the form, meaning that it can be visited during 84form processing. 85.It Dv O_PUBLIC 86The contents of the field are echoed to the screen. 87.It Dv O_EDIT 88The contents of the field can be modified 89.It Dv O_WRAP 90The contents of the field are wrapped on a word boundary, if this 91option is off then the field will be wrapped on a character boundary. 92.It Dv O_BLANK 93Blank the field on new data being entered if and only if the field 94cursor is at the left hand side of the field. 95.It Dv O_AUTOSKIP 96Skip to the next field when the current field reaches its maximum 97size. 98.It Dv O_NULLOK 99The field is allowed to contain no data 100.It Dv O_STATIC 101The field is not dynamic, it has a fixed size. 102.It Dv O_PASSOK 103An unmodified field is allowed. 104.It Dv O_REFORMAT 105Retain the formatting of a field when the buffer is retrieved. 106If this option is not set then the buffer returned will be a single string 107with no line breaks. 108When this option is set newline characters will be inserted at the point 109where the string has been wrapped in a multiline field. 110This option is an extension to the forms library and must not be used 111in portable code. 112See the 113.Xr field_buffer 3 114man page for how this option modifies the behaviour of 115.Fn field_buffer . 116.El 117.Pp 118The following options are on by default for a field: 119.Dv O_VISIBLE , 120.Dv O_ACTIVE , 121.Dv O_PUBLIC , 122.Dv O_EDIT , 123.Dv O_WRAP , 124.Dv O_BLANK , 125.Dv O_AUTOSKIP , 126.Dv O_NULLOK , 127.Dv O_PASSOK , 128and 129.Dv O_STATIC . 130.Sh RETURN VALUES 131Functions returning pointers will return 132.Dv NULL 133if an error is detected. 134The functions that return an int will return one of the following error 135values: 136.Pp 137.Bl -tag -width E_UNKNOWN_COMMAND -compact 138.It Er E_OK 139The function was successful. 140.It Er E_CURRENT 141The field specified is the currently active one in the form. 142.El 143.Sh SEE ALSO 144.Xr curses 3 , 145.Xr forms 3 146.Sh NOTES 147The header 148.In form.h 149automatically includes both 150.In curses.h 151and 152.In eti.h . 153The option 154.Dv O_REFORMAT 155is a 156.Nx 157 extension and must not be used in portable code. 158