8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / man / man3curses / forms.3curses
blob3f244d3c79de52f3f05bb7aff9cac04dca8e7cc7
1 '\" te
2 .\"  Copyright 1989 AT&T
3 .\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
5 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
6 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
7 .TH FORMS 3CURSES "Dec 31, 1996"
8 .SH NAME
9 forms \- character based forms package
10 .SH SYNOPSIS
11 .LP
12 .nf
13 \fB#include <form.h>\fR
14 .fi
16 .SH DESCRIPTION
17 .sp
18 .LP
19 The \fBform\fR library is built using the \fBcurses\fR library, and any program
20 using \fBforms\fR routines must call one of the \fBcurses\fR initialization
21 routines such as \fBinitscr\fR. A program using these routines must be compiled
22 with \fB-lform\fR and \fB-lcurses\fR on the \fBcc\fR command line.
23 .sp
24 .LP
25 The \fBforms\fR package gives the applications programmer a
26 terminal-independent method of creating and customizing forms for
27 user-interaction. The \fBforms\fR package includes: field routines, which are
28 used to create and customize fields, link fields and assign field types;
29 fieldtype routines, which are used to create new field types for validating
30 fields; and form routines, which are used to create and customize forms, assign
31 pre/post processing functions, and display and interact with forms.
32 .SS "Current Default Values for Field Attributes"
33 .sp
34 .LP
35 The \fBforms\fR package establishes initial current default values for field
36 attributes. During field initialization, each field attribute is assigned the
37 current default value for that attribute. An application can change or retrieve
38 a current default attribute value by calling the appropriate set or retrieve
39 routine with a \fINULL\fR field pointer. If an application changes a current
40 default field attribute value, subsequent fields created using
41 \fBnew_field()\fR will have the new default attribute value. (The attributes of
42 previously created fields are not changed if a current default attribute value
43 is changed.)
44 .SS "Routine Name Index"
45 .sp
46 .LP
47 The following table lists each \fBforms\fR routine and the name of the manual
48 page on which it is described.
49 .sp
50 .ne 2
51 .na
52 \fBforms Routine Name\fR
53 .ad
54 .RS 25n
55 \fBManual Page Name\fR
56 .RE
58 .sp
59 .ne 2
60 .na
61 \fBcurrent_field\fR
62 .ad
63 .RS 25n
64 form_page(3X)
65 .RE
67 .sp
68 .ne 2
69 .na
70 \fBdata_ahead\fR
71 .ad
72 .RS 25n
73 form_data(3X)
74 .RE
76 .sp
77 .ne 2
78 .na
79 \fBdata_behind\fR
80 .ad
81 .RS 25n
82 form_data(3X)
83 .RE
85 .sp
86 .ne 2
87 .na
88 \fBdup_field\fR
89 .ad
90 .RS 25n
91 form_field_new(3X)
92 .RE
94 .sp
95 .ne 2
96 .na
97 \fBdynamic_field_info\fR
98 .ad
99 .RS 25n
100 form_field_info(3X)
104 .ne 2
106 \fBfield_arg\fR
108 .RS 25n
109 form_field_validation(3X)
113 .ne 2
115 \fBfield_back\fR
117 .RS 25n
118 form_field_attributes(3X)
122 .ne 2
124 \fBfield_buffer\fR
126 .RS 25n
127 form_field_buffer(3X)
131 .ne 2
133 \fBfield_count\fR
135 .RS 25n
136 form_field(3X)
140 .ne 2
142 \fBfield_fore\fR
144 .RS 25n
145 form_field_attributes(3X)
149 .ne 2
151 \fBfield_index\fR
153 .RS 25n
154 form_page(3X)
158 .ne 2
160 \fBfield_info\fR
162 .RS 25n
163 form_field_info(3X)
167 .ne 2
169 \fBfield_init\fR
171 .RS 25n
172 form_hook(3X)
176 .ne 2
178 \fBfield_just\fR
180 .RS 25n
181 form_field_just(3X)
185 .ne 2
187 \fBfield_opts\fR
189 .RS 25n
190 form_field_opts(3X)
194 .ne 2
196 \fBfield_opts_off\fR
198 .RS 25n
199 form_field_opts(3X)
203 .ne 2
205 \fBfield_opts_on\fR
207 .RS 25n
208 form_field_opts(3X)
212 .ne 2
214 \fBfield_pad\fR
216 .RS 25n
217 form_field_attributes(3X)
221 .ne 2
223 \fBfield_status\fR
225 .RS 25n
226 form_field_buffer(3X)
230 .ne 2
232 \fBfield_term\fR
234 .RS 25n
235 form_hook(3X)
239 .ne 2
241 \fBfield_type\fR
243 .RS 25n
244 form_field_validation(3X)
248 .ne 2
250 \fBfield_userptr\fR
252 .RS 25n
253 form_field_userptr(3X)
257 .ne 2
259 \fBform_driver\fR
261 .RS 25n
262 form_driver(3X)
266 .ne 2
268 \fBform_fields\fR
270 .RS 25n
271 form_field(3X)
275 .ne 2
277 \fBform_init\fR
279 .RS 25n
280 form_hook(3X)
284 .ne 2
286 \fBform_opts\fR
288 .RS 25n
289 form_opts(3X)
293 .ne 2
295 \fBform_opts_off\fR
297 .RS 25n
298 form_opts(3X)
302 .ne 2
304 \fBform_opts_on\fR
306 .RS 25n
307 form_opts(3X)
311 .ne 2
313 \fBform_page\fR
315 .RS 25n
316 form_page(3X)
320 .ne 2
322 \fBform_sub\fR
324 .RS 25n
325 form_win(3X)
329 .ne 2
331 \fBform_term\fR
333 .RS 25n
334 form_hook(3X)
338 .ne 2
340 \fBform_userptr\fR
342 .RS 25n
343 form_userptr(3X)
347 .ne 2
349 \fBform_win\fR
351 .RS 25n
352 form_win(3X)
356 .ne 2
358 \fBfree_field\fR
360 .RS 25n
361 form_field_new(3X)
365 .ne 2
367 \fBfree_fieldtype\fR
369 .RS 25n
370 form_fieldtype(3X)
374 .ne 2
376 \fBfree_form\fR
378 .RS 25n
379 form_new(3X)
383 .ne 2
385 \fBlink_field\fR
387 .RS 25n
388 form_field_new(3X)
392 .ne 2
394 \fBlink_fieldtype\fR
396 .RS 25n
397 form_fieldtype(3X)
401 .ne 2
403 \fBmove_field\fR
405 .RS 25n
406 form_field(3X)
410 .ne 2
412 \fBnew_field\fR
414 .RS 25n
415 form_field_new(3X)
419 .ne 2
421 \fBnew_fieldtype\fR
423 .RS 25n
424 form_fieldtype(3X)
428 .ne 2
430 \fBnew_form\fR
432 .RS 25n
433 form_new(3X)
437 .ne 2
439 \fBnew_page\fR
441 .RS 25n
442 form_new_page(3X)
446 .ne 2
448 \fBpos_form_cursor\fR
450 .RS 25n
451 form_cursor(3X)
455 .ne 2
457 \fBpost_form\fR
459 .RS 25n
460 form_post(3X)
464 .ne 2
466 \fBscale_form\fR
468 .RS 25n
469 form_win(3X)
473 .ne 2
475 \fBset_current_field\fR
477 .RS 25n
478 form_page(3X)
482 .ne 2
484 \fBset_field_back\fR
486 .RS 25n
487 form_field_attributes(3X)
491 .ne 2
493 \fBset_field_buffer\fR
495 .RS 25n
496 form_field_buffer(3X)
500 .ne 2
502 \fBset_field_fore\fR
504 .RS 25n
505 form_field_attributes(3X)
509 .ne 2
511 \fBset_field_init\fR
513 .RS 25n
514 form_hook(3X)
518 .ne 2
520 \fB set_field_just\fR
522 .RS 25n
523 form_field_just(3X)
527 .ne 2
529 \fBset_field_opts\fR
531 .RS 25n
532 form_field_opts(3X)
536 .ne 2
538 \fBset_field_pad\fR
540 .RS 25n
541 form_field_attributes(3X)
545 .ne 2
547 \fBset_field_status\fR
549 .RS 25n
550 form_field_buffer(3X)
554 .ne 2
556 \fBset_field_term\fR
558 .RS 25n
559 form_hook(3X)
563 .ne 2
565 \fBset_field_type\fR
567 .RS 25n
568 form_field_validation(3X)
572 .ne 2
574 \fBset_field_userptr\fR
576 .RS 25n
577 form_field_userptr(3X)
581 .ne 2
583 \fBset_fieldtype_arg\fR
585 .RS 25n
586 form_fieldtype(3X)
590 .ne 2
592 \fBset_fieldtype_choice\fR
594 .RS 25n
595 form_fieldtype(3X)
599 .ne 2
601 \fBset_form_fields\fR
603 .RS 25n
604 form_field(3X)
608 .ne 2
610 \fBset_form_init\fR
612 .RS 25n
613 form_hook(3X)
617 .ne 2
619 \fBset_form_opts\fR
621 .RS 25n
622 form_opts(3X)
626 .ne 2
628 \fBset_form_page\fR
630 .RS 25n
631 form_page(3X)
635 .ne 2
637 \fBset_form_sub\fR
639 .RS 25n
640 form_win(3X)
644 .ne 2
646 \fBset_form_term\fR
648 .RS 25n
649 form_hook(3X)
653 .ne 2
655 \fBset_form_userptr\fR
657 .RS 25n
658 form_userptr(3X)
662 .ne 2
664 \fBset_form_win\fR
666 .RS 25n
667 form_win(3X)
671 .ne 2
673 \fBset_max_field\fR
675 .RS 25n
676 form_field_buffer(3X)
680 .ne 2
682 \fBset_new_page\fR
684 .RS 25n
685 form_new_page(3X)
689 .ne 2
691 \fBunpost_form\fR
693 .RS 25n
694 form_post(3X)
697 .SH RETURN VALUES
700 Routines that return a pointer always return \fINULL\fR on error. Routines that
701 return an integer return one of the following:
703 .ne 2
705 \fB\fBE_OK\fR\fR
707 .RS 21n
708 The function returned successfully.
712 .ne 2
714 \fB\fBE_CONNECTED\fR\fR
716 .RS 21n
717 The field is already connected to a form.
721 .ne 2
723 \fB\fBE_SYSTEM_ERROR\fR\fR
725 .RS 21n
726 System error.
730 .ne 2
732 \fB\fBE_BAD_ARGUMENT\fR\fR
734 .RS 21n
735 An argument is incorrect.
739 .ne 2
741 \fB\fBE_CURRENT\fR\fR
743 .RS 21n
744 The field is the current field.
748 .ne 2
750 \fB\fBE_POSTED\fR\fR
752 .RS 21n
753 The form is posted.
757 .ne 2
759 \fB\fBE_NOT_POSTED\fR\fR
761 .RS 21n
762 The form is not posted.
766 .ne 2
768 \fB\fBE_INVALID_FIELD\fR\fR
770 .RS 21n
771 The field contents are invalid.
775 .ne 2
777 \fB\fBE_NOT_CONNECTED\fR\fR
779 .RS 21n
780 The field is not connected to a form.
784 .ne 2
786 \fB\fBE_NO_ROOM\fR\fR
788 .RS 21n
789 The form does not fit in the subwindow.
793 .ne 2
795 \fB\fBE_BAD_STATE\fR\fR
797 .RS 21n
798 The routine was called from an initialization or termination function.
802 .ne 2
804 \fB\fBE_REQUEST_DENIED\fR\fR
806 .RS 21n
807 The form driver request failed.
811 .ne 2
813 \fB\fBE_UNKNOWN_COMMAND\fR\fR
815 .RS 21n
816 An unknown request was passed to the form driver.
819 .SH ATTRIBUTES
822 See \fBattributes\fR(5) for descriptions of the following attributes:
827 box;
828 c | c
829 l | l .
830 ATTRIBUTE TYPE  ATTRIBUTE VALUE
832 MT-Level        Unsafe
835 .SH SEE ALSO
838 \fBcurses\fR(3CURSES), \fBattributes\fR(5)
839 .SH NOTES
842 The header \fB<form.h>\fR automatically includes the headers  \fB<eti.h>\fR and
843 \fB<curses.h>\fR\&.