<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_fieldtype 3X</TITLE>
+<TITLE>form_fieldtype 3x</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_fieldtype 3X</H1>
+<H1 class="no-header">form_fieldtype 3x</H1>
<PRE>
-<B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B> <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B>
+<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <B>form_fieldtype</B> - define validation-field types
+ <STRONG>form_fieldtype</STRONG> - define validation-field types
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <B>#include</B> <B><form.h></B>
+ <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
- <B>FIELDTYPE</B> <B>*new_fieldtype(</B>
- <B>bool</B> <B>(*</B> <B>const</B> <I>field</I><B>_</B><I>check</I><B>)(FIELD</B> <B>*,</B> <B>const</B> <B>void</B> <B>*),</B>
- <B>bool</B> <B>(*</B> <B>const</B> <I>char</I><B>_</B><I>check</I><B>)(int,</B> <B>const</B> <B>void</B> <B>*));</B>
- <B>int</B> <B>free_fieldtype(FIELDTYPE</B> <B>*</B><I>fieldtype</I><B>);</B>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*new_fieldtype(</STRONG>
+ <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>field</EM><STRONG>_</STRONG><EM>check</EM><STRONG>)(FIELD</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*),</STRONG>
+ <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>char</EM><STRONG>_</STRONG><EM>check</EM><STRONG>)(int,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*));</STRONG>
+ <STRONG>int</STRONG> <STRONG>free_fieldtype(FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>fieldtype</EM><STRONG>);</STRONG>
- <B>int</B> <B>set_fieldtype_arg(</B>
- <B>FIELDTYPE</B> <B>*</B><I>fieldtype</I><B>,</B>
- <B>void</B> <B>*(*</B> <B>const</B> <I>make</I><B>_</B><I>arg</I><B>)(va_list</B> <B>*),</B>
- <B>void</B> <B>*(*</B> <B>const</B> <I>copy</I><B>_</B><I>arg</I><B>)(const</B> <B>void</B> <B>*),</B>
- <B>void</B> <B>(*</B> <B>const</B> <I>free</I><B>_</B><I>arg</I><B>)(void</B> <B>*));</B>
- <B>int</B> <B>set_fieldtype_choice(</B>
- <B>FIELDTYPE</B> <B>*</B><I>fieldtype</I><B>,</B>
- <B>bool</B> <B>(*</B> <B>const</B> <I>next</I><B>_</B><I>choice</I><B>)(FIELD</B> <B>*,</B> <B>const</B> <B>void</B> <B>*),</B>
- <B>bool</B> <B>(*</B> <B>const</B> <I>prev</I><B>_</B><I>choice</I><B>)(FIELD</B> <B>*,</B> <B>const</B> <B>void</B> <B>*));</B>
+ <STRONG>int</STRONG> <STRONG>set_fieldtype_arg(</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>fieldtype</EM><STRONG>,</STRONG>
+ <STRONG>void</STRONG> <STRONG>*(*</STRONG> <STRONG>const</STRONG> <EM>make</EM><STRONG>_</STRONG><EM>arg</EM><STRONG>)(va_list</STRONG> <STRONG>*),</STRONG>
+ <STRONG>void</STRONG> <STRONG>*(*</STRONG> <STRONG>const</STRONG> <EM>copy</EM><STRONG>_</STRONG><EM>arg</EM><STRONG>)(const</STRONG> <STRONG>void</STRONG> <STRONG>*),</STRONG>
+ <STRONG>void</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>free</EM><STRONG>_</STRONG><EM>arg</EM><STRONG>)(void</STRONG> <STRONG>*));</STRONG>
+ <STRONG>int</STRONG> <STRONG>set_fieldtype_choice(</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>fieldtype</EM><STRONG>,</STRONG>
+ <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>next</EM><STRONG>_</STRONG><EM>choice</EM><STRONG>)(FIELD</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*),</STRONG>
+ <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>prev</EM><STRONG>_</STRONG><EM>choice</EM><STRONG>)(FIELD</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*));</STRONG>
- <B>FIELDTYPE</B> <B>*link_fieldtype(FIELDTYPE</B> <B>*</B><I>type1</I><B>,</B>
- <B>FIELDTYPE</B> <B>*</B><I>type2</I><B>);</B>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*link_fieldtype(FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>type1</EM><STRONG>,</STRONG>
+ <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>type2</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-new_fieldtype">new_fieldtype</a></H3><PRE>
- The function <B>new_fieldtype</B> creates a new field type usable for data
+ The function <STRONG>new_fieldtype</STRONG> creates a new field type usable for data
validation. Its parameters are function pointers:
- <I>field</I><B>_</B><I>check</I>
+ <EM>field</EM><STRONG>_</STRONG><EM>check</EM>
This function checks the validity of an entered data string
whenever the user attempts to leave a field. It has two
arguments:
- <B>o</B> The (FIELD *) argument is passed in so the validation
+ <STRONG>o</STRONG> The (FIELD *) argument is passed in so the validation
predicate can see the field's buffer, sizes and other
attributes.
- <B>o</B> The second argument is an argument-block structure, about
+ <STRONG>o</STRONG> The second argument is an argument-block structure, about
which more below.
- <I>char</I><B>_</B><I>check</I>
+ <EM>char</EM><STRONG>_</STRONG><EM>check</EM>
This function validates input characters as they are entered. The
form library passes it the character to be checked and a pointer
to an argument-block structure.
</PRE><H3><a name="h3-free_fieldtype">free_fieldtype</a></H3><PRE>
- The <B>free_fieldtype</B> function frees the space allocated for a given
- validation type by <B>new_fieldtype</B>.
+ The <STRONG>free_fieldtype</STRONG> function frees the space allocated for a given
+ validation type by <STRONG>new_fieldtype</STRONG>.
</PRE><H3><a name="h3-set_fieldtype_arg">set_fieldtype_arg</a></H3><PRE>
- The function <B>set_fieldtype_arg</B> associates three storage-management
+ The function <STRONG>set_fieldtype_arg</STRONG> associates three storage-management
functions with a field type:
- <I>make</I><B>_</B><I>arg</I>
+ <EM>make</EM><STRONG>_</STRONG><EM>arg</EM>
This function is automatically applied to the list of arguments
- you give <B>set_field_type</B> when attaching validation to a field. It
+ you give <STRONG>set_field_type</STRONG> when attaching validation to a field. It
stores the arguments in an allocated argument-block object which
is used when validating input.
- <I>copy</I><B>_</B><I>arg</I>
+ <EM>copy</EM><STRONG>_</STRONG><EM>arg</EM>
This function may be used by applications to copy argument-blocks.
- <I>free</I><B>_</B><I>arg</I>
+ <EM>free</EM><STRONG>_</STRONG><EM>arg</EM>
Frees an argument-block structure.
- You must supply the <I>make</I><B>_</B><I>arg</I> function. The other two are optional: you
+ You must supply the <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function. The other two are optional: you
may supply NULL for them. In this case, the form library assumes that
- <I>make</I><B>_</B><I>arg</I> does not allocate memory but simply loads the argument into a
+ <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does not allocate memory but simply loads the argument into a
single scalar value.
</PRE><H3><a name="h3-set_fieldtype_choice">set_fieldtype_choice</a></H3><PRE>
- The form driver requests <B>REQ_NEXT_CHOICE</B> and <B>REQ_PREV_CHOICE</B> assume
+ The form driver requests <STRONG>REQ_NEXT_CHOICE</STRONG> and <STRONG>REQ_PREV_CHOICE</STRONG> 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.
- The <B>set_fieldtype_choice</B> function allows forms programmers to define
+ The <STRONG>set_fieldtype_choice</STRONG> function allows forms programmers to define
successor and predecessor functions for the field type. These
functions take the field pointer and an argument-block structure as
arguments.
</PRE><H3><a name="h3-link_fieldtype">link_fieldtype</a></H3><PRE>
- The function <B>link_fieldtype</B> creates a new field type from the two given
+ The function <STRONG>link_fieldtype</STRONG> creates a new field type from the two given
types. They are connected by an logical 'OR'.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The pointer-valued routines return NULL on error. They set <B>errno</B>
+ The pointer-valued routines return NULL on error. They set <STRONG>errno</STRONG>
according to their success:
- <B>E_OK</B> The routine succeeded.
+ <STRONG>E_OK</STRONG> The routine succeeded.
- <B>E_BAD_ARGUMENT</B>
+ <STRONG>E_BAD_ARGUMENT</STRONG>
Routine detected an incorrect or out-of-range argument.
- <B>E_SYSTEM_ERROR</B>
+ <STRONG>E_SYSTEM_ERROR</STRONG>
System error occurred, e.g., malloc failure.
The integer-valued routines return one of the following codes on error:
- <B>E_OK</B> The routine succeeded.
+ <STRONG>E_OK</STRONG> The routine succeeded.
- <B>E_BAD_ARGUMENT</B>
+ <STRONG>E_BAD_ARGUMENT</STRONG>
Routine detected an incorrect or out-of-range argument.
- <B>E_CONNECTED</B>
+ <STRONG>E_CONNECTED</STRONG>
The field is already connected to a form.
- <B>E_CURRENT</B>
+ <STRONG>E_CURRENT</STRONG>
The field is the current field.
- <B>E_SYSTEM_ERROR</B>
- System error occurred (see <B>errno(3)</B>).
+ <STRONG>E_SYSTEM_ERROR</STRONG>
+ System error occurred (see <STRONG>errno(3)</STRONG>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>, <B><A HREF="form_field_validation.3X.html">form_field_validation(3X)</A></B>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <B><form.h></B> automatically includes the header file
- <B><curses.h></B>.
+ The header file <STRONG><form.h></STRONG> automatically includes the header file
+ <STRONG><curses.h></STRONG>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B>
+ <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>