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