Unix/Linux Go Back    


CentOS 7.0 - man page for field_arg (centos section 3X)

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


form_field_validation(3X)						form_field_validation(3X)

NAME
       form_field_validation - data type validation for fields

SYNOPSIS
       #include <form.h>
       int set_field_type(FIELD *field, FIELDTYPE *type, ...);
       FIELDTYPE *field_type(const FIELD *field);
       void *field_arg(const FIELD *field);

       FIELDTYPE *TYPE_ALNUM;
       FIELDTYPE *TYPE_ALPHA;
       FIELDTYPE *TYPE_ENUM;
       FIELDTYPE *TYPE_INTEGER;
       FIELDTYPE *TYPE_NUMERIC;
       FIELDTYPE *TYPE_REGEXP;
       FIELDTYPE *TYPE_IPV4;

DESCRIPTION
       The function set_field_type declares a data type for a given form field.  This is the type
       checked by validation functions.  The predefined types are as follows:

       TYPE_ALNUM
	    Alphanumeric data.	Requires a third int argument, a minimum field width.

       TYPE_ALPHA
	    Character data.  Requires a third int argument, a minimum field width.

       TYPE_ENUM
	    Accept one of a specified set of strings.  Requires a third (char **) argument point-
	    ing  to  a	string list; a fourth int flag argument to enable case-sensitivity; and a
	    fifth int flag argument specifying whether a partial match must be a unique  one  (if
	    this  flag	is  off, a prefix matches the first of any set of more than one list ele-
	    ments with that prefix). Please notice that the string list is copied. So you may use
	    a list that lives in automatic variables on the stack.

       TYPE_INTEGER
	    Integer  data, parsable to an integer by atoi(3).  Requires a third int argument con-
	    trolling the precision, a fourth long argument  constraining  minimum  value,  and	a
	    fifth long constraining maximum value.  If the maximum value is less than or equal to
	    the minimum value, the range is simply ignored. On return the field buffer is format-
	    ted according to the printf format specification ".*ld", where the '*' is replaced by
	    the precision argument.  For details of the precision handling see printf's man-page.

       TYPE_NUMERIC
	    Numeric data (may have a decimal-point part). Requires a third int argument  control-
	    ling  the precision, a fourth double argument constraining minimum value, and a fifth
	    double constraining maximum value. If your system supports locales, the decimal point
	    character  to be used must be the one specified by your locale.  If the maximum value
	    is less than or equal to the minimum value, the range is simply  ignored.  On  return
	    the  field	buffer	is  formatted according to the printf format specification ".*f",
	    where the '*' is replaced by the precision argument.  For details  of  the	precision
	    handling see printf's man-page.

       TYPE_REGEXP
	    Regular  expression data.  Requires a regular expression (char *) third argument; the
	    data is valid if the regular expression matches it.  Regular expressions are  in  the
	    format  of	regcomp and regexec. Please notice that the regular expression must match
	    the whole field. If you have for example an eight character  wide  field,  a  regular
	    expression	"^[0-9]*$"  always  means  that you have to fill all eight positions with
	    digits. If you want to allow fewer digits, you may use for example "^[0-9]* *$" which
	    is	good  for trailing spaces (up to an empty field), or "^ *[0-9]* *$" which is good
	    for leading and trailing spaces around the digits.

       TYPE_IPV4
	    An Internet Protocol Version 4 address. This requires no additional argument.  It  is
	    checked whether or not the buffer has the form a.b.c.d, where a,b,c and d are numbers
	    between 0 and 255. Trailing blanks in the buffer are ignored. The address  itself  is
	    not validated. Please note that this is an ncurses extension. This field type may not
	    be available in other curses implementations.

       It is possible to set up new programmer-defined field types.  See  the  form_fieldtype(3X)
       manual page.

RETURN VALUE
       The  functions  field_type and field_arg return NULL on error. The function set_field_type
       returns one of the following:

       E_OK The routine succeeded.

       E_SYSTEM_ERROR
	    System error occurred (see errno).

SEE ALSO
       curses(3X), form(3X), form_variables(3X).

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

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

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

									form_field_validation(3X)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 10:57 AM.