form_field_new 3x

form_field_new(3x)                                   form_field_new(3x)




NAME

       new_field,  dup_field, link_field, free_field - create and
       destroy form fields


SYNOPSIS

       #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);


DESCRIPTION

       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.


RETURN VALUE

       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.


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.

       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.


AUTHORS

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



                                                     form_field_new(3x)