<!--
* t
****************************************************************************
- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_fieldtype.3x,v 1.9 2001/08/04 20:36:25 William.Setzer Exp @
+ * @Id: form_fieldtype.3x,v 1.15 2010/07/31 16:10:55 tom Exp @
-->
<HTML>
<HEAD>
<HR>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
+<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>NAME</H2><PRE>
The function <STRONG>new_fieldtype</STRONG> creates a new field type usable
for data validation. You supply it with <EM>field</EM><STRONG>_</STRONG><EM>check</EM>, a
predicate to check the validity of an entered data string
- whenever the user attempt to leave a field. The (FIELD *)
- argument is passed in so the validation predicate can see
- the field's buffer, sizes and other attributes; the second
- argument is an argument-block structure, about which more
- below.
+ whenever the user attempts to leave a field. The (FIELD
+ *) argument is passed in so the validation predicate can
+ see the field's buffer, sizes and other attributes; the
+ second argument is an argument-block structure, about
+ which more below.
You also supply <STRONG>new_fieldtype</STRONG> with <EM>char</EM><STRONG>_</STRONG><EM>check</EM>, a function
to validate input characters as they are entered; it will
The function <STRONG>free_fieldtype</STRONG> frees the space allocated for
a given validation type.
- The function <STRONG>set_fieldtype</STRONG> associates three storage-man-
- agement functions with a field type. The <EM>mak</EM><STRONG>_</STRONG><EM>arg</EM> function
- is automatically applied to the list of arguments you give
- <STRONG>set_field_type</STRONG> when attaching validation to a field; its
- job is to bundle these into an allocated argument-block
- object which can later be passed to validation predicated.
- The other two hook arguments should copy and free argu-
- ment-block structures. They will be used by the forms-
- driver code. You must supply the <EM>mak</EM><STRONG>_</STRONG><EM>arg</EM> function, the
- other two are optional, you may supply NULL for them. In
- this case it is assumed, that <EM>mak</EM><STRONG>_</STRONG><EM>arg</EM> doesn't allocate
+ The function <STRONG>set_fieldtype_arg</STRONG> associates three storage-
+ management functions with a field type. The <EM>make</EM><STRONG>_</STRONG><EM>arg</EM>
+ function is automatically applied to the list of arguments
+ you give <STRONG>set_field_type</STRONG> when attaching validation to a
+ field; its job is to bundle these into an allocated argu-
+ ment-block object which can later be passed to validation
+ predicated. The other two hook arguments should copy and
+ free argument-block structures. They will be used by the
+ forms-driver code. 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 it is assumed that <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does not allocate
memory but simply loads the argument into a single scalar
value.
+ The function <STRONG>link_fieldtype</STRONG> creates a new field type from
+ the two given types. They are connected by an logical
+ 'OR'.
+
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
</PRE>
<H2>RETURN VALUE</H2><PRE>
- The pointer-valued routines return NULL on error.
+ The pointer-valued routines return NULL on error. They
+ set errno according to their success:
+
+ <STRONG>E_OK</STRONG> The routine succeeded.
+
+ <STRONG>E_BAD_ARGUMENT</STRONG>
+ Routine detected an incorrect or out-of-range argu-
+ ment.
+
+ <STRONG>E_SYSTEM_ERROR</STRONG>
+ System error occurred, e.g., malloc failure.
The integer-valued routines return one of the following
codes on error:
<STRONG>E_OK</STRONG> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
-
<STRONG>E_BAD_ARGUMENT</STRONG>
Routine detected an incorrect or out-of-range argu-
ment.
<STRONG>E_CONNECTED</STRONG>
The field is already connected to a form.
+ <STRONG>E_CURRENT</STRONG>
+ The field is the current field.
+
+ <STRONG>E_SYSTEM_ERROR</STRONG>
+ System error occurred (see <STRONG>errno</STRONG>).
+
</PRE>
<H2>SEE ALSO</H2><PRE>
-
-
-
-
-
-
-
+ <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
</PRE>
<HR>
<ADDRESS>