2005-10-15 16:43:20 +04:00
|
|
|
.\" $NetBSD: form_field_buffer.3,v 1.12 2005/10/15 12:43:20 peter Exp $
|
2001-07-08 16:10:28 +04:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 2001
|
|
|
|
.\" Brett Lymn - blymn@baea.com.au, brett_lymn@yahoo.com.au
|
|
|
|
.\"
|
|
|
|
.\" This code is donated to The NetBSD Foundation by the author.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\" 3. The name of the Author may not be used to endorse or promote
|
|
|
|
.\" products derived from this software without specific prior written
|
|
|
|
.\" permission.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
|
|
|
.\"
|
2005-10-15 16:43:20 +04:00
|
|
|
.Dd October 15, 2005
|
2001-07-08 16:10:28 +04:00
|
|
|
.Dt FORMS 3
|
2002-01-15 05:47:02 +03:00
|
|
|
.Os
|
2001-07-08 16:10:28 +04:00
|
|
|
.Sh NAME
|
|
|
|
.Nm field_buffer ,
|
|
|
|
.Nm field_status ,
|
|
|
|
.Nm set_field_buffer ,
|
2002-08-09 18:15:12 +04:00
|
|
|
.Nm set_field_printf ,
|
2001-07-08 16:10:28 +04:00
|
|
|
.Nm set_field_status ,
|
|
|
|
.Nm set_max_field
|
|
|
|
.Nd form library
|
|
|
|
.Sh LIBRARY
|
|
|
|
.Lb libform
|
|
|
|
.Sh SYNOPSIS
|
2003-04-16 17:34:34 +04:00
|
|
|
.In form.h
|
2001-07-08 16:10:28 +04:00
|
|
|
.Ft char *
|
2002-08-06 16:44:34 +04:00
|
|
|
.Fn field_buffer "FIELD *field" "int buffer"
|
2001-07-08 16:10:28 +04:00
|
|
|
.Ft int
|
|
|
|
.Fn field_status "FIELD *field"
|
|
|
|
.Ft int
|
2002-08-06 16:44:34 +04:00
|
|
|
.Fn set_field_buffer "FIELD *field" "int buffer" "char *value"
|
2001-07-08 16:10:28 +04:00
|
|
|
.Ft int
|
2002-08-09 18:15:12 +04:00
|
|
|
.Fn set_field_printf "FIELD *field" "int buffer" "char *fmt" "..."
|
|
|
|
.Ft int
|
2002-08-06 16:44:34 +04:00
|
|
|
.Fn set_field_status "FIELD *field" "int status"
|
2005-10-15 16:43:20 +04:00
|
|
|
.Ft int
|
|
|
|
.Fn set_max_field "FIELD *field" "int max"
|
2001-07-08 16:10:28 +04:00
|
|
|
.Sh DESCRIPTION
|
2002-01-15 05:47:02 +03:00
|
|
|
The
|
2001-07-08 16:10:28 +04:00
|
|
|
.Fn field_buffer
|
|
|
|
function returns the contents of the buffer number specified by
|
|
|
|
.Fa buffer
|
2002-10-01 23:15:15 +04:00
|
|
|
for the given field.
|
|
|
|
If the requested buffer number exceeds the
|
2004-11-24 15:26:23 +03:00
|
|
|
number of buffers attached to the field then
|
|
|
|
.Dv NULL
|
|
|
|
will be returned.
|
2004-11-24 15:09:13 +03:00
|
|
|
If the field option
|
|
|
|
.Dv O_REFORMAT
|
|
|
|
is enabled on the given field then
|
2004-11-24 14:57:09 +03:00
|
|
|
storage will be allocated to hold the reformatted buffer.
|
|
|
|
This storage must be release by calling
|
|
|
|
.Xr free 3
|
|
|
|
when it is no longer required.
|
2004-11-24 15:09:13 +03:00
|
|
|
If the
|
|
|
|
.Dv O_REFORMAT
|
|
|
|
field option is not set then no extra storage is allocated.
|
2001-07-08 16:10:28 +04:00
|
|
|
The field buffer may be set by calling
|
|
|
|
.Fn set_field_buffer
|
|
|
|
which will set the given buffer number to the contents of the string
|
2002-10-01 23:15:15 +04:00
|
|
|
passed.
|
|
|
|
A buffer may also be set by calling
|
2002-08-09 18:15:12 +04:00
|
|
|
.Fn set_field_printf
|
|
|
|
which sets the buffer using the format arg
|
|
|
|
.Fa fmt
|
|
|
|
after being expanded using the subsequent arguments in the same manner
|
|
|
|
as
|
|
|
|
.Xr sprintf 3
|
2002-10-01 23:15:15 +04:00
|
|
|
does.
|
|
|
|
Calling
|
2001-07-08 16:10:28 +04:00
|
|
|
.Fn field_status
|
2002-10-01 23:15:15 +04:00
|
|
|
will return the status of the first buffer attached to the field.
|
2004-11-24 15:09:13 +03:00
|
|
|
If the field has been modified then the function will return
|
|
|
|
.Dv TRUE
|
|
|
|
otherwise
|
|
|
|
.Dv FALSE
|
|
|
|
is returned, the status of the first buffer may be
|
2002-01-15 05:47:02 +03:00
|
|
|
programmatically set by calling
|
2001-07-08 16:10:28 +04:00
|
|
|
.Fn set_field_status .
|
|
|
|
The maximum growth of a dynamic field can be set by calling
|
|
|
|
.Fn set_max_field
|
|
|
|
which limits the fields rows if the field is a multiline field or the
|
|
|
|
fields columns if the field only has a single row.
|
|
|
|
.Sh RETURN VALUES
|
2004-11-24 15:09:13 +03:00
|
|
|
Functions returning pointers will return
|
|
|
|
.Dv NULL
|
|
|
|
if an error is detected.
|
2001-07-08 16:10:28 +04:00
|
|
|
The functions that return an int will return one of the following error
|
|
|
|
values:
|
|
|
|
.Pp
|
|
|
|
.Bl -tag -width E_UNKNOWN_COMMAND -compact
|
|
|
|
.It Er E_OK
|
|
|
|
The function was successful.
|
|
|
|
.It Er E_BAD_ARGUMENT
|
|
|
|
A bad parameter was passed to the function.
|
|
|
|
.It Er E_SYSTEM_ERROR
|
|
|
|
A system error occurred performing the function.
|
|
|
|
.El
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr curses 3 ,
|
|
|
|
.Xr forms 3
|
|
|
|
.Sh NOTES
|
|
|
|
The header
|
2004-11-24 15:09:13 +03:00
|
|
|
.Aq Pa form.h
|
2001-07-08 16:10:28 +04:00
|
|
|
automatically includes both
|
2004-11-24 15:09:13 +03:00
|
|
|
.Aq Pa curses.h
|
2001-07-08 16:10:28 +04:00
|
|
|
and
|
2004-11-24 15:09:13 +03:00
|
|
|
.Aq Pa eti.h .
|
2002-08-09 18:15:12 +04:00
|
|
|
The function
|
|
|
|
.Fn set_field_printf
|
2002-10-01 23:15:15 +04:00
|
|
|
is a
|
2002-08-09 18:15:12 +04:00
|
|
|
.Nx
|
|
|
|
extension and must not be used in portable code.
|