Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

curses(3X)

field(3X)

fieldtype(3X)

item(3x)

panel(3X)

menu(3X)

tam(3X)



          FORM(3X)             INTERACTIVE UNIX System             FORM(3X)



          NAME
               form - FORM library routines

          SYNOPSIS
               #include <form.h>

               cc [ flags ] files -lform -lcurses [ libraries ]

               FORM * new_form (fields)
               FIELD ** fields;
               int free_form (form)
               FORM * form;
               int set_new_page (field, bool)
               FIELD * field;
               int bool;
               int new_page (field)
               FIELD * field;
               int set_form_fields (form, fields)
               FORM * form;
               FIELD ** fields;
               FIELD ** form_fields (form)
               FORM * form;
               int field_count (form)
               FORM * form;
               int set_form_win (form, window)
               FORM * form;
               WINDOW * window;
               WINDOW * form_win (form)
               FORM * form;
               int set_form_sub (form, window)
               FORM * form;
               WINDOW * window;
               WINDOW * form_sub (form)
               FORM * form;
               int set_current_field (form, field)
               FORM * form;
               FIELD * field;
               FIELD *  current_field (form)
               FORM * form;
               int field_index(field)
               FIELD * field;
               int set_form_page (form, page)
               FORM * form;
               int page;
               int form_page (form)
               FORM * form;
               int scale_form (form, rows, cols)
               FORM * form;
               int * rows, cols;
               typedef void (* PTF_void) ();
               int set_form_init (form, func)
               FORM * form;
               PTF_void func;


          Rev. Extended Terminal Interface                           Page 1





          FORM(3X)             INTERACTIVE UNIX System             FORM(3X)



               PTF_void form_init (form)
               FORM * form;
               int set_form_term (form, func)
               FORM * form;
               PTF_void func;
               PTF_void form_term (form)
               FORM * form;
               int set_field_init (form, func)
               FORM * form;
               PTF_void func;
               PTF_void field_init (form)
               FORM * form;
               int set_field_term (form, func)
               FORM * form;
               PTF_void func;
               PTF_void field_term (form)
               FORM * form;
               int post_form (form)
               FORM * form;
               int unpost_form (form)
               FORM * form;
               int pos_form_cursor (form)
               FORM * form;
               int form_driver (form, c)
               FORM * form;
               int c;
               int set_form_userptr (form, userptr)
               FORM * form;
               char * userptr;
               char * form_userptr (form)
               FORM * form;
               int set_form_opts (form, opts)
               FORM * form;
               OPTIONS opts;
               OPTIONS form_opts (form)
               FORM * form;
               int form_opts_on (form, opts)
               FORM * form;
               OPTIONS * opts;
               int form_opts_off (form, opts)
               FORM * form;
               OPTIONS * opts;

          DESCRIPTION
               FORM routines run on the AT&T processor line using any ter-
               minal supported by curses(3X), the low-level ETI library.
               Once you compile your ETI program #includeing the FORM
               header file form.h, you should link it with the form and
               curses library routines.

          FUNCTIONS
               The following is a list of FORM routines. For a complete
               description of each, see the UNIX System V ETI Programmer's


          Rev. Extended Terminal Interface                           Page 2





          FORM(3X)             INTERACTIVE UNIX System             FORM(3X)



               Guide.

               new_form (fields) creates a new form connected to the desig-
               nated fields and returns a pointer to the form.

               free_form (form) disconnects the form from its associated
               field pointer array and deallocates the space for the form.

               set_new_page (field,bool) marks the given field to begin a
               new page of the form.

               new_page (field) returns a boolean value indicating whether
               or not the given field begins a new page of the form.

               set_form_fields (form, fields) changes the fields connected
               to form to fields.

               form_fields (form) returns a pointer to the field pointer
               array connected to form.

               field_count (form) returns the number of fields connected to
               form.

               set_form_win (form, window) sets window as the form window
               of form.

               form_win (form) returns a pointer to the window associated
               with form.

               set_form_sub (form, window) sets window as the form subwin-
               dow of form.

               form_sub (form) returns a pointer to the subwindow associ-
               ated with form.

               set_current_field (form, field) sets the current field of
               form to field.

               current_field (form) returns a pointer to the current field
               of form.

               field_index(field) returns the index in the field pointer
               array to the given field

               set_form_page (form, page) sets the page number of form to
               page.

               form_page (form) returns the current page number of form.

               scale_form (form, rows, cols) returns the smallest window
               size necessary for form.  rows and cols are pointers to the
               locations used to return the number of rows and columns for
               the form.


          Rev. Extended Terminal Interface                           Page 3





          FORM(3X)             INTERACTIVE UNIX System             FORM(3X)



               The workhorse of the forms subsystem, form_driver (form, c),
               checks if the character c is a form request or data.  If it
               is a request, the form driver executes the request and
               reports the result.  If it is data (a printable ASCII char-
               acter), it enters the data into the current position in the
               current field.  If it is not recognized, the form driver
               assumes it is an application-defined command and returns
               E_UNKNOWN_COMMAND.

               The following set_ functions enable you to establish appli-
               cation routines to be executed automatically at initializa-
               tion and termination points in your form application.  You
               need not specify any application-defined initialization or
               termination routines at all, but they may be helpful for
               displaying messages or page numbers and other chores.

               set_form_init (form, func) sets an application-defined ini-
               tialization func to be called when the form is posted and
               just after a page change.

               form_init (form) returns a pointer to the initialization
               function, if any, called when the form is posted and just
               after a page change.

               set_form_term (form, func) sets an application-defined func
               to be called when the form is unposted and just before a
               page change.

               form_term (form) returns a pointer to the termination func-
               tion, if any, called when the form is unposted and just
               before a page change.

               set_field_init (form, func) sets an application-defined func
               to be called when the form is posted and just after the
               current field changes.

               field_init (form) returns a pointer to the initialization
               function, if any, called when the form is posted and just
               after the current field changes.

               set_field_term (form, func) sets func to be called when the
               form is unposted and just before the current field changes.

               field_term (form) returns a pointer to the termination func-
               tion, if any, called when the form is unposted and just
               before the current field changes.

               post_form (form) writes the form in its associated subwin-
               dow.

               unpost_form (form) erases the form from its associated
               subwindow.



          Rev. Extended Terminal Interface                           Page 4





          FORM(3X)             INTERACTIVE UNIX System             FORM(3X)



               pos_form_cursor (form) moves the form window cursor to the
               location required by the form driver to resume form process-
               ing.  This is sometimes helpful after you write a message or
               page number.

               Every form has an associated user pointer that you can use
               to store pertinent data.  set_form_userptr (form, userptr)
               sets the form's user pointer.

               form_userptr (form) returns the form's user pointer.

               set_form_opts (form, opts) turns on the named options for
               the form and turns off all its remaining options.  Options
               are boolean values.  Currently, there are two form options,
               O_NL_OVERLOAD and O_BS_OVERLOAD.

               form_opts (form) returns the form's options setting.

               form_opts_on (form, opts) turns on the named options.

               form_opts_off (form, opts) turns off the named options.

          SEE ALSO
               curses(3X), field(3X), fieldtype(3X), item(3x), panel(3X),
               menu(3X), tam(3X).

               The UNIX System V ETI Programmer's Guide.

          DIAGNOSTICS
               The following values are returned by one or more routines
               that return an integer.  For specific information on which
               routines return which value, see the ETI Programmer's Guide.

               E_OK                 function returned successfully

               E_CONNECTED          object is connected

               E_SYSTEM_ERROR       system error

               E_BAD_ARGUMENT       argument is incorrect

               E_CURRENT            field is current field

               E_POSTED             form is posted

               E_INVALID_FIELD      field is invalid

               E_NOT_CONNECTED      object is not connected

               E_NO_ROOM            form does not fit in subwindow

               E_BAD_STATE          called from inappropriate routine



          Rev. Extended Terminal Interface                           Page 5





          FORM(3X)             INTERACTIVE UNIX System             FORM(3X)



               E_UNKNOWN_COMMAND    unknown command was given to the form
                                    driver

               E_REQUEST_DENIED     recognized request failed



















































          Rev. Extended Terminal Interface                           Page 6



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026