form(3X) form(3X)
NAME
form - curses extension for programming forms
SYNOPSIS
##include <>
DESCRIPTION
The form library provides terminal-independent facilities for composing
form screens on character-cell terminals. The library includes: field
routines, which create and modify form fields; and form routines, which
group fields into forms, display forms on the screen, and handle inter-
action with the user.
The form library uses the curses libraries, and a curses initialization
routine such as initscr must be called before using any of these func-
tions. To use the form library, link with the options -lform -lcurses.
Current Default Values for Field Attributes
The form library maintains a default value for field attributes. You
can get or set this default by calling the appropriate set or
retrieval routine with a NUL field pointer. Changing this default
with a set function affects future field creations, but does not
change the rendering of fields already created.
Routine Name Index
The following table lists each form routine and the name of the manual
page on which it is described.
curses Routine Name Manual Page Name
-------------------------------------------------
currentfield formpage(3X)
dataahead formdata(3X)
databehind formdata(3X)
dupfield formfieldnew(3X)
dynamicfieldinfo formfieldinfo(3X)
fieldarg formfieldvalidation(3X)
fieldback formfieldattributes(3X)
fieldbuffer formfieldbuffer(3X)
fieldcount formfield(3X)
fieldfore formfieldattributes(3X)
fieldindex formpage(3X)
fieldinfo formfieldinfo(3X)
fieldinit formhook(3X)
fieldjust formfieldjust(3X)
fieldopts formfieldopts(3X)
fieldoptsoff formfieldopts(3X)
fieldoptson formfieldopts(3X)
fieldpad formfieldattributes(3X)
fieldstatus formfieldbuffer(3X)
fieldterm formhook(3X)
fieldtype formfieldvalidation(3X)
fielduserptr formfielduserptr(3X)
formdriver formdriver(3X)
formfields formfield(3X)
forminit formhook(3X)
formopts formopts(3X)
formoptsoff formopts(3X)
formoptson formopts(3X)
formpage formpage(3X)
formrequestbyname formrequestname(3X)
formrequestname formrequestname(3X)
formsub formwin(3X)
formterm formhook(3X)
formuserptr formuserptr(3X)
formwin formwin(3X)
freefield formfieldnew(3X)
freeform formnew(3X)
linkfield formfieldnew(3X)
linkfieldtype formfieldtype(3X)
movefield formfield(3X)
newfield formfieldnew(3X)
newform formnew(3X)
newpage formnewpage(3X)
posformcursor formcursor(3X)
postform formpost(3X)
scaleform formwin(3X)
setcurrentfield formpage(3X)
setfieldback formfieldattributes(3X)
setfieldbuffer formfieldbuffer(3X)
setfieldfore formfieldattributes(3X)
setfieldinit formhook(3X)
setfieldjust formfieldjust(3X)
setfieldopts formfieldopts(3X)
setfieldpad formfieldattributes(3X)
setfieldstatus formfieldbuffer(3X)
setfieldterm formhook(3X)
setfieldtype formfieldvalidation(3X)
setfielduserptr formfielduserptr(3X)
setfieldtypearg formfieldtype(3X)
setfieldtypechoice formfieldtype(3X)
setformfields formfield(3X)
setforminit formhook(3X)
setformopts formfieldopts(3X)
setformpage formpage(3X)
setformsub formwin(3X)
setformterm formhook(3X)
setformuserptr formuserptr(3X)
setformwin formwin(3X)
setmaxfield formfieldbuffer(3X)
setnewpage formnewpage(3X)
unpostform formpost(3X)
RETURN VALUE
Routines that return pointers return NUL on error. Routines that
return an integer return one of the following error codes:
EOK The routine succeeded.
ECONECTED
The field is already connected to a form.
ESYSTEMEROR
System error occurred (see errno).
EBADARGUMENT
Routine detected an incorrect or out-of-range argument.
EPOSTED
The form is already posted.
EBADSTATE
Routine was called from an initialization or termination function.
ENOROM
Form is too large for its window.
ENOTPOSTED
The form has not been posted.
EUNKNOWNCOMAND
The form driver code saw an unknown request code.
EINVALIDFIELD
Contents of a field are not valid.
ENOTCONECTED
No fields are connected to the form.
EREQUESTDENIED
The form driver could not process the request.
SEE ALSO
curses(3X) and related pages whose names begin "form" for detailed
descriptions of the entry points.
NOTES
The header file <> automatically includes the header files
<> and <>.
In your library list, libform.a should be before libncurses.a; that is,
you want to say `-lform -lncurses', not the other way around (which
would give you a link error using GNU ld(1) and many other linkers).
PORTABILITY
These routines emulate the System V forms library. They were not sup-
ported on Version 7 or BSD versions.
AUTHORS
Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric S.
Raymond.
form(3X)
|