-'\" t
.\"***************************************************************************
-.\" Copyright 2018-2020,2021 Thomas E. Dickey *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey *
.\" Copyright 1998-2006,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_fieldtype.3x,v 1.30 2021/12/25 21:49:32 tom Exp $
+.\" $Id: form_fieldtype.3x,v 1.46 2024/03/16 15:35:01 tom Exp $
+.TH form_fieldtype 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
..
-.TH form_fieldtype 3X ""
.SH NAME
-\fBform_fieldtype\fP \- define validation-field types
+\fBform_fieldtype\fP \-
+define validation-field types
.SH SYNOPSIS
-\fB#include <form.h>\fP
-.sp
-\fBFIELDTYPE *new_fieldtype(\fP
- \fBbool (* const \fP\fIfield_check\fP\fB)(FIELD *, const void *),\fP
- \fBbool (* const \fP\fIchar_check\fP\fB)(int, const void *));\fP
-.br
-\fBint free_fieldtype(FIELDTYPE *\fP\fIfieldtype\fP\fB);\fP
-.sp
+.nf
+\fB#include <form.h>
+.PP
+\fBFIELDTYPE *new_fieldtype(
+ \fBbool (* const \fIfield_check\fB)(FIELD *, const void *),\fR
+ \fBbool (* const \fIchar_check\fB)(int, const void *));\fR
+\fBint free_fieldtype(FIELDTYPE *\fIfieldtype\fB);\fR
+.PP
\fBint set_fieldtype_arg(\fP
- \fBFIELDTYPE *\fP\fIfieldtype\fP\fB,\fP
- \fBvoid *(* const \fP\fImake_arg\fP\fB)(va_list *),\fP
- \fBvoid *(* const \fP\fIcopy_arg\fP\fB)(const void *),\fP
- \fBvoid (* const \fP\fIfree_arg\fP\fB)(void *));\fP
-.br
+ \fBFIELDTYPE *\fIfieldtype\fB,\fR
+ \fBvoid *(* const \fImake_arg\fB)(va_list *),\fR
+ \fBvoid *(* const \fIcopy_arg\fB)(const void *),\fR
+ \fBvoid (* const \fIfree_arg\fB)(void *));\fR
\fBint set_fieldtype_choice(\fP
- \fBFIELDTYPE *\fP\fIfieldtype\fP\fB,\fP
- \fBbool (* const \fP\fInext_choice\fP\fB)(FIELD *, const void *),\fP
- \fBbool (* const \fP\fIprev_choice\fP\fB)(FIELD *, const void *));\fP
-.sp
-\fBFIELDTYPE *link_fieldtype(FIELDTYPE *\fP\fItype1\fP\fB,\fP
- \fBFIELDTYPE *\fP\fItype2\fP\fB);\fP
+ \fBFIELDTYPE *\fIfieldtype\fB,\fR
+ \fBbool (* const \fInext_choice\fB)(FIELD *, const void *),\fR
+ \fBbool (* const \fIprev_choice\fB)(FIELD *, const void *));\fR
+.PP
+\fBFIELDTYPE *link_fieldtype(FIELDTYPE *\fItype1\fB,\fR
+ \fBFIELDTYPE *\fItype2\fB);\fR
+.fi
.SH DESCRIPTION
.SS new_fieldtype
The function \fBnew_fieldtype\fP creates a new field type usable for data
The form library passes it the character to be checked
and a pointer to an argument-block structure.
.SS free_fieldtype
-.PP
The \fBfree_fieldtype\fP function
frees the space allocated for a given validation type by \fBnew_fieldtype\fP.
.SS set_fieldtype_arg
-.PP
The function \fBset_fieldtype_arg\fP associates
three storage-management functions with a field type:
.TP 5
that \fImake_arg\fP does not allocate memory but simply loads the
argument into a single scalar value.
.SS set_fieldtype_choice
-.PP
The form driver requests \fBREQ_NEXT_CHOICE\fP and \fBREQ_PREV_CHOICE\fP assume
that the possible values of a field form an ordered set, and provide the forms
user with a way to move through the set.
These functions take the field pointer and an
argument-block structure as arguments.
.SS link_fieldtype
-.PP
The function \fBlink_fieldtype\fP creates
a new field type from the two given types.
They are connected by an logical 'OR'.
.TP 5
.B E_SYSTEM_ERROR
System error occurred (see \fBerrno\fP(3)).
-.SH SEE ALSO
-\fBcurses\fP(3X),
-\fBform\fP(3X),
-\fBform_field_validation\fP(3X).
-.SH NOTES
-The header file \fB<form.h>\fP automatically includes the header file
-\fB<curses.h>\fP.
.SH PORTABILITY
These routines emulate the System V forms library.
They were not supported on
.SH AUTHORS
Juergen Pfeifer.
Manual pages and adaptation for new curses by Eric S. Raymond.
+.SH SEE ALSO
+\fB\%curses\fP(3X),
+\fB\%form\fP(3X),
+\fB\%form_field_validation\fP(3X)