form_field_new(3x)                                   form_field_new(3x)
       form_field_new - create and destroy form fields
       #include <form.h>
       FIELD *new_field(int height, int width,
                        int toprow, int leftcol,
                        int offscreen, int nbuffers);
       FIELD *dup_field(FIELD *field, int toprow, int leftcol);
       FIELD *link_field(FIELD *field, int toprow, int leftcol);
       int free_field(FIELD *field);
       The  function new_field allocates a new field and initial-
       izes it from the parameters given: height, width,  row  of
       upper-left  corner,  column  of  upper-left corner, number
       off-screen rows, and number of additional working buffers.
       The function dup_field duplicates a field at a  new  loca-
       tion.   Most attributes (including current contents, size,
       validation type, buffer count, growth threshold,  justifi-
       cation,  foreground,  background,  pad character, options,
       and user pointer) are copied.  Field status and the  field
       page bit are not copied.
       The  function  link_field acts like dup_field, but the new
       field shares buffers with its parent.  Attribute  data  is
       separate.
       The  function  free_field  de-allocates storage associated
       with a field.
       The function, new_field, dup_field, link_field return NULL
       on error.  They set errno according to their success:
       E_OK The routine succeeded.
       E_BAD_ARGUMENT
            Routine  detected  an incorrect or out-of-range argu-
            ment.
       E_SYSTEM_ERROR
            System error occurred, e.g., malloc failure.
       The function free_field returns one of the following:
       E_OK The routine succeeded.
       E_BAD_ARGUMENT
            Routine detected an incorrect or  out-of-range  argu-
            ment.
       E_CONNECTED
            field is connected.
       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 supported on Version 7 or BSD versions.
       It  may be unwise to count on the set of attributes copied
       by dup_field being portable; the System  V  forms  library
       documents are not very explicit about what gets copied and
       what does not.
       Juergen Pfeifer.  Manual  pages  and  adaptation  for  new
       curses by Eric S. Raymond.
                                                     form_field_new(3x)