135 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\"	$NetBSD: form_field_buffer.3,v 1.13 2010/03/22 21:58:31 joerg Exp $
 | |
| .\"
 | |
| .\" 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.
 | |
| .\"
 | |
| .Dd October 15, 2005
 | |
| .Dt FORMS 3
 | |
| .Os
 | |
| .Sh NAME
 | |
| .Nm field_buffer ,
 | |
| .Nm field_status ,
 | |
| .Nm set_field_buffer ,
 | |
| .Nm set_field_printf ,
 | |
| .Nm set_field_status ,
 | |
| .Nm set_max_field
 | |
| .Nd form library
 | |
| .Sh LIBRARY
 | |
| .Lb libform
 | |
| .Sh SYNOPSIS
 | |
| .In form.h
 | |
| .Ft char *
 | |
| .Fn field_buffer "FIELD *field" "int buffer"
 | |
| .Ft int
 | |
| .Fn field_status "FIELD *field"
 | |
| .Ft int
 | |
| .Fn set_field_buffer "FIELD *field" "int buffer" "char *value"
 | |
| .Ft int
 | |
| .Fn set_field_printf "FIELD *field" "int buffer" "char *fmt" "..."
 | |
| .Ft int
 | |
| .Fn set_field_status "FIELD *field" "int status"
 | |
| .Ft int
 | |
| .Fn set_max_field "FIELD *field" "int max"
 | |
| .Sh DESCRIPTION
 | |
| The
 | |
| .Fn field_buffer
 | |
| function returns the contents of the buffer number specified by
 | |
| .Fa buffer
 | |
| for the given field.
 | |
| If the requested buffer number exceeds the
 | |
| number of buffers attached to the field then
 | |
| .Dv NULL
 | |
| will be returned.
 | |
| If the field option
 | |
| .Dv O_REFORMAT
 | |
| is enabled on the given field then
 | |
| 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.
 | |
| If the
 | |
| .Dv O_REFORMAT
 | |
| field option is not set then no extra storage is allocated.
 | |
| 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
 | |
| passed.
 | |
| A buffer may also be set by calling
 | |
| .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
 | |
| does.
 | |
| Calling
 | |
| .Fn field_status
 | |
| will return the status of the first buffer attached to the field.
 | |
| 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
 | |
| programmatically set by calling
 | |
| .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
 | |
| Functions returning pointers will return
 | |
| .Dv NULL
 | |
| if an error is detected.
 | |
| 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
 | |
| .In form.h
 | |
| automatically includes both
 | |
| .In curses.h
 | |
| and
 | |
| .In eti.h .
 | |
| The function
 | |
| .Fn set_field_printf
 | |
| is a
 | |
| .Nx
 | |
| extension and must not be used in portable code.
 | 
