form_driver(3X) form_driver(3X)
NAME
formdriver - command processor for the forms subsystem
SYNOPSIS
#include <form.h>
int formdriver(FORM *form, int c);
DESCRIPTION
formdriver is the workhorse of the forms subsystem; it checks to
determine whether the character c is a forms 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 character), 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 EUNKNOWNCOMMAND. Application defined commands
should be defined relative to MAXCOMMAND, the maximum value of a
request listed below.
Form driver requests:
REQNEXTPAGE Move to the next page.
REQPREVPAGE Move to the previous page.
REQFIRSTPAGE Move to the first page.
REQLASTPAGE Move to the last page.
REQNEXTFIELD Move to the next field.
REQPREVFIELD Move to the previous field.
REQFIRSTFIELD Move to the first field.
REQLASTFIELD Move to the last field.
REQSNEXTFIELD Move to the sorted next field.
REQSPREVFIELD Move to the sorted prev field.
REQSFIRSTFIELD Move to the sorted first field.
REQSLASTFIELD Move to the sorted last field.
REQLEFTFIELD Move left to field.
REQRIGHTFIELD Move right to field.
REQUPFIELD Move up to field.
REQDOWNFIELD Move down to field.
REQNEXTCHAR Move to the next character in the field.
REQPREVCHAR Move to the previous character in the field.
REQNEXTLINE Move to the next line in the field.
REQPREVLINE Move to the previous line in the field.
REQNEXTWORD Move to the next word in the field.
REQPREVWORD Move to the previous word in the field.
REQBEGFIELD Move to the first char in the field.
REQENDFIELD Move after the last char in the field.
REQBEGLINE Move to the beginning of the line.
REQENDLINE Move after the last char in the line.
REQLEFTCHAR Move left in the field.
REQRIGHTCHAR Move right in the field.
REQUPCHAR Move up in the field.
REQDOWNCHAR Move down in the field.
REQNEWLINE Insert/overlay a new line.
7/91 Page 1
form_driver(3X) form_driver(3X)
REQINSCHAR Insert the blank character at the cursor.
REQINSLINE Insert a blank line at the cursor.
REQDELCHAR Delete the character at the cursor.
REQDELPREV Delete the character before the cursor.
REQDELLINE Delete the line at the cursor.
REQDELWORD Delete the word at the cursor.
REQCLREOL Clear to the end of the line.
REQCLREOF Clear to the end of the field.
REQCLRFIELD Clear the entire field.
REQOVLMODE Enter overlay mode.
REQINSMODE Enter insert mode.
REQSCRFLINE Scroll the field forward a line.
REQSCRBLINE Scroll the field backward a line.
REQSCRFPAGE Scroll the field forward a page.
REQSCRBPAGE Scroll the field backward a page.
REQSCRFHPAGE Scroll the field forward half a page.
REQSCRBHPAGE Scroll the field backward half a page.
REQSCRFCHAR Horizontal scroll forward a character.
REQSCRBCHAR Horizontal scroll backward a character.
REQSCRHFLINE Horizontal scroll forward a line.
REQSCRHBLINE Horizontal scroll backward a line.
REQSCRHFHALF Horizontal scroll forward half a line.
REQSCRHBHALF Horizontal scroll backward half a line.
REQVALIDATION Validate field.
REQPREVCHOICE Display the previous field choice.
REQNEXTCHOICE Display the next field choice.
RETURN VALUE
formdriver returns one of the following:
EOK - The function returned successfully.
ESYSTEMERROR - System error.
EBADARGUMENT - An argument is incorrect.
ENOTPOSTED - The form is not posted.
EINVALIDFIELD - The field contents are invalid.
EBADSTATE - The routine was called from an
initialization or termination
function.
EREQUESTDENIED - The form driver request failed.
EUNKNOWNCOMMAND - An unknown request was passed to
the the form driver.
NOTES
The header file <form.h> automatically includes the header files
<eti.h> and <curses.h>.
SEE ALSO
curses(3X), forms(3X).
Page 2 7/91