# form_new 3x

    form_new(3x)                                               form_new(3x)

## NAME

           form_new - create and destroy forms

## SYNOPSIS

           #include <form.h>
           FORM *new_form(FIELD **fields);
           int free_form(FORM *form);

## DESCRIPTION

           The  function  new_form  creates a new form connected to a
           specified field pointer array (which must  be  NULL-termi-
           nated).

           The  function  free_form  disconnects  form from its field
           array and frees the storage allocated for the form.

## RETURN VALUE

           The function new_form returns  NULL  on  error.   It  sets
           errno according to the function's success:

           E_OK The routine succeeded.

           E_BAD_ARGUMENT
                Routine  detected  an incorrect or out-of-range argu-
                ment.

           E_CONNECTED
                The field is already connected to a form.

           E_SYSTEM_ERROR
                System error occurred, e.g., malloc failure.

           The function free_form returns one of the following:

           E_OK The routine succeeded.

           E_BAD_ARGUMENT
                Routine detected an incorrect or  out-of-range  argu-
                ment.

           E_POSTED
                The form has already been posted.

## SEE ALSO

           curses(3x), form(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_new(3x)