# form_new 3x 2023-11-25 ncurses 6.4 Library calls

    form_new(3x)                     Library calls                    form_new(3x)

## NAME

           new_form, free_form - 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-terminated).

           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 argument.

           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 argument.

           E_POSTED
                The form has already been posted.

## 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.

## SEE ALSO

           curses(3x), form(3x)

    ncurses 6.4                       2023-11-25                      form_new(3x)