form_new(3x)                                                      form_new(3x)
       new_form, free_form - create and destroy forms
       #include <form.h>
       FORM *new_form(FIELD **fields);
       int free_form(FORM *form);
       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.
       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.
       curses(3x), form(3x).
       The  header  file  <form.h>  automatically  includes  the  header  file
       <curses.h>.
       These  routines emulate the System V forms library.  They were not sup-
       ported on Version 7 or BSD versions.
       Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric S.
       Raymond.
                                                                  form_new(3x)