Unix/Linux Go Back    

OpenDarwin 7.2.1 - man page for form_fieldtype (opendarwin section 3X)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

form_fieldtype(3X)							       form_fieldtype(3X)

       form_fieldtype - define validation-field types

       #include <form.h>
       FIELDTYPE *new_fieldtype(
	   bool (* const field_check)(FIELD *, const void *),
	   bool (* const char_check)(int, const void *));
       int free_fieldtype(FIELDTYPE *fieldtype);
       int set_fieldtype_arg(
	   FIELDTYPE *fieldtype,
	   void *(* const make_arg)(va_list *),
	   void *(* const copy_arg)(const void *),
	   void  (* const free_arg)(void *));
       int set_fieldtype_choice(
	   FIELDTYPE *fieldtype,
	   bool (* const next_choice)(FIELD *, const void *),
	   bool (* const prev_choice)(FIELD *, const void *));
       FIELDTYPE *link_fieldtype(FIELDTYPE *type1,
				 FIELDTYPE *type2);

       The  function new_fieldtype creates a new field type usable for data validation.  You sup-
       ply it with field_check, a predicate to check the validity of an entered data string when-
       ever  the user attempt to leave a field.  The (FIELD *) argument is passed in so the vali-
       dation predicate can see the field's buffer, sizes and other attributes; the second  argu-
       ment is an argument-block structure, about which more below.

       You  also supply new_fieldtype with char_check, a function to validate input characters as
       they are entered; it will be passed the character to be checked and a pointer to an  argu-
       ment-block structure.

       The function free_fieldtype frees the space allocated for a given validation type.

       The  function  set_fieldtype  associates  three	storage-management functions with a field
       type.  The mak_arg function is automatically applied to the list  of  arguments	you  give
       set_field_type  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 argument-block structures.  They will be
       used by the forms-driver code. You must supply the mak_arg function,  the  other  two  are
       optional,  you  may supply NULL for them. In this case it is assumed, that mak_arg doesn't
       allocate memory but simply loads the argument into a single scalar value.

       The form driver requests REQ_NEXT_CHOICE and REQ_PREV_CHOICE assume that the possible val-
       ues  of a field form an ordered set, and provide the forms user with a way to move through
       the set.  The set_fieldtype_choice 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.

       The pointer-valued routines return NULL on error.

       The integer-valued routines return one of the following codes on error:

       E_OK The routine succeeded.

	    System error occurred (see errno).

	    Routine detected an incorrect or out-of-range argument.

	    The field is already connected to a form.

       curses(3X), form(3X).

       The header file <form.h> automatically includes the header file <curses.h>.

       All of the (char *) arguments of these functions should actually be (void  *).	The  type
       has been left uncorrected for strict compatibility with System V.

       These  routines	emulate the System V forms library.  They were not supported on Version 7
       or BSD versions.

       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S. Raymond.

Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 04:31 PM.