aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/hackguide.doc165
-rw-r--r--doc/html/Ada95.html6
-rw-r--r--doc/html/NCURSES-Programming-HOWTO.html14524
-rw-r--r--doc/html/ada/files/T.htm1
-rw-r--r--doc/html/ada/funcs/A.htm33
-rw-r--r--doc/html/ada/funcs/B.htm24
-rw-r--r--doc/html/ada/funcs/C.htm79
-rw-r--r--doc/html/ada/funcs/D.htm72
-rw-r--r--doc/html/ada/funcs/E.htm20
-rw-r--r--doc/html/ada/funcs/F.htm86
-rw-r--r--doc/html/ada/funcs/G.htm122
-rw-r--r--doc/html/ada/funcs/H.htm24
-rw-r--r--doc/html/ada/funcs/I.htm82
-rw-r--r--doc/html/ada/funcs/K.htm12
-rw-r--r--doc/html/ada/funcs/L.htm19
-rw-r--r--doc/html/ada/funcs/M.htm76
-rw-r--r--doc/html/ada/funcs/N.htm28
-rw-r--r--doc/html/ada/funcs/O.htm8
-rw-r--r--doc/html/ada/funcs/P.htm42
-rw-r--r--doc/html/ada/funcs/R.htm58
-rw-r--r--doc/html/ada/funcs/S.htm304
-rw-r--r--doc/html/ada/funcs/T.htm39
-rw-r--r--doc/html/ada/funcs/U.htm32
-rw-r--r--doc/html/ada/funcs/V.htm6
-rw-r--r--doc/html/ada/funcs/W.htm78
-rw-r--r--doc/html/ada/main.htm1
-rw-r--r--doc/html/ada/table.html40
-rw-r--r--doc/html/ada/terminal_interface-curses-aux__adb.htm70
-rw-r--r--doc/html/ada/terminal_interface-curses-aux__ads.htm127
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm24
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm8
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm24
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm8
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm22
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm14
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm47
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm24
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm30
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm8
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm24
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm8
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm32
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm8
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm29
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm8
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm40
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm22
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm77
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm24
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm202
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm76
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm35
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm22
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm35
-rw-r--r--doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm22
-rw-r--r--doc/html/ada/terminal_interface-curses-forms__adb.htm1056
-rw-r--r--doc/html/ada/terminal_interface-curses-forms__ads.htm895
-rw-r--r--doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm36
-rw-r--r--doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm22
-rw-r--r--doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm36
-rw-r--r--doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm22
-rw-r--r--doc/html/ada/terminal_interface-curses-menus__adb.htm1123
-rw-r--r--doc/html/ada/terminal_interface-curses-menus__ads.htm666
-rw-r--r--doc/html/ada/terminal_interface-curses-mouse__adb.htm221
-rw-r--r--doc/html/ada/terminal_interface-curses-mouse__ads.htm233
-rw-r--r--doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm32
-rw-r--r--doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm18
-rw-r--r--doc/html/ada/terminal_interface-curses-panels__adb.htm128
-rw-r--r--doc/html/ada/terminal_interface-curses-panels__ads.htm107
-rw-r--r--doc/html/ada/terminal_interface-curses-putwin__adb.htm36
-rw-r--r--doc/html/ada/terminal_interface-curses-putwin__ads.htm12
-rw-r--r--doc/html/ada/terminal_interface-curses-termcap__adb.htm34
-rw-r--r--doc/html/ada/terminal_interface-curses-termcap__ads.htm14
-rw-r--r--doc/html/ada/terminal_interface-curses-terminfo__adb.htm38
-rw-r--r--doc/html/ada/terminal_interface-curses-terminfo__ads.htm16
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm24
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm6
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm10
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm6
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm10
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm6
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm10
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm6
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm10
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm6
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm10
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm6
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm10
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm6
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm10
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm6
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io__adb.htm126
-rw-r--r--doc/html/ada/terminal_interface-curses-text_io__ads.htm32
-rw-r--r--doc/html/ada/terminal_interface-curses-trace__adb.htm45
-rw-r--r--doc/html/ada/terminal_interface-curses-trace__ads.htm117
-rw-r--r--doc/html/ada/terminal_interface-curses__adb.htm3090
-rw-r--r--doc/html/ada/terminal_interface-curses__ads.htm2324
-rw-r--r--doc/html/ada/terminal_interface-curses_constants__ads.htm401
-rw-r--r--doc/html/announce.html3152
-rw-r--r--doc/html/hackguide.html1814
-rw-r--r--doc/html/index.html63
-rw-r--r--doc/html/man/adacurses-config.1.html98
-rw-r--r--doc/html/man/adacurses6-config.1.html145
-rw-r--r--doc/html/man/captoinfo.1m.html174
-rw-r--r--doc/html/man/clear.1.html145
-rw-r--r--doc/html/man/curs_add_wch.3x.html394
-rw-r--r--doc/html/man/curs_add_wchstr.3x.html119
-rw-r--r--doc/html/man/curs_addch.3x.html386
-rw-r--r--doc/html/man/curs_addchstr.3x.html107
-rw-r--r--doc/html/man/curs_addstr.3x.html95
-rw-r--r--doc/html/man/curs_addwstr.3x.html102
-rw-r--r--doc/html/man/curs_attr.3x.html649
-rw-r--r--doc/html/man/curs_beep.3x.html82
-rw-r--r--doc/html/man/curs_bkgd.3x.html189
-rw-r--r--doc/html/man/curs_bkgrnd.3x.html135
-rw-r--r--doc/html/man/curs_border.3x.html120
-rw-r--r--doc/html/man/curs_border_set.3x.html116
-rw-r--r--doc/html/man/curs_clear.3x.html134
-rw-r--r--doc/html/man/curs_color.3x.html641
-rw-r--r--doc/html/man/curs_delch.3x.html88
-rw-r--r--doc/html/man/curs_deleteln.3x.html107
-rw-r--r--doc/html/man/curs_extend.3x.html109
-rw-r--r--doc/html/man/curs_get_wch.3x.html175
-rw-r--r--doc/html/man/curs_get_wstr.3x.html185
-rw-r--r--doc/html/man/curs_getcchar.3x.html200
-rw-r--r--doc/html/man/curs_getch.3x.html600
-rw-r--r--doc/html/man/curs_getstr.3x.html197
-rw-r--r--doc/html/man/curs_getyx.3x.html119
-rw-r--r--doc/html/man/curs_in_wch.3x.html83
-rw-r--r--doc/html/man/curs_in_wchstr.3x.html101
-rw-r--r--doc/html/man/curs_inch.3x.html130
-rw-r--r--doc/html/man/curs_inchstr.3x.html122
-rw-r--r--doc/html/man/curs_initscr.3x.html316
-rw-r--r--doc/html/man/curs_inopts.3x.html440
-rw-r--r--doc/html/man/curs_ins_wch.3x.html78
-rw-r--r--doc/html/man/curs_ins_wstr.3x.html115
-rw-r--r--doc/html/man/curs_insch.3x.html95
-rw-r--r--doc/html/man/curs_insstr.3x.html112
-rw-r--r--doc/html/man/curs_instr.3x.html102
-rw-r--r--doc/html/man/curs_inwstr.3x.html111
-rw-r--r--doc/html/man/curs_kernel.3x.html283
-rw-r--r--doc/html/man/curs_legacy.3x.html129
-rw-r--r--doc/html/man/curs_memleaks.3x.html120
-rw-r--r--doc/html/man/curs_mouse.3x.html469
-rw-r--r--doc/html/man/curs_move.3x.html76
-rw-r--r--doc/html/man/curs_opaque.3x.html99
-rw-r--r--doc/html/man/curs_outopts.3x.html341
-rw-r--r--doc/html/man/curs_overlay.3x.html125
-rw-r--r--doc/html/man/curs_pad.3x.html310
-rw-r--r--doc/html/man/curs_print.3x.html97
-rw-r--r--doc/html/man/curs_printw.3x.html130
-rw-r--r--doc/html/man/curs_refresh.3x.html208
-rw-r--r--doc/html/man/curs_scanw.3x.html161
-rw-r--r--doc/html/man/curs_scr_dump.3x.html141
-rw-r--r--doc/html/man/curs_scroll.3x.html108
-rw-r--r--doc/html/man/curs_slk.3x.html361
-rw-r--r--doc/html/man/curs_sp_funcs.3x.html200
-rw-r--r--doc/html/man/curs_termattrs.3x.html187
-rw-r--r--doc/html/man/curs_termcap.3x.html326
-rw-r--r--doc/html/man/curs_terminfo.3x.html754
-rw-r--r--doc/html/man/curs_threads.3x.html1120
-rw-r--r--doc/html/man/curs_touch.3x.html146
-rw-r--r--doc/html/man/curs_trace.3x.html291
-rw-r--r--doc/html/man/curs_util.3x.html556
-rw-r--r--doc/html/man/curs_variables.3x.html249
-rw-r--r--doc/html/man/curs_window.3x.html328
-rw-r--r--doc/html/man/default_colors.3x.html204
-rw-r--r--doc/html/man/define_key.3x.html87
-rw-r--r--doc/html/man/form.3x.html323
-rw-r--r--doc/html/man/form_cursor.3x.html87
-rw-r--r--doc/html/man/form_data.3x.html79
-rw-r--r--doc/html/man/form_driver.3x.html453
-rw-r--r--doc/html/man/form_field.3x.html109
-rw-r--r--doc/html/man/form_field_attributes.3x.html105
-rw-r--r--doc/html/man/form_field_buffer.3x.html163
-rw-r--r--doc/html/man/form_field_info.3x.html110
-rw-r--r--doc/html/man/form_field_just.3x.html94
-rw-r--r--doc/html/man/form_field_new.3x.html118
-rw-r--r--doc/html/man/form_field_opts.3x.html171
-rw-r--r--doc/html/man/form_field_userptr.3x.html87
-rw-r--r--doc/html/man/form_field_validation.3x.html216
-rw-r--r--doc/html/man/form_fieldtype.3x.html164
-rw-r--r--doc/html/man/form_hook.3x.html116
-rw-r--r--doc/html/man/form_new.3x.html92
-rw-r--r--doc/html/man/form_new_page.3x.html91
-rw-r--r--doc/html/man/form_opts.3x.html105
-rw-r--r--doc/html/man/form_page.3x.html108
-rw-r--r--doc/html/man/form_post.3x.html93
-rw-r--r--doc/html/man/form_requestname.3x.html95
-rw-r--r--doc/html/man/form_userptr.3x.html89
-rw-r--r--doc/html/man/form_variables.3x.html97
-rw-r--r--doc/html/man/form_win.3x.html109
-rw-r--r--doc/html/man/index.html25
-rw-r--r--doc/html/man/infocmp.1m.html819
-rw-r--r--doc/html/man/infotocap.1m.html98
-rw-r--r--doc/html/man/key_defined.3x.html74
-rw-r--r--doc/html/man/keybound.3x.html79
-rw-r--r--doc/html/man/keyok.3x.html78
-rw-r--r--doc/html/man/legacy_coding.3x.html96
-rw-r--r--doc/html/man/menu.3x.html161
-rw-r--r--doc/html/man/menu_attributes.3x.html122
-rw-r--r--doc/html/man/menu_cursor.3x.html86
-rw-r--r--doc/html/man/menu_driver.3x.html176
-rw-r--r--doc/html/man/menu_format.3x.html103
-rw-r--r--doc/html/man/menu_hook.3x.html118
-rw-r--r--doc/html/man/menu_items.3x.html107
-rw-r--r--doc/html/man/menu_mark.3x.html109
-rw-r--r--doc/html/man/menu_new.3x.html91
-rw-r--r--doc/html/man/menu_opts.3x.html110
-rw-r--r--doc/html/man/menu_pattern.3x.html108
-rw-r--r--doc/html/man/menu_post.3x.html97
-rw-r--r--doc/html/man/menu_requestname.3x.html95
-rw-r--r--doc/html/man/menu_spacing.3x.html114
-rw-r--r--doc/html/man/menu_userptr.3x.html89
-rw-r--r--doc/html/man/menu_win.3x.html109
-rw-r--r--doc/html/man/mitem_current.3x.html119
-rw-r--r--doc/html/man/mitem_name.3x.html82
-rw-r--r--doc/html/man/mitem_new.3x.html103
-rw-r--r--doc/html/man/mitem_opts.3x.html101
-rw-r--r--doc/html/man/mitem_userptr.3x.html87
-rw-r--r--doc/html/man/mitem_value.3x.html88
-rw-r--r--doc/html/man/mitem_visible.3x.html74
-rw-r--r--doc/html/man/ncurses.3x.html2488
-rw-r--r--doc/html/man/ncurses6-config.1.html (renamed from doc/html/man/ncurses5-config.1.html)65
-rw-r--r--doc/html/man/new_pair.3x.html186
-rw-r--r--doc/html/man/panel.3x.html276
-rw-r--r--doc/html/man/resizeterm.3x.html195
-rw-r--r--doc/html/man/scr_dump.5.html435
-rw-r--r--doc/html/man/tabs.1.html223
-rw-r--r--doc/html/man/term.5.html479
-rw-r--r--doc/html/man/term.7.html291
-rw-r--r--doc/html/man/term_variables.3x.html240
-rw-r--r--doc/html/man/terminfo.5.html4499
-rw-r--r--doc/html/man/tic.1m.html688
-rw-r--r--doc/html/man/toe.1m.html197
-rw-r--r--doc/html/man/tput.1.html662
-rw-r--r--doc/html/man/tset.1.html553
-rw-r--r--doc/html/man/user_caps.5.html400
-rw-r--r--doc/html/man/wresize.3x.html94
-rw-r--r--doc/html/ncurses-intro.html5394
-rw-r--r--doc/ncurses-intro.doc169
241 files changed, 39210 insertions, 33440 deletions
diff --git a/doc/hackguide.doc b/doc/hackguide.doc
index 8e0ba5c0f85b..1bafad2ad10b 100644
--- a/doc/hackguide.doc
+++ b/doc/hackguide.doc
@@ -111,7 +111,7 @@ How to Design Extensions
Our conventions are simple:
1. Maintain package-internal files in plain text. The expected viewer
- for them more(1) or an editor window; there's no point in
+ for them more(1) or an editor window; there is no point in
elaborate mark-up.
2. Mark up manual pages in the man macros. These have to be viewable
through traditional man(1) programs.
@@ -120,10 +120,10 @@ How to Design Extensions
When in doubt, HTMLize a master and use lynx(1) to generate plain
ASCII (as we do for the announcement document).
- The reason for choosing HTML is that it's (a) well-adapted for on-line
- browsing through viewers that are everywhere; (b) more easily readable
- as plain text than most other mark-ups, if you don't have a viewer;
- and (c) carries enough information that you can generate a
+ The reason for choosing HTML is that it is (a) well-adapted for
+ on-line browsing through viewers that are everywhere; (b) more easily
+ readable as plain text than most other mark-ups, if you do not have a
+ viewer; and (c) carries enough information that you can generate a
nice-looking printed version from it. Also, of course, it make
exporting things like the announcement document to WWW pretty trivial.
@@ -135,16 +135,16 @@ How to Design Extensions
subscribe <name>@<host.domain>
The ncurses code is maintained by a small group of volunteers. While
- we try our best to fix bugs promptly, we simply don't have a lot of
+ we try our best to fix bugs promptly, we simply do not have a lot of
hours to spend on elementary hand-holding. We rely on intelligent
cooperation from our users. If you think you have found a bug in
ncurses, there are some steps you can take before contacting us that
will help get the bug fixed quickly.
In order to use our bug-fixing time efficiently, we put people who
- show us they've taken these steps at the head of our queue. This means
- that if you don't, you'll probably end up at the tail end and have to
- wait a while.
+ show us they have taken these steps at the head of our queue. This
+ means that if you do not, you will probably end up at the tail end and
+ have to wait a while.
1. Develop a recipe to reproduce the bug.
Bugs we can reproduce are likely to be fixed very quickly, often
within days. The most effective single thing you can do to get a
@@ -155,17 +155,17 @@ How to Design Extensions
2. Try to reproduce the bug on a different terminal type.
In our experience, most of the behaviors people report as library
bugs are actually due to subtle problems in terminal descriptions.
- This is especially likely to be true if you're using a traditional
- asynchronous terminal or PC-based terminal emulator, rather than
- xterm or a UNIX console entry.
- It's therefore extremely helpful if you can tell us whether or not
- your problem reproduces on other terminal types. Usually you'll
- have both a console type and xterm available; please tell us
+ This is especially likely to be true if you are using a
+ traditional asynchronous terminal or PC-based terminal emulator,
+ rather than xterm or a UNIX console entry.
+ It is therefore extremely helpful if you can tell us whether or
+ not your problem reproduces on other terminal types. Usually you
+ will have both a console type and xterm available; please tell us
whether or not your bug reproduces on both.
If you have xterm available, it is also good to collect xterm
reports for different window sizes. This is especially true if you
normally use an unusual xterm window size -- a surprising number
- of the bugs we've seen are either triggered or masked by these.
+ of the bugs we have seen are either triggered or masked by these.
3. Generate and examine a trace file for the broken behavior.
Recompile your program with the debugging versions of the
libraries. Insert a trace() call with the argument set to
@@ -178,35 +178,35 @@ How to Design Extensions
tell you immediately if this is happening, and save you from the
possible embarrassment of being told that the bug is in your code
and is your problem rather than ours.
- If the virtual-screen dumps look correct but the bug persists,
- it's possible to crank up the trace level to give more and more
+ If the virtual-screen dumps look correct but the bug persists, it
+ is possible to crank up the trace level to give more and more
information about the library's update actions and the control
sequences it issues to perform them. The test directory of the
distribution contains a tool for digesting these logs to make them
less tedious to wade through.
- Often you'll find terminfo problems at this stage by noticing that
- the escape sequences put out for various capabilities are wrong.
- If not, you're likely to learn enough to be able to characterize
- any bug in the screen-update logic quite exactly.
+ Often you will find terminfo problems at this stage by noticing
+ that the escape sequences put out for various capabilities are
+ wrong. If not, you are likely to learn enough to be able to
+ characterize any bug in the screen-update logic quite exactly.
4. Report details and symptoms, not just interpretations.
- If you do the preceding two steps, it is very likely that you'll
+ If you do the preceding two steps, it is very likely that you will
discover the nature of the problem yourself and be able to send us
a fix. This will create happy feelings all around and earn you
- good karma for the first time you run into a bug you really can't
+ good karma for the first time you run into a bug you really cannot
characterize and fix yourself.
- If you're still stuck, at least you'll know what to tell us.
+ If you are still stuck, at least you will know what to tell us.
Remember, we need details. If you guess about what is safe to
leave out, you are too likely to be wrong.
If your bug produces a bad update, include a trace file. Try to
make the trace at the least voluminous level that pins down the
- bug. Logs that have been through tracemunch are OK, it doesn't
- throw away any information (actually they're better than
- un-munched ones because they're easier to read).
+ bug. Logs that have been through tracemunch are OK, it does not
+ throw away any information (actually they are better than
+ un-munched ones because they are easier to read).
If your bug produces a core-dump, please include a symbolic stack
trace generated by gdb(1) or your local equivalent.
- Tell us about every terminal on which you've reproduced the bug --
- and every terminal on which you can't. Ideally, sent us terminfo
- sources for all of these (yours might differ from ours).
+ Tell us about every terminal on which you have reproduced the bug
+ -- and every terminal on which you cannot. Ideally, send us
+ terminfo sources for all of these (yours might differ from ours).
Include your ncurses version and your OS/machine type, of course!
You can find your ncurses version in the curses.h file.
@@ -219,8 +219,8 @@ How to Design Extensions
The most important of these is mvcur, a test frame for the
cursor-movement optimization code. With this program, you can see
directly what control sequences will be emitted for any given cursor
- movement or scroll/insert/delete operations. If you think you've got a
- bad capability identified, you can disable it and test again. The
+ movement or scroll/insert/delete operations. If you think you have got
+ a bad capability identified, you can disable it and test again. The
program is command-driven and has on-line help.
If you think the vertical-scroll optimization is broken, or just want
@@ -290,8 +290,9 @@ Library Overview
lib_mouse.c lib_mvcur.c lib_refresh.c lib_setup.c lib_vidattr.c
Most of the algorithmic complexity in the library lives in these
- files. If there is a real bug in ncurses itself, it's probably here.
- We'll tour some of these files in detail below (see The Engine Room).
+ files. If there is a real bug in ncurses itself, it is probably here.
+ We will tour some of these files in detail below (see The Engine
+ Room).
Finally, there is a group of files that is actually most of the
terminfo compiler. The reason this code lives in the ncurses library
@@ -300,7 +301,7 @@ Library Overview
alloc_entry.c captoinfo.c comp_captab.c comp_error.c comp_hash.c
comp_parse.c comp_scan.c parse_entry.c read_termcap.c write_entry.c
- We'll discuss these in the compiler tour.
+ We will discuss these in the compiler tour.
The Engine Room
@@ -323,8 +324,9 @@ The Engine Room
Hackers bruised by previous encounters with variant select(2) calls
may find the code in lib_twait.c interesting. It deals with the
- problem that some BSD selects don't return a reliable time-left value.
- The function timed_wait() effectively simulates a System V select.
+ problem that some BSD selects do not return a reliable time-left
+ value. The function timed_wait() effectively simulates a System V
+ select.
Mouse Events
@@ -341,19 +343,19 @@ The Engine Room
to imply having the prefix somewhere in the function-key capabilities
at terminal-type initialization.
- This kluge only works because kmous isn't actually used by any
+ This kluge only works because kmous is not actually used by any
historic terminal type or curses implementation we know of. Best guess
- is it's a relic of some forgotten experiment in-house at Bell Labs
- that didn't leave any traces in the publicly-distributed System V
+ is it is a relic of some forgotten experiment in-house at Bell Labs
+ that did not leave any traces in the publicly-distributed System V
terminfo files. If System V or XPG4 ever gets serious about using it
again, this kluge may have to change.
Here are some more details about mouse event handling:
- The lib_mouse()code is logically split into a lower level that accepts
- event reports in a device-dependent format and an upper level that
- parses mouse gestures and filters events. The mediating data structure
- is a circular queue of event structures.
+ The lib_mouse() code is logically split into a lower level that
+ accepts event reports in a device-dependent format and an upper level
+ that parses mouse gestures and filters events. The mediating data
+ structure is a circular queue of event structures.
Functionally, the lower level's job is to pick up primitive events and
put them on the circular queue. This can happen in one of two ways:
@@ -380,24 +382,23 @@ The Engine Room
The brains of this operation are the modules hashmap.c, hardscroll.c
and lib_doupdate.c; the latter two use lib_mvcur.c. Essentially, what
happens looks like this:
-
- The hashmap.c module tries to detect vertical motion changes between
- the real and virtual screens. This information is represented by the
- oldindex members in the newscr structure. These are modified by
- vertical-motion and clear operations, and both are re-initialized
- after each update. To this change-journalling information, the hashmap
- code adds deductions made using a modified Heckel algorithm on hash
- values generated from the line contents.
-
- The hardscroll.c module computes an optimum set of scroll, insertion,
- and deletion operations to make the indices match. It calls
- _nc_mvcur_scrolln() in lib_mvcur.c to do those motions.
-
- Then lib_doupdate.c goes to work. Its job is to do line-by-line
- transformations of curscr lines to newscr lines. Its main tool is the
- routine mvcur() in lib_mvcur.c. This routine does cursor-movement
- optimization, attempting to get from given screen location A to given
- location B in the fewest output characters possible.
+ * The hashmap.c module tries to detect vertical motion changes
+ between the real and virtual screens. This information is
+ represented by the oldindex members in the newscr structure. These
+ are modified by vertical-motion and clear operations, and both are
+ re-initialized after each update. To this change-journalling
+ information, the hashmap code adds deductions made using a
+ modified Heckel algorithm on hash values generated from the line
+ contents.
+ * The hardscroll.c module computes an optimum set of scroll,
+ insertion, and deletion operations to make the indices match. It
+ calls _nc_mvcur_scrolln() in lib_mvcur.c to do those motions.
+ * Then lib_doupdate.c goes to work. Its job is to do line-by-line
+ transformations of curscr lines to newscr lines. Its main tool is
+ the routine mvcur() in lib_mvcur.c. This routine does
+ cursor-movement optimization, attempting to get from given screen
+ location A to given location B in the fewest output characters
+ possible.
If you want to work on screen optimizations, you should use the fact
that (in the trace-enabled version of the library) enabling the
@@ -419,7 +420,7 @@ The Engine Room
TYPE_REGEXP will recognize.
The configuration code prefers the POSIX regex facility, modeled on
- System V's, but will settle for BSD regexps if the former isn't
+ System V's, but will settle for BSD regexps if the former is not
available.
Historical note: the panels code was written primarily to assist in
@@ -437,7 +438,7 @@ The Engine Room
The implementation therefore starts with a table-driven, dual-mode
lexical analyzer (in comp_scan.c). The lexer chooses its mode (termcap
- or terminfo) based on the first `,' or `:' it finds in each entry. The
+ or terminfo) based on the first "," or ":" it finds in each entry. The
lexer does all the work of recognizing capability names and values;
the grammar above it is trivial, just "parse entries till you run out
of file".
@@ -460,23 +461,23 @@ Translation of Non-use Capabilities
shareable text space).
Thus, adding a new capability is usually pretty trivial, just a matter
- of adding one line to the include/Caps file. We'll have more to say
+ of adding one line to the include/Caps file. We will have more to say
about this in the section on Source-Form Translation.
Use Capability Resolution
- The background problem that makes tic tricky isn't the capability
- translation itself, it's the resolution of use capabilities. Older
+ The background problem that makes tic tricky is not the capability
+ translation itself, it is the resolution of use capabilities. Older
versions would not handle forward use references for this reason (that
is, a using terminal always had to follow its use target in the source
file). By doing this, they got away with a simple implementation
tactic; compile everything as it blows by, then resolve uses from
compiled entries.
- This won't do for ncurses. The problem is that that the whole
+ This will not do for ncurses. The problem is that that the whole
compilation process has to be embeddable in the ncurses library so
that it can be called by the startup code to translate termcap entries
- on the fly. The embedded version can't go promiscuously writing
+ on the fly. The embedded version cannot go promiscuously writing
everything it translates out to disk -- for one thing, it will
typically be running with non-root permissions.
@@ -485,7 +486,7 @@ Use Capability Resolution
use resolution in-memory before writing everything out. This design
has other advantages: it makes forward and back use-references equally
easy (so we get the latter for free), and it makes checking for name
- collisions before they're written out easy to do.
+ collisions before they are written out easy to do.
And this is exactly how the embedded version works. But the
stand-alone user-accessible version of tic partly reverts to the
@@ -502,8 +503,8 @@ Use Capability Resolution
writes out the referenced entry if it has no use capabilities. The
compiler main loop refrains from adding the entry to the in-core list
when this hook fires. If some other entry later needs to reference an
- entry that got written immediately, that's OK; the resolution code
- will fetch it off disk when it can't find it in core.
+ entry that got written immediately, that is OK; the resolution code
+ will fetch it off disk when it cannot find it in core.
Name collisions will still be detected, just not as cleanly. The
write_entry() code complains before overwriting an entry that
@@ -525,9 +526,9 @@ Source-Form Translation
The include/Caps file has a header comment describing ways you can
specify source translations for nonstandard capabilities just by
- altering the master table. It's possible to set up capability aliasing
- or tell the compiler to plain ignore a given capability without
- writing any C code at all.
+ altering the master table. It is possible to set up capability
+ aliasing or tell the compiler to plain ignore a given capability
+ without writing any C code at all.
For circumstances where you need to do algorithmic translation, there
are functions in parse_entry.c called after the parse of each entry
@@ -563,14 +564,14 @@ Source-Form Translation
Look for the string FIXME in source files to tag minor bugs and
potential problems that could use fixing.
- Don't try to auto-detect OS features in the main body of the C code.
- That's the job of the configuration system.
+ Do not try to auto-detect OS features in the main body of the C code.
+ That is the job of the configuration system.
To hold down complexity, do make your code data-driven. Especially, if
you can drive logic from a table filtered out of include/Caps, do it.
If you find you need to augment the data in that file in order to
- generate the proper table, that's still preferable to ad-hoc code --
- that's why the fifth field (flags) is there.
+ generate the proper table, that is still preferable to ad-hoc code --
+ that is why the fifth field (flags) is there.
Have fun!
@@ -579,7 +580,7 @@ Source-Form Translation
The following notes are intended to be a first step towards DOS and
Macintosh ports of the ncurses libraries.
- The following library modules are `pure curses'; they operate only on
+ The following library modules are "pure curses"; they operate only on
the curses internal structures, do all output through other curses
calls (not including tputs() and putp()) and do not call any other
UNIX routines such as signal(2) or the stdio library. Thus, they
@@ -626,7 +627,7 @@ Source-Form Translation
Modules that would have to be modified for a port start here:
- The following modules are `pure curses' but contain assumptions
+ The following modules are "pure curses" but contain assumptions
inappropriate for a memory-mapped port.
lib_longname.c
diff --git a/doc/html/Ada95.html b/doc/html/Ada95.html
index 77557e774b30..8d38806bf37a 100644
--- a/doc/html/Ada95.html
+++ b/doc/html/Ada95.html
@@ -1,7 +1,7 @@
<!--
- $Id: Ada95.html,v 1.14 2013/05/18 21:34:34 tom Exp $
+ $Id: Ada95.html,v 1.15 2019/03/16 19:39:05 tom Exp $
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -36,7 +36,7 @@
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<title>Ada95 Binding for ncurses</title>
- <link rev="made" href="mailto:bug-ncurses@gnu.org">
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content=
"text/html; charset=us-ascii">
</head>
diff --git a/doc/html/NCURSES-Programming-HOWTO.html b/doc/html/NCURSES-Programming-HOWTO.html
index b1e40a2809a3..d3eeb95dbccc 100644
--- a/doc/html/NCURSES-Programming-HOWTO.html
+++ b/doc/html/NCURSES-Programming-HOWTO.html
@@ -1,1282 +1,844 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
-<HTML
-><HEAD
-><TITLE
-> NCURSES Programming HOWTO </TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
-><BODY
-CLASS="ARTICLE"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="ARTICLE"
-><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
-><A
-NAME="AEN2"
->NCURSES Programming HOWTO</A
-></H1
-><H3
-CLASS="AUTHOR"
-><A
-NAME="AEN4"
-> Pradeep Padala </A
-></H3
-><DIV
-CLASS="AFFILIATION"
-><DIV
-CLASS="ADDRESS"
-><P
-CLASS="ADDRESS"
-><CODE
-CLASS="EMAIL"
->&#60;<A
-HREF="mailto:ppadala@gmail.com"
->ppadala@gmail.com</A
->&#62;</CODE
-></P
-></DIV
-></DIV
-><P
-CLASS="PUBDATE"
->v1.9, 2005-06-20<BR></P
-><DIV
-CLASS="REVHISTORY"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
-COLSPAN="3"
-><B
->Revision History</B
-></TH
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.9</TD
-><TD
-ALIGN="LEFT"
->2005-06-20</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->The license has been changed to the MIT-style license used
- by NCURSES. Note that the programs are also re-licensed under this.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.8</TD
-><TD
-ALIGN="LEFT"
->2005-06-17</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Lots of updates. Added references and perl examples.
- Changes to examples. Many grammatical and stylistic changes to the
- content. Changes to NCURSES history.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.7.1</TD
-><TD
-ALIGN="LEFT"
->2002-06-25</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Added a README file for building and instructions
- for building from source.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.7</TD
-><TD
-ALIGN="LEFT"
->2002-06-25</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Added "Other formats" section and made a lot of fancy
- changes to the programs. Inlining of programs is gone.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.6.1</TD
-><TD
-ALIGN="LEFT"
->2002-02-24</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Removed the old Changelog section, cleaned the makefiles</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.6</TD
-><TD
-ALIGN="LEFT"
->2002-02-16</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Corrected a lot of spelling mistakes, added ACS variables
- section</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.5</TD
-><TD
-ALIGN="LEFT"
->2002-01-05</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Changed structure to present proper TOC</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.3.1</TD
-><TD
-ALIGN="LEFT"
->2001-07-26</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Corrected maintainers paragraph, Corrected stable release number</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.3</TD
-><TD
-ALIGN="LEFT"
->2001-07-24</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Added copyright notices to main document (LDP license)
- and programs (GPL), Corrected
- printw_example.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.2</TD
-><TD
-ALIGN="LEFT"
->2001-06-05</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Incorporated ravi's changes. Mainly to introduction, menu,
- form, justforfun sections</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
->Revision 1.1</TD
-><TD
-ALIGN="LEFT"
->2001-05-22</TD
-><TD
-ALIGN="LEFT"
->Revised by: ppadala</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-COLSPAN="3"
->Added "a word about window" section, Added scanw_example.</TD
-></TR
-></TABLE
-></DIV
-><DIV
-><DIV
-CLASS="ABSTRACT"
-><P
-></P
-><A
-NAME="AEN67"
-></A
-><P
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->This document is intended to be an "All in One" guide for programming with
-ncurses and its sister libraries. We graduate from a simple "Hello World"
-program to more complex form manipulation. No prior experience in ncurses is
-assumed. Send comments to <A
-HREF="mailto:ppadala@gmail.com"
-TARGET="_top"
->this address</A
->
- </I
-></SPAN
->
- </P
-><P
-></P
-></DIV
-></DIV
-><HR></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->1. <A
-HREF="#INTRO"
->Introduction</A
-></DT
-><DD
-><DL
-><DT
->1.1. <A
-HREF="#WHATIS"
->What is NCURSES?</A
-></DT
-><DT
->1.2. <A
-HREF="#WHATCANWEDO"
->What we can do with NCURSES</A
-></DT
-><DT
->1.3. <A
-HREF="#WHERETOGETIT"
->Where to get it</A
-></DT
-><DT
->1.4. <A
-HREF="#PURPOSE"
->Purpose/Scope of the document</A
-></DT
-><DT
->1.5. <A
-HREF="#ABOUTPROGRAMS"
->About the Programs</A
-></DT
-><DT
->1.6. <A
-HREF="#OTHERFORMATS"
->Other Formats of the document</A
-></DT
-><DD
-><DL
-><DT
->1.6.1. <A
-HREF="#LISTFORMATS"
->Readily available formats from tldp.org</A
-></DT
-><DT
->1.6.2. <A
-HREF="#BUILDSOURCE"
->Building from source</A
-></DT
-></DL
-></DD
-><DT
->1.7. <A
-HREF="#CREDITS"
->Credits</A
-></DT
-><DT
->1.8. <A
-HREF="#WISHLIST"
->Wish List</A
-></DT
-><DT
->1.9. <A
-HREF="#COPYRIGHT"
->Copyright</A
-></DT
-></DL
-></DD
-><DT
->2. <A
-HREF="#HELLOWORLD"
->Hello World !!!</A
-></DT
-><DD
-><DL
-><DT
->2.1. <A
-HREF="#COMPILECURSES"
->Compiling With the NCURSES Library</A
-></DT
-><DT
->2.2. <A
-HREF="#DISSECTION"
->Dissection</A
-></DT
-><DD
-><DL
-><DT
->2.2.1. <A
-HREF="#ABOUT-INITSCR"
->About initscr()</A
-></DT
-><DT
->2.2.2. <A
-HREF="#MYST-REFRESH"
->The mysterious refresh()</A
-></DT
-><DT
->2.2.3. <A
-HREF="#ABOUT-ENDWIN"
->About endwin()</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->3. <A
-HREF="#GORY"
->The Gory Details</A
-></DT
-><DT
->4. <A
-HREF="#INIT"
->Initialization</A
-></DT
-><DD
-><DL
-><DT
->4.1. <A
-HREF="#ABOUTINIT"
->Initialization functions</A
-></DT
-><DT
->4.2. <A
-HREF="#RAWCBREAK"
->raw() and cbreak()</A
-></DT
-><DT
->4.3. <A
-HREF="#ECHONOECHO"
->echo() and noecho()</A
-></DT
-><DT
->4.4. <A
-HREF="#KEYPAD"
->keypad()</A
-></DT
-><DT
->4.5. <A
-HREF="#HALFDELAY"
->halfdelay()</A
-></DT
-><DT
->4.6. <A
-HREF="#MISCINIT"
->Miscellaneous Initialization functions</A
-></DT
-><DT
->4.7. <A
-HREF="#INITEX"
->An Example</A
-></DT
-></DL
-></DD
-><DT
->5. <A
-HREF="#AWORDWINDOWS"
->A Word about Windows</A
-></DT
-><DT
->6. <A
-HREF="#PRINTW"
->Output functions</A
-></DT
-><DD
-><DL
-><DT
->6.1. <A
-HREF="#ADDCHCLASS"
->addch() class of functions</A
-></DT
-><DT
->6.2. <A
-HREF="#AEN298"
->mvaddch(), waddch() and mvwaddch()</A
-></DT
-><DT
->6.3. <A
-HREF="#PRINTWCLASS"
->printw() class of functions</A
-></DT
-><DD
-><DL
-><DT
->6.3.1. <A
-HREF="#PRINTWMVPRINTW"
->printw() and mvprintw</A
-></DT
-><DT
->6.3.2. <A
-HREF="#WPRINTWMVWPRINTW"
->wprintw() and mvwprintw</A
-></DT
-><DT
->6.3.3. <A
-HREF="#VWPRINTW"
->vwprintw()</A
-></DT
-><DT
->6.3.4. <A
-HREF="#SIMPLEPRINTWEX"
->A Simple printw example</A
-></DT
-></DL
-></DD
-><DT
->6.4. <A
-HREF="#ADDSTRCLASS"
->addstr() class of functions</A
-></DT
-><DT
->6.5. <A
-HREF="#ACAUTION"
->A word of caution</A
-></DT
-></DL
-></DD
-><DT
->7. <A
-HREF="#SCANW"
->Input functions</A
-></DT
-><DD
-><DL
-><DT
->7.1. <A
-HREF="#GETCHCLASS"
->getch() class of functions</A
-></DT
-><DT
->7.2. <A
-HREF="#SCANWCLASS"
->scanw() class of functions</A
-></DT
-><DD
-><DL
-><DT
->7.2.1. <A
-HREF="#SCANWMVSCANW"
->scanw() and mvscanw</A
-></DT
-><DT
->7.2.2. <A
-HREF="#WSCANWMVWSCANW"
->wscanw() and mvwscanw()</A
-></DT
-><DT
->7.2.3. <A
-HREF="#VWSCANW"
->vwscanw()</A
-></DT
-></DL
-></DD
-><DT
->7.3. <A
-HREF="#GETSTRCLASS"
->getstr() class of functions</A
-></DT
-><DT
->7.4. <A
-HREF="#GETSTREX"
->Some examples</A
-></DT
-></DL
-></DD
-><DT
->8. <A
-HREF="#ATTRIB"
->Attributes</A
-></DT
-><DD
-><DL
-><DT
->8.1. <A
-HREF="#ATTRIBDETAILS"
->The details</A
-></DT
-><DT
->8.2. <A
-HREF="#ATTRONVSATTRSET"
->attron() vs attrset()</A
-></DT
-><DT
->8.3. <A
-HREF="#ATTR_GET"
->attr_get()</A
-></DT
-><DT
->8.4. <A
-HREF="#ATTR_FUNCS"
->attr_ functions</A
-></DT
-><DT
->8.5. <A
-HREF="#WATTRFUNCS"
->wattr functions</A
-></DT
-><DT
->8.6. <A
-HREF="#CHGAT"
->chgat() functions</A
-></DT
-></DL
-></DD
-><DT
->9. <A
-HREF="#WINDOWS"
->Windows</A
-></DT
-><DD
-><DL
-><DT
->9.1. <A
-HREF="#WINDOWBASICS"
->The basics</A
-></DT
-><DT
->9.2. <A
-HREF="#LETBEWINDOW"
->Let there be a Window !!!</A
-></DT
-><DT
->9.3. <A
-HREF="#BORDEREXEXPL"
->Explanation</A
-></DT
-><DT
->9.4. <A
-HREF="#OTHERSTUFF"
->The other stuff in the example</A
-></DT
-><DT
->9.5. <A
-HREF="#OTHERBORDERFUNCS"
->Other Border functions</A
-></DT
-></DL
-></DD
-><DT
->10. <A
-HREF="#COLOR"
->Colors</A
-></DT
-><DD
-><DL
-><DT
->10.1. <A
-HREF="#COLORBASICS"
->The basics</A
-></DT
-><DT
->10.2. <A
-HREF="#CHANGECOLORDEFS"
->Changing Color Definitions</A
-></DT
-><DT
->10.3. <A
-HREF="#COLORCONTENT"
->Color Content</A
-></DT
-></DL
-></DD
-><DT
->11. <A
-HREF="#KEYS"
->Interfacing with the key board</A
-></DT
-><DD
-><DL
-><DT
->11.1. <A
-HREF="#KEYSBASICS"
->The Basics</A
-></DT
-><DT
->11.2. <A
-HREF="#SIMPLEKEYEX"
->A Simple Key Usage example</A
-></DT
-></DL
-></DD
-><DT
->12. <A
-HREF="#MOUSE"
->Interfacing with the mouse</A
-></DT
-><DD
-><DL
-><DT
->12.1. <A
-HREF="#MOUSEBASICS"
->The Basics</A
-></DT
-><DT
->12.2. <A
-HREF="#GETTINGEVENTS"
->Getting the events</A
-></DT
-><DT
->12.3. <A
-HREF="#MOUSETOGETHER"
->Putting it all Together</A
-></DT
-><DT
->12.4. <A
-HREF="#MISCMOUSEFUNCS"
->Miscellaneous Functions</A
-></DT
-></DL
-></DD
-><DT
->13. <A
-HREF="#SCREEN"
->Screen Manipulation</A
-></DT
-><DD
-><DL
-><DT
->13.1. <A
-HREF="#GETYX"
->getyx() functions</A
-></DT
-><DT
->13.2. <A
-HREF="#SCREENDUMP"
->Screen Dumping</A
-></DT
-><DT
->13.3. <A
-HREF="#WINDOWDUMP"
->Window Dumping</A
-></DT
-></DL
-></DD
-><DT
->14. <A
-HREF="#MISC"
->Miscellaneous features</A
-></DT
-><DD
-><DL
-><DT
->14.1. <A
-HREF="#CURSSET"
->curs_set()</A
-></DT
-><DT
->14.2. <A
-HREF="#TEMPLEAVE"
->Temporarily Leaving Curses mode</A
-></DT
-><DT
->14.3. <A
-HREF="#ACSVARS"
->ACS_ variables</A
-></DT
-></DL
-></DD
-><DT
->15. <A
-HREF="#OTHERLIB"
->Other libraries</A
-></DT
-><DT
->16. <A
-HREF="#PANELS"
->Panel Library</A
-></DT
-><DD
-><DL
-><DT
->16.1. <A
-HREF="#PANELBASICS"
->The Basics</A
-></DT
-><DT
->16.2. <A
-HREF="#COMPILEPANELS"
->Compiling With the Panels Library</A
-></DT
-><DT
->16.3. <A
-HREF="#PANELBROWSING"
->Panel Window Browsing</A
-></DT
-><DT
->16.4. <A
-HREF="#USERPTRUSING"
->Using User Pointers</A
-></DT
-><DT
->16.5. <A
-HREF="#PANELMOVERESIZE"
->Moving and Resizing Panels</A
-></DT
-><DT
->16.6. <A
-HREF="#PANELSHOWHIDE"
->Hiding and Showing Panels</A
-></DT
-><DT
->16.7. <A
-HREF="#PANELABOVE"
->panel_above() and panel_below() Functions</A
-></DT
-></DL
-></DD
-><DT
->17. <A
-HREF="#MENUS"
->Menus Library</A
-></DT
-><DD
-><DL
-><DT
->17.1. <A
-HREF="#MENUBASICS"
->The Basics</A
-></DT
-><DT
->17.2. <A
-HREF="#COMPILEMENUS"
->Compiling With the Menu Library</A
-></DT
-><DT
->17.3. <A
-HREF="#MENUDRIVER"
->Menu Driver: The work horse of the menu system</A
-></DT
-><DT
->17.4. <A
-HREF="#MENUWINDOWS"
->Menu Windows</A
-></DT
-><DT
->17.5. <A
-HREF="#SCROLLMENUS"
->Scrolling Menus</A
-></DT
-><DT
->17.6. <A
-HREF="#MULTICOLUMN"
->Multi Columnar Menus</A
-></DT
-><DT
->17.7. <A
-HREF="#MULTIVALUEMENUS"
->Multi Valued Menus</A
-></DT
-><DT
->17.8. <A
-HREF="#MENUOPT"
->Menu Options</A
-></DT
-><DT
->17.9. <A
-HREF="#MENUUSERPTR"
->The useful User Pointer</A
-></DT
-></DL
-></DD
-><DT
->18. <A
-HREF="#FORMS"
->Forms Library</A
-></DT
-><DD
-><DL
-><DT
->18.1. <A
-HREF="#FORMBASICS"
->The Basics</A
-></DT
-><DT
->18.2. <A
-HREF="#COMPILEFORMS"
->Compiling With the Forms Library</A
-></DT
-><DT
->18.3. <A
-HREF="#PLAYFIELDS"
->Playing with Fields</A
-></DT
-><DD
-><DL
-><DT
->18.3.1. <A
-HREF="#FETCHINFO"
->Fetching Size and Location of Field</A
-></DT
-><DT
->18.3.2. <A
-HREF="#MOVEFIELD"
->Moving the field</A
-></DT
-><DT
->18.3.3. <A
-HREF="#JUSTIFYFIELD"
->Field Justification</A
-></DT
-><DT
->18.3.4. <A
-HREF="#FIELDDISPATTRIB"
->Field Display Attributes</A
-></DT
-><DT
->18.3.5. <A
-HREF="#FIELDOPTIONBITS"
->Field Option Bits</A
-></DT
-><DT
->18.3.6. <A
-HREF="#FIELDSTATUS"
->Field Status</A
-></DT
-><DT
->18.3.7. <A
-HREF="#FIELDUSERPTR"
->Field User Pointer</A
-></DT
-><DT
->18.3.8. <A
-HREF="#VARIABLESIZEFIELDS"
->Variable-Sized Fields</A
-></DT
-></DL
-></DD
-><DT
->18.4. <A
-HREF="#FORMWINDOWS"
->Form Windows</A
-></DT
-><DT
->18.5. <A
-HREF="#FILEDVALIDATE"
->Field Validation</A
-></DT
-><DT
->18.6. <A
-HREF="#FORMDRIVER"
->Form Driver: The work horse of the forms system</A
-></DT
-><DD
-><DL
-><DT
->18.6.1. <A
-HREF="#PAGENAVREQ"
->Page Navigation Requests</A
-></DT
-><DT
->18.6.2. <A
-HREF="#INTERFIELDNAVREQ"
->Inter-Field Navigation Requests</A
-></DT
-><DT
->18.6.3. <A
-HREF="#INTRAFIELDNAVREQ"
->Intra-Field Navigation Requests</A
-></DT
-><DT
->18.6.4. <A
-HREF="#SCROLLREQ"
->Scrolling Requests</A
-></DT
-><DT
->18.6.5. <A
-HREF="#EDITREQ"
->Editing Requests</A
-></DT
-><DT
->18.6.6. <A
-HREF="#ORDERREQ"
->Order Requests</A
-></DT
-><DT
->18.6.7. <A
-HREF="#APPLICCOMMANDS"
->Application Commands</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->19. <A
-HREF="#TOOLS"
->Tools and Widget Libraries</A
-></DT
-><DD
-><DL
-><DT
->19.1. <A
-HREF="#CDK"
->CDK (Curses Development Kit)</A
-></DT
-><DD
-><DL
-><DT
->19.1.1. <A
-HREF="#WIDGETLIST"
->Widget List</A
-></DT
-><DT
->19.1.2. <A
-HREF="#CDKATTRACT"
->Some Attractive Features</A
-></DT
-><DT
->19.1.3. <A
-HREF="#CDKCONCLUSION"
->Conclusion</A
-></DT
-></DL
-></DD
-><DT
->19.2. <A
-HREF="#DIALOG"
->The dialog</A
-></DT
-><DT
->19.3. <A
-HREF="#PERLCURSES"
->Perl Curses Modules CURSES::FORM and CURSES::WIDGETS</A
-></DT
-></DL
-></DD
-><DT
->20. <A
-HREF="#JUSTFORFUN"
->Just For Fun !!!</A
-></DT
-><DD
-><DL
-><DT
->20.1. <A
-HREF="#GAMEOFLIFE"
->The Game of Life</A
-></DT
-><DT
->20.2. <A
-HREF="#MAGIC"
->Magic Square</A
-></DT
-><DT
->20.3. <A
-HREF="#HANOI"
->Towers of Hanoi</A
-></DT
-><DT
->20.4. <A
-HREF="#QUEENS"
->Queens Puzzle</A
-></DT
-><DT
->20.5. <A
-HREF="#SHUFFLE"
->Shuffle</A
-></DT
-><DT
->20.6. <A
-HREF="#TT"
->Typing Tutor</A
-></DT
-></DL
-></DD
-><DT
->21. <A
-HREF="#REF"
->References</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H2
-CLASS="SECT1"
-><A
-NAME="INTRO"
->1. Introduction</A
-></H2
-><P
->In the olden days of teletype terminals, terminals were away from computers and
-were connected to them through serial cables. The terminals could be configured
-by sending a series of bytes. All the capabilities (such as
-moving the cursor to a new location, erasing part of the screen, scrolling the
-screen, changing modes etc.) of terminals could be accessed through these
-series of bytes. These control seeuqnces are usually called escape sequences,
-because they start
-with an escape(0x1B) character. Even today, with proper emulation, we can send
-escape sequences to the emulator and achieve the same effect on a terminal
-window.</P
-><P
->Suppose you wanted to print a line in color. Try typing this on your console.</P
-><PRE
-CLASS="PROGRAMLISTING"
->echo "^[[0;31;40mIn Color"</PRE
-><P
->The first character is an escape character, which looks like two characters ^
-and [. To be able to print it, you have to press CTRL+V and then the ESC key.
-All the others are normal printable characters. You should be able to see the
-string "In Color" in red. It stays that way and to revert back to the original
-mode type this.</P
-><PRE
-CLASS="PROGRAMLISTING"
->echo "^[[0;37;40m"</PRE
-><P
->Now, what do these magic characters mean? Difficult to comprehend? They might
-even be different for different terminals. So the designers of UNIX invented a
-mechanism named <TT
-CLASS="LITERAL"
->termcap</TT
->. It is a file that
-lists all the capabilities of a particular terminal, along with the escape
-sequences needed to achieve a particular effect. In the later years, this was
-replaced by <TT
-CLASS="LITERAL"
->terminfo</TT
->. Without delving too
-much into details, this mechanism allows application
-programs to query the terminfo database and obtain the control characters to be
-sent to a terminal or terminal emulator.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WHATIS"
->1.1. What is NCURSES?</A
-></H3
-><P
->
-You might be wondering, what the import of all this technical gibberish is. In
-the above scenario, every application program is supposed to query the terminfo
-and perform the necessary stuff (sending control characters etc.). It soon became
-difficult to manage this complexity and this gave birth to 'CURSES'. Curses is
-a pun on the name "cursor optimization". The Curses library forms a wrapper
-over working with raw terminal codes, and provides highly flexible and
-efficient API (Application Programming Interface). It provides functions to
-move the cursor, create windows, produce colors, play with mouse etc. The
-application programs need not worry about the underlying terminal capabilities.</P
-><P
->So what is NCURSES? NCURSES is a clone of the original System V Release 4.0
-(SVr4) curses. It is a freely distributable library, fully compatible with
-older version of curses. In short, it is a library of functions that manages
-an application's display on character-cell terminals. In the remainder of the
-document, the terms curses and ncurses are used interchangeably. </P
-><P
->A detailed history of NCURSES can be found in the NEWS file from the source
-distribution. The current package is maintained by
-<A
-HREF="mailto:dickey@his.com"
-TARGET="_top"
->Thomas Dickey</A
->.
-You can contact the maintainers at <A
-HREF="mailto:bug-ncurses@gnu.org"
-TARGET="_top"
->bug-ncurses@gnu.org</A
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WHATCANWEDO"
->1.2. What we can do with NCURSES</A
-></H3
-><P
->NCURSES not only creates a wrapper over terminal capabilities, but also gives a
-robust framework to create nice looking UI (User Interface)s in text mode. It
-provides functions to create windows etc. Its sister libraries panel, menu and
-form provide an extension to the basic curses library. These libraries usually
-come along with curses. One can create applications that contain multiple
-windows, menus, panels and forms. Windows can be managed independently, can
-provide 'scrollability' and even can be hidden.</P
-><P
->
-Menus provide the user with an easy command selection option. Forms allow the
-creation of easy-to-use data entry and display windows. Panels extend the
-capabilities of ncurses to deal with overlapping and stacked windows.</P
-><P
->These are just some of the basic things we can do with ncurses. As we move
-along, We will see all the capabilities of these libraries. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WHERETOGETIT"
->1.3. Where to get it</A
-></H3
-><P
->All right, now that you know what you can do with ncurses, you must be rearing
-to get started. NCURSES is usually shipped with your installation. In case
-you don't have the library or want to compile it on your own, read on.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Compiling the package</I
-></SPAN
-> </P
-><P
->NCURSES can be obtained from <A
-HREF="ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz"
-TARGET="_top"
->ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz</A
-> or any of the ftp
-sites mentioned in <A
-HREF="http://www.gnu.org/order/ftp.html"
-TARGET="_top"
->http://www.gnu.org/order/ftp.html</A
->. </P
-><P
->Read the README and INSTALL files for details on to how to install it. It
-usually involves the following operations.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> tar zxvf ncurses&lt;version&gt;.tar.gz # unzip and untar the archive
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
+"http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+<head>
+ <meta name="generator" content=
+ "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
+
+ <title>NCURSES Programming HOWTO</title>
+ <meta name="GENERATOR" content=
+ "Modular DocBook HTML Stylesheet Version 1.79">
+</head>
+
+<body class="ARTICLE" bgcolor="#FFFFFF" text="#000000" link=
+"#0000FF" vlink="#840084" alink="#0000FF">
+ <div class="ARTICLE">
+ <div class="TITLEPAGE">
+ <h1 class="TITLE"><a name="AEN2" id="AEN2">NCURSES
+ Programming HOWTO</a></h1>
+
+ <h3 class="AUTHOR"><a name="AEN4" id="AEN4">Pradeep
+ Padala</a></h3>
+
+ <div class="AFFILIATION">
+ <div class="ADDRESS">
+ <p class="ADDRESS"><code class="EMAIL">&lt;<a href=
+ "mailto:ppadala@gmail.com">ppadala@gmail.com</a>&gt;</code></p>
+ </div>
+ </div>
+
+ <p class="PUBDATE">v1.9, 2005-06-20<br></p>
+
+ <div class="REVHISTORY">
+ <table width="100%" border="0" summary="revisions">
+ <tr>
+ <th align="left" valign="top" colspan="3"><b>Revision
+ History</b></th>
+ </tr>
+
+ <tr>
+ <td align="left">Revision 1.9</td>
+
+ <td align="left">2005-06-20</td>
+
+ <td align="left">Revised by: ppadala</td>
+ </tr>
+
+ <tr>
+ <td align="left" colspan="3">The license has been
+ changed to the MIT-style license used by NCURSES. Note
+ that the programs are also re-licensed under this.</td>
+ </tr>
+
+ <tr>
+ <td align="left">Revision 1.8</td>
+
+ <td align="left">2005-06-17</td>
+
+ <td align="left">Revised by: ppadala</td>
+ </tr>
+
+ <tr>
+ <td align="left" colspan="3">Lots of updates. Added
+ references and perl examples. Changes to examples. Many
+ grammatical and stylistic changes to the content.
+ Changes to NCURSES history.</td>
+ </tr>
+
+ <tr>
+ <td align="left">Revision 1.7.1</td>
+
+ <td align="left">2002-06-25</td>
+
+ <td align="left">Revised by: ppadala</td>
+ </tr>
+
+ <tr>
+ <td align="left" colspan="3">Added a README file for
+ building and instructions for building from
+ source.</td>
+ </tr>
+
+ <tr>
+ <td align="left">Revision 1.7</td>
+
+ <td align="left">2002-06-25</td>
+
+ <td align="left">Revised by: ppadala</td>
+ </tr>
+
+ <tr>
+ <td align="left" colspan="3">Added "Other formats"
+ section and made a lot of fancy changes to the
+ programs. Inlining of programs is gone.</td>
+ </tr>
+
+ <tr>
+ <td align="left">Revision 1.6.1</td>
+
+ <td align="left">2002-02-24</td>
+
+ <td align="left">Revised by: ppadala</td>
+ </tr>
+
+ <tr>
+ <td align="left" colspan="3">Removed the old Changelog
+ section, cleaned the makefiles</td>
+ </tr>
+
+ <tr>
+ <td align="left">Revision 1.6</td>
+
+ <td align="left">2002-02-16</td>
+
+ <td align="left">Revised by: ppadala</td>
+ </tr>
+
+ <tr>
+ <td align="left" colspan="3">Corrected a lot of
+ spelling mistakes, added ACS variables section</td>
+ </tr>
+
+ <tr>
+ <td align="left">Revision 1.5</td>
+
+ <td align="left">2002-01-05</td>
+
+ <td align="left">Revised by: ppadala</td>
+ </tr>
+
+ <tr>
+ <td align="left" colspan="3">Changed structure to
+ present proper TOC</td>
+ </tr>
+
+ <tr>
+ <td align="left">Revision 1.3.1</td>
+
+ <td align="left">2001-07-26</td>
+
+ <td align="left">Revised by: ppadala</td>
+ </tr>
+
+ <tr>
+ <td align="left" colspan="3">Corrected maintainers
+ paragraph, Corrected stable release number</td>
+ </tr>
+
+ <tr>
+ <td align="left">Revision 1.3</td>
+
+ <td align="left">2001-07-24</td>
+
+ <td align="left">Revised by: ppadala</td>
+ </tr>
+
+ <tr>
+ <td align="left" colspan="3">Added copyright notices to
+ main document (LDP license) and programs (GPL),
+ Corrected printw_example.</td>
+ </tr>
+
+ <tr>
+ <td align="left">Revision 1.2</td>
+
+ <td align="left">2001-06-05</td>
+
+ <td align="left">Revised by: ppadala</td>
+ </tr>
+
+ <tr>
+ <td align="left" colspan="3">Incorporated ravi's
+ changes. Mainly to introduction, menu, form, justforfun
+ sections</td>
+ </tr>
+
+ <tr>
+ <td align="left">Revision 1.1</td>
+
+ <td align="left">2001-05-22</td>
+
+ <td align="left">Revised by: ppadala</td>
+ </tr>
+
+ <tr>
+ <td align="left" colspan="3">Added "a word about
+ window" section, Added scanw_example.</td>
+ </tr>
+ </table>
+ </div>
+
+ <div>
+ <div class="ABSTRACT">
+ <a name="AEN67" id="AEN67"></a>
+
+ <p><span class="emphasis"><i class="EMPHASIS">This
+ document is intended to be an "All in One" guide for
+ programming with ncurses and its sister libraries. We
+ graduate from a simple "Hello World" program to more
+ complex form manipulation. No prior experience in ncurses
+ is assumed. Send comments to <a href=
+ "mailto:ppadala@gmail.com" target="_top">this
+ address</a></i></span></p>
+ </div>
+ </div>
+ <hr>
+ </div>
+
+ <div class="TOC">
+ <dl>
+ <dt><b>Table of Contents</b></dt>
+
+ <dt>1. <a href="#INTRO">Introduction</a></dt>
+
+ <dd>
+ <dl>
+ <dt>1.1. <a href="#WHATIS">What is NCURSES?</a></dt>
+
+ <dt>1.2. <a href="#WHATCANWEDO">What we can do with
+ NCURSES</a></dt>
+
+ <dt>1.3. <a href="#WHERETOGETIT">Where to get
+ it</a></dt>
+
+ <dt>1.4. <a href="#PURPOSE">Purpose/Scope of the
+ document</a></dt>
+
+ <dt>1.5. <a href="#ABOUTPROGRAMS">About the
+ Programs</a></dt>
+
+ <dt>1.6. <a href="#OTHERFORMATS">Other Formats of the
+ document</a></dt>
+
+ <dd>
+ <dl>
+ <dt>1.6.1. <a href="#LISTFORMATS">Readily available
+ formats from tldp.org</a></dt>
+
+ <dt>1.6.2. <a href="#BUILDSOURCE">Building from
+ source</a></dt>
+ </dl>
+ </dd>
+
+ <dt>1.7. <a href="#CREDITS">Credits</a></dt>
+
+ <dt>1.8. <a href="#WISHLIST">Wish List</a></dt>
+
+ <dt>1.9. <a href="#COPYRIGHT">Copyright</a></dt>
+ </dl>
+ </dd>
+
+ <dt>2. <a href="#HELLOWORLD">Hello World !!!</a></dt>
+
+ <dd>
+ <dl>
+ <dt>2.1. <a href="#COMPILECURSES">Compiling With the
+ NCURSES Library</a></dt>
+
+ <dt>2.2. <a href="#DISSECTION">Dissection</a></dt>
+
+ <dd>
+ <dl>
+ <dt>2.2.1. <a href="#ABOUT-INITSCR">About
+ initscr()</a></dt>
+
+ <dt>2.2.2. <a href="#MYST-REFRESH">The mysterious
+ refresh()</a></dt>
+
+ <dt>2.2.3. <a href="#ABOUT-ENDWIN">About
+ endwin()</a></dt>
+ </dl>
+ </dd>
+ </dl>
+ </dd>
+
+ <dt>3. <a href="#GORY">The Gory Details</a></dt>
+
+ <dt>4. <a href="#INIT">Initialization</a></dt>
+
+ <dd>
+ <dl>
+ <dt>4.1. <a href="#ABOUTINIT">Initialization
+ functions</a></dt>
+
+ <dt>4.2. <a href="#RAWCBREAK">raw() and
+ cbreak()</a></dt>
+
+ <dt>4.3. <a href="#ECHONOECHO">echo() and
+ noecho()</a></dt>
+
+ <dt>4.4. <a href="#KEYPAD">keypad()</a></dt>
+
+ <dt>4.5. <a href="#HALFDELAY">halfdelay()</a></dt>
+
+ <dt>4.6. <a href="#MISCINIT">Miscellaneous
+ Initialization functions</a></dt>
+
+ <dt>4.7. <a href="#INITEX">An Example</a></dt>
+ </dl>
+ </dd>
+
+ <dt>5. <a href="#AWORDWINDOWS">A Word about
+ Windows</a></dt>
+
+ <dt>6. <a href="#PRINTW">Output functions</a></dt>
+
+ <dd>
+ <dl>
+ <dt>6.1. <a href="#ADDCHCLASS">addch() class of
+ functions</a></dt>
+
+ <dt>6.2. <a href="#AEN298">mvaddch(), waddch() and
+ mvwaddch()</a></dt>
+
+ <dt>6.3. <a href="#PRINTWCLASS">printw() class of
+ functions</a></dt>
+
+ <dd>
+ <dl>
+ <dt>6.3.1. <a href="#PRINTWMVPRINTW">printw() and
+ mvprintw</a></dt>
+
+ <dt>6.3.2. <a href="#WPRINTWMVWPRINTW">wprintw()
+ and mvwprintw</a></dt>
+
+ <dt>6.3.3. <a href="#VWPRINTW">vw_printw()</a></dt>
+
+ <dt>6.3.4. <a href="#SIMPLEPRINTWEX">A Simple
+ printw example</a></dt>
+ </dl>
+ </dd>
+
+ <dt>6.4. <a href="#ADDSTRCLASS">addstr() class of
+ functions</a></dt>
+
+ <dt>6.5. <a href="#ACAUTION">A word of caution</a></dt>
+ </dl>
+ </dd>
+
+ <dt>7. <a href="#SCANW">Input functions</a></dt>
+
+ <dd>
+ <dl>
+ <dt>7.1. <a href="#GETCHCLASS">getch() class of
+ functions</a></dt>
+
+ <dt>7.2. <a href="#SCANWCLASS">scanw() class of
+ functions</a></dt>
+
+ <dd>
+ <dl>
+ <dt>7.2.1. <a href="#SCANWMVSCANW">scanw() and
+ mvscanw</a></dt>
+
+ <dt>7.2.2. <a href="#WSCANWMVWSCANW">wscanw() and
+ mvwscanw()</a></dt>
+
+ <dt>7.2.3. <a href="#VWSCANW">vw_scanw()</a></dt>
+ </dl>
+ </dd>
+
+ <dt>7.3. <a href="#GETSTRCLASS">getstr() class of
+ functions</a></dt>
+
+ <dt>7.4. <a href="#GETSTREX">Some examples</a></dt>
+ </dl>
+ </dd>
+
+ <dt>8. <a href="#ATTRIB">Attributes</a></dt>
+
+ <dd>
+ <dl>
+ <dt>8.1. <a href="#ATTRIBDETAILS">The details</a></dt>
+
+ <dt>8.2. <a href="#ATTRONVSATTRSET">attron() vs
+ attrset()</a></dt>
+
+ <dt>8.3. <a href="#ATTRGET">attr_get()</a></dt>
+
+ <dt>8.4. <a href="#ATTRFUNCS">attr_ functions</a></dt>
+
+ <dt>8.5. <a href="#WATTRFUNCS">wattr functions</a></dt>
+
+ <dt>8.6. <a href="#CHGAT">chgat() functions</a></dt>
+ </dl>
+ </dd>
+
+ <dt>9. <a href="#WINDOWS">Windows</a></dt>
+
+ <dd>
+ <dl>
+ <dt>9.1. <a href="#WINDOWBASICS">The basics</a></dt>
+
+ <dt>9.2. <a href="#LETBEWINDOW">Let there be a Window
+ !!!</a></dt>
+
+ <dt>9.3. <a href="#BORDEREXEXPL">Explanation</a></dt>
+
+ <dt>9.4. <a href="#OTHERSTUFF">The other stuff in the
+ example</a></dt>
+
+ <dt>9.5. <a href="#OTHERBORDERFUNCS">Other Border
+ functions</a></dt>
+ </dl>
+ </dd>
+
+ <dt>10. <a href="#COLOR">Colors</a></dt>
+
+ <dd>
+ <dl>
+ <dt>10.1. <a href="#COLORBASICS">The basics</a></dt>
+
+ <dt>10.2. <a href="#CHANGECOLORDEFS">Changing Color
+ Definitions</a></dt>
+
+ <dt>10.3. <a href="#COLORCONTENT">Color
+ Content</a></dt>
+ </dl>
+ </dd>
+
+ <dt>11. <a href="#KEYS">Interfacing with the key
+ board</a></dt>
+
+ <dd>
+ <dl>
+ <dt>11.1. <a href="#KEYSBASICS">The Basics</a></dt>
+
+ <dt>11.2. <a href="#SIMPLEKEYEX">A Simple Key Usage
+ example</a></dt>
+ </dl>
+ </dd>
+
+ <dt>12. <a href="#MOUSE">Interfacing with the
+ mouse</a></dt>
+
+ <dd>
+ <dl>
+ <dt>12.1. <a href="#MOUSEBASICS">The Basics</a></dt>
+
+ <dt>12.2. <a href="#GETTINGEVENTS">Getting the
+ events</a></dt>
+
+ <dt>12.3. <a href="#MOUSETOGETHER">Putting it all
+ Together</a></dt>
+
+ <dt>12.4. <a href="#MISCMOUSEFUNCS">Miscellaneous
+ Functions</a></dt>
+ </dl>
+ </dd>
+
+ <dt>13. <a href="#SCREEN">Screen Manipulation</a></dt>
+
+ <dd>
+ <dl>
+ <dt>13.1. <a href="#GETYX">getyx() functions</a></dt>
+
+ <dt>13.2. <a href="#SCREENDUMP">Screen Dumping</a></dt>
+
+ <dt>13.3. <a href="#WINDOWDUMP">Window Dumping</a></dt>
+ </dl>
+ </dd>
+
+ <dt>14. <a href="#MISC">Miscellaneous features</a></dt>
+
+ <dd>
+ <dl>
+ <dt>14.1. <a href="#CURSSET">curs_set()</a></dt>
+
+ <dt>14.2. <a href="#TEMPLEAVE">Temporarily Leaving
+ Curses mode</a></dt>
+
+ <dt>14.3. <a href="#ACSVARS">ACS_ variables</a></dt>
+ </dl>
+ </dd>
+
+ <dt>15. <a href="#OTHERLIB">Other libraries</a></dt>
+
+ <dt>16. <a href="#PANELS">Panel Library</a></dt>
+
+ <dd>
+ <dl>
+ <dt>16.1. <a href="#PANELBASICS">The Basics</a></dt>
+
+ <dt>16.2. <a href="#COMPILEPANELS">Compiling With the
+ Panels Library</a></dt>
+
+ <dt>16.3. <a href="#PANELBROWSING">Panel Window
+ Browsing</a></dt>
+
+ <dt>16.4. <a href="#USERPTRUSING">Using User
+ Pointers</a></dt>
+
+ <dt>16.5. <a href="#PANELMOVERESIZE">Moving and
+ Resizing Panels</a></dt>
+
+ <dt>16.6. <a href="#PANELSHOWHIDE">Hiding and Showing
+ Panels</a></dt>
+
+ <dt>16.7. <a href="#PANELABOVE">panel_above() and
+ panel_below() Functions</a></dt>
+ </dl>
+ </dd>
+
+ <dt>17. <a href="#MENUS">Menus Library</a></dt>
+
+ <dd>
+ <dl>
+ <dt>17.1. <a href="#MENUBASICS">The Basics</a></dt>
+
+ <dt>17.2. <a href="#COMPILEMENUS">Compiling With the
+ Menu Library</a></dt>
+
+ <dt>17.3. <a href="#MENUDRIVER">Menu Driver: The work
+ horse of the menu system</a></dt>
+
+ <dt>17.4. <a href="#MENUWINDOWS">Menu Windows</a></dt>
+
+ <dt>17.5. <a href="#SCROLLMENUS">Scrolling
+ Menus</a></dt>
+
+ <dt>17.6. <a href="#MULTICOLUMN">Multi Columnar
+ Menus</a></dt>
+
+ <dt>17.7. <a href="#MULTIVALUEMENUS">Multi Valued
+ Menus</a></dt>
+
+ <dt>17.8. <a href="#MENUOPT">Menu Options</a></dt>
+
+ <dt>17.9. <a href="#MENUUSERPTR">The useful User
+ Pointer</a></dt>
+ </dl>
+ </dd>
+
+ <dt>18. <a href="#FORMS">Forms Library</a></dt>
+
+ <dd>
+ <dl>
+ <dt>18.1. <a href="#FORMBASICS">The Basics</a></dt>
+
+ <dt>18.2. <a href="#COMPILEFORMS">Compiling With the
+ Forms Library</a></dt>
+
+ <dt>18.3. <a href="#PLAYFIELDS">Playing with
+ Fields</a></dt>
+
+ <dd>
+ <dl>
+ <dt>18.3.1. <a href="#FETCHINFO">Fetching Size and
+ Location of Field</a></dt>
+
+ <dt>18.3.2. <a href="#MOVEFIELD">Moving the
+ field</a></dt>
+
+ <dt>18.3.3. <a href="#JUSTIFYFIELD">Field
+ Justification</a></dt>
+
+ <dt>18.3.4. <a href="#FIELDDISPATTRIB">Field
+ Display Attributes</a></dt>
+
+ <dt>18.3.5. <a href="#FIELDOPTIONBITS">Field Option
+ Bits</a></dt>
+
+ <dt>18.3.6. <a href="#FIELDSTATUS">Field
+ Status</a></dt>
+
+ <dt>18.3.7. <a href="#FIELDUSERPTR">Field User
+ Pointer</a></dt>
+
+ <dt>18.3.8. <a href=
+ "#VARIABLESIZEFIELDS">Variable-Sized
+ Fields</a></dt>
+ </dl>
+ </dd>
+
+ <dt>18.4. <a href="#FORMWINDOWS">Form Windows</a></dt>
+
+ <dt>18.5. <a href="#FILEDVALIDATE">Field
+ Validation</a></dt>
+
+ <dt>18.6. <a href="#FORMDRIVER">Form Driver: The work
+ horse of the forms system</a></dt>
+
+ <dd>
+ <dl>
+ <dt>18.6.1. <a href="#PAGENAVREQ">Page Navigation
+ Requests</a></dt>
+
+ <dt>18.6.2. <a href="#INTERFIELDNAVREQ">Inter-Field
+ Navigation Requests</a></dt>
+
+ <dt>18.6.3. <a href="#INTRAFIELDNAVREQ">Intra-Field
+ Navigation Requests</a></dt>
+
+ <dt>18.6.4. <a href="#SCROLLREQ">Scrolling
+ Requests</a></dt>
+
+ <dt>18.6.5. <a href="#EDITREQ">Editing
+ Requests</a></dt>
+
+ <dt>18.6.6. <a href="#ORDERREQ">Order
+ Requests</a></dt>
+
+ <dt>18.6.7. <a href="#APPLICCOMMANDS">Application
+ Commands</a></dt>
+ </dl>
+ </dd>
+ </dl>
+ </dd>
+
+ <dt>19. <a href="#TOOLS">Tools and Widget
+ Libraries</a></dt>
+
+ <dd>
+ <dl>
+ <dt>19.1. <a href="#CDK">CDK (Curses Development
+ Kit)</a></dt>
+
+ <dd>
+ <dl>
+ <dt>19.1.1. <a href="#WIDGETLIST">Widget
+ List</a></dt>
+
+ <dt>19.1.2. <a href="#CDKATTRACT">Some Attractive
+ Features</a></dt>
+
+ <dt>19.1.3. <a href=
+ "#CDKCONCLUSION">Conclusion</a></dt>
+ </dl>
+ </dd>
+
+ <dt>19.2. <a href="#DIALOG">The dialog</a></dt>
+
+ <dt>19.3. <a href="#PERLCURSES">Perl Curses Modules
+ CURSES::FORM and CURSES::WIDGETS</a></dt>
+ </dl>
+ </dd>
+
+ <dt>20. <a href="#JUSTFORFUN">Just For Fun !!!</a></dt>
+
+ <dd>
+ <dl>
+ <dt>20.1. <a href="#GAMEOFLIFE">The Game of
+ Life</a></dt>
+
+ <dt>20.2. <a href="#MAGIC">Magic Square</a></dt>
+
+ <dt>20.3. <a href="#HANOI">Towers of Hanoi</a></dt>
+
+ <dt>20.4. <a href="#QUEENS">Queens Puzzle</a></dt>
+
+ <dt>20.5. <a href="#SHUFFLE">Shuffle</a></dt>
+
+ <dt>20.6. <a href="#TT">Typing Tutor</a></dt>
+ </dl>
+ </dd>
+
+ <dt>21. <a href="#REF">References</a></dt>
+ </dl>
+ </div>
+
+ <div class="SECT1">
+ <h2 class="SECT1"><a name="INTRO" id="INTRO">1.
+ Introduction</a></h2>
+
+ <p>In the olden days of teletype terminals, terminals were
+ away from computers and were connected to them through serial
+ cables. The terminals could be configured by sending a series
+ of bytes. All the capabilities (such as moving the cursor to
+ a new location, erasing part of the screen, scrolling the
+ screen, changing modes etc.) of terminals could be accessed
+ through these series of bytes. These control seeuqnces are
+ usually called escape sequences, because they start with an
+ escape(0x1B) character. Even today, with proper emulation, we
+ can send escape sequences to the emulator and achieve the
+ same effect on a terminal window.</p>
+
+ <p>Suppose you wanted to print a line in color. Try typing
+ this on your console.</p>
+ <pre class="PROGRAMLISTING">
+echo "^[[0;31;40mIn Color"
+</pre>
+
+ <p>The first character is an escape character, which looks
+ like two characters ^ and [. To be able to print it, you have
+ to press CTRL+V and then the ESC key. All the others are
+ normal printable characters. You should be able to see the
+ string "In Color" in red. It stays that way and to revert
+ back to the original mode type this.</p>
+ <pre class="PROGRAMLISTING">
+echo "^[[0;37;40m"
+</pre>
+
+ <p>Now, what do these magic characters mean? Difficult to
+ comprehend? They might even be different for different
+ terminals. So the designers of UNIX invented a mechanism
+ named <tt class="LITERAL">termcap</tt>. It is a file that
+ lists all the capabilities of a particular terminal, along
+ with the escape sequences needed to achieve a particular
+ effect. In the later years, this was replaced by <tt class=
+ "LITERAL">terminfo</tt>. Without delving too much into
+ details, this mechanism allows application programs to query
+ the terminfo database and obtain the control characters to be
+ sent to a terminal or terminal emulator.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="WHATIS" id="WHATIS">1.1. What is
+ NCURSES?</a></h3>
+
+ <p>You might be wondering, what the import of all this
+ technical gibberish is. In the above scenario, every
+ application program is supposed to query the terminfo and
+ perform the necessary stuff (sending control characters
+ etc.). It soon became difficult to manage this complexity
+ and this gave birth to 'CURSES'. Curses is a pun on the
+ name "cursor optimization". The Curses library forms a
+ wrapper over working with raw terminal codes, and provides
+ highly flexible and efficient API (Application Programming
+ Interface). It provides functions to move the cursor,
+ create windows, produce colors, play with mouse etc. The
+ application programs need not worry about the underlying
+ terminal capabilities.</p>
+
+ <p>So what is NCURSES? NCURSES is a clone of the original
+ System V Release 4.0 (SVr4) curses. It is a freely
+ distributable library, fully compatible with older version
+ of curses. In short, it is a library of functions that
+ manages an application's display on character-cell
+ terminals. In the remainder of the document, the terms
+ curses and ncurses are used interchangeably.</p>
+
+ <p>A detailed history of NCURSES can be found in the NEWS
+ file from the source distribution. The current package is
+ maintained by <a href="mailto:dickey@his.com" target=
+ "_top">Thomas Dickey</a>. You can contact the maintainers
+ at <a href="mailto:bug-ncurses@gnu.org" target=
+ "_top">bug-ncurses@gnu.org</a>.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="WHATCANWEDO" id=
+ "WHATCANWEDO">1.2. What we can do with NCURSES</a></h3>
+
+ <p>NCURSES not only creates a wrapper over terminal
+ capabilities, but also gives a robust framework to create
+ nice looking UI (User Interface)s in text mode. It provides
+ functions to create windows etc. Its sister libraries
+ panel, menu and form provide an extension to the basic
+ curses library. These libraries usually come along with
+ curses. One can create applications that contain multiple
+ windows, menus, panels and forms. Windows can be managed
+ independently, can provide 'scrollability' and even can be
+ hidden.</p>
+
+ <p>Menus provide the user with an easy command selection
+ option. Forms allow the creation of easy-to-use data entry
+ and display windows. Panels extend the capabilities of
+ ncurses to deal with overlapping and stacked windows.</p>
+
+ <p>These are just some of the basic things we can do with
+ ncurses. As we move along, We will see all the capabilities
+ of these libraries.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="WHERETOGETIT" id=
+ "WHERETOGETIT">1.3. Where to get it</a></h3>
+
+ <p>All right, now that you know what you can do with
+ ncurses, you must be rearing to get started. NCURSES is
+ usually shipped with your installation. In case you don't
+ have the library or want to compile it on your own, read
+ on.</p>
+
+ <p><span class="emphasis"><i class="EMPHASIS">Compiling the
+ package</i></span></p>
+
+ <p>NCURSES can be obtained from <a href=
+ "ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz" target=
+ "_top">ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz</a>
+ or any of the ftp sites mentioned in <a href=
+ "http://www.gnu.org/order/ftp.html" target=
+ "_top">http://www.gnu.org/order/ftp.html</a>.</p>
+
+ <p>Read the README and INSTALL files for details on to how
+ to install it. It usually involves the following
+ operations.</p>
+ <pre class="PROGRAMLISTING">
+ tar zxvf ncurses&lt;version&gt;.tar.gz # unzip and untar the archive
cd ncurses&lt;version&gt; # cd to the directory
./configure # configure the build according to your
# environment
make # make it
su root # become root
- make install # install it</PRE
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Using the RPM </I
-></SPAN
-></P
-><P
->NCURSES RPM can be found and downloaded from <A
-HREF="http://rpmfind.net"
-TARGET="_top"
->http://rpmfind.net </A
->. The RPM can be installed with the following
-command after becoming root.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> rpm -i &lt;downloaded rpm&gt;</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PURPOSE"
->1.4. Purpose/Scope of the document</A
-></H3
-><P
->This document is intended to be a "All in One" guide for programming with
-ncurses and its sister libraries. We graduate from a simple "Hello World"
-program to more complex form manipulation. No prior experience in ncurses is
-assumed. The writing is informal, but a lot of detail is provided for
-each of the examples.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ABOUTPROGRAMS"
->1.5. About the Programs</A
-></H3
-><P
->All the programs in the document are available in zipped form
-<A
-HREF="http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs.tar.gz"
-TARGET="_top"
->here</A
->. Unzip and untar it. The directory structure looks like this.</P
-><PRE
-CLASS="PROGRAMLISTING"
->ncurses
+ make install # install it
+</pre>
+
+ <p><span class="emphasis"><i class="EMPHASIS">Using the
+ RPM</i></span></p>
+
+ <p>NCURSES RPM can be found and downloaded from <a href=
+ "http://rpmfind.net" target="_top">http://rpmfind.net</a> .
+ The RPM can be installed with the following command after
+ becoming root.</p>
+ <pre class="PROGRAMLISTING">
+ rpm -i &lt;downloaded rpm&gt;
+</pre>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="PURPOSE" id="PURPOSE">1.4.
+ Purpose/Scope of the document</a></h3>
+
+ <p>This document is intended to be a "All in One" guide for
+ programming with ncurses and its sister libraries. We
+ graduate from a simple "Hello World" program to more
+ complex form manipulation. No prior experience in ncurses
+ is assumed. The writing is informal, but a lot of detail is
+ provided for each of the examples.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="ABOUTPROGRAMS" id=
+ "ABOUTPROGRAMS">1.5. About the Programs</a></h3>
+
+ <p>All the programs in the document are available in zipped
+ form <a href=
+ "http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs.tar.gz"
+ target="_top">here</a>. Unzip and untar it. The directory
+ structure looks like this.</p>
+ <pre class="PROGRAMLISTING">
+ncurses
|
|----&gt; JustForFun -- just for fun programs
|----&gt; basics -- basic programs
@@ -1290,12 +852,13 @@ CLASS="PROGRAMLISTING"
| by Anuradha Ratnaweera)
|----&gt; Makefile -- the top level Makefile
|----&gt; README -- the top level README file. contains instructions
- |----&gt; COPYING -- copyright notice</PRE
-><P
->The individual directories contain the following files.</P
-><PRE
-CLASS="PROGRAMLISTING"
->Description of files in each directory
+ |----&gt; COPYING -- copyright notice
+</pre>
+
+ <p>The individual directories contain the following
+ files.</p>
+ <pre class="PROGRAMLISTING">
+Description of files in each directory
--------------------------------------
JustForFun
|
@@ -1354,96 +917,86 @@ JustForFun
|----&gt; panel_simple.c -- A simple panel example
perl
- |----&gt; 01-10.pl -- Perl equivalents of first ten example programs</PRE
-><P
->There is a top level Makefile included in the main directory. It builds all the
-files and puts the ready-to-use exes in demo/exe directory. You can also
-do selective make by going into the corresponding directory. Each directory
-contains a README file explaining the purpose of each c file in the directory.</P
-><P
->For every example, I have included path name for the file relative to the
-examples directory. </P
-><P
-> If you prefer browsing individual programs, point your browser to
-<A
-HREF="http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/"
-TARGET="_top"
->http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/</A
-></P
-><P
->All the programs are released under the same license that is used by ncurses
-(MIT-style). This gives you the ability to do pretty much anything other than
-claiming them as yours. Feel free to use them in your programs as appropriate.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="OTHERFORMATS"
->1.6. Other Formats of the document</A
-></H3
-><P
->This howto is also availabe in various other formats on the tldp.org site.
-Here are the links to other formats of this document.</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="LISTFORMATS"
->1.6.1. Readily available formats from tldp.org</A
-></H4
-><P
-></P
-><UL
-><LI
-><P
-><A
-HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/NCURSES-Programming-HOWTO.pdf"
-TARGET="_top"
->Acrobat PDF Format</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/ps/NCURSES-Programming-HOWTO.ps.gz"
-TARGET="_top"
->PostScript Format</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html/NCURSES-Programming-HOWTO-html.tar.gz"
-TARGET="_top"
->In Multiple HTML pages</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/NCURSES-Programming-HOWTO.html"
-TARGET="_top"
->In One big HTML format</A
-></P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="BUILDSOURCE"
->1.6.2. Building from source</A
-></H4
-><P
->If above links are broken or if you want to experiment with sgml read on.
-<PRE
-CLASS="PROGRAMLISTING"
->&#13; Get both the source and the tar,gzipped programs, available at
+ |----&gt; 01-10.pl -- Perl equivalents of first ten example programs
+</pre>
+
+ <p>There is a top level Makefile included in the main
+ directory. It builds all the files and puts the
+ ready-to-use exes in demo/exe directory. You can also do
+ selective make by going into the corresponding directory.
+ Each directory contains a README file explaining the
+ purpose of each c file in the directory.</p>
+
+ <p>For every example, I have included path name for the
+ file relative to the examples directory.</p>
+
+ <p>If you prefer browsing individual programs, point your
+ browser to <a href=
+ "http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/"
+ target=
+ "_top">http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ncurses_programs/</a></p>
+
+ <p>All the programs are released under the same license
+ that is used by ncurses (MIT-style). This gives you the
+ ability to do pretty much anything other than claiming them
+ as yours. Feel free to use them in your programs as
+ appropriate.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="OTHERFORMATS" id=
+ "OTHERFORMATS">1.6. Other Formats of the document</a></h3>
+
+ <p>This howto is also availabe in various other formats on
+ the tldp.org site. Here are the links to other formats of
+ this document.</p>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="LISTFORMATS" id=
+ "LISTFORMATS">1.6.1. Readily available formats from
+ tldp.org</a></h4>
+
+ <ul>
+ <li>
+ <p><a href=
+ "http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/NCURSES-Programming-HOWTO.pdf"
+ target="_top">Acrobat PDF Format</a></p>
+ </li>
+
+ <li>
+ <p><a href=
+ "http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/ps/NCURSES-Programming-HOWTO.ps.gz"
+ target="_top">PostScript Format</a></p>
+ </li>
+
+ <li>
+ <p><a href=
+ "http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html/NCURSES-Programming-HOWTO-html.tar.gz"
+ target="_top">In Multiple HTML pages</a></p>
+ </li>
+
+ <li>
+ <p><a href=
+ "http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/NCURSES-Programming-HOWTO.html"
+ target="_top">In One big HTML format</a></p>
+ </li>
+ </ul>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="BUILDSOURCE" id=
+ "BUILDSOURCE">1.6.2. Building from source</a></h4>
+
+ <p>If above links are broken or if you want to experiment
+ with sgml read on.</p>
+ <pre class="PROGRAMLISTING">
+&#13; Get both the source and the tar,gzipped programs, available at
http://cvsview.tldp.org/index.cgi/LDP/howto/docbook/
NCURSES-HOWTO/NCURSES-Programming-HOWTO.sgml
http://cvsview.tldp.org/index.cgi/LDP/howto/docbook/
@@ -1464,862 +1017,699 @@ CLASS="PROGRAMLISTING"
NCURSES-ONE-BIG-FILE.html
for ps, you would use
htmldoc --size universal -t ps --firstpage p1 -f &lt;output file name.ps&gt;
- NCURSES-ONE-BIG-FILE.html</PRE
-></P
-><P
->See <A
-HREF="http://www.tldp.org/LDP/LDP-Author-Guide/"
-TARGET="_top"
->LDP Author guide</A
-> for more details. If all else failes, mail me at
-<A
-HREF="ppadala@gmail.com"
-TARGET="_top"
->ppadala@gmail.com</A
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="CREDITS"
->1.7. Credits</A
-></H3
-><P
->I thank <A
-HREF="mailto:sharath_1@usa.net"
-TARGET="_top"
->Sharath</A
-> and Emre Akbas for
-helping me with few sections. The introduction was initially written by sharath.
-I rewrote it with few excerpts taken from his initial work. Emre helped in
-writing printw and scanw sections.</P
-><P
->Perl equivalents of the example programs are contributed by <A
-HREF="mailto:Aratnaweera@virtusa.com"
-TARGET="_top"
->Anuradha Ratnaweera</A
->. </P
-><P
->Then comes <A
-HREF="mailto:parimi@ece.arizona.edu"
-TARGET="_top"
->Ravi Parimi</A
->, my
-dearest friend, who has been on this project before even one line was written.
-He constantly bombarded me with suggestions and patiently reviewed the whole
-text. He also checked each program on Linux and Solaris. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WISHLIST"
->1.8. Wish List</A
-></H3
-><P
->This is the wish list, in the order of priority. If you have a wish or you want
-to work on completing the wish, mail <A
-HREF="mailto:ppadala@gmail.com"
-TARGET="_top"
->me</A
->. </P
-><P
-></P
-><UL
-><LI
-><P
->Add examples to last parts of forms section.</P
-></LI
-><LI
-><P
->Prepare a Demo showing all the programs and allow the user to browse through
-description of each program. Let the user compile and see the program in action.
-A dialog based interface is preferred.</P
-></LI
-><LI
-><P
->Add debug info. _tracef, _tracemouse stuff.</P
-></LI
-><LI
-><P
->Accessing termcap, terminfo using functions provided by ncurses
-package.</P
-></LI
-><LI
-><P
->Working on two terminals simultaneously.</P
-></LI
-><LI
-><P
->Add more stuff to miscellaneous section.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="COPYRIGHT"
->1.9. Copyright</A
-></H3
-><P
->Copyright &copy; 2001 by Pradeep Padala. </P
-><P
->Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, distribute with
-modifications, sublicense, and/or sell copies of the Software, and to permit
-persons to whom the Software is furnished to do so, subject to the following
-conditions:</P
-><P
->The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.</P
-><P
->THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
-IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</P
-><P
->Except as contained in this notice, the name(s) of the above copyright holders
-shall not be used in advertising or otherwise to promote the sale, use or
-other dealings in this Software without prior written authorization. </P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="HELLOWORLD"
->2. Hello World !!!</A
-></H2
-><P
->Welcome to the world of curses. Before we plunge into the library and look into
-its various features, let's write a simple program and say
-hello to the world. </P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="COMPILECURSES"
->2.1. Compiling With the NCURSES Library</A
-></H3
-><P
->To use ncurses library functions, you have to include ncurses.h in your
-programs. To link the
-program with ncurses the flag -lncurses should be added.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> #include &lt;ncurses.h&gt;
+ NCURSES-ONE-BIG-FILE.html
+</pre>
+
+ <p>See <a href=
+ "http://www.tldp.org/LDP/LDP-Author-Guide/" target=
+ "_top">LDP Author guide</a> for more details. If all else
+ failes, mail me at <a href="ppadala@gmail.com" target=
+ "_top">ppadala@gmail.com</a></p>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="CREDITS" id="CREDITS">1.7.
+ Credits</a></h3>
+
+ <p>I thank <a href="mailto:sharath_1@usa.net" target=
+ "_top">Sharath</a> and Emre Akbas for helping me with few
+ sections. The introduction was initially written by
+ sharath. I rewrote it with few excerpts taken from his
+ initial work. Emre helped in writing printw and scanw
+ sections.</p>
+
+ <p>Perl equivalents of the example programs are contributed
+ by <a href="mailto:Aratnaweera@virtusa.com" target=
+ "_top">Anuradha Ratnaweera</a>.</p>
+
+ <p>Then comes <a href="mailto:parimi@ece.arizona.edu"
+ target="_top">Ravi Parimi</a>, my dearest friend, who has
+ been on this project before even one line was written. He
+ constantly bombarded me with suggestions and patiently
+ reviewed the whole text. He also checked each program on
+ Linux and Solaris.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="WISHLIST" id="WISHLIST">1.8.
+ Wish List</a></h3>
+
+ <p>This is the wish list, in the order of priority. If you
+ have a wish or you want to work on completing the wish,
+ mail <a href="mailto:ppadala@gmail.com" target=
+ "_top">me</a>.</p>
+
+ <ul>
+ <li>
+ <p>Add examples to last parts of forms section.</p>
+ </li>
+
+ <li>
+ <p>Prepare a Demo showing all the programs and allow
+ the user to browse through description of each program.
+ Let the user compile and see the program in action. A
+ dialog based interface is preferred.</p>
+ </li>
+
+ <li>
+ <p>Add debug info. _tracef, _tracemouse stuff.</p>
+ </li>
+
+ <li>
+ <p>Accessing termcap, terminfo using functions provided
+ by ncurses package.</p>
+ </li>
+
+ <li>
+ <p>Working on two terminals simultaneously.</p>
+ </li>
+
+ <li>
+ <p>Add more stuff to miscellaneous section.</p>
+ </li>
+ </ul>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="COPYRIGHT" id="COPYRIGHT">1.9.
+ Copyright</a></h3>
+
+ <p>Copyright &copy; 2001 by Pradeep Padala.</p>
+
+ <p>Permission is hereby granted, free of charge, to any
+ person obtaining a copy of this software and associated
+ documentation files (the "Software"), to deal in the
+ Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish,
+ distribute, distribute with modifications, sublicense,
+ and/or sell copies of the Software, and to permit persons
+ to whom the Software is furnished to do so, subject to the
+ following conditions:</p>
+
+ <p>The above copyright notice and this permission notice
+ shall be included in all copies or substantial portions of
+ the Software.</p>
+
+ <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
+ THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
+
+ <p>Except as contained in this notice, the name(s) of the
+ above copyright holders shall not be used in advertising or
+ otherwise to promote the sale, use or other dealings in
+ this Software without prior written authorization.</p>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="HELLOWORLD" id="HELLOWORLD">2.
+ Hello World !!!</a></h2>
+
+ <p>Welcome to the world of curses. Before we plunge into the
+ library and look into its various features, let's write a
+ simple program and say hello to the world.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="COMPILECURSES" id=
+ "COMPILECURSES">2.1. Compiling With the NCURSES
+ Library</a></h3>
+
+ <p>To use ncurses library functions, you have to include
+ ncurses.h in your programs. To link the program with
+ ncurses the flag -lncurses should be added.</p>
+ <pre class="PROGRAMLISTING">
+ #include &lt;ncurses.h&gt;
.
.
.
- compile and link: gcc &lt;program file&gt; -lncurses</PRE
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BHW"
-></A
-><P
-><B
->Example 1. The Hello World !!! Program </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+ compile and link: gcc &lt;program file&gt; -lncurses
+</pre>
+
+ <div class="EXAMPLE">
+ <a name="BHW" id="BHW"></a>
+
+ <p><b>Example 1. The Hello World !!! Program</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt;
int main()
-{
- initscr(); /* Start curses mode */
- printw("Hello World !!!"); /* Print Hello World */
- refresh(); /* Print it on to the real screen */
- getch(); /* Wait for user input */
- endwin(); /* End curses mode */
-
- return 0;
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="DISSECTION"
->2.2. Dissection</A
-></H3
-><P
->
-The above program prints "Hello World !!!" to the screen and exits. This
-program shows how to initialize curses and do screen manipulation and
-end curses mode. Let's dissect it line by line. </P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="ABOUT-INITSCR"
->2.2.1. About initscr()</A
-></H4
-><P
->The function initscr() initializes the terminal in curses mode. In some
-implementations, it clears the screen and presents a blank screen. To do any
-screen manipulation using curses package this has to be called first. This
-function initializes the curses system and allocates memory for our present
-window (called <TT
-CLASS="LITERAL"
->stdscr</TT
->) and some other data-structures. Under extreme
-cases this function might fail due to insufficient memory to allocate memory
-for curses library's data structures. </P
-><P
->
-After this is done, we can do a variety of initializations to customize
-our curses settings. These details will be explained <A
-HREF="#INIT"
->later </A
->.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="MYST-REFRESH"
->2.2.2. The mysterious refresh()</A
-></H4
-><P
->The next line printw prints the string "Hello World !!!" on to the screen. This
-function is analogous to normal printf in all respects except that it prints
-the data on a window called stdscr at the current (y,x) co-ordinates. Since our
-present co-ordinates are at 0,0 the string is printed at the left hand corner
-of the window.</P
-><P
->This brings us to that mysterious refresh(). Well, when we called printw
-the data is actually written to an imaginary window, which is not updated
-on the screen yet. The job of printw is to update a few flags
-and data structures and write the data to a buffer corresponding to stdscr.
-In order to show it on the screen, we need to call refresh() and tell the
-curses system to dump the contents on the screen.</P
-><P
->The philosophy behind all this is to allow the programmer to do multiple updates
-on the imaginary screen or windows and do a refresh once all his screen update
-is done. refresh() checks the window and updates only the portion which has been
-changed. This improves performance and offers greater flexibility too. But, it is
-sometimes frustrating to beginners. A common mistake committed by beginners is
-to forget to call refresh() after they did some update through printw() class of
-functions. I still forget to add it sometimes :-) </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="ABOUT-ENDWIN"
->2.2.3. About endwin()</A
-></H4
-><P
->And finally don't forget to end the curses mode. Otherwise your terminal might
-behave strangely after the program quits. endwin() frees the memory taken by
-curses sub-system and its data structures and puts the terminal in normal
-mode. This function must be called after you are done with the curses mode. </P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="GORY"
->3. The Gory Details</A
-></H2
-><P
->Now that we have seen how to write a simple curses program let's get into the
-details. There are many functions that help customize what you see on screen and
-many features which can be put to full use. </P
-><P
->Here we go...</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="INIT"
->4. Initialization</A
-></H2
-><P
->We now know that to initialize curses system the function initscr() has to be
-called. There are functions which can be called after this initialization to
-customize our curses session. We may ask the curses system to set the terminal
-in raw mode or initialize color or initialize the mouse etc.. Let's discuss some
-of the functions that are normally called immediately after initscr();</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ABOUTINIT"
->4.1. Initialization functions</A
-></H3
-><P
-> </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="RAWCBREAK"
->4.2. raw() and cbreak()</A
-></H3
-><P
->Normally the terminal driver buffers the characters a user types until a new
-line or carriage return is encountered. But most programs require that the
-characters be available as soon as the user types them. The above two functions
-are used to disable line buffering. The difference between these two functions
-is in the way control characters like suspend (CTRL-Z), interrupt and quit
-(CTRL-C) are passed to the program. In the raw() mode these characters are
-directly passed to the program without generating a signal. In the
-<TT
-CLASS="LITERAL"
->cbreak()</TT
-> mode these control characters are
-interpreted as any other character by the terminal driver. I personally prefer
-to use raw() as I can exercise greater control over what the user does.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ECHONOECHO"
->4.3. echo() and noecho()</A
-></H3
-><P
->
-These functions control the echoing of characters typed by the user to the
-terminal. <TT
-CLASS="LITERAL"
->noecho()</TT
-> switches off echoing. The
-reason you might want to do this is to gain more control over echoing or to
-suppress unnecessary echoing while taking input from the user through the
-getch() etc. functions. Most of the interactive programs call
-<TT
-CLASS="LITERAL"
->noecho()</TT
-> at initialization and do the echoing
-of characters in a controlled manner. It gives the programmer the flexibility
-of echoing characters at any place in the window without updating current (y,x)
-co-ordinates. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="KEYPAD"
->4.4. keypad()</A
-></H3
-><P
->This is my favorite initialization function. It enables the reading of function
-keys like F1, F2, arrow keys etc. Almost every interactive program enables this,
-as arrow keys are a major part of any User Interface. Do
-<TT
-CLASS="LITERAL"
->keypad(stdscr, TRUE) </TT
-> to enable this feature
-for the regular screen (stdscr). You will learn more about key management in
-later sections of this document.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="HALFDELAY"
->4.5. halfdelay()</A
-></H3
-><P
->This function, though not used very often, is a useful one at times.
-halfdelay()is called to enable the half-delay mode, which is similar to the
-cbreak() mode in that characters typed are immediately available to program.
-However, it waits for 'X' tenths of a second for input and then returns ERR, if
-no input is available. 'X' is the timeout value passed to the function
-halfdelay(). This function is useful when you want to ask the user for input,
-and if he doesn't respond with in certain time, we can do some thing else. One
-possible example is a timeout at the password prompt. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MISCINIT"
->4.6. Miscellaneous Initialization functions</A
-></H3
-><P
->There are few more functions which are called at initialization to
-customize curses behavior. They are not used as extensively as those mentioned
-above. Some of them are explained where appropriate.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="INITEX"
->4.7. An Example</A
-></H3
-><P
->Let's write a program which will clarify the usage of these functions.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BINFU"
-></A
-><P
-><B
->Example 2. Initialization Function Usage example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+{
+ initscr(); /* Start curses mode */
+ printw("Hello World !!!"); /* Print Hello World */
+ refresh(); /* Print it on to the real screen */
+ getch(); /* Wait for user input */
+ endwin(); /* End curses mode */
+
+ return 0;
+}</span>
+</pre>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="DISSECTION" id="DISSECTION">2.2.
+ Dissection</a></h3>
+
+ <p>The above program prints "Hello World !!!" to the screen
+ and exits. This program shows how to initialize curses and
+ do screen manipulation and end curses mode. Let's dissect
+ it line by line.</p>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="ABOUT-INITSCR" id=
+ "ABOUT-INITSCR">2.2.1. About initscr()</a></h4>
+
+ <p>The function initscr() initializes the terminal in
+ curses mode. In some implementations, it clears the
+ screen and presents a blank screen. To do any screen
+ manipulation using curses package this has to be called
+ first. This function initializes the curses system and
+ allocates memory for our present window (called
+ <tt class="LITERAL">stdscr</tt>) and some other
+ data-structures. Under extreme cases this function might
+ fail due to insufficient memory to allocate memory for
+ curses library's data structures.</p>
+
+ <p>After this is done, we can do a variety of
+ initializations to customize our curses settings. These
+ details will be explained <a href="#INIT">later</a> .</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="MYST-REFRESH" id=
+ "MYST-REFRESH">2.2.2. The mysterious refresh()</a></h4>
+
+ <p>The next line printw prints the string "Hello World
+ !!!" on to the screen. This function is analogous to
+ normal printf in all respects except that it prints the
+ data on a window called stdscr at the current (y,x)
+ co-ordinates. Since our present co-ordinates are at 0,0
+ the string is printed at the left hand corner of the
+ window.</p>
+
+ <p>This brings us to that mysterious refresh(). Well,
+ when we called printw the data is actually written to an
+ imaginary window, which is not updated on the screen yet.
+ The job of printw is to update a few flags and data
+ structures and write the data to a buffer corresponding
+ to stdscr. In order to show it on the screen, we need to
+ call refresh() and tell the curses system to dump the
+ contents on the screen.</p>
+
+ <p>The philosophy behind all this is to allow the
+ programmer to do multiple updates on the imaginary screen
+ or windows and do a refresh once all his screen update is
+ done. refresh() checks the window and updates only the
+ portion which has been changed. This improves performance
+ and offers greater flexibility too. But, it is sometimes
+ frustrating to beginners. A common mistake committed by
+ beginners is to forget to call refresh() after they did
+ some update through printw() class of functions. I still
+ forget to add it sometimes :-)</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="ABOUT-ENDWIN" id=
+ "ABOUT-ENDWIN">2.2.3. About endwin()</a></h4>
+
+ <p>And finally don't forget to end the curses mode.
+ Otherwise your terminal might behave strangely after the
+ program quits. endwin() frees the memory taken by curses
+ sub-system and its data structures and puts the terminal
+ in normal mode. This function must be called after you
+ are done with the curses mode.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="GORY" id="GORY">3. The Gory
+ Details</a></h2>
+
+ <p>Now that we have seen how to write a simple curses program
+ let's get into the details. There are many functions that
+ help customize what you see on screen and many features which
+ can be put to full use.</p>
+
+ <p>Here we go...</p>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="INIT" id="INIT">4.
+ Initialization</a></h2>
+
+ <p>We now know that to initialize curses system the function
+ initscr() has to be called. There are functions which can be
+ called after this initialization to customize our curses
+ session. We may ask the curses system to set the terminal in
+ raw mode or initialize color or initialize the mouse etc..
+ Let's discuss some of the functions that are normally called
+ immediately after initscr();</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="ABOUTINIT" id="ABOUTINIT">4.1.
+ Initialization functions</a></h3>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="RAWCBREAK" id="RAWCBREAK">4.2.
+ raw() and cbreak()</a></h3>
+
+ <p>Normally the terminal driver buffers the characters a
+ user types until a new line or carriage return is
+ encountered. But most programs require that the characters
+ be available as soon as the user types them. The above two
+ functions are used to disable line buffering. The
+ difference between these two functions is in the way
+ control characters like suspend (CTRL-Z), interrupt and
+ quit (CTRL-C) are passed to the program. In the raw() mode
+ these characters are directly passed to the program without
+ generating a signal. In the <tt class=
+ "LITERAL">cbreak()</tt> mode these control characters are
+ interpreted as any other character by the terminal driver.
+ I personally prefer to use raw() as I can exercise greater
+ control over what the user does.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="ECHONOECHO" id="ECHONOECHO">4.3.
+ echo() and noecho()</a></h3>
+
+ <p>These functions control the echoing of characters typed
+ by the user to the terminal. <tt class=
+ "LITERAL">noecho()</tt> switches off echoing. The reason
+ you might want to do this is to gain more control over
+ echoing or to suppress unnecessary echoing while taking
+ input from the user through the getch() etc. functions.
+ Most of the interactive programs call <tt class=
+ "LITERAL">noecho()</tt> at initialization and do the
+ echoing of characters in a controlled manner. It gives the
+ programmer the flexibility of echoing characters at any
+ place in the window without updating current (y,x)
+ co-ordinates.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="KEYPAD" id="KEYPAD">4.4.
+ keypad()</a></h3>
+
+ <p>This is my favorite initialization function. It enables
+ the reading of function keys like F1, F2, arrow keys etc.
+ Almost every interactive program enables this, as arrow
+ keys are a major part of any User Interface. Do <tt class=
+ "LITERAL">keypad(stdscr, TRUE)</tt> to enable this feature
+ for the regular screen (stdscr). You will learn more about
+ key management in later sections of this document.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="HALFDELAY" id="HALFDELAY">4.5.
+ halfdelay()</a></h3>
+
+ <p>This function, though not used very often, is a useful
+ one at times. halfdelay()is called to enable the half-delay
+ mode, which is similar to the cbreak() mode in that
+ characters typed are immediately available to program.
+ However, it waits for 'X' tenths of a second for input and
+ then returns ERR, if no input is available. 'X' is the
+ timeout value passed to the function halfdelay(). This
+ function is useful when you want to ask the user for input,
+ and if he doesn't respond with in certain time, we can do
+ some thing else. One possible example is a timeout at the
+ password prompt.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="MISCINIT" id="MISCINIT">4.6.
+ Miscellaneous Initialization functions</a></h3>
+
+ <p>There are few more functions which are called at
+ initialization to customize curses behavior. They are not
+ used as extensively as those mentioned above. Some of them
+ are explained where appropriate.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="INITEX" id="INITEX">4.7. An
+ Example</a></h3>
+
+ <p>Let's write a program which will clarify the usage of
+ these functions.</p>
+
+ <div class="EXAMPLE">
+ <a name="BINFU" id="BINFU"></a>
+
+ <p><b>Example 2. Initialization Function Usage
+ example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt;
int main()
-{ int ch;
-
- initscr(); /* Start curses mode */
- raw(); /* Line buffering disabled */
- keypad(stdscr, TRUE); /* We get F1, F2 etc.. */
- noecho(); /* Don't echo() while we do getch */
-
- printw("Type any character to see it in bold\n");
- ch = getch(); /* If raw() hadn't been called
- * we have to press enter before it
- * gets to the program */
- if(ch == KEY_F(1)) /* Without keypad enabled this will */
- printw("F1 Key pressed");/* not get to us either */
- /* Without noecho() some ugly escape
- * charachters might have been printed
- * on screen */
- else
- { printw("The pressed key is ");
- attron(A_BOLD);
- printw("%c", ch);
- attroff(A_BOLD);
- }
- refresh(); /* Print it on to the real screen */
- getch(); /* Wait for user input */
- endwin(); /* End curses mode */
-
- return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->This program is self-explanatory. But I used functions which aren't explained
-yet. The function <TT
-CLASS="LITERAL"
->getch()</TT
-> is used to get a
-character from user. It is equivalent to normal
-<TT
-CLASS="LITERAL"
->getchar()</TT
-> except that we can disable the line
-buffering to avoid &lt;enter&gt; after input. Look for more about
-<TT
-CLASS="LITERAL"
->getch()</TT
->and reading keys in the <A
-HREF="#KEYS"
-> key management section </A
->. The functions attron and attroff
-are used to switch some attributes on and off respectively. In the example I
-used them to print the character in bold. These functions are explained in detail
-later.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="AWORDWINDOWS"
->5. A Word about Windows</A
-></H2
-><P
->
-Before we plunge into the myriad ncurses functions, let me clear few things
-about windows. Windows are explained in detail in following <A
-HREF="#WINDOWS"
-> sections </A
-></P
-><P
->A Window is an imaginary screen defined by curses system. A window does not mean
-a bordered window which you usually see on Win9X platforms. When curses is
-initialized, it creates a default window named
-<TT
-CLASS="LITERAL"
->stdscr</TT
-> which represents your 80x25 (or the size
-of window in which you are running) screen. If you are doing simple tasks like
-printing few strings, reading input etc., you can safely use this single window
-for all of your purposes. You can also create windows and call functions which
-explicitly work on the specified window.</P
-><P
->For example, if you call</P
-><PRE
-CLASS="PROGRAMLISTING"
-> printw("Hi There !!!");
- refresh();</PRE
-><P
->It prints the string on stdscr at the present cursor position. Similarly the
-call to refresh(), works on stdscr only. </P
-><P
->Say you have created <A
-HREF="#WINDOWS"
->windows</A
-> then you have to
-call a function with a 'w' added to the usual function.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> wprintw(win, "Hi There !!!");
- wrefresh(win);</PRE
-><P
->As you will see in the rest of the document, naming of functions follow the
-same convention. For each function there usually are three more functions.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> printw(string); /* Print on stdscr at present cursor position */
+{ int ch;
+
+ initscr(); /* Start curses mode */
+ raw(); /* Line buffering disabled */
+ keypad(stdscr, TRUE); /* We get F1, F2 etc.. */
+ noecho(); /* Don't echo() while we do getch */
+
+ printw("Type any character to see it in bold\n");
+ ch = getch(); /* If raw() hadn't been called
+ * we have to press enter before it
+ * gets to the program */
+ if(ch == KEY_F(1)) /* Without keypad enabled this will */
+ printw("F1 Key pressed");/* not get to us either */
+ /* Without noecho() some ugly escape
+ * charachters might have been printed
+ * on screen */
+ else
+ { printw("The pressed key is ");
+ attron(A_BOLD);
+ printw("%c", ch);
+ attroff(A_BOLD);
+ }
+ refresh(); /* Print it on to the real screen */
+ getch(); /* Wait for user input */
+ endwin(); /* End curses mode */
+
+ return 0;
+}</span>
+</pre>
+ </div>
+
+ <p>This program is self-explanatory. But I used functions
+ which aren't explained yet. The function <tt class=
+ "LITERAL">getch()</tt> is used to get a character from
+ user. It is equivalent to normal <tt class=
+ "LITERAL">getchar()</tt> except that we can disable the
+ line buffering to avoid &lt;enter&gt; after input. Look for
+ more about <tt class="LITERAL">getch()</tt>and reading keys
+ in the <a href="#KEYS">key management section</a> . The
+ functions attron and attroff are used to switch some
+ attributes on and off respectively. In the example I used
+ them to print the character in bold. These functions are
+ explained in detail later.</p>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="AWORDWINDOWS" id="AWORDWINDOWS">5.
+ A Word about Windows</a></h2>
+
+ <p>Before we plunge into the myriad ncurses functions, let me
+ clear few things about windows. Windows are explained in
+ detail in following <a href="#WINDOWS">sections</a></p>
+
+ <p>A Window is an imaginary screen defined by curses system.
+ A window does not mean a bordered window which you usually
+ see on Win9X platforms. When curses is initialized, it
+ creates a default window named <tt class=
+ "LITERAL">stdscr</tt> which represents your 80x25 (or the
+ size of window in which you are running) screen. If you are
+ doing simple tasks like printing few strings, reading input
+ etc., you can safely use this single window for all of your
+ purposes. You can also create windows and call functions
+ which explicitly work on the specified window.</p>
+
+ <p>For example, if you call</p>
+ <pre class="PROGRAMLISTING">
+ printw("Hi There !!!");
+ refresh();
+</pre>
+
+ <p>It prints the string on stdscr at the present cursor
+ position. Similarly the call to refresh(), works on stdscr
+ only.</p>
+
+ <p>Say you have created <a href="#WINDOWS">windows</a> then
+ you have to call a function with a 'w' added to the usual
+ function.</p>
+ <pre class="PROGRAMLISTING">
+ wprintw(win, "Hi There !!!");
+ wrefresh(win);
+</pre>
+
+ <p>As you will see in the rest of the document, naming of
+ functions follow the same convention. For each function there
+ usually are three more functions.</p>
+ <pre class="PROGRAMLISTING">
+ printw(string); /* Print on stdscr at present cursor position */
mvprintw(y, x, string);/* Move to (y, x) then print string */
wprintw(win, string); /* Print on window win at present cursor position */
/* in the window */
mvwprintw(win, y, x, string); /* Move to (y, x) relative to window */
- /* co-ordinates and then print */</PRE
-><P
->Usually the w-less functions are macros which expand to corresponding w-function
-with stdscr as the window parameter.</P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="PRINTW"
->6. Output functions</A
-></H2
-><P
->I guess you can't wait any more to see some action. Back to our odyssey of
-curses functions. Now that curses is initialized, let's interact with
-world.</P
-><P
->There are three classes of functions which you can use to do output on screen.
-<P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->addch() class: Print single character with attributes </P
-></LI
-><LI
-><P
->printw() class: Print formatted output similar to printf()</P
-></LI
-><LI
-><P
->addstr() class: Print strings</P
-></LI
-></OL
-></P
-><P
->These functions can be used interchangeably and it's a matter of style as to
-which class is used. Let's see each one in detail.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ADDCHCLASS"
->6.1. addch() class of functions</A
-></H3
-><P
->These functions put a single character into the current cursor location and
-advance the position of the cursor. You can give the character to be printed but
-they usually are used to print a character with some attributes. Attributes are
-explained in detail in later <A
-HREF="#ATTRIB"
-> sections </A
-> of the
-document. If a character is associated with an attribute(bold, reverse video
-etc.), when curses prints the character, it is printed in that attribute.</P
-><P
->In order to combine a character with some attributes, you have two options:</P
-><P
-></P
-><UL
-><LI
-><P
->By OR'ing a single character with the desired attribute macros. These attribute
-macros could be found in the header file
-<TT
-CLASS="LITERAL"
->ncurses.h</TT
->. For example, you want to print a
-character ch(of type char) bold and underlined, you would call addch() as below.
-<PRE
-CLASS="PROGRAMLISTING"
-> addch(ch | A_BOLD | A_UNDERLINE);</PRE
-></P
-></LI
-><LI
-><P
->By using functions like <TT
-CLASS="LITERAL"
->attrset(),attron(),attroff()</TT
->. These functions are explained in the <A
-HREF="#ATTRIB"
->Attributes</A
-> section. Briefly, they manipulate the current attributes of
-the given window. Once set, the character printed in the window are associated
-with the attributes until it is turned off.</P
-></LI
-></UL
-><P
->Additionally, <TT
-CLASS="LITERAL"
->curses</TT
-> provides some special
-characters for character-based graphics. You can draw tables, horizontal or
-vertical lines, etc. You can find all avaliable characters in the header file
-<TT
-CLASS="LITERAL"
->ncurses.h</TT
->. Try looking for macros beginning
-with <TT
-CLASS="LITERAL"
->ACS_</TT
-> in this file. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="AEN298"
->6.2. mvaddch(), waddch() and mvwaddch()</A
-></H3
-><P
-><TT
-CLASS="LITERAL"
->mvaddch()</TT
-> is used to move the cursor to a
-given point, and then print. Thus, the calls:
-<PRE
-CLASS="PROGRAMLISTING"
-> move(row,col); /* moves the cursor to row<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->th</I
-></SPAN
-> row and col<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->th</I
-></SPAN
-> column */
- addch(ch);</PRE
->
-can be replaced by
-<PRE
-CLASS="PROGRAMLISTING"
-> mvaddch(row,col,ch);</PRE
-></P
-><P
-><TT
-CLASS="LITERAL"
->waddch()</TT
-> is similar to
-<TT
-CLASS="LITERAL"
->addch()</TT
->, except that it adds a character into
-the given window. (Note that <TT
-CLASS="LITERAL"
->addch()</TT
-> adds a
-character into the window <TT
-CLASS="LITERAL"
->stdscr</TT
->.)</P
-><P
->In a similar fashion <TT
-CLASS="LITERAL"
->mvwaddch()</TT
-> function is
-used to add a character into the given window at the given coordinates.</P
-><P
->Now, we are familiar with the basic output function
-<TT
-CLASS="LITERAL"
->addch()</TT
->. But, if we want to print a string, it
-would be very annoying to print it character by character. Fortunately,
-<TT
-CLASS="LITERAL"
->ncurses</TT
-> provides <TT
-CLASS="LITERAL"
->printf</TT
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->-like</I
-></SPAN
-> or
-<TT
-CLASS="LITERAL"
->puts</TT
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->-like</I
-></SPAN
-> functions.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PRINTWCLASS"
->6.3. printw() class of functions</A
-></H3
-><P
->These functions are similar to <TT
-CLASS="LITERAL"
->printf()</TT
-> with
-the added capability of printing at any position on the screen. </P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="PRINTWMVPRINTW"
->6.3.1. printw() and mvprintw</A
-></H4
-><P
->These two functions work much like <TT
-CLASS="LITERAL"
->printf()</TT
->.
-<TT
-CLASS="LITERAL"
->mvprintw()</TT
-> can be used to move the cursor to a
-position and then print. If you want to move the cursor first and then print
-using <TT
-CLASS="LITERAL"
->printw()</TT
-> function, use
-<TT
-CLASS="LITERAL"
->move() </TT
-> first and then use
-<TT
-CLASS="LITERAL"
->printw()</TT
-> though I see no point why one should
-avoid using <TT
-CLASS="LITERAL"
->mvprintw()</TT
->, you have the
-flexibility to manipulate. </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="WPRINTWMVWPRINTW"
->6.3.2. wprintw() and mvwprintw</A
-></H4
-><P
->These two functions are similar to above two except that they print in the
-corresponding window given as argument. </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="VWPRINTW"
->6.3.3. vwprintw()</A
-></H4
-><P
->This function is similar to <TT
-CLASS="LITERAL"
->vprintf()</TT
->. This can
-be used when variable number of arguments are to be printed.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="SIMPLEPRINTWEX"
->6.3.4. A Simple printw example</A
-></H4
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BPREX"
-></A
-><P
-><B
->Example 3. A Simple printw example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62; /* ncurses.h includes stdio.h */
-#include &#60;string.h&#62;
+ /* co-ordinates and then print */
+</pre>
+
+ <p>Usually the w-less functions are macros which expand to
+ corresponding w-function with stdscr as the window
+ parameter.</p>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="PRINTW" id="PRINTW">6. Output
+ functions</a></h2>
+
+ <p>I guess you can't wait any more to see some action. Back
+ to our odyssey of curses functions. Now that curses is
+ initialized, let's interact with world.</p>
+
+ <p>There are three classes of functions which you can use to
+ do output on screen.</p>
+
+ <ol type="1">
+ <li>
+ <p>addch() class: Print single character with
+ attributes</p>
+ </li>
+
+ <li>
+ <p>printw() class: Print formatted output similar to
+ printf()</p>
+ </li>
+
+ <li>
+ <p>addstr() class: Print strings</p>
+ </li>
+ </ol>
+
+ <p>These functions can be used interchangeably and it's a
+ matter of style as to which class is used. Let's see each one
+ in detail.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="ADDCHCLASS" id="ADDCHCLASS">6.1.
+ addch() class of functions</a></h3>
+
+ <p>These functions put a single character into the current
+ cursor location and advance the position of the cursor. You
+ can give the character to be printed but they usually are
+ used to print a character with some attributes. Attributes
+ are explained in detail in later <a href=
+ "#ATTRIB">sections</a> of the document. If a character is
+ associated with an attribute(bold, reverse video etc.),
+ when curses prints the character, it is printed in that
+ attribute.</p>
+
+ <p>In order to combine a character with some attributes,
+ you have two options:</p>
+
+ <ul>
+ <li>
+ <p>By OR'ing a single character with the desired
+ attribute macros. These attribute macros could be found
+ in the header file <tt class="LITERAL">ncurses.h</tt>.
+ For example, you want to print a character ch(of type
+ char) bold and underlined, you would call addch() as
+ below.</p>
+ <pre class="PROGRAMLISTING">
+ addch(ch | A_BOLD | A_UNDERLINE);
+</pre>
+ </li>
+
+ <li>
+ <p>By using functions like <tt class=
+ "LITERAL">attrset(),attron(),attroff()</tt>. These
+ functions are explained in the <a href=
+ "#ATTRIB">Attributes</a> section. Briefly, they
+ manipulate the current attributes of the given window.
+ Once set, the character printed in the window are
+ associated with the attributes until it is turned
+ off.</p>
+ </li>
+ </ul>
+
+ <p>Additionally, <tt class="LITERAL">curses</tt> provides
+ some special characters for character-based graphics. You
+ can draw tables, horizontal or vertical lines, etc. You can
+ find all avaliable characters in the header file <tt class=
+ "LITERAL">ncurses.h</tt>. Try looking for macros beginning
+ with <tt class="LITERAL">ACS_</tt> in this file.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="AEN298" id="AEN298">6.2.
+ mvaddch(), waddch() and mvwaddch()</a></h3>
+
+ <p><tt class="LITERAL">mvaddch()</tt> is used to move the
+ cursor to a given point, and then print. Thus, the
+ calls:</p>
+ <pre class="PROGRAMLISTING">
+ move(row,col); /* moves the cursor to row<span class=
+"emphasis"><i class=
+"EMPHASIS">th</i></span> row and col<span class="emphasis"><i class="EMPHASIS">th</i></span> column */
+ addch(ch);
+</pre>can be replaced by
+ <pre class="PROGRAMLISTING">
+ mvaddch(row,col,ch);
+</pre>
+
+ <p><tt class="LITERAL">waddch()</tt> is similar to
+ <tt class="LITERAL">addch()</tt>, except that it adds a
+ character into the given window. (Note that <tt class=
+ "LITERAL">addch()</tt> adds a character into the window
+ <tt class="LITERAL">stdscr</tt>.)</p>
+
+ <p>In a similar fashion <tt class="LITERAL">mvwaddch()</tt>
+ function is used to add a character into the given window
+ at the given coordinates.</p>
+
+ <p>Now, we are familiar with the basic output function
+ <tt class="LITERAL">addch()</tt>. But, if we want to print
+ a string, it would be very annoying to print it character
+ by character. Fortunately, <tt class="LITERAL">ncurses</tt>
+ provides <tt class="LITERAL">printf</tt><span class=
+ "emphasis"><i class="EMPHASIS">-like</i></span> or
+ <tt class="LITERAL">puts</tt><span class=
+ "emphasis"><i class="EMPHASIS">-like</i></span>
+ functions.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="PRINTWCLASS" id=
+ "PRINTWCLASS">6.3. printw() class of functions</a></h3>
+
+ <p>These functions are similar to <tt class=
+ "LITERAL">printf()</tt> with the added capability of
+ printing at any position on the screen.</p>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="PRINTWMVPRINTW" id=
+ "PRINTWMVPRINTW">6.3.1. printw() and mvprintw</a></h4>
+
+ <p>These two functions work much like <tt class=
+ "LITERAL">printf()</tt>. <tt class=
+ "LITERAL">mvprintw()</tt> can be used to move the cursor
+ to a position and then print. If you want to move the
+ cursor first and then print using <tt class=
+ "LITERAL">printw()</tt> function, use <tt class=
+ "LITERAL">move()</tt> first and then use <tt class=
+ "LITERAL">printw()</tt> though I see no point why one
+ should avoid using <tt class="LITERAL">mvprintw()</tt>,
+ you have the flexibility to manipulate.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="WPRINTWMVWPRINTW" id=
+ "WPRINTWMVWPRINTW">6.3.2. wprintw() and
+ mvwprintw</a></h4>
+
+ <p>These two functions are similar to above two except
+ that they print in the corresponding window given as
+ argument.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="VWPRINTW" id="VWPRINTW">6.3.3.
+ vw_printw()</a></h4>
+
+ <p>This function is similar to <tt class=
+ "LITERAL">vprintf()</tt>. This can be used when variable
+ number of arguments are to be printed.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="SIMPLEPRINTWEX" id=
+ "SIMPLEPRINTWEX">6.3.4. A Simple printw example</a></h4>
+
+ <div class="EXAMPLE">
+ <a name="BPREX" id="BPREX"></a>
+
+ <p><b>Example 3. A Simple printw example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class=
+"INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt; /* ncurses.h includes stdio.h */
+#include &lt;string.h&gt;
int main()
{
- char mesg[]="Just a string"; /* message to be appeared on the screen */
- int row,col; /* to store the number of rows and *
- * the number of colums of the screen */
- initscr(); /* start the curses mode */
- getmaxyx(stdscr,row,col); /* get the number of rows and columns */
+ char mesg[]="Just a string"; /* message to be appeared on the screen */
+ int row,col; /* to store the number of rows and *
+ * the number of colums of the screen */
+ initscr(); /* start the curses mode */
+ getmaxyx(stdscr,row,col); /* get the number of rows and columns */
mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg);
- /* print the message at the center of the screen */
+ /* print the message at the center of the screen */
mvprintw(row-2,0,"This screen has %d rows and %d columns\n",row,col);
printw("Try resizing your window(if possible) and then run this program again");
refresh();
@@ -2327,302 +1717,231 @@ int main()
endwin();
return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->Above program demonstrates how easy it is to use <TT
-CLASS="LITERAL"
->printw</TT
->. You just feed the coordinates and the message to be appeared
-on the screen, then it does what you want.</P
-><P
->The above program introduces us to a new function
-<TT
-CLASS="LITERAL"
->getmaxyx()</TT
->, a macro defined in
-<TT
-CLASS="LITERAL"
->ncurses.h</TT
->. It gives the number of columns and
-the number of rows in a given window.
-<TT
-CLASS="LITERAL"
->getmaxyx()</TT
-> does this by updating the variables
-given to it. Since <TT
-CLASS="LITERAL"
->getmaxyx()</TT
-> is not a function
-we don't pass pointers to it, we just give two integer variables. </P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ADDSTRCLASS"
->6.4. addstr() class of functions</A
-></H3
-><P
-><TT
-CLASS="LITERAL"
->addstr()</TT
-> is used to put a character string into
-a given window. This function is similar to calling
-<TT
-CLASS="LITERAL"
->addch()</TT
-> once for each character in a given
-string. This is true for all output functions. There are other functions from
-this family such as <TT
-CLASS="LITERAL"
->mvaddstr(),mvwaddstr()</TT
-> and
-<TT
-CLASS="LITERAL"
->waddstr()</TT
->, which obey the naming convention of
-curses.(e.g. mvaddstr() is similar to the respective calls move() and then
-addstr().) Another function of this family is addnstr(), which takes an integer
-parameter(say n) additionally. This function puts at most n characters into the
-screen. If n is negative, then the entire string will be added. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ACAUTION"
->6.5. A word of caution</A
-></H3
-><P
->All these functions take y co-ordinate first and then x in their arguments.
-A common mistake by beginners is to pass x,y in that order. If you are
-doing too many manipulations of (y,x) co-ordinates, think of dividing the
-screen into windows and manipulate each one separately. Windows are explained
-in the <A
-HREF="#WINDOWS"
-> windows </A
-> section.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="SCANW"
->7. Input functions</A
-></H2
-><P
->Well, printing without taking input, is boring. Let's see functions which
-allow us to get input from user. These functions also can be divided into
-three categories.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->getch() class: Get a character</P
-></LI
-><LI
-><P
->scanw() class: Get formatted input</P
-></LI
-><LI
-><P
->getstr() class: Get strings</P
-></LI
-></OL
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="GETCHCLASS"
->7.1. getch() class of functions</A
-></H3
-><P
->These functions read a single character from the terminal. But there are several
-subtle facts to consider. For example if you don't use the function cbreak(),
-curses will not read your input characters contiguously but will begin read them
-only after a new line or an EOF is encountered. In order to avoid this, the
-cbreak() function must used so that characters are immediately available to your
-program. Another widely used function is noecho(). As the name suggests, when
-this function is set (used), the characters that are keyed in by the user will
-not show up on the screen. The two functions cbreak() and noecho() are typical
-examples of key management. Functions of this genre are explained in the
-<A
-HREF="#KEYS"
->key management section </A
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="SCANWCLASS"
->7.2. scanw() class of functions</A
-></H3
-><P
->These functions are similar to <TT
-CLASS="LITERAL"
->scanf()</TT
-> with the
-added capability of getting the input from any location on the screen.</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="SCANWMVSCANW"
->7.2.1. scanw() and mvscanw</A
-></H4
-><P
->The usage of these functions is similar to that of
-<TT
-CLASS="LITERAL"
->sscanf()</TT
->, where the line to be scanned is
-provided by <TT
-CLASS="LITERAL"
->wgetstr()</TT
-> function. That is, these
-functions call to <TT
-CLASS="LITERAL"
->wgetstr()</TT
-> function(explained
-below) and uses the resulting line for a scan. </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="WSCANWMVWSCANW"
->7.2.2. wscanw() and mvwscanw()</A
-></H4
-><P
->These are similar to above two functions except that they read from a window,
-which is supplied as one of the arguments to these functions. </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="VWSCANW"
->7.2.3. vwscanw()</A
-></H4
-><P
->This function is similar to <TT
-CLASS="LITERAL"
->vscanf()</TT
->. This can
-be used when a variable number of arguments are to be scanned.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="GETSTRCLASS"
->7.3. getstr() class of functions</A
-></H3
-><P
->These functions are used to get strings from the terminal. In essence, this
-function performs the same task as would be achieved by a series of calls to
-<TT
-CLASS="LITERAL"
->getch()</TT
-> until a newline, carriage return, or
-end-of-file is received. The resulting string of characters are pointed to by
-<TT
-CLASS="LITERAL"
->str</TT
->, which is a character pointer provided by
-the user.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="GETSTREX"
->7.4. Some examples</A
-></H3
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BSCEX"
-></A
-><P
-><B
->Example 4. A Simple scanw example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62; /* ncurses.h includes stdio.h */
-#include &#60;string.h&#62;
+}</span>
+</pre>
+ </div>
+
+ <p>Above program demonstrates how easy it is to use
+ <tt class="LITERAL">printw</tt>. You just feed the
+ coordinates and the message to be appeared on the screen,
+ then it does what you want.</p>
+
+ <p>The above program introduces us to a new function
+ <tt class="LITERAL">getmaxyx()</tt>, a macro defined in
+ <tt class="LITERAL">ncurses.h</tt>. It gives the number
+ of columns and the number of rows in a given window.
+ <tt class="LITERAL">getmaxyx()</tt> does this by updating
+ the variables given to it. Since <tt class=
+ "LITERAL">getmaxyx()</tt> is not a function we don't pass
+ pointers to it, we just give two integer variables.</p>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="ADDSTRCLASS" id=
+ "ADDSTRCLASS">6.4. addstr() class of functions</a></h3>
+
+ <p><tt class="LITERAL">addstr()</tt> is used to put a
+ character string into a given window. This function is
+ similar to calling <tt class="LITERAL">addch()</tt> once
+ for each character in a given string. This is true for all
+ output functions. There are other functions from this
+ family such as <tt class=
+ "LITERAL">mvaddstr(),mvwaddstr()</tt> and <tt class=
+ "LITERAL">waddstr()</tt>, which obey the naming convention
+ of curses.(e.g. mvaddstr() is similar to the respective
+ calls move() and then addstr().) Another function of this
+ family is addnstr(), which takes an integer parameter(say
+ n) additionally. This function puts at most n characters
+ into the screen. If n is negative, then the entire string
+ will be added.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="ACAUTION" id="ACAUTION">6.5. A
+ word of caution</a></h3>
+
+ <p>All these functions take y co-ordinate first and then x
+ in their arguments. A common mistake by beginners is to
+ pass x,y in that order. If you are doing too many
+ manipulations of (y,x) co-ordinates, think of dividing the
+ screen into windows and manipulate each one separately.
+ Windows are explained in the <a href="#WINDOWS">windows</a>
+ section.</p>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="SCANW" id="SCANW">7. Input
+ functions</a></h2>
+
+ <p>Well, printing without taking input, is boring. Let's see
+ functions which allow us to get input from user. These
+ functions also can be divided into three categories.</p>
+
+ <ol type="1">
+ <li>
+ <p>getch() class: Get a character</p>
+ </li>
+
+ <li>
+ <p>scanw() class: Get formatted input</p>
+ </li>
+
+ <li>
+ <p>getstr() class: Get strings</p>
+ </li>
+ </ol>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="GETCHCLASS" id="GETCHCLASS">7.1.
+ getch() class of functions</a></h3>
+
+ <p>These functions read a single character from the
+ terminal. But there are several subtle facts to consider.
+ For example if you don't use the function cbreak(), curses
+ will not read your input characters contiguously but will
+ begin read them only after a new line or an EOF is
+ encountered. In order to avoid this, the cbreak() function
+ must used so that characters are immediately available to
+ your program. Another widely used function is noecho(). As
+ the name suggests, when this function is set (used), the
+ characters that are keyed in by the user will not show up
+ on the screen. The two functions cbreak() and noecho() are
+ typical examples of key management. Functions of this genre
+ are explained in the <a href="#KEYS">key management
+ section</a> .</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="SCANWCLASS" id="SCANWCLASS">7.2.
+ scanw() class of functions</a></h3>
+
+ <p>These functions are similar to <tt class=
+ "LITERAL">scanf()</tt> with the added capability of getting
+ the input from any location on the screen.</p>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="SCANWMVSCANW" id=
+ "SCANWMVSCANW">7.2.1. scanw() and mvscanw</a></h4>
+
+ <p>The usage of these functions is similar to that of
+ <tt class="LITERAL">sscanf()</tt>, where the line to be
+ scanned is provided by <tt class="LITERAL">wgetstr()</tt>
+ function. That is, these functions call to <tt class=
+ "LITERAL">wgetstr()</tt> function(explained below) and
+ uses the resulting line for a scan.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="WSCANWMVWSCANW" id=
+ "WSCANWMVWSCANW">7.2.2. wscanw() and mvwscanw()</a></h4>
+
+ <p>These are similar to above two functions except that
+ they read from a window, which is supplied as one of the
+ arguments to these functions.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="VWSCANW" id="VWSCANW">7.2.3.
+ vw_scanw()</a></h4>
+
+ <p>This function is similar to <tt class=
+ "LITERAL">vscanf()</tt>. This can be used when a variable
+ number of arguments are to be scanned.</p>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="GETSTRCLASS" id=
+ "GETSTRCLASS">7.3. getstr() class of functions</a></h3>
+
+ <p>These functions are used to get strings from the
+ terminal. In essence, this function performs the same task
+ as would be achieved by a series of calls to <tt class=
+ "LITERAL">getch()</tt> until a newline, carriage return, or
+ end-of-file is received. The resulting string of characters
+ are pointed to by <tt class="LITERAL">str</tt>, which is a
+ character pointer provided by the user.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="GETSTREX" id="GETSTREX">7.4.
+ Some examples</a></h3>
+
+ <div class="EXAMPLE">
+ <a name="BSCEX" id="BSCEX"></a>
+
+ <p><b>Example 4. A Simple scanw example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class=
+"INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt; /* ncurses.h includes stdio.h */
+#include &lt;string.h&gt;
int main()
{
- char mesg[]="Enter a string: "; /* message to be appeared on the screen */
+ char mesg[]="Enter a string: "; /* message to be appeared on the screen */
char str[80];
- int row,col; /* to store the number of rows and *
- * the number of colums of the screen */
- initscr(); /* start the curses mode */
- getmaxyx(stdscr,row,col); /* get the number of rows and columns */
+ int row,col; /* to store the number of rows and *
+ * the number of colums of the screen */
+ initscr(); /* start the curses mode */
+ getmaxyx(stdscr,row,col); /* get the number of rows and columns */
mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg);
- /* print the message at the center of the screen */
+ /* print the message at the center of the screen */
getstr(str);
mvprintw(LINES - 2, 0, "You Entered: %s", str);
getch();
endwin();
return 0;
-}</SPAN
-></PRE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="ATTRIB"
->8. Attributes</A
-></H2
-><P
->We have seen an example of how attributes can be used to print characters with
-some special effects. Attributes, when set prudently, can present information in
-an easy, understandable manner. The following program takes a C file as input
-and prints the file with comments in bold. Scan through the code. </P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BSIAT"
-></A
-><P
-><B
->Example 5. A Simple Attributes example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->/* pager functionality by Joseph Spainhour" &#60;spainhou@bellsouth.net&#62; */
-#include &#60;ncurses.h&#62;
-#include &#60;stdlib.h&#62;
+}</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="ATTRIB" id="ATTRIB">8.
+ Attributes</a></h2>
+
+ <p>We have seen an example of how attributes can be used to
+ print characters with some special effects. Attributes, when
+ set prudently, can present information in an easy,
+ understandable manner. The following program takes a C file
+ as input and prints the file with comments in bold. Scan
+ through the code.</p>
+
+ <div class="EXAMPLE">
+ <a name="BSIAT" id="BSIAT"></a>
+
+ <p><b>Example 5. A Simple Attributes example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class=
+"INLINEMEDIAOBJECT">/* pager functionality by Joseph Spainhour" &lt;spainhou@bellsouth.net&gt; */
+#include &lt;ncurses.h&gt;
+#include &lt;stdlib.h&gt;
int main(int argc, char *argv[])
{
@@ -2633,7 +1952,7 @@ int main(int argc, char *argv[])
if(argc != 2)
{
- printf("Usage: %s &#60;a c file name&#62;\n", argv[0]);
+ printf("Usage: %s &lt;a c file name&gt;\n", argv[0]);
exit(1);
}
fp = fopen(argv[1], "r");
@@ -2642,101 +1961,81 @@ int main(int argc, char *argv[])
perror("Cannot open input file");
exit(1);
}
- initscr(); /* Start curses mode */
- getmaxyx(stdscr, row, col); /* find the boundaries of the screeen */
- while((ch = fgetc(fp)) != EOF) /* read the file till we reach the end */
+ initscr(); /* Start curses mode */
+ getmaxyx(stdscr, row, col); /* find the boundaries of the screeen */
+ while((ch = fgetc(fp)) != EOF) /* read the file till we reach the end */
{
- getyx(stdscr, y, x); /* get the current curser position */
- if(y == (row - 1)) /* are we are at the end of the screen */
+ getyx(stdscr, y, x); /* get the current curser position */
+ if(y == (row - 1)) /* are we are at the end of the screen */
{
- printw("&#60;-Press Any Key-&#62;"); /* tell the user to press a key */
+ printw("&lt;-Press Any Key-&gt;"); /* tell the user to press a key */
getch();
- clear(); /* clear the screen */
- move(0, 0); /* start at the beginning of the screen */
+ clear(); /* clear the screen */
+ move(0, 0); /* start at the beginning of the screen */
}
- if(prev == '/' &#38;&#38; ch == '*') /* If it is / and * then only
- * switch bold on */
+ if(prev == '/' &amp;&amp; ch == '*') /* If it is / and * then only
+ * switch bold on */
{
- attron(A_BOLD); /* cut bold on */
- getyx(stdscr, y, x); /* get the current curser position */
- move(y, x - 1); /* back up one space */
- printw("%c%c", '/', ch); /* The actual printing is done here */
+ attron(A_BOLD); /* cut bold on */
+ getyx(stdscr, y, x); /* get the current curser position */
+ move(y, x - 1); /* back up one space */
+ printw("%c%c", '/', ch); /* The actual printing is done here */
}
else
printw("%c", ch);
refresh();
- if(prev == '*' &#38;&#38; ch == '/')
- attroff(A_BOLD); /* Switch it off once we got *
- * and then / */
+ if(prev == '*' &amp;&amp; ch == '/')
+ attroff(A_BOLD); /* Switch it off once we got *
+ * and then / */
prev = ch;
}
- endwin(); /* End curses mode */
+ endwin(); /* End curses mode */
fclose(fp);
return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->
-Don't worry about all those initialization and other crap. Concentrate on
-the while loop. It reads each character in the file and searches for the
-pattern /*. Once it spots the pattern, it switches the BOLD attribute on with
-<TT
-CLASS="LITERAL"
-> attron()</TT
-> . When we get the pattern */ it is
-switched off by <TT
-CLASS="LITERAL"
-> attroff()</TT
-> .</P
-><P
->
-The above program also introduces us to two useful functions
-<TT
-CLASS="LITERAL"
->getyx() </TT
-> and
-<TT
-CLASS="LITERAL"
->move()</TT
->. The first function gets the
-co-ordinates of the present cursor into the variables y, x. Since getyx() is a
-macro we don't have to pass pointers to variables. The function
-<TT
-CLASS="LITERAL"
->move()</TT
-> moves the cursor to the co-ordinates
-given to it. </P
-><P
->
-The above program is really a simple one which doesn't do much. On these lines
-one could write a more useful program which reads a C file, parses it and prints
-it in different colors. One could even extend it to other languages as well.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ATTRIBDETAILS"
->8.1. The details</A
-></H3
-><P
->Let's get into more details of attributes. The functions <TT
-CLASS="LITERAL"
->attron(), attroff(), attrset() </TT
->, and their sister functions
-<TT
-CLASS="LITERAL"
-> attr_get()</TT
-> etc.. can be used to switch
-attributes on/off , get attributes and produce a colorful display.</P
-><P
->The functions attron and attroff take a bit-mask of attributes and switch them
-on or off, respectively. The following video attributes, which are defined in
-&lt;curses.h&gt; can be passed to these functions. </P
-><PRE
-CLASS="PROGRAMLISTING"
->
+}</span>
+</pre>
+ </div>
+
+ <p>Don't worry about all those initialization and other crap.
+ Concentrate on the while loop. It reads each character in the
+ file and searches for the pattern /*. Once it spots the
+ pattern, it switches the BOLD attribute on with <tt class=
+ "LITERAL">attron()</tt> . When we get the pattern */ it is
+ switched off by <tt class="LITERAL">attroff()</tt> .</p>
+
+ <p>The above program also introduces us to two useful
+ functions <tt class="LITERAL">getyx()</tt> and <tt class=
+ "LITERAL">move()</tt>. The first function gets the
+ co-ordinates of the present cursor into the variables y, x.
+ Since getyx() is a macro we don't have to pass pointers to
+ variables. The function <tt class="LITERAL">move()</tt> moves
+ the cursor to the co-ordinates given to it.</p>
+
+ <p>The above program is really a simple one which doesn't do
+ much. On these lines one could write a more useful program
+ which reads a C file, parses it and prints it in different
+ colors. One could even extend it to other languages as
+ well.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="ATTRIBDETAILS" id=
+ "ATTRIBDETAILS">8.1. The details</a></h3>
+
+ <p>Let's get into more details of attributes. The functions
+ <tt class="LITERAL">attron(), attroff(), attrset()</tt> ,
+ and their sister functions <tt class=
+ "LITERAL">attr_get()</tt> etc.. can be used to switch
+ attributes on/off , get attributes and produce a colorful
+ display.</p>
+
+ <p>The functions attron and attroff take a bit-mask of
+ attributes and switch them on or off, respectively. The
+ following video attributes, which are defined in
+ &lt;curses.h&gt; can be passed to these functions.</p>
+ <pre class="PROGRAMLISTING">
+
A_NORMAL Normal display (no highlight)
A_STANDOUT Best highlighting mode of the terminal.
A_UNDERLINE Underlining
@@ -2749,445 +2048,396 @@ CLASS="PROGRAMLISTING"
A_ALTCHARSET Alternate character set
A_CHARTEXT Bit-mask to extract a character
COLOR_PAIR(n) Color-pair number n
- </PRE
-><P
->
-The last one is the most colorful one :-) Colors are explained in the
-<A
-HREF="#color"
-TARGET="_top"
->next sections</A
->.</P
-><P
->We can OR(|) any number of above attributes to get a combined effect. If you
-wanted reverse video with blinking characters you can use</P
-><PRE
-CLASS="PROGRAMLISTING"
-> attron(A_REVERSE | A_BLINK);</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ATTRONVSATTRSET"
->8.2. attron() vs attrset()</A
-></H3
-><P
->Then what is the difference between attron() and attrset()? attrset sets the
-attributes of window whereas attron just switches on the attribute given to it.
-So attrset() fully overrides whatever attributes the window previously had and
-sets it to the new attribute(s). Similarly attroff() just switches off the
-attribute(s) given to it as an argument. This gives us the flexibility of
-managing attributes easily.But if you use them carelessly you may loose track of
-what attributes the window has and garble the display. This is especially true
-while managing menus with colors and highlighting. So decide on a consistent
-policy and stick to it. You can always use <TT
-CLASS="LITERAL"
-> standend()</TT
-> which is equivalent to <TT
-CLASS="LITERAL"
-> attrset(A_NORMAL)</TT
-> which turns off all attributes and brings you to normal mode.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ATTR_GET"
->8.3. attr_get()</A
-></H3
-><P
->&#13;The function attr_get() gets the current attributes and color pair of the
-window. Though we might not use this as often as the above functions, this is
-useful in scanning areas of screen. Say we wanted to do some complex update on
-screen and we are not sure what attribute each character is associated with.
-Then this function can be used with either attrset or attron to produce the
-desired effect.&#13;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ATTR_FUNCS"
->8.4. attr_ functions</A
-></H3
-><P
->There are series of functions like attr_set(), attr_on etc.. These are similar
-to above functions except that they take parameters of type
-<TT
-CLASS="LITERAL"
->attr_t</TT
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WATTRFUNCS"
->8.5. wattr functions</A
-></H3
-><P
->For each of the above functions we have a corresponding function with 'w' which
-operates on a particular window. The above functions operate on stdscr. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="CHGAT"
->8.6. chgat() functions</A
-></H3
-><P
->The function chgat() is listed in the end of the man page curs_attr. It actually
-is a useful one. This function can be used to set attributes for a group of
-characters without moving. I mean it !!! without moving the cursor :-) It
-changes the attributes of a given number of characters starting at the current
-cursor location.</P
-><P
->We can give -1 as the character count to update till end of line. If you want to
-change attributes of characters from current position to end of line, just use
-this.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> chgat(-1, A_REVERSE, 0, NULL);</PRE
-><P
->
-This function is useful when changing attributes for characters that are
-already on the screen. Move to the character from which you want to change and
-change the attribute. </P
-><P
->Other functions wchgat(), mvchgat(), wchgat() behave similarly except that the w
-functions operate on the particular window. The mv functions first move the
-cursor then perform the work given to them. Actually chgat is a macro which is
-replaced by a wchgat() with stdscr as the window. Most of the "w-less" functions
-are macros.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BWICH"
-></A
-><P
-><B
->Example 6. Chgat() Usage example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+
+</pre>
+
+ <p>The last one is the most colorful one :-) Colors are
+ explained in the <a href="#color" target="_top">next
+ sections</a>.</p>
+
+ <p>We can OR(|) any number of above attributes to get a
+ combined effect. If you wanted reverse video with blinking
+ characters you can use</p>
+ <pre class="PROGRAMLISTING">
+ attron(A_REVERSE | A_BLINK);
+</pre>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="ATTRONVSATTRSET" id=
+ "ATTRONVSATTRSET">8.2. attron() vs attrset()</a></h3>
+
+ <p>Then what is the difference between attron() and
+ attrset()? attrset sets the attributes of window whereas
+ attron just switches on the attribute given to it. So
+ attrset() fully overrides whatever attributes the window
+ previously had and sets it to the new attribute(s).
+ Similarly attroff() just switches off the attribute(s)
+ given to it as an argument. This gives us the flexibility
+ of managing attributes easily.But if you use them
+ carelessly you may loose track of what attributes the
+ window has and garble the display. This is especially true
+ while managing menus with colors and highlighting. So
+ decide on a consistent policy and stick to it. You can
+ always use <tt class="LITERAL">standend()</tt> which is
+ equivalent to <tt class="LITERAL">attrset(A_NORMAL)</tt>
+ which turns off all attributes and brings you to normal
+ mode.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="ATTRGET" id="ATTRGET">8.3.
+ attr_get()</a></h3>
+
+ <p>The function attr_get() gets the current attributes and
+ color pair of the window. Though we might not use this as
+ often as the above functions, this is useful in scanning
+ areas of screen. Say we wanted to do some complex update on
+ screen and we are not sure what attribute each character is
+ associated with. Then this function can be used with either
+ attrset or attron to produce the desired effect.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="ATTRFUNCS" id="ATTRFUNCS">8.4.
+ attr_ functions</a></h3>
+
+ <p>There are series of functions like attr_set(), attr_on
+ etc.. These are similar to above functions except that they
+ take parameters of type <tt class=
+ "LITERAL">attr_t</tt>.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="WATTRFUNCS" id="WATTRFUNCS">8.5.
+ wattr functions</a></h3>
+
+ <p>For each of the above functions we have a corresponding
+ function with 'w' which operates on a particular window.
+ The above functions operate on stdscr.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="CHGAT" id="CHGAT">8.6. chgat()
+ functions</a></h3>
+
+ <p>The function chgat() is listed in the end of the man
+ page curs_attr. It actually is a useful one. This function
+ can be used to set attributes for a group of characters
+ without moving. I mean it !!! without moving the cursor :-)
+ It changes the attributes of a given number of characters
+ starting at the current cursor location.</p>
+
+ <p>We can give -1 as the character count to update till end
+ of line. If you want to change attributes of characters
+ from current position to end of line, just use this.</p>
+ <pre class="PROGRAMLISTING">
+ chgat(-1, A_REVERSE, 0, NULL);
+</pre>
+
+ <p>This function is useful when changing attributes for
+ characters that are already on the screen. Move to the
+ character from which you want to change and change the
+ attribute.</p>
+
+ <p>Other functions wchgat(), mvchgat(), wchgat() behave
+ similarly except that the w functions operate on the
+ particular window. The mv functions first move the cursor
+ then perform the work given to them. Actually chgat is a
+ macro which is replaced by a wchgat() with stdscr as the
+ window. Most of the "w-less" functions are macros.</p>
+
+ <div class="EXAMPLE">
+ <a name="BWICH" id="BWICH"></a>
+
+ <p><b>Example 6. Chgat() Usage example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt;
int main(int argc, char *argv[])
-{ initscr(); /* Start curses mode */
- start_color(); /* Start color functionality */
-
- init_pair(1, COLOR_CYAN, COLOR_BLACK);
- printw("A Big string which i didn't care to type fully ");
- mvchgat(0, 0, -1, A_BLINK, 1, NULL);
- /*
- * First two parameters specify the position at which to start
- * Third parameter number of characters to update. -1 means till
- * end of line
- * Forth parameter is the normal attribute you wanted to give
- * to the charcter
- * Fifth is the color index. It is the index given during init_pair()
- * use 0 if you didn't want color
- * Sixth one is always NULL
- */
- refresh();
- getch();
- endwin(); /* End curses mode */
- return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->This example also introduces us to the color world of curses. Colors will be
-explained in detail later. Use 0 for no color.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="WINDOWS"
->9. Windows</A
-></H2
-><P
->Windows form the most important concept in curses. You have seen the standard
-window stdscr above where all the functions implicitly operated on this window.
-Now to make design even a simplest GUI, you need to resort to windows. The main
-reason you may want to use windows is to manipulate parts of the screen
-separately, for better efficiency, by updating only the windows that need to be
-changed and for a better design. I would say the last reason is the most
-important in going for windows. You should always strive for a better and
-easy-to-manage design in your programs. If you are writing big, complex GUIs
-this is of pivotal importance before you start doing anything.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WINDOWBASICS"
->9.1. The basics</A
-></H3
-><P
->A Window can be created by calling the function
-<TT
-CLASS="LITERAL"
->newwin()</TT
->. It doesn't create any thing on the
-screen actually. It allocates memory for a structure to manipulate the window
-and updates the structure with data regarding the window like it's size, beginy,
-beginx etc.. Hence in curses, a window is just an abstraction of an imaginary
-window, which can be manipulated independent of other parts of screen. The
-function newwin() returns a pointer to structure WINDOW, which can be passed to
-window related functions like wprintw() etc.. Finally the window can be
-destroyed with delwin(). It will deallocate the memory associated with the
-window structure.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="LETBEWINDOW"
->9.2. Let there be a Window !!!</A
-></H3
-><P
->What fun is it, if a window is created and we can't see it. So the fun part
-begins by displaying the window. The function
-<TT
-CLASS="LITERAL"
->box()</TT
-> can be used to draw a border around the
-window. Let's explore these functions in more detail in this example.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BWIBO"
-></A
-><P
-><B
->Example 7. Window Border example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+{ initscr(); /* Start curses mode */
+ start_color(); /* Start color functionality */
+
+ init_pair(1, COLOR_CYAN, COLOR_BLACK);
+ printw("A Big string which i didn't care to type fully ");
+ mvchgat(0, 0, -1, A_BLINK, 1, NULL);
+ /*
+ * First two parameters specify the position at which to start
+ * Third parameter number of characters to update. -1 means till
+ * end of line
+ * Forth parameter is the normal attribute you wanted to give
+ * to the charcter
+ * Fifth is the color index. It is the index given during init_pair()
+ * use 0 if you didn't want color
+ * Sixth one is always NULL
+ */
+ refresh();
+ getch();
+ endwin(); /* End curses mode */
+ return 0;
+}</span>
+</pre>
+ </div>
+
+ <p>This example also introduces us to the color world of
+ curses. Colors will be explained in detail later. Use 0 for
+ no color.</p>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="WINDOWS" id="WINDOWS">9.
+ Windows</a></h2>
+
+ <p>Windows form the most important concept in curses. You
+ have seen the standard window stdscr above where all the
+ functions implicitly operated on this window. Now to make
+ design even a simplest GUI, you need to resort to windows.
+ The main reason you may want to use windows is to manipulate
+ parts of the screen separately, for better efficiency, by
+ updating only the windows that need to be changed and for a
+ better design. I would say the last reason is the most
+ important in going for windows. You should always strive for
+ a better and easy-to-manage design in your programs. If you
+ are writing big, complex GUIs this is of pivotal importance
+ before you start doing anything.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="WINDOWBASICS" id=
+ "WINDOWBASICS">9.1. The basics</a></h3>
+
+ <p>A Window can be created by calling the function
+ <tt class="LITERAL">newwin()</tt>. It doesn't create any
+ thing on the screen actually. It allocates memory for a
+ structure to manipulate the window and updates the
+ structure with data regarding the window like it's size,
+ beginy, beginx etc.. Hence in curses, a window is just an
+ abstraction of an imaginary window, which can be
+ manipulated independent of other parts of screen. The
+ function newwin() returns a pointer to structure WINDOW,
+ which can be passed to window related functions like
+ wprintw() etc.. Finally the window can be destroyed with
+ delwin(). It will deallocate the memory associated with the
+ window structure.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="LETBEWINDOW" id=
+ "LETBEWINDOW">9.2. Let there be a Window !!!</a></h3>
+
+ <p>What fun is it, if a window is created and we can't see
+ it. So the fun part begins by displaying the window. The
+ function <tt class="LITERAL">box()</tt> can be used to draw
+ a border around the window. Let's explore these functions
+ in more detail in this example.</p>
+
+ <div class="EXAMPLE">
+ <a name="BWIBO" id="BWIBO"></a>
+
+ <p><b>Example 7. Window Border example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt;
WINDOW *create_newwin(int height, int width, int starty, int startx);
void destroy_win(WINDOW *local_win);
int main(int argc, char *argv[])
-{ WINDOW *my_win;
- int startx, starty, width, height;
- int ch;
-
- initscr(); /* Start curses mode */
- cbreak(); /* Line buffering disabled, Pass on
- * everty thing to me */
- keypad(stdscr, TRUE); /* I need that nifty F1 */
-
- height = 3;
- width = 10;
- starty = (LINES - height) / 2; /* Calculating for a center placement */
- startx = (COLS - width) / 2; /* of the window */
- printw("Press F1 to exit");
- refresh();
- my_win = create_newwin(height, width, starty, startx);
-
- while((ch = getch()) != KEY_F(1))
- { switch(ch)
- { case KEY_LEFT:
- destroy_win(my_win);
- my_win = create_newwin(height, width, starty,--startx);
- break;
- case KEY_RIGHT:
- destroy_win(my_win);
- my_win = create_newwin(height, width, starty,++startx);
- break;
- case KEY_UP:
- destroy_win(my_win);
- my_win = create_newwin(height, width, --starty,startx);
- break;
- case KEY_DOWN:
- destroy_win(my_win);
- my_win = create_newwin(height, width, ++starty,startx);
- break;
- }
- }
-
- endwin(); /* End curses mode */
- return 0;
+{ WINDOW *my_win;
+ int startx, starty, width, height;
+ int ch;
+
+ initscr(); /* Start curses mode */
+ cbreak(); /* Line buffering disabled, Pass on
+ * everty thing to me */
+ keypad(stdscr, TRUE); /* I need that nifty F1 */
+
+ height = 3;
+ width = 10;
+ starty = (LINES - height) / 2; /* Calculating for a center placement */
+ startx = (COLS - width) / 2; /* of the window */
+ printw("Press F1 to exit");
+ refresh();
+ my_win = create_newwin(height, width, starty, startx);
+
+ while((ch = getch()) != KEY_F(1))
+ { switch(ch)
+ { case KEY_LEFT:
+ destroy_win(my_win);
+ my_win = create_newwin(height, width, starty,--startx);
+ break;
+ case KEY_RIGHT:
+ destroy_win(my_win);
+ my_win = create_newwin(height, width, starty,++startx);
+ break;
+ case KEY_UP:
+ destroy_win(my_win);
+ my_win = create_newwin(height, width, --starty,startx);
+ break;
+ case KEY_DOWN:
+ destroy_win(my_win);
+ my_win = create_newwin(height, width, ++starty,startx);
+ break;
+ }
+ }
+
+ endwin(); /* End curses mode */
+ return 0;
}
WINDOW *create_newwin(int height, int width, int starty, int startx)
-{ WINDOW *local_win;
+{ WINDOW *local_win;
- local_win = newwin(height, width, starty, startx);
- box(local_win, 0 , 0); /* 0, 0 gives default characters
- * for the vertical and horizontal
- * lines */
- wrefresh(local_win); /* Show that box */
+ local_win = newwin(height, width, starty, startx);
+ box(local_win, 0 , 0); /* 0, 0 gives default characters
+ * for the vertical and horizontal
+ * lines */
+ wrefresh(local_win); /* Show that box */
- return local_win;
+ return local_win;
}
void destroy_win(WINDOW *local_win)
-{
- /* box(local_win, ' ', ' '); : This won't produce the desired
- * result of erasing the window. It will leave it's four corners
- * and so an ugly remnant of window.
- */
- wborder(local_win, ' ', ' ', ' ',' ',' ',' ',' ',' ');
- /* The parameters taken are
- * 1. win: the window on which to operate
- * 2. ls: character to be used for the left side of the window
- * 3. rs: character to be used for the right side of the window
- * 4. ts: character to be used for the top side of the window
- * 5. bs: character to be used for the bottom side of the window
- * 6. tl: character to be used for the top left corner of the window
- * 7. tr: character to be used for the top right corner of the window
- * 8. bl: character to be used for the bottom left corner of the window
- * 9. br: character to be used for the bottom right corner of the window
- */
- wrefresh(local_win);
- delwin(local_win);
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="BORDEREXEXPL"
->9.3. Explanation</A
-></H3
-><P
->Don't scream. I know it's a big example. But I have to explain some important
-things here :-). This program creates a rectangular window that can be moved
-with left, right, up, down arrow keys. It repeatedly creates and destroys
-windows as user press a key. Don't go beyond the screen limits. Checking for
-those limits is left as an exercise for the reader. Let's dissect it by line by line.</P
-><P
->The <TT
-CLASS="LITERAL"
->create_newwin()</TT
-> function creates a window
-with <TT
-CLASS="LITERAL"
->newwin() </TT
-> and displays a border around it
-with box. The function <TT
-CLASS="LITERAL"
-> destroy_win()</TT
-> first
-erases the window from screen by painting a border with ' ' character and then
-calling <TT
-CLASS="LITERAL"
->delwin()</TT
-> to deallocate memory related
-to it. Depending on the key the user presses, starty or startx is changed and a
-new window is created.</P
-><P
->In the destroy_win, as you can see, I used wborder instead of box. The reason is
-written in the comments (You missed it. I know. Read the code :-)). wborder
-draws a border around the window with the characters given to it as the 4 corner
-points and the 4 lines. To put it clearly, if you have called wborder as below:
-<PRE
-CLASS="PROGRAMLISTING"
-> wborder(win, '|', '|', '-', '-', '+', '+', '+', '+');</PRE
-></P
-><P
->it produces some thing like </P
-><PRE
-CLASS="PROGRAMLISTING"
-> +------------+
+{
+ /* box(local_win, ' ', ' '); : This won't produce the desired
+ * result of erasing the window. It will leave it's four corners
+ * and so an ugly remnant of window.
+ */
+ wborder(local_win, ' ', ' ', ' ',' ',' ',' ',' ',' ');
+ /* The parameters taken are
+ * 1. win: the window on which to operate
+ * 2. ls: character to be used for the left side of the window
+ * 3. rs: character to be used for the right side of the window
+ * 4. ts: character to be used for the top side of the window
+ * 5. bs: character to be used for the bottom side of the window
+ * 6. tl: character to be used for the top left corner of the window
+ * 7. tr: character to be used for the top right corner of the window
+ * 8. bl: character to be used for the bottom left corner of the window
+ * 9. br: character to be used for the bottom right corner of the window
+ */
+ wrefresh(local_win);
+ delwin(local_win);
+}</span>
+</pre>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="BORDEREXEXPL" id=
+ "BORDEREXEXPL">9.3. Explanation</a></h3>
+
+ <p>Don't scream. I know it's a big example. But I have to
+ explain some important things here :-). This program
+ creates a rectangular window that can be moved with left,
+ right, up, down arrow keys. It repeatedly creates and
+ destroys windows as user press a key. Don't go beyond the
+ screen limits. Checking for those limits is left as an
+ exercise for the reader. Let's dissect it by line by
+ line.</p>
+
+ <p>The <tt class="LITERAL">create_newwin()</tt> function
+ creates a window with <tt class="LITERAL">newwin()</tt> and
+ displays a border around it with box. The function
+ <tt class="LITERAL">destroy_win()</tt> first erases the
+ window from screen by painting a border with ' ' character
+ and then calling <tt class="LITERAL">delwin()</tt> to
+ deallocate memory related to it. Depending on the key the
+ user presses, starty or startx is changed and a new window
+ is created.</p>
+
+ <p>In the destroy_win, as you can see, I used wborder
+ instead of box. The reason is written in the comments (You
+ missed it. I know. Read the code :-)). wborder draws a
+ border around the window with the characters given to it as
+ the 4 corner points and the 4 lines. To put it clearly, if
+ you have called wborder as below:</p>
+ <pre class="PROGRAMLISTING">
+ wborder(win, '|', '|', '-', '-', '+', '+', '+', '+');
+</pre>
+
+ <p>it produces some thing like</p>
+ <pre class="PROGRAMLISTING">
+ +------------+
| |
| |
| |
| |
| |
| |
- +------------+</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="OTHERSTUFF"
->9.4. The other stuff in the example</A
-></H3
-><P
->You can also see in the above examples, that I have used the variables COLS,
-LINES which are initialized to the screen sizes after initscr(). They can be
-useful in finding screen dimensions and finding the center co-ordinate of the
-screen as above. The function <TT
-CLASS="LITERAL"
->getch()</TT
-> as usual
-gets the key from keyboard and according to the key it does the corresponding
-work. This type of switch- case is very common in any GUI based programs.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="OTHERBORDERFUNCS"
->9.5. Other Border functions</A
-></H3
-><P
->Above program is grossly inefficient in that with each press of a key, a window
-is destroyed and another is created. So let's write a more efficient program
-which uses other border related functions.</P
-><P
->The following program uses <TT
-CLASS="LITERAL"
->mvhline()</TT
-> and
-<TT
-CLASS="LITERAL"
->mvvline()</TT
-> to achieve similar effect. These two
-functions are simple. They create a horizontal or vertical line of the specified
-length at the specified position.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BOTBO"
-></A
-><P
-><B
->Example 8. More border functions</B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+ +------------+
+</pre>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="OTHERSTUFF" id="OTHERSTUFF">9.4.
+ The other stuff in the example</a></h3>
+
+ <p>You can also see in the above examples, that I have used
+ the variables COLS, LINES which are initialized to the
+ screen sizes after initscr(). They can be useful in finding
+ screen dimensions and finding the center co-ordinate of the
+ screen as above. The function <tt class=
+ "LITERAL">getch()</tt> as usual gets the key from keyboard
+ and according to the key it does the corresponding work.
+ This type of switch- case is very common in any GUI based
+ programs.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="OTHERBORDERFUNCS" id=
+ "OTHERBORDERFUNCS">9.5. Other Border functions</a></h3>
+
+ <p>Above program is grossly inefficient in that with each
+ press of a key, a window is destroyed and another is
+ created. So let's write a more efficient program which uses
+ other border related functions.</p>
+
+ <p>The following program uses <tt class=
+ "LITERAL">mvhline()</tt> and <tt class=
+ "LITERAL">mvvline()</tt> to achieve similar effect. These
+ two functions are simple. They create a horizontal or
+ vertical line of the specified length at the specified
+ position.</p>
+
+ <div class="EXAMPLE">
+ <a name="BOTBO" id="BOTBO"></a>
+
+ <p><b>Example 8. More border functions</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt;
typedef struct _win_border_struct {
- chtype ls, rs, ts, bs,
- tl, tr, bl, br;
+ chtype ls, rs, ts, bs,
+ tl, tr, bl, br;
}WIN_BORDER;
typedef struct _WIN_struct {
- int startx, starty;
- int height, width;
- WIN_BORDER border;
+ int startx, starty;
+ int height, width;
+ WIN_BORDER border;
}WIN;
void init_win_params(WIN *p_win);
@@ -3195,380 +2445,327 @@ void print_win_params(WIN *p_win);
void create_box(WIN *win, bool flag);
int main(int argc, char *argv[])
-{ WIN win;
- int ch;
-
- initscr(); /* Start curses mode */
- start_color(); /* Start the color functionality */
- cbreak(); /* Line buffering disabled, Pass on
- * everty thing to me */
- keypad(stdscr, TRUE); /* I need that nifty F1 */
- noecho();
- init_pair(1, COLOR_CYAN, COLOR_BLACK);
-
- /* Initialize the window parameters */
- init_win_params(&#38;win);
- print_win_params(&#38;win);
-
- attron(COLOR_PAIR(1));
- printw("Press F1 to exit");
- refresh();
- attroff(COLOR_PAIR(1));
-
- create_box(&#38;win, TRUE);
- while((ch = getch()) != KEY_F(1))
- { switch(ch)
- { case KEY_LEFT:
- create_box(&#38;win, FALSE);
- --win.startx;
- create_box(&#38;win, TRUE);
- break;
- case KEY_RIGHT:
- create_box(&#38;win, FALSE);
- ++win.startx;
- create_box(&#38;win, TRUE);
- break;
- case KEY_UP:
- create_box(&#38;win, FALSE);
- --win.starty;
- create_box(&#38;win, TRUE);
- break;
- case KEY_DOWN:
- create_box(&#38;win, FALSE);
- ++win.starty;
- create_box(&#38;win, TRUE);
- break;
- }
- }
- endwin(); /* End curses mode */
- return 0;
+{ WIN win;
+ int ch;
+
+ initscr(); /* Start curses mode */
+ start_color(); /* Start the color functionality */
+ cbreak(); /* Line buffering disabled, Pass on
+ * everty thing to me */
+ keypad(stdscr, TRUE); /* I need that nifty F1 */
+ noecho();
+ init_pair(1, COLOR_CYAN, COLOR_BLACK);
+
+ /* Initialize the window parameters */
+ init_win_params(&amp;win);
+ print_win_params(&amp;win);
+
+ attron(COLOR_PAIR(1));
+ printw("Press F1 to exit");
+ refresh();
+ attroff(COLOR_PAIR(1));
+
+ create_box(&amp;win, TRUE);
+ while((ch = getch()) != KEY_F(1))
+ { switch(ch)
+ { case KEY_LEFT:
+ create_box(&amp;win, FALSE);
+ --win.startx;
+ create_box(&amp;win, TRUE);
+ break;
+ case KEY_RIGHT:
+ create_box(&amp;win, FALSE);
+ ++win.startx;
+ create_box(&amp;win, TRUE);
+ break;
+ case KEY_UP:
+ create_box(&amp;win, FALSE);
+ --win.starty;
+ create_box(&amp;win, TRUE);
+ break;
+ case KEY_DOWN:
+ create_box(&amp;win, FALSE);
+ ++win.starty;
+ create_box(&amp;win, TRUE);
+ break;
+ }
+ }
+ endwin(); /* End curses mode */
+ return 0;
}
void init_win_params(WIN *p_win)
{
- p_win-&#62;height = 3;
- p_win-&#62;width = 10;
- p_win-&#62;starty = (LINES - p_win-&#62;height)/2;
- p_win-&#62;startx = (COLS - p_win-&#62;width)/2;
-
- p_win-&#62;border.ls = '|';
- p_win-&#62;border.rs = '|';
- p_win-&#62;border.ts = '-';
- p_win-&#62;border.bs = '-';
- p_win-&#62;border.tl = '+';
- p_win-&#62;border.tr = '+';
- p_win-&#62;border.bl = '+';
- p_win-&#62;border.br = '+';
+ p_win-&gt;height = 3;
+ p_win-&gt;width = 10;
+ p_win-&gt;starty = (LINES - p_win-&gt;height)/2;
+ p_win-&gt;startx = (COLS - p_win-&gt;width)/2;
+
+ p_win-&gt;border.ls = '|';
+ p_win-&gt;border.rs = '|';
+ p_win-&gt;border.ts = '-';
+ p_win-&gt;border.bs = '-';
+ p_win-&gt;border.tl = '+';
+ p_win-&gt;border.tr = '+';
+ p_win-&gt;border.bl = '+';
+ p_win-&gt;border.br = '+';
}
void print_win_params(WIN *p_win)
{
#ifdef _DEBUG
- mvprintw(25, 0, "%d %d %d %d", p_win-&#62;startx, p_win-&#62;starty,
- p_win-&#62;width, p_win-&#62;height);
- refresh();
+ mvprintw(25, 0, "%d %d %d %d", p_win-&gt;startx, p_win-&gt;starty,
+ p_win-&gt;width, p_win-&gt;height);
+ refresh();
#endif
}
void create_box(WIN *p_win, bool flag)
-{ int i, j;
- int x, y, w, h;
-
- x = p_win-&#62;startx;
- y = p_win-&#62;starty;
- w = p_win-&#62;width;
- h = p_win-&#62;height;
-
- if(flag == TRUE)
- { mvaddch(y, x, p_win-&#62;border.tl);
- mvaddch(y, x + w, p_win-&#62;border.tr);
- mvaddch(y + h, x, p_win-&#62;border.bl);
- mvaddch(y + h, x + w, p_win-&#62;border.br);
- mvhline(y, x + 1, p_win-&#62;border.ts, w - 1);
- mvhline(y + h, x + 1, p_win-&#62;border.bs, w - 1);
- mvvline(y + 1, x, p_win-&#62;border.ls, h - 1);
- mvvline(y + 1, x + w, p_win-&#62;border.rs, h - 1);
-
- }
- else
- for(j = y; j &#60;= y + h; ++j)
- for(i = x; i &#60;= x + w; ++i)
- mvaddch(j, i, ' ');
-
- refresh();
-
-}</SPAN
-></PRE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="COLOR"
->10. Colors</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="COLORBASICS"
->10.1. The basics</A
-></H3
-><P
->Life seems dull with no colors. Curses has a nice mechanism to handle colors.
-Let's get into the thick of the things with a small program.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BSICO"
-></A
-><P
-><B
->Example 9. A Simple Color example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+{ int i, j;
+ int x, y, w, h;
+
+ x = p_win-&gt;startx;
+ y = p_win-&gt;starty;
+ w = p_win-&gt;width;
+ h = p_win-&gt;height;
+
+ if(flag == TRUE)
+ { mvaddch(y, x, p_win-&gt;border.tl);
+ mvaddch(y, x + w, p_win-&gt;border.tr);
+ mvaddch(y + h, x, p_win-&gt;border.bl);
+ mvaddch(y + h, x + w, p_win-&gt;border.br);
+ mvhline(y, x + 1, p_win-&gt;border.ts, w - 1);
+ mvhline(y + h, x + 1, p_win-&gt;border.bs, w - 1);
+ mvvline(y + 1, x, p_win-&gt;border.ls, h - 1);
+ mvvline(y + 1, x + w, p_win-&gt;border.rs, h - 1);
+
+ }
+ else
+ for(j = y; j &lt;= y + h; ++j)
+ for(i = x; i &lt;= x + w; ++i)
+ mvaddch(j, i, ' ');
+
+ refresh();
+
+}</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="COLOR" id="COLOR">10.
+ Colors</a></h2>
+
+ <div class="SECT2">
+ <h3 class="SECT2"><a name="COLORBASICS" id=
+ "COLORBASICS">10.1. The basics</a></h3>
+
+ <p>Life seems dull with no colors. Curses has a nice
+ mechanism to handle colors. Let's get into the thick of the
+ things with a small program.</p>
+
+ <div class="EXAMPLE">
+ <a name="BSICO" id="BSICO"></a>
+
+ <p><b>Example 9. A Simple Color example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt;
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string);
int main(int argc, char *argv[])
-{ initscr(); /* Start curses mode */
- if(has_colors() == FALSE)
- { endwin();
- printf("Your terminal does not support color\n");
- exit(1);
- }
- start_color(); /* Start color */
- init_pair(1, COLOR_RED, COLOR_BLACK);
-
- attron(COLOR_PAIR(1));
- print_in_middle(stdscr, LINES / 2, 0, 0, "Viola !!! In color ...");
- attroff(COLOR_PAIR(1));
- getch();
- endwin();
+{ initscr(); /* Start curses mode */
+ if(has_colors() == FALSE)
+ { endwin();
+ printf("Your terminal does not support color\n");
+ exit(1);
+ }
+ start_color(); /* Start color */
+ init_pair(1, COLOR_RED, COLOR_BLACK);
+
+ attron(COLOR_PAIR(1));
+ print_in_middle(stdscr, LINES / 2, 0, 0, "Viola !!! In color ...");
+ attroff(COLOR_PAIR(1));
+ getch();
+ endwin();
}
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string)
-{ int length, x, y;
- float temp;
-
- if(win == NULL)
- win = stdscr;
- getyx(win, y, x);
- if(startx != 0)
- x = startx;
- if(starty != 0)
- y = starty;
- if(width == 0)
- width = 80;
-
- length = strlen(string);
- temp = (width - length)/ 2;
- x = startx + (int)temp;
- mvwprintw(win, y, x, "%s", string);
- refresh();
+{ int length, x, y;
+ float temp;
+
+ if(win == NULL)
+ win = stdscr;
+ getyx(win, y, x);
+ if(startx != 0)
+ x = startx;
+ if(starty != 0)
+ y = starty;
+ if(width == 0)
+ width = 80;
+
+ length = strlen(string);
+ temp = (width - length)/ 2;
+ x = startx + (int)temp;
+ mvwprintw(win, y, x, "%s", string);
+ refresh();
}
-</SPAN
-></PRE
-></DIV
-><P
->As you can see, to start using color, you should first call the function
-<TT
-CLASS="LITERAL"
-> start_color()</TT
->. After that, you can use color
-capabilities of your terminals using various functions. To find out whether a
-terminal has color capabilities or not, you can use
-<TT
-CLASS="LITERAL"
->has_colors()</TT
-> function, which returns FALSE if
-the terminal does not support color. </P
-><P
->Curses initializes all the colors supported by terminal when start_color() is
-called. These can be accessed by the define constants like
-<TT
-CLASS="LITERAL"
->COLOR_BLACK </TT
-> etc. Now to actually start using
-colors, you have to define pairs. Colors are always used in pairs. That means
-you have to use the function <TT
-CLASS="LITERAL"
->init_pair() </TT
-> to
-define the foreground and background for the pair number you give. After that
-that pair number can be used as a normal attribute with <TT
-CLASS="LITERAL"
->COLOR_PAIR()</TT
->function. This may seem to be cumbersome at first.
-But this elegant solution allows us to manage color pairs very easily. To
-appreciate it, you have to look into the the source code of "dialog", a utility
-for displaying dialog boxes from shell scripts. The developers have defined
-foreground and background combinations for all the colors they might need and
-initialized at the beginning. This makes it very easy to set attributes just by
-accessing a pair which we already have defined as a constant.</P
-><P
->The following colors are defined in <TT
-CLASS="LITERAL"
->curses.h</TT
->.
-You can use these as parameters for various color functions.
-<PRE
-CLASS="PROGRAMLISTING"
-> COLOR_BLACK 0
+</span>
+</pre>
+ </div>
+
+ <p>As you can see, to start using color, you should first
+ call the function <tt class="LITERAL">start_color()</tt>.
+ After that, you can use color capabilities of your
+ terminals using various functions. To find out whether a
+ terminal has color capabilities or not, you can use
+ <tt class="LITERAL">has_colors()</tt> function, which
+ returns FALSE if the terminal does not support color.</p>
+
+ <p>Curses initializes all the colors supported by terminal
+ when start_color() is called. These can be accessed by the
+ define constants like <tt class="LITERAL">COLOR_BLACK</tt>
+ etc. Now to actually start using colors, you have to define
+ pairs. Colors are always used in pairs. That means you have
+ to use the function <tt class="LITERAL">init_pair()</tt> to
+ define the foreground and background for the pair number
+ you give. After that that pair number can be used as a
+ normal attribute with <tt class=
+ "LITERAL">COLOR_PAIR()</tt>function. This may seem to be
+ cumbersome at first. But this elegant solution allows us to
+ manage color pairs very easily. To appreciate it, you have
+ to look into the the source code of "dialog", a utility for
+ displaying dialog boxes from shell scripts. The developers
+ have defined foreground and background combinations for all
+ the colors they might need and initialized at the
+ beginning. This makes it very easy to set attributes just
+ by accessing a pair which we already have defined as a
+ constant.</p>
+
+ <p>The following colors are defined in <tt class=
+ "LITERAL">curses.h</tt>. You can use these as parameters
+ for various color functions.</p>
+ <pre class="PROGRAMLISTING">
+ COLOR_BLACK 0
COLOR_RED 1
COLOR_GREEN 2
COLOR_YELLOW 3
COLOR_BLUE 4
COLOR_MAGENTA 5
COLOR_CYAN 6
- COLOR_WHITE 7</PRE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="CHANGECOLORDEFS"
->10.2. Changing Color Definitions</A
-></H3
-><P
->The function <TT
-CLASS="LITERAL"
->init_color()</TT
->can be used to change
-the rgb values for the colors defined by curses initially. Say you wanted to
-lighten the intensity of red color by a minuscule. Then you can use this
-function as</P
-><PRE
-CLASS="PROGRAMLISTING"
-> init_color(COLOR_RED, 700, 0, 0);
+ COLOR_WHITE 7
+</pre>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="CHANGECOLORDEFS" id=
+ "CHANGECOLORDEFS">10.2. Changing Color Definitions</a></h3>
+
+ <p>The function <tt class="LITERAL">init_color()</tt>can be
+ used to change the rgb values for the colors defined by
+ curses initially. Say you wanted to lighten the intensity
+ of red color by a minuscule. Then you can use this function
+ as</p>
+ <pre class="PROGRAMLISTING">
+ init_color(COLOR_RED, 700, 0, 0);
/* param 1 : color name
- * param 2, 3, 4 : rgb content min = 0, max = 1000 */</PRE
-><P
->If your terminal cannot change the color definitions, the function returns ERR.
-The function <TT
-CLASS="LITERAL"
->can_change_color()</TT
-> can be used to
-find out whether the terminal has the capability of changing color content or
-not. The rgb content is scaled from 0 to 1000. Initially RED color is defined
-with content 1000(r), 0(g), 0(b). </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="COLORCONTENT"
->10.3. Color Content</A
-></H3
-><P
->The functions <TT
-CLASS="LITERAL"
->color_content()</TT
-> and
-<TT
-CLASS="LITERAL"
->pair_content()</TT
-> can be used to find the color
-content and foreground, background combination for the pair. </P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="KEYS"
->11. Interfacing with the key board</A
-></H2
-><DIV
-CLASS="SECT2"
-><H3
-CLASS="SECT2"
-><A
-NAME="KEYSBASICS"
->11.1. The Basics</A
-></H3
-><P
->No GUI is complete without a strong user interface and to interact with the
-user, a curses program should be sensitive to key presses or the mouse actions
-done by the user. Let's deal with the keys first.</P
-><P
->As you have seen in almost all of the above examples, it's very easy to get key
-input from the user. A simple way of getting key presses is to use
-<TT
-CLASS="LITERAL"
->getch()</TT
-> function. The cbreak mode should be
-enabled to read keys when you are interested in reading individual key hits
-rather than complete lines of text (which usually end with a carriage return).
-keypad should be enabled to get the Functions keys, arrow keys etc. See the
-initialization section for details.</P
-><P
-><TT
-CLASS="LITERAL"
->getch()</TT
-> returns an integer corresponding to the
-key pressed. If it is a normal character, the integer value will be equivalent
-to the character. Otherwise it returns a number which can be matched with the
-constants defined in <TT
-CLASS="LITERAL"
->curses.h</TT
->. For example if
-the user presses F1, the integer returned is 265. This can be checked using the
-macro KEY_F() defined in curses.h. This makes reading keys portable and easy to
-manage.</P
-><P
->For example, if you call getch() like this</P
-><PRE
-CLASS="PROGRAMLISTING"
-> int ch;
-
- ch = getch();</PRE
-><P
->getch() will wait for the user to press a key, (unless you specified a timeout)
-and when user presses a key, the corresponding integer is returned. Then you can
-check the value returned with the constants defined in curses.h to match against
-the keys you want.</P
-><P
->The following code piece will do that job.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> if(ch == KEY_LEFT)
- printw("Left arrow is pressed\n");</PRE
-><P
->Let's write a small program which creates a menu which can be navigated by up
-and down arrows.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="SIMPLEKEYEX"
->11.2. A Simple Key Usage example</A
-></H3
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BSIKE"
-></A
-><P
-><B
->Example 10. A Simple Key Usage example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;stdio.h&#62;
-#include &#60;ncurses.h&#62;
+ * param 2, 3, 4 : rgb content min = 0, max = 1000 */
+</pre>
+
+ <p>If your terminal cannot change the color definitions,
+ the function returns ERR. The function <tt class=
+ "LITERAL">can_change_color()</tt> can be used to find out
+ whether the terminal has the capability of changing color
+ content or not. The rgb content is scaled from 0 to 1000.
+ Initially RED color is defined with content 1000(r), 0(g),
+ 0(b).</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="COLORCONTENT" id=
+ "COLORCONTENT">10.3. Color Content</a></h3>
+
+ <p>The functions <tt class="LITERAL">color_content()</tt>
+ and <tt class="LITERAL">pair_content()</tt> can be used to
+ find the color content and foreground, background
+ combination for the pair.</p>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="KEYS" id="KEYS">11. Interfacing
+ with the key board</a></h2>
+
+ <div class="SECT2">
+ <h3 class="SECT2"><a name="KEYSBASICS" id=
+ "KEYSBASICS">11.1. The Basics</a></h3>
+
+ <p>No GUI is complete without a strong user interface and
+ to interact with the user, a curses program should be
+ sensitive to key presses or the mouse actions done by the
+ user. Let's deal with the keys first.</p>
+
+ <p>As you have seen in almost all of the above examples,
+ it's very easy to get key input from the user. A simple way
+ of getting key presses is to use <tt class=
+ "LITERAL">getch()</tt> function. The cbreak mode should be
+ enabled to read keys when you are interested in reading
+ individual key hits rather than complete lines of text
+ (which usually end with a carriage return). keypad should
+ be enabled to get the Functions keys, arrow keys etc. See
+ the initialization section for details.</p>
+
+ <p><tt class="LITERAL">getch()</tt> returns an integer
+ corresponding to the key pressed. If it is a normal
+ character, the integer value will be equivalent to the
+ character. Otherwise it returns a number which can be
+ matched with the constants defined in <tt class=
+ "LITERAL">curses.h</tt>. For example if the user presses
+ F1, the integer returned is 265. This can be checked using
+ the macro KEY_F() defined in curses.h. This makes reading
+ keys portable and easy to manage.</p>
+
+ <p>For example, if you call getch() like this</p>
+ <pre class="PROGRAMLISTING">
+ int ch;
+
+ ch = getch();
+</pre>
+
+ <p>getch() will wait for the user to press a key, (unless
+ you specified a timeout) and when user presses a key, the
+ corresponding integer is returned. Then you can check the
+ value returned with the constants defined in curses.h to
+ match against the keys you want.</p>
+
+ <p>The following code piece will do that job.</p>
+ <pre class="PROGRAMLISTING">
+ if(ch == KEY_LEFT)
+ printw("Left arrow is pressed\n");
+</pre>
+
+ <p>Let's write a small program which creates a menu which
+ can be navigated by up and down arrows.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="SIMPLEKEYEX" id=
+ "SIMPLEKEYEX">11.2. A Simple Key Usage example</a></h3>
+
+ <div class="EXAMPLE">
+ <a name="BSIKE" id="BSIKE"></a>
+
+ <p><b>Example 10. A Simple Key Usage example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;stdio.h&gt;
+#include &lt;ncurses.h&gt;
#define WIDTH 30
#define HEIGHT 10
@@ -3577,132 +2774,126 @@ int startx = 0;
int starty = 0;
char *choices[] = {
- "Choice 1",
- "Choice 2",
- "Choice 3",
- "Choice 4",
- "Exit",
- };
+ "Choice 1",
+ "Choice 2",
+ "Choice 3",
+ "Choice 4",
+ "Exit",
+ };
int n_choices = sizeof(choices) / sizeof(char *);
void print_menu(WINDOW *menu_win, int highlight);
int main()
-{ WINDOW *menu_win;
- int highlight = 1;
- int choice = 0;
- int c;
-
- initscr();
- clear();
- noecho();
- cbreak(); /* Line buffering disabled. pass on everything */
- startx = (80 - WIDTH) / 2;
- starty = (24 - HEIGHT) / 2;
-
- menu_win = newwin(HEIGHT, WIDTH, starty, startx);
- keypad(menu_win, TRUE);
- mvprintw(0, 0, "Use arrow keys to go up and down, Press enter to select a choice");
- refresh();
- print_menu(menu_win, highlight);
- while(1)
- { c = wgetch(menu_win);
- switch(c)
- { case KEY_UP:
- if(highlight == 1)
- highlight = n_choices;
- else
- --highlight;
- break;
- case KEY_DOWN:
- if(highlight == n_choices)
- highlight = 1;
- else
- ++highlight;
- break;
- case 10:
- choice = highlight;
- break;
- default:
- mvprintw(24, 0, "Charcter pressed is = %3d Hopefully it can be printed as '%c'", c, c);
- refresh();
- break;
- }
- print_menu(menu_win, highlight);
- if(choice != 0) /* User did a choice come out of the infinite loop */
- break;
- }
- mvprintw(23, 0, "You chose choice %d with choice string %s\n", choice, choices[choice - 1]);
- clrtoeol();
- refresh();
- endwin();
- return 0;
+{ WINDOW *menu_win;
+ int highlight = 1;
+ int choice = 0;
+ int c;
+
+ initscr();
+ clear();
+ noecho();
+ cbreak(); /* Line buffering disabled. pass on everything */
+ startx = (80 - WIDTH) / 2;
+ starty = (24 - HEIGHT) / 2;
+
+ menu_win = newwin(HEIGHT, WIDTH, starty, startx);
+ keypad(menu_win, TRUE);
+ mvprintw(0, 0, "Use arrow keys to go up and down, Press enter to select a choice");
+ refresh();
+ print_menu(menu_win, highlight);
+ while(1)
+ { c = wgetch(menu_win);
+ switch(c)
+ { case KEY_UP:
+ if(highlight == 1)
+ highlight = n_choices;
+ else
+ --highlight;
+ break;
+ case KEY_DOWN:
+ if(highlight == n_choices)
+ highlight = 1;
+ else
+ ++highlight;
+ break;
+ case 10:
+ choice = highlight;
+ break;
+ default:
+ mvprintw(24, 0, "Charcter pressed is = %3d Hopefully it can be printed as '%c'", c, c);
+ refresh();
+ break;
+ }
+ print_menu(menu_win, highlight);
+ if(choice != 0) /* User did a choice come out of the infinite loop */
+ break;
+ }
+ mvprintw(23, 0, "You chose choice %d with choice string %s\n", choice, choices[choice - 1]);
+ clrtoeol();
+ refresh();
+ endwin();
+ return 0;
}
void print_menu(WINDOW *menu_win, int highlight)
{
- int x, y, i;
-
- x = 2;
- y = 2;
- box(menu_win, 0, 0);
- for(i = 0; i &#60; n_choices; ++i)
- { if(highlight == i + 1) /* High light the present choice */
- { wattron(menu_win, A_REVERSE);
- mvwprintw(menu_win, y, x, "%s", choices[i]);
- wattroff(menu_win, A_REVERSE);
- }
- else
- mvwprintw(menu_win, y, x, "%s", choices[i]);
- ++y;
- }
- wrefresh(menu_win);
+ int x, y, i;
+
+ x = 2;
+ y = 2;
+ box(menu_win, 0, 0);
+ for(i = 0; i &lt; n_choices; ++i)
+ { if(highlight == i + 1) /* High light the present choice */
+ { wattron(menu_win, A_REVERSE);
+ mvwprintw(menu_win, y, x, "%s", choices[i]);
+ wattroff(menu_win, A_REVERSE);
+ }
+ else
+ mvwprintw(menu_win, y, x, "%s", choices[i]);
+ ++y;
+ }
+ wrefresh(menu_win);
}
-</SPAN
-></PRE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="MOUSE"
->12. Interfacing with the mouse</A
-></H2
-><P
->Now that you have seen how to get keys, lets do the same thing from mouse.
-Usually each UI allows the user to interact with both keyboard and mouse. </P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MOUSEBASICS"
->12.1. The Basics</A
-></H3
-><P
->Before you do any thing else, the events you want to receive have to be enabled
-with <TT
-CLASS="LITERAL"
->mousemask()</TT
->.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> mousemask( mmask_t newmask, /* The events you want to listen to */
- mmask_t *oldmask) /* The old events mask */</PRE
-><P
->The first parameter to above function is a bit mask of events you would like to
-listen. By default, all the events are turned off. The bit mask <TT
-CLASS="LITERAL"
-> ALL_MOUSE_EVENTS</TT
-> can be used to get all the events.</P
-><P
->The following are all the event masks:</P
-><PRE
-CLASS="PROGRAMLISTING"
-> Name Description
+</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="MOUSE" id="MOUSE">12. Interfacing
+ with the mouse</a></h2>
+
+ <p>Now that you have seen how to get keys, lets do the same
+ thing from mouse. Usually each UI allows the user to interact
+ with both keyboard and mouse.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="MOUSEBASICS" id=
+ "MOUSEBASICS">12.1. The Basics</a></h3>
+
+ <p>Before you do any thing else, the events you want to
+ receive have to be enabled with <tt class=
+ "LITERAL">mousemask()</tt>.</p>
+ <pre class="PROGRAMLISTING">
+ mousemask( mmask_t newmask, /* The events you want to listen to */
+ mmask_t *oldmask) /* The old events mask */
+</pre>
+
+ <p>The first parameter to above function is a bit mask of
+ events you would like to listen. By default, all the events
+ are turned off. The bit mask <tt class=
+ "LITERAL">ALL_MOUSE_EVENTS</tt> can be used to get all the
+ events.</p>
+
+ <p>The following are all the event masks:</p>
+ <pre class="PROGRAMLISTING">
+ Name Description
---------------------------------------------------------------------
BUTTON1_PRESSED mouse button 1 down
BUTTON1_RELEASED mouse button 1 up
@@ -3728,85 +2919,72 @@ CLASS="PROGRAMLISTING"
BUTTON_CTRL control was down during button state change
BUTTON_ALT alt was down during button state change
ALL_MOUSE_EVENTS report all button state changes
- REPORT_MOUSE_POSITION report mouse movement</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="GETTINGEVENTS"
->12.2. Getting the events</A
-></H3
-><P
->Once a class of mouse events have been enabled, getch() class of functions
-return KEY_MOUSE every time some mouse event happens. Then the mouse event can
-be retrieved with <TT
-CLASS="LITERAL"
->getmouse()</TT
->.</P
-><P
->The code approximately looks like this:</P
-><PRE
-CLASS="PROGRAMLISTING"
-> MEVENT event;
+ REPORT_MOUSE_POSITION report mouse movement
+</pre>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="GETTINGEVENTS" id=
+ "GETTINGEVENTS">12.2. Getting the events</a></h3>
+
+ <p>Once a class of mouse events have been enabled, getch()
+ class of functions return KEY_MOUSE every time some mouse
+ event happens. Then the mouse event can be retrieved with
+ <tt class="LITERAL">getmouse()</tt>.</p>
+
+ <p>The code approximately looks like this:</p>
+ <pre class="PROGRAMLISTING">
+ MEVENT event;
ch = getch();
if(ch == KEY_MOUSE)
if(getmouse(&amp;event) == OK)
. /* Do some thing with the event */
.
- .</PRE
-><P
->
-getmouse() returns the event into the pointer given to it. It's a structure
-which contains</P
-><PRE
-CLASS="PROGRAMLISTING"
-> typedef struct
+ .
+</pre>
+
+ <p>getmouse() returns the event into the pointer given to
+ it. It's a structure which contains</p>
+ <pre class="PROGRAMLISTING">
+ typedef struct
{
short id; /* ID to distinguish multiple devices */
int x, y, z; /* event coordinates */
mmask_t bstate; /* button state bits */
- } </PRE
-><P
->The <TT
-CLASS="LITERAL"
->bstate</TT
-> is the main variable we are
-interested in. It tells the button state of the mouse.</P
-><P
->Then with a code snippet like the following, we can find out what happened.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> if(event.bstate &amp; BUTTON1_PRESSED)
- printw("Left Button Pressed");</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MOUSETOGETHER"
->12.3. Putting it all Together</A
-></H3
-><P
->That's pretty much interfacing with mouse. Let's create the same menu and enable
-mouse interaction. To make things simpler, key handling is removed.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BMOME"
-></A
-><P
-><B
->Example 11. Access the menu with mouse !!! </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+ }
+</pre>
+
+ <p>The <tt class="LITERAL">bstate</tt> is the main variable
+ we are interested in. It tells the button state of the
+ mouse.</p>
+
+ <p>Then with a code snippet like the following, we can find
+ out what happened.</p>
+ <pre class="PROGRAMLISTING">
+ if(event.bstate &amp; BUTTON1_PRESSED)
+ printw("Left Button Pressed");
+</pre>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="MOUSETOGETHER" id=
+ "MOUSETOGETHER">12.3. Putting it all Together</a></h3>
+
+ <p>That's pretty much interfacing with mouse. Let's create
+ the same menu and enable mouse interaction. To make things
+ simpler, key handling is removed.</p>
+
+ <div class="EXAMPLE">
+ <a name="BMOME" id="BMOME"></a>
+
+ <p><b>Example 11. Access the menu with mouse !!!</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt;
#define WIDTH 30
#define HEIGHT 10
@@ -3814,12 +2992,12 @@ CLASS="INLINEMEDIAOBJECT"
int startx = 0;
int starty = 0;
-char *choices[] = { "Choice 1",
- "Choice 2",
- "Choice 3",
- "Choice 4",
- "Exit",
- };
+char *choices[] = { "Choice 1",
+ "Choice 2",
+ "Choice 3",
+ "Choice 4",
+ "Exit",
+ };
int n_choices = sizeof(choices) / sizeof(char *);
@@ -3827,338 +3005,291 @@ void print_menu(WINDOW *menu_win, int highlight);
void report_choice(int mouse_x, int mouse_y, int *p_choice);
int main()
-{ int c, choice = 0;
- WINDOW *menu_win;
- MEVENT event;
-
- /* Initialize curses */
- initscr();
- clear();
- noecho();
- cbreak(); //Line buffering disabled. pass on everything
-
- /* Try to put the window in the middle of screen */
- startx = (80 - WIDTH) / 2;
- starty = (24 - HEIGHT) / 2;
-
- attron(A_REVERSE);
- mvprintw(23, 1, "Click on Exit to quit (Works best in a virtual console)");
- refresh();
- attroff(A_REVERSE);
-
- /* Print the menu for the first time */
- menu_win = newwin(HEIGHT, WIDTH, starty, startx);
- print_menu(menu_win, 1);
- /* Get all the mouse events */
- mousemask(ALL_MOUSE_EVENTS, NULL);
-
- while(1)
- { c = wgetch(menu_win);
- switch(c)
- { case KEY_MOUSE:
- if(getmouse(&#38;event) == OK)
- { /* When the user clicks left mouse button */
- if(event.bstate &#38; BUTTON1_PRESSED)
- { report_choice(event.x + 1, event.y + 1, &#38;choice);
- if(choice == -1) //Exit chosen
- goto end;
- mvprintw(22, 1, "Choice made is : %d String Chosen is \"%10s\"", choice, choices[choice - 1]);
- refresh();
- }
- }
- print_menu(menu_win, choice);
- break;
- }
- }
+{ int c, choice = 0;
+ WINDOW *menu_win;
+ MEVENT event;
+
+ /* Initialize curses */
+ initscr();
+ clear();
+ noecho();
+ cbreak(); //Line buffering disabled. pass on everything
+
+ /* Try to put the window in the middle of screen */
+ startx = (80 - WIDTH) / 2;
+ starty = (24 - HEIGHT) / 2;
+
+ attron(A_REVERSE);
+ mvprintw(23, 1, "Click on Exit to quit (Works best in a virtual console)");
+ refresh();
+ attroff(A_REVERSE);
+
+ /* Print the menu for the first time */
+ menu_win = newwin(HEIGHT, WIDTH, starty, startx);
+ print_menu(menu_win, 1);
+ /* Get all the mouse events */
+ mousemask(ALL_MOUSE_EVENTS, NULL);
+
+ while(1)
+ { c = wgetch(menu_win);
+ switch(c)
+ { case KEY_MOUSE:
+ if(getmouse(&amp;event) == OK)
+ { /* When the user clicks left mouse button */
+ if(event.bstate &amp; BUTTON1_PRESSED)
+ { report_choice(event.x + 1, event.y + 1, &amp;choice);
+ if(choice == -1) //Exit chosen
+ goto end;
+ mvprintw(22, 1, "Choice made is : %d String Chosen is \"%10s\"", choice, choices[choice - 1]);
+ refresh();
+ }
+ }
+ print_menu(menu_win, choice);
+ break;
+ }
+ }
end:
- endwin();
- return 0;
+ endwin();
+ return 0;
}
void print_menu(WINDOW *menu_win, int highlight)
{
- int x, y, i;
-
- x = 2;
- y = 2;
- box(menu_win, 0, 0);
- for(i = 0; i &#60; n_choices; ++i)
- { if(highlight == i + 1)
- { wattron(menu_win, A_REVERSE);
- mvwprintw(menu_win, y, x, "%s", choices[i]);
- wattroff(menu_win, A_REVERSE);
- }
- else
- mvwprintw(menu_win, y, x, "%s", choices[i]);
- ++y;
- }
- wrefresh(menu_win);
+ int x, y, i;
+
+ x = 2;
+ y = 2;
+ box(menu_win, 0, 0);
+ for(i = 0; i &lt; n_choices; ++i)
+ { if(highlight == i + 1)
+ { wattron(menu_win, A_REVERSE);
+ mvwprintw(menu_win, y, x, "%s", choices[i]);
+ wattroff(menu_win, A_REVERSE);
+ }
+ else
+ mvwprintw(menu_win, y, x, "%s", choices[i]);
+ ++y;
+ }
+ wrefresh(menu_win);
}
/* Report the choice according to mouse position */
void report_choice(int mouse_x, int mouse_y, int *p_choice)
-{ int i,j, choice;
-
- i = startx + 2;
- j = starty + 3;
-
- for(choice = 0; choice &#60; n_choices; ++choice)
- if(mouse_y == j + choice &#38;&#38; mouse_x &#62;= i &#38;&#38; mouse_x &#60;= i + strlen(choices[choice]))
- { if(choice == n_choices - 1)
- *p_choice = -1;
- else
- *p_choice = choice + 1;
- break;
- }
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MISCMOUSEFUNCS"
->12.4. Miscellaneous Functions</A
-></H3
-><P
->The functions mouse_trafo() and wmouse_trafo() can be used to convert to mouse
-co-ordinates to screen relative co-ordinates. See curs_mouse(3X) man page for details.</P
-><P
->The mouseinterval function sets the maximum time (in thousands of a
-second) that can elapse between press and release events in order for
-them to be recognized as a click. This function returns the previous
-interval value. The default is one fifth of a second.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="SCREEN"
->13. Screen Manipulation</A
-></H2
-><P
->In this section, we will look into some functions, which allow us to manage the
-screen efficiently and to write some fancy programs. This is especially
-important in writing games. </P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="GETYX"
->13.1. getyx() functions</A
-></H3
-><P
->&#13;The function <TT
-CLASS="LITERAL"
->getyx()</TT
-> can be used to find out
-the present cursor co-ordinates. It will fill the values of x and y co-ordinates
-in the arguments given to it. Since getyx() is a macro you don't have to pass
-the address of the variables. It can be called as</P
-><PRE
-CLASS="PROGRAMLISTING"
-> getyx(win, y, x);
+{ int i,j, choice;
+
+ i = startx + 2;
+ j = starty + 3;
+
+ for(choice = 0; choice &lt; n_choices; ++choice)
+ if(mouse_y == j + choice &amp;&amp; mouse_x &gt;= i &amp;&amp; mouse_x &lt;= i + strlen(choices[choice]))
+ { if(choice == n_choices - 1)
+ *p_choice = -1;
+ else
+ *p_choice = choice + 1;
+ break;
+ }
+}</span>
+</pre>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="MISCMOUSEFUNCS" id=
+ "MISCMOUSEFUNCS">12.4. Miscellaneous Functions</a></h3>
+
+ <p>The functions mouse_trafo() and wmouse_trafo() can be
+ used to convert to mouse co-ordinates to screen relative
+ co-ordinates. See curs_mouse(3X) man page for details.</p>
+
+ <p>The mouseinterval function sets the maximum time (in
+ thousands of a second) that can elapse between press and
+ release events in order for them to be recognized as a
+ click. This function returns the previous interval value.
+ The default is one fifth of a second.</p>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="SCREEN" id="SCREEN">13. Screen
+ Manipulation</a></h2>
+
+ <p>In this section, we will look into some functions, which
+ allow us to manage the screen efficiently and to write some
+ fancy programs. This is especially important in writing
+ games.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="GETYX" id="GETYX">13.1. getyx()
+ functions</a></h3>
+
+ <p>The function <tt class="LITERAL">getyx()</tt> can be
+ used to find out the present cursor co-ordinates. It will
+ fill the values of x and y co-ordinates in the arguments
+ given to it. Since getyx() is a macro you don't have to
+ pass the address of the variables. It can be called as</p>
+ <pre class="PROGRAMLISTING">
+ getyx(win, y, x);
/* win: window pointer
* y, x: y, x co-ordinates will be put into this variables
- */</PRE
-><P
->The function getparyx() gets the beginning co-ordinates of the sub window
-relative to the main window. This is some times useful to update a sub window.
-When designing fancy stuff like writing multiple menus, it becomes difficult to
-store the menu positions, their first option co-ordinates etc. A simple solution
-to this problem, is to create menus in sub windows and later find the starting
-co-ordinates of the menus by using getparyx().</P
-><P
->The functions getbegyx() and getmaxyx() store current window's beginning and
-maximum co-ordinates. These functions are useful in the same way as above in
-managing the windows and sub windows effectively.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="SCREENDUMP"
->13.2. Screen Dumping</A
-></H3
-><P
->While writing games, some times it becomes necessary to store the state of the
-screen and restore it back to the same state. The function scr_dump() can be
-used to dump the screen contents to a file given as an argument. Later it can be
-restored by scr_restore function. These two simple functions can be used
-effectively to maintain a fast moving game with changing scenarios. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="WINDOWDUMP"
->13.3. Window Dumping</A
-></H3
-><P
->To store and restore windows, the functions
-<TT
-CLASS="LITERAL"
->putwin()</TT
-> and <TT
-CLASS="LITERAL"
->getwin()</TT
-> can be used. <TT
-CLASS="LITERAL"
->putwin()</TT
-> puts
-the present window state into a file, which can be later restored by
-<TT
-CLASS="LITERAL"
->getwin()</TT
->.</P
-><P
->
-The function <TT
-CLASS="LITERAL"
->copywin()</TT
-> can be used to copy a
-window completely onto another window. It takes the source and destination
-windows as parameters and according to the rectangle specified, it copies the
-rectangular region from source to destination window. It's last parameter
-specifies whether to overwrite or just overlay the contents on to the
-destination window. If this argument is true, then the copying is
-non-destructive.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="MISC"
->14. Miscellaneous features</A
-></H2
-><P
->Now you know enough features to write a good curses program, with all bells and
-whistles. There are some miscellaneous functions which are useful in various
-cases. Let's go headlong into some of those.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="CURSSET"
->14.1. curs_set()</A
-></H3
-><P
->This function can be used to make the cursor invisible. The parameter to this
-function should be </P
-><PRE
-CLASS="PROGRAMLISTING"
-> 0 : invisible or
+ */
+</pre>
+
+ <p>The function getparyx() gets the beginning co-ordinates
+ of the sub window relative to the main window. This is some
+ times useful to update a sub window. When designing fancy
+ stuff like writing multiple menus, it becomes difficult to
+ store the menu positions, their first option co-ordinates
+ etc. A simple solution to this problem, is to create menus
+ in sub windows and later find the starting co-ordinates of
+ the menus by using getparyx().</p>
+
+ <p>The functions getbegyx() and getmaxyx() store current
+ window's beginning and maximum co-ordinates. These
+ functions are useful in the same way as above in managing
+ the windows and sub windows effectively.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="SCREENDUMP" id=
+ "SCREENDUMP">13.2. Screen Dumping</a></h3>
+
+ <p>While writing games, some times it becomes necessary to
+ store the state of the screen and restore it back to the
+ same state. The function scr_dump() can be used to dump the
+ screen contents to a file given as an argument. Later it
+ can be restored by scr_restore function. These two simple
+ functions can be used effectively to maintain a fast moving
+ game with changing scenarios.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="WINDOWDUMP" id=
+ "WINDOWDUMP">13.3. Window Dumping</a></h3>
+
+ <p>To store and restore windows, the functions <tt class=
+ "LITERAL">putwin()</tt> and <tt class=
+ "LITERAL">getwin()</tt> can be used. <tt class=
+ "LITERAL">putwin()</tt> puts the present window state into
+ a file, which can be later restored by <tt class=
+ "LITERAL">getwin()</tt>.</p>
+
+ <p>The function <tt class="LITERAL">copywin()</tt> can be
+ used to copy a window completely onto another window. It
+ takes the source and destination windows as parameters and
+ according to the rectangle specified, it copies the
+ rectangular region from source to destination window. It's
+ last parameter specifies whether to overwrite or just
+ overlay the contents on to the destination window. If this
+ argument is true, then the copying is non-destructive.</p>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="MISC" id="MISC">14. Miscellaneous
+ features</a></h2>
+
+ <p>Now you know enough features to write a good curses
+ program, with all bells and whistles. There are some
+ miscellaneous functions which are useful in various cases.
+ Let's go headlong into some of those.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="CURSSET" id="CURSSET">14.1.
+ curs_set()</a></h3>
+
+ <p>This function can be used to make the cursor invisible.
+ The parameter to this function should be</p>
+ <pre class="PROGRAMLISTING">
+ 0 : invisible or
1 : normal or
- 2 : very visible.</PRE
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="TEMPLEAVE"
->14.2. Temporarily Leaving Curses mode</A
-></H3
-><P
->Some times you may want to get back to cooked mode (normal line buffering mode)
-temporarily. In such a case you will first need to save the tty modes with a
-call to <TT
-CLASS="LITERAL"
->def_prog_mode()</TT
-> and then call
-<TT
-CLASS="LITERAL"
->endwin()</TT
-> to end the curses mode. This will
-leave you in the original tty mode. To get back to curses once you are done,
-call <TT
-CLASS="LITERAL"
->reset_prog_mode() </TT
->. This function returns
-the tty to the state stored by <TT
-CLASS="LITERAL"
->def_prog_mode()</TT
->. Then do refresh(), and you are back to the curses mode. Here
-is an example showing the sequence of things to be done.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BTELE"
-></A
-><P
-><B
->Example 12. Temporarily Leaving Curses Mode </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+ 2 : very visible.
+</pre>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="TEMPLEAVE" id="TEMPLEAVE">14.2.
+ Temporarily Leaving Curses mode</a></h3>
+
+ <p>Some times you may want to get back to cooked mode
+ (normal line buffering mode) temporarily. In such a case
+ you will first need to save the tty modes with a call to
+ <tt class="LITERAL">def_prog_mode()</tt> and then call
+ <tt class="LITERAL">endwin()</tt> to end the curses mode.
+ This will leave you in the original tty mode. To get back
+ to curses once you are done, call <tt class=
+ "LITERAL">reset_prog_mode()</tt> . This function returns
+ the tty to the state stored by <tt class=
+ "LITERAL">def_prog_mode()</tt>. Then do refresh(), and you
+ are back to the curses mode. Here is an example showing the
+ sequence of things to be done.</p>
+
+ <div class="EXAMPLE">
+ <a name="BTELE" id="BTELE"></a>
+
+ <p><b>Example 12. Temporarily Leaving Curses Mode</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt;
int main()
-{
- initscr(); /* Start curses mode */
- printw("Hello World !!!\n"); /* Print Hello World */
- refresh(); /* Print it on to the real screen */
- def_prog_mode(); /* Save the tty modes */
- endwin(); /* End curses mode temporarily */
- system("/bin/sh"); /* Do whatever you like in cooked mode */
- reset_prog_mode(); /* Return to the previous tty mode*/
- /* stored by def_prog_mode() */
- refresh(); /* Do refresh() to restore the */
- /* Screen contents */
- printw("Another String\n"); /* Back to curses use the full */
- refresh(); /* capabilities of curses */
- endwin(); /* End curses mode */
-
- return 0;
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="ACSVARS"
->14.3. ACS_ variables</A
-></H3
-><P
->If you have ever programmed in DOS, you know about those nifty characters in
-extended character set. They are printable only on some terminals. NCURSES
-functions like <TT
-CLASS="LITERAL"
->box()</TT
-> use these characters. All
-these variables start with ACS meaning alternative character set. You might have
-noticed me using these characters in some of the programs above. Here's an example
-showing all the characters.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="BACSVARS"
-></A
-><P
-><B
->Example 13. ACS Variables Example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;ncurses.h&#62;
+{
+ initscr(); /* Start curses mode */
+ printw("Hello World !!!\n"); /* Print Hello World */
+ refresh(); /* Print it on to the real screen */
+ def_prog_mode(); /* Save the tty modes */
+ endwin(); /* End curses mode temporarily */
+ system("/bin/sh"); /* Do whatever you like in cooked mode */
+ reset_prog_mode(); /* Return to the previous tty mode*/
+ /* stored by def_prog_mode() */
+ refresh(); /* Do refresh() to restore the */
+ /* Screen contents */
+ printw("Another String\n"); /* Back to curses use the full */
+ refresh(); /* capabilities of curses */
+ endwin(); /* End curses mode */
+
+ return 0;
+}</span>
+</pre>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="ACSVARS" id="ACSVARS">14.3. ACS_
+ variables</a></h3>
+
+ <p>If you have ever programmed in DOS, you know about those
+ nifty characters in extended character set. They are
+ printable only on some terminals. NCURSES functions like
+ <tt class="LITERAL">box()</tt> use these characters. All
+ these variables start with ACS meaning alternative
+ character set. You might have noticed me using these
+ characters in some of the programs above. Here's an example
+ showing all the characters.</p>
+
+ <div class="EXAMPLE">
+ <a name="BACSVARS" id="BACSVARS"></a>
+
+ <p><b>Example 13. ACS Variables Example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt;
int main()
{
@@ -4200,218 +3331,207 @@ int main()
getch();
endwin();
- return 0;
-}</SPAN
-></PRE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="OTHERLIB"
->15. Other libraries</A
-></H2
-><P
->Apart from the curses library, there are few text mode libraries, which provide
-more functionality and a lot of features. The following sections explain three
-standard libraries which are usually distributed along with curses. </P
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="PANELS"
->16. Panel Library</A
-></H2
-><P
->Now that you are proficient in curses, you wanted to do some thing big. You
-created a lot of overlapping windows to give a professional windows-type look.
-Unfortunately, it soon becomes difficult to manage these. The multiple
-refreshes, updates plunge you into a nightmare. The overlapping windows create
-blotches, whenever you forget to refresh the windows in the proper order. </P
-><P
->Don't despair. There's an elegant solution provided in panels library. In the
-words of developers of ncurses </P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->When your interface design is such that windows may dive deeper into the
-visibility stack or pop to the top at runtime, the resulting book-keeping can be
-tedious and difficult to get right. Hence the panels library.</I
-></SPAN
-></P
-><P
->If you have lot of overlapping windows, then panels library is the way to go. It
-obviates the need of doing series of wnoutrefresh(), doupdate() and relieves the
-burden of doing it correctly(bottom up). The library maintains information about
-the order of windows, their overlapping and update the screen properly. So why
-wait? Let's take a close peek into panels.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PANELBASICS"
->16.1. The Basics</A
-></H3
-><P
->Panel object is a window that is implicitly treated as part of a deck including
-all other panel objects. The deck is treated as a stack with the top panel being
-completely visible and the other panels may or may not be obscured according to
-their positions. So the basic idea is to create a stack of overlapping panels
-and use panels library to display them correctly. There is a function similar to
-refresh() which, when called , displays panels in the correct order. Functions
-are provided to hide or show panels, move panels, change its size etc.. The
-overlapping problem is managed by the panels library during all the calls to
-these functions. </P
-><P
->The general flow of a panel program goes like this:
-
-<P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Create the windows (with newwin()) to be attached to the panels.</P
-></LI
-><LI
-><P
->Create panels with the chosen visibility order. Stack them up according to the
-desired visibility. The function new_panel() is used to created panels.</P
-></LI
-><LI
-><P
->Call update_panels() to write the panels to the virtual screen in correct
-visibility order. Do a doupdate() to show it on the screen. </P
-></LI
-><LI
-><P
->Mainpulate the panels with show_panel(), hide_panel(), move_panel() etc. Make
-use of helper functions like panel_hidden() and panel_window(). Make use of user
-pointer to store custom data for a panel. Use the functions set_panel_userptr()
-and panel_userptr() to set and get the user pointer for a panel.</P
-></LI
-><LI
-><P
->When you are done with the panel use del_panel() to delete the panel.</P
-></LI
-></OL
-></P
-><P
->Let's make the concepts clear, with some programs. The following is a simple
-program which creates 3 overlapping panels and shows them on the screen. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="COMPILEPANELS"
->16.2. Compiling With the Panels Library</A
-></H3
-><P
->To use panels library functions, you have to include panel.h and to link the
-program with panels library the flag -lpanel should be added along with
--lncurses in that order.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> #include &lt;panel.h&gt;
+ return 0;
+}</span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="OTHERLIB" id="OTHERLIB">15. Other
+ libraries</a></h2>
+
+ <p>Apart from the curses library, there are few text mode
+ libraries, which provide more functionality and a lot of
+ features. The following sections explain three standard
+ libraries which are usually distributed along with
+ curses.</p>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="PANELS" id="PANELS">16. Panel
+ Library</a></h2>
+
+ <p>Now that you are proficient in curses, you wanted to do
+ some thing big. You created a lot of overlapping windows to
+ give a professional windows-type look. Unfortunately, it soon
+ becomes difficult to manage these. The multiple refreshes,
+ updates plunge you into a nightmare. The overlapping windows
+ create blotches, whenever you forget to refresh the windows
+ in the proper order.</p>
+
+ <p>Don't despair. There's an elegant solution provided in
+ panels library. In the words of developers of ncurses</p>
+
+ <p><span class="emphasis"><i class="EMPHASIS">When your
+ interface design is such that windows may dive deeper into
+ the visibility stack or pop to the top at runtime, the
+ resulting book-keeping can be tedious and difficult to get
+ right. Hence the panels library.</i></span></p>
+
+ <p>If you have lot of overlapping windows, then panels
+ library is the way to go. It obviates the need of doing
+ series of wnoutrefresh(), doupdate() and relieves the burden
+ of doing it correctly(bottom up). The library maintains
+ information about the order of windows, their overlapping and
+ update the screen properly. So why wait? Let's take a close
+ peek into panels.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="PANELBASICS" id=
+ "PANELBASICS">16.1. The Basics</a></h3>
+
+ <p>Panel object is a window that is implicitly treated as
+ part of a deck including all other panel objects. The deck
+ is treated as a stack with the top panel being completely
+ visible and the other panels may or may not be obscured
+ according to their positions. So the basic idea is to
+ create a stack of overlapping panels and use panels library
+ to display them correctly. There is a function similar to
+ refresh() which, when called , displays panels in the
+ correct order. Functions are provided to hide or show
+ panels, move panels, change its size etc.. The overlapping
+ problem is managed by the panels library during all the
+ calls to these functions.</p>
+
+ <p>The general flow of a panel program goes like this:</p>
+
+ <ol type="1">
+ <li>
+ <p>Create the windows (with newwin()) to be attached to
+ the panels.</p>
+ </li>
+
+ <li>
+ <p>Create panels with the chosen visibility order.
+ Stack them up according to the desired visibility. The
+ function new_panel() is used to created panels.</p>
+ </li>
+
+ <li>
+ <p>Call update_panels() to write the panels to the
+ virtual screen in correct visibility order. Do a
+ doupdate() to show it on the screen.</p>
+ </li>
+
+ <li>
+ <p>Mainpulate the panels with show_panel(),
+ hide_panel(), move_panel() etc. Make use of helper
+ functions like panel_hidden() and panel_window(). Make
+ use of user pointer to store custom data for a panel.
+ Use the functions set_panel_userptr() and
+ panel_userptr() to set and get the user pointer for a
+ panel.</p>
+ </li>
+
+ <li>
+ <p>When you are done with the panel use del_panel() to
+ delete the panel.</p>
+ </li>
+ </ol>
+
+ <p>Let's make the concepts clear, with some programs. The
+ following is a simple program which creates 3 overlapping
+ panels and shows them on the screen.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="COMPILEPANELS" id=
+ "COMPILEPANELS">16.2. Compiling With the Panels
+ Library</a></h3>
+
+ <p>To use panels library functions, you have to include
+ panel.h and to link the program with panels library the
+ flag -lpanel should be added along with -lncurses in that
+ order.</p>
+ <pre class="PROGRAMLISTING">
+ #include &lt;panel.h&gt;
.
.
.
- compile and link: gcc &lt;program file&gt; -lpanel -lncurses</PRE
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="PPASI"
-></A
-><P
-><B
->Example 14. Panel basics</B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;panel.h&#62;
+ compile and link: gcc &lt;program file&gt; -lpanel -lncurses
+</pre>
+
+ <div class="EXAMPLE">
+ <a name="PPASI" id="PPASI"></a>
+
+ <p><b>Example 14. Panel basics</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;panel.h&gt;
int main()
-{ WINDOW *my_wins[3];
- PANEL *my_panels[3];
- int lines = 10, cols = 40, y = 2, x = 4, i;
-
- initscr();
- cbreak();
- noecho();
-
- /* Create windows for the panels */
- my_wins[0] = newwin(lines, cols, y, x);
- my_wins[1] = newwin(lines, cols, y + 1, x + 5);
- my_wins[2] = newwin(lines, cols, y + 2, x + 10);
-
- /*
- * Create borders around the windows so that you can see the effect
- * of panels
- */
- for(i = 0; i &#60; 3; ++i)
- box(my_wins[i], 0, 0);
-
- /* Attach a panel to each window */ /* Order is bottom up */
- my_panels[0] = new_panel(my_wins[0]); /* Push 0, order: stdscr-0 */
- my_panels[1] = new_panel(my_wins[1]); /* Push 1, order: stdscr-0-1 */
- my_panels[2] = new_panel(my_wins[2]); /* Push 2, order: stdscr-0-1-2 */
-
- /* Update the stacking order. 2nd panel will be on top */
- update_panels();
-
- /* Show it on the screen */
- doupdate();
-
- getch();
- endwin();
+{ WINDOW *my_wins[3];
+ PANEL *my_panels[3];
+ int lines = 10, cols = 40, y = 2, x = 4, i;
+
+ initscr();
+ cbreak();
+ noecho();
+
+ /* Create windows for the panels */
+ my_wins[0] = newwin(lines, cols, y, x);
+ my_wins[1] = newwin(lines, cols, y + 1, x + 5);
+ my_wins[2] = newwin(lines, cols, y + 2, x + 10);
+
+ /*
+ * Create borders around the windows so that you can see the effect
+ * of panels
+ */
+ for(i = 0; i &lt; 3; ++i)
+ box(my_wins[i], 0, 0);
+
+ /* Attach a panel to each window */ /* Order is bottom up */
+ my_panels[0] = new_panel(my_wins[0]); /* Push 0, order: stdscr-0 */
+ my_panels[1] = new_panel(my_wins[1]); /* Push 1, order: stdscr-0-1 */
+ my_panels[2] = new_panel(my_wins[2]); /* Push 2, order: stdscr-0-1-2 */
+
+ /* Update the stacking order. 2nd panel will be on top */
+ update_panels();
+
+ /* Show it on the screen */
+ doupdate();
+
+ getch();
+ endwin();
}
-</SPAN
-></PRE
-></DIV
-><P
->As you can see, above program follows a simple flow as explained. The windows
-are created with newwin() and then they are attached to panels with new_panel().
-As we attach one panel after another, the stack of panels gets updated. To put
-them on screen update_panels() and doupdate() are called.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PANELBROWSING"
->16.3. Panel Window Browsing</A
-></H3
-><P
->A slightly complicated example is given below. This program creates 3
-windows which can be cycled through using tab. Have a look at the code.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="PPABR"
-></A
-><P
-><B
->Example 15. Panel Window Browsing Example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;panel.h&#62;
+</span>
+</pre>
+ </div>
+
+ <p>As you can see, above program follows a simple flow as
+ explained. The windows are created with newwin() and then
+ they are attached to panels with new_panel(). As we attach
+ one panel after another, the stack of panels gets updated.
+ To put them on screen update_panels() and doupdate() are
+ called.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="PANELBROWSING" id=
+ "PANELBROWSING">16.3. Panel Window Browsing</a></h3>
+
+ <p>A slightly complicated example is given below. This
+ program creates 3 windows which can be cycled through using
+ tab. Have a look at the code.</p>
+
+ <div class="EXAMPLE">
+ <a name="PPABR" id="PPABR"></a>
+
+ <p><b>Example 15. Panel Window Browsing Example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;panel.h&gt;
#define NLINES 10
#define NCOLS 40
@@ -4421,191 +3541,181 @@ void win_show(WINDOW *win, char *label, int label_color);
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
int main()
-{ WINDOW *my_wins[3];
- PANEL *my_panels[3];
- PANEL *top;
- int ch;
-
- /* Initialize curses */
- initscr();
- start_color();
- cbreak();
- noecho();
- keypad(stdscr, TRUE);
-
- /* Initialize all the colors */
- init_pair(1, COLOR_RED, COLOR_BLACK);
- init_pair(2, COLOR_GREEN, COLOR_BLACK);
- init_pair(3, COLOR_BLUE, COLOR_BLACK);
- init_pair(4, COLOR_CYAN, COLOR_BLACK);
-
- init_wins(my_wins, 3);
-
- /* Attach a panel to each window */ /* Order is bottom up */
- my_panels[0] = new_panel(my_wins[0]); /* Push 0, order: stdscr-0 */
- my_panels[1] = new_panel(my_wins[1]); /* Push 1, order: stdscr-0-1 */
- my_panels[2] = new_panel(my_wins[2]); /* Push 2, order: stdscr-0-1-2 */
-
- /* Set up the user pointers to the next panel */
- set_panel_userptr(my_panels[0], my_panels[1]);
- set_panel_userptr(my_panels[1], my_panels[2]);
- set_panel_userptr(my_panels[2], my_panels[0]);
-
- /* Update the stacking order. 2nd panel will be on top */
- update_panels();
-
- /* Show it on the screen */
- attron(COLOR_PAIR(4));
- mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
- attroff(COLOR_PAIR(4));
- doupdate();
-
- top = my_panels[2];
- while((ch = getch()) != KEY_F(1))
- { switch(ch)
- { case 9:
- top = (PANEL *)panel_userptr(top);
- top_panel(top);
- break;
- }
- update_panels();
- doupdate();
- }
- endwin();
- return 0;
+{ WINDOW *my_wins[3];
+ PANEL *my_panels[3];
+ PANEL *top;
+ int ch;
+
+ /* Initialize curses */
+ initscr();
+ start_color();
+ cbreak();
+ noecho();
+ keypad(stdscr, TRUE);
+
+ /* Initialize all the colors */
+ init_pair(1, COLOR_RED, COLOR_BLACK);
+ init_pair(2, COLOR_GREEN, COLOR_BLACK);
+ init_pair(3, COLOR_BLUE, COLOR_BLACK);
+ init_pair(4, COLOR_CYAN, COLOR_BLACK);
+
+ init_wins(my_wins, 3);
+
+ /* Attach a panel to each window */ /* Order is bottom up */
+ my_panels[0] = new_panel(my_wins[0]); /* Push 0, order: stdscr-0 */
+ my_panels[1] = new_panel(my_wins[1]); /* Push 1, order: stdscr-0-1 */
+ my_panels[2] = new_panel(my_wins[2]); /* Push 2, order: stdscr-0-1-2 */
+
+ /* Set up the user pointers to the next panel */
+ set_panel_userptr(my_panels[0], my_panels[1]);
+ set_panel_userptr(my_panels[1], my_panels[2]);
+ set_panel_userptr(my_panels[2], my_panels[0]);
+
+ /* Update the stacking order. 2nd panel will be on top */
+ update_panels();
+
+ /* Show it on the screen */
+ attron(COLOR_PAIR(4));
+ mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
+ attroff(COLOR_PAIR(4));
+ doupdate();
+
+ top = my_panels[2];
+ while((ch = getch()) != KEY_F(1))
+ { switch(ch)
+ { case 9:
+ top = (PANEL *)panel_userptr(top);
+ top_panel(top);
+ break;
+ }
+ update_panels();
+ doupdate();
+ }
+ endwin();
+ return 0;
}
/* Put all the windows */
void init_wins(WINDOW **wins, int n)
-{ int x, y, i;
- char label[80];
-
- y = 2;
- x = 10;
- for(i = 0; i &#60; n; ++i)
- { wins[i] = newwin(NLINES, NCOLS, y, x);
- sprintf(label, "Window Number %d", i + 1);
- win_show(wins[i], label, i + 1);
- y += 3;
- x += 7;
- }
+{ int x, y, i;
+ char label[80];
+
+ y = 2;
+ x = 10;
+ for(i = 0; i &lt; n; ++i)
+ { wins[i] = newwin(NLINES, NCOLS, y, x);
+ sprintf(label, "Window Number %d", i + 1);
+ win_show(wins[i], label, i + 1);
+ y += 3;
+ x += 7;
+ }
}
/* Show the window with a border and a label */
void win_show(WINDOW *win, char *label, int label_color)
-{ int startx, starty, height, width;
+{ int startx, starty, height, width;
- getbegyx(win, starty, startx);
- getmaxyx(win, height, width);
+ getbegyx(win, starty, startx);
+ getmaxyx(win, height, width);
- box(win, 0, 0);
- mvwaddch(win, 2, 0, ACS_LTEE);
- mvwhline(win, 2, 1, ACS_HLINE, width - 2);
- mvwaddch(win, 2, width - 1, ACS_RTEE);
-
- print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
+ box(win, 0, 0);
+ mvwaddch(win, 2, 0, ACS_LTEE);
+ mvwhline(win, 2, 1, ACS_HLINE, width - 2);
+ mvwaddch(win, 2, width - 1, ACS_RTEE);
+
+ print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
}
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{ int length, x, y;
- float temp;
-
- if(win == NULL)
- win = stdscr;
- getyx(win, y, x);
- if(startx != 0)
- x = startx;
- if(starty != 0)
- y = starty;
- if(width == 0)
- width = 80;
-
- length = strlen(string);
- temp = (width - length)/ 2;
- x = startx + (int)temp;
- wattron(win, color);
- mvwprintw(win, y, x, "%s", string);
- wattroff(win, color);
- refresh();
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="USERPTRUSING"
->16.4. Using User Pointers</A
-></H3
-><P
->In the above example I used user pointers to find out the next window in the
-cycle. We can attach custom information to the panel by specifying a user
-pointer, which can point to any information you want to store. In this case I
-stored the pointer to the next panel in the cycle. User pointer for a panel can
-be set with the function <TT
-CLASS="LITERAL"
-> set_panel_userptr()</TT
->.
-It can be accessed using the function <TT
-CLASS="LITERAL"
->panel_userptr()</TT
-> which will return the user pointer for the panel given as
-argument. After finding the next panel in the cycle It's brought to the top by
-the function top_panel(). This function brings the panel given as argument to
-the top of the panel stack. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PANELMOVERESIZE"
->16.5. Moving and Resizing Panels</A
-></H3
-><P
->The function <TT
-CLASS="LITERAL"
->move_panel()</TT
-> can be used to move a
-panel to the desired location. It does not change the position of the panel in
-the stack. Make sure that you use move_panel() instead mvwin() on the window
-associated with the panel.</P
-><P
->Resizing a panel is slightly complex. There is no straight forward function
-just to resize the window associated with a panel. A solution to resize a panel
-is to create a new window with the desired sizes, change the window associated
-with the panel using replace_panel(). Don't forget to delete the old window. The
-window associated with a panel can be found by using the function
-panel_window().</P
-><P
->The following program shows these concepts, in supposedly simple program. You
-can cycle through the window with &lt;TAB&gt; as usual. To resize or move the
-active panel press 'r' for resize 'm' for moving. Then use arrow keys to resize
-or move it to the desired way and press enter to end your resizing or moving.
-This example makes use of user data to get the required data to do the
-operations. </P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="PPARE"
-></A
-><P
-><B
->Example 16. Panel Moving and Resizing example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;panel.h&#62;
+{ int length, x, y;
+ float temp;
+
+ if(win == NULL)
+ win = stdscr;
+ getyx(win, y, x);
+ if(startx != 0)
+ x = startx;
+ if(starty != 0)
+ y = starty;
+ if(width == 0)
+ width = 80;
+
+ length = strlen(string);
+ temp = (width - length)/ 2;
+ x = startx + (int)temp;
+ wattron(win, color);
+ mvwprintw(win, y, x, "%s", string);
+ wattroff(win, color);
+ refresh();
+}</span>
+</pre>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="USERPTRUSING" id=
+ "USERPTRUSING">16.4. Using User Pointers</a></h3>
+
+ <p>In the above example I used user pointers to find out
+ the next window in the cycle. We can attach custom
+ information to the panel by specifying a user pointer,
+ which can point to any information you want to store. In
+ this case I stored the pointer to the next panel in the
+ cycle. User pointer for a panel can be set with the
+ function <tt class="LITERAL">set_panel_userptr()</tt>. It
+ can be accessed using the function <tt class=
+ "LITERAL">panel_userptr()</tt> which will return the user
+ pointer for the panel given as argument. After finding the
+ next panel in the cycle It's brought to the top by the
+ function top_panel(). This function brings the panel given
+ as argument to the top of the panel stack.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="PANELMOVERESIZE" id=
+ "PANELMOVERESIZE">16.5. Moving and Resizing Panels</a></h3>
+
+ <p>The function <tt class="LITERAL">move_panel()</tt> can
+ be used to move a panel to the desired location. It does
+ not change the position of the panel in the stack. Make
+ sure that you use move_panel() instead mvwin() on the
+ window associated with the panel.</p>
+
+ <p>Resizing a panel is slightly complex. There is no
+ straight forward function just to resize the window
+ associated with a panel. A solution to resize a panel is to
+ create a new window with the desired sizes, change the
+ window associated with the panel using replace_panel().
+ Don't forget to delete the old window. The window
+ associated with a panel can be found by using the function
+ panel_window().</p>
+
+ <p>The following program shows these concepts, in
+ supposedly simple program. You can cycle through the window
+ with &lt;TAB&gt; as usual. To resize or move the active
+ panel press 'r' for resize 'm' for moving. Then use arrow
+ keys to resize or move it to the desired way and press
+ enter to end your resizing or moving. This example makes
+ use of user data to get the required data to do the
+ operations.</p>
+
+ <div class="EXAMPLE">
+ <a name="PPARE" id="PPARE"></a>
+
+ <p><b>Example 16. Panel Moving and Resizing
+ example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;panel.h&gt;
typedef struct _PANEL_DATA {
- int x, y, w, h;
- char label[80];
- int label_color;
- PANEL *next;
+ int x, y, w, h;
+ char label[80];
+ int label_color;
+ PANEL *next;
}PANEL_DATA;
#define NLINES 10
@@ -4617,289 +3727,284 @@ void print_in_middle(WINDOW *win, int starty, int startx, int width, char *strin
void set_user_ptrs(PANEL **panels, int n);
int main()
-{ WINDOW *my_wins[3];
- PANEL *my_panels[3];
- PANEL_DATA *top;
- PANEL *stack_top;
- WINDOW *temp_win, *old_win;
- int ch;
- int newx, newy, neww, newh;
- int size = FALSE, move = FALSE;
-
- /* Initialize curses */
- initscr();
- start_color();
- cbreak();
- noecho();
- keypad(stdscr, TRUE);
-
- /* Initialize all the colors */
- init_pair(1, COLOR_RED, COLOR_BLACK);
- init_pair(2, COLOR_GREEN, COLOR_BLACK);
- init_pair(3, COLOR_BLUE, COLOR_BLACK);
- init_pair(4, COLOR_CYAN, COLOR_BLACK);
-
- init_wins(my_wins, 3);
-
- /* Attach a panel to each window */ /* Order is bottom up */
- my_panels[0] = new_panel(my_wins[0]); /* Push 0, order: stdscr-0 */
- my_panels[1] = new_panel(my_wins[1]); /* Push 1, order: stdscr-0-1 */
- my_panels[2] = new_panel(my_wins[2]); /* Push 2, order: stdscr-0-1-2 */
-
- set_user_ptrs(my_panels, 3);
- /* Update the stacking order. 2nd panel will be on top */
- update_panels();
-
- /* Show it on the screen */
- attron(COLOR_PAIR(4));
- mvprintw(LINES - 3, 0, "Use 'm' for moving, 'r' for resizing");
- mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
- attroff(COLOR_PAIR(4));
- doupdate();
-
- stack_top = my_panels[2];
- top = (PANEL_DATA *)panel_userptr(stack_top);
- newx = top-&#62;x;
- newy = top-&#62;y;
- neww = top-&#62;w;
- newh = top-&#62;h;
- while((ch = getch()) != KEY_F(1))
- { switch(ch)
- { case 9: /* Tab */
- top = (PANEL_DATA *)panel_userptr(stack_top);
- top_panel(top-&#62;next);
- stack_top = top-&#62;next;
- top = (PANEL_DATA *)panel_userptr(stack_top);
- newx = top-&#62;x;
- newy = top-&#62;y;
- neww = top-&#62;w;
- newh = top-&#62;h;
- break;
- case 'r': /* Re-Size*/
- size = TRUE;
- attron(COLOR_PAIR(4));
- mvprintw(LINES - 4, 0, "Entered Resizing :Use Arrow Keys to resize and press &#60;ENTER&#62; to end resizing");
- refresh();
- attroff(COLOR_PAIR(4));
- break;
- case 'm': /* Move */
- attron(COLOR_PAIR(4));
- mvprintw(LINES - 4, 0, "Entered Moving: Use Arrow Keys to Move and press &#60;ENTER&#62; to end moving");
- refresh();
- attroff(COLOR_PAIR(4));
- move = TRUE;
- break;
- case KEY_LEFT:
- if(size == TRUE)
- { --newx;
- ++neww;
- }
- if(move == TRUE)
- --newx;
- break;
- case KEY_RIGHT:
- if(size == TRUE)
- { ++newx;
- --neww;
- }
- if(move == TRUE)
- ++newx;
- break;
- case KEY_UP:
- if(size == TRUE)
- { --newy;
- ++newh;
- }
- if(move == TRUE)
- --newy;
- break;
- case KEY_DOWN:
- if(size == TRUE)
- { ++newy;
- --newh;
- }
- if(move == TRUE)
- ++newy;
- break;
- case 10: /* Enter */
- move(LINES - 4, 0);
- clrtoeol();
- refresh();
- if(size == TRUE)
- { old_win = panel_window(stack_top);
- temp_win = newwin(newh, neww, newy, newx);
- replace_panel(stack_top, temp_win);
- win_show(temp_win, top-&#62;label, top-&#62;label_color);
- delwin(old_win);
- size = FALSE;
- }
- if(move == TRUE)
- { move_panel(stack_top, newy, newx);
- move = FALSE;
- }
- break;
-
- }
- attron(COLOR_PAIR(4));
- mvprintw(LINES - 3, 0, "Use 'm' for moving, 'r' for resizing");
- mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
- attroff(COLOR_PAIR(4));
- refresh();
- update_panels();
- doupdate();
- }
- endwin();
- return 0;
+{ WINDOW *my_wins[3];
+ PANEL *my_panels[3];
+ PANEL_DATA *top;
+ PANEL *stack_top;
+ WINDOW *temp_win, *old_win;
+ int ch;
+ int newx, newy, neww, newh;
+ int size = FALSE, move = FALSE;
+
+ /* Initialize curses */
+ initscr();
+ start_color();
+ cbreak();
+ noecho();
+ keypad(stdscr, TRUE);
+
+ /* Initialize all the colors */
+ init_pair(1, COLOR_RED, COLOR_BLACK);
+ init_pair(2, COLOR_GREEN, COLOR_BLACK);
+ init_pair(3, COLOR_BLUE, COLOR_BLACK);
+ init_pair(4, COLOR_CYAN, COLOR_BLACK);
+
+ init_wins(my_wins, 3);
+
+ /* Attach a panel to each window */ /* Order is bottom up */
+ my_panels[0] = new_panel(my_wins[0]); /* Push 0, order: stdscr-0 */
+ my_panels[1] = new_panel(my_wins[1]); /* Push 1, order: stdscr-0-1 */
+ my_panels[2] = new_panel(my_wins[2]); /* Push 2, order: stdscr-0-1-2 */
+
+ set_user_ptrs(my_panels, 3);
+ /* Update the stacking order. 2nd panel will be on top */
+ update_panels();
+
+ /* Show it on the screen */
+ attron(COLOR_PAIR(4));
+ mvprintw(LINES - 3, 0, "Use 'm' for moving, 'r' for resizing");
+ mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
+ attroff(COLOR_PAIR(4));
+ doupdate();
+
+ stack_top = my_panels[2];
+ top = (PANEL_DATA *)panel_userptr(stack_top);
+ newx = top-&gt;x;
+ newy = top-&gt;y;
+ neww = top-&gt;w;
+ newh = top-&gt;h;
+ while((ch = getch()) != KEY_F(1))
+ { switch(ch)
+ { case 9: /* Tab */
+ top = (PANEL_DATA *)panel_userptr(stack_top);
+ top_panel(top-&gt;next);
+ stack_top = top-&gt;next;
+ top = (PANEL_DATA *)panel_userptr(stack_top);
+ newx = top-&gt;x;
+ newy = top-&gt;y;
+ neww = top-&gt;w;
+ newh = top-&gt;h;
+ break;
+ case 'r': /* Re-Size*/
+ size = TRUE;
+ attron(COLOR_PAIR(4));
+ mvprintw(LINES - 4, 0, "Entered Resizing :Use Arrow Keys to resize and press &lt;ENTER&gt; to end resizing");
+ refresh();
+ attroff(COLOR_PAIR(4));
+ break;
+ case 'm': /* Move */
+ attron(COLOR_PAIR(4));
+ mvprintw(LINES - 4, 0, "Entered Moving: Use Arrow Keys to Move and press &lt;ENTER&gt; to end moving");
+ refresh();
+ attroff(COLOR_PAIR(4));
+ move = TRUE;
+ break;
+ case KEY_LEFT:
+ if(size == TRUE)
+ { --newx;
+ ++neww;
+ }
+ if(move == TRUE)
+ --newx;
+ break;
+ case KEY_RIGHT:
+ if(size == TRUE)
+ { ++newx;
+ --neww;
+ }
+ if(move == TRUE)
+ ++newx;
+ break;
+ case KEY_UP:
+ if(size == TRUE)
+ { --newy;
+ ++newh;
+ }
+ if(move == TRUE)
+ --newy;
+ break;
+ case KEY_DOWN:
+ if(size == TRUE)
+ { ++newy;
+ --newh;
+ }
+ if(move == TRUE)
+ ++newy;
+ break;
+ case 10: /* Enter */
+ move(LINES - 4, 0);
+ clrtoeol();
+ refresh();
+ if(size == TRUE)
+ { old_win = panel_window(stack_top);
+ temp_win = newwin(newh, neww, newy, newx);
+ replace_panel(stack_top, temp_win);
+ win_show(temp_win, top-&gt;label, top-&gt;label_color);
+ delwin(old_win);
+ size = FALSE;
+ }
+ if(move == TRUE)
+ { move_panel(stack_top, newy, newx);
+ move = FALSE;
+ }
+ break;
+
+ }
+ attron(COLOR_PAIR(4));
+ mvprintw(LINES - 3, 0, "Use 'm' for moving, 'r' for resizing");
+ mvprintw(LINES - 2, 0, "Use tab to browse through the windows (F1 to Exit)");
+ attroff(COLOR_PAIR(4));
+ refresh();
+ update_panels();
+ doupdate();
+ }
+ endwin();
+ return 0;
}
/* Put all the windows */
void init_wins(WINDOW **wins, int n)
-{ int x, y, i;
- char label[80];
-
- y = 2;
- x = 10;
- for(i = 0; i &#60; n; ++i)
- { wins[i] = newwin(NLINES, NCOLS, y, x);
- sprintf(label, "Window Number %d", i + 1);
- win_show(wins[i], label, i + 1);
- y += 3;
- x += 7;
- }
+{ int x, y, i;
+ char label[80];
+
+ y = 2;
+ x = 10;
+ for(i = 0; i &lt; n; ++i)
+ { wins[i] = newwin(NLINES, NCOLS, y, x);
+ sprintf(label, "Window Number %d", i + 1);
+ win_show(wins[i], label, i + 1);
+ y += 3;
+ x += 7;
+ }
}
/* Set the PANEL_DATA structures for individual panels */
void set_user_ptrs(PANEL **panels, int n)
-{ PANEL_DATA *ptrs;
- WINDOW *win;
- int x, y, w, h, i;
- char temp[80];
-
- ptrs = (PANEL_DATA *)calloc(n, sizeof(PANEL_DATA));
-
- for(i = 0;i &#60; n; ++i)
- { win = panel_window(panels[i]);
- getbegyx(win, y, x);
- getmaxyx(win, h, w);
- ptrs[i].x = x;
- ptrs[i].y = y;
- ptrs[i].w = w;
- ptrs[i].h = h;
- sprintf(temp, "Window Number %d", i + 1);
- strcpy(ptrs[i].label, temp);
- ptrs[i].label_color = i + 1;
- if(i + 1 == n)
- ptrs[i].next = panels[0];
- else
- ptrs[i].next = panels[i + 1];
- set_panel_userptr(panels[i], &#38;ptrs[i]);
- }
+{ PANEL_DATA *ptrs;
+ WINDOW *win;
+ int x, y, w, h, i;
+ char temp[80];
+
+ ptrs = (PANEL_DATA *)calloc(n, sizeof(PANEL_DATA));
+
+ for(i = 0;i &lt; n; ++i)
+ { win = panel_window(panels[i]);
+ getbegyx(win, y, x);
+ getmaxyx(win, h, w);
+ ptrs[i].x = x;
+ ptrs[i].y = y;
+ ptrs[i].w = w;
+ ptrs[i].h = h;
+ sprintf(temp, "Window Number %d", i + 1);
+ strcpy(ptrs[i].label, temp);
+ ptrs[i].label_color = i + 1;
+ if(i + 1 == n)
+ ptrs[i].next = panels[0];
+ else
+ ptrs[i].next = panels[i + 1];
+ set_panel_userptr(panels[i], &amp;ptrs[i]);
+ }
}
/* Show the window with a border and a label */
void win_show(WINDOW *win, char *label, int label_color)
-{ int startx, starty, height, width;
+{ int startx, starty, height, width;
- getbegyx(win, starty, startx);
- getmaxyx(win, height, width);
+ getbegyx(win, starty, startx);
+ getmaxyx(win, height, width);
- box(win, 0, 0);
- mvwaddch(win, 2, 0, ACS_LTEE);
- mvwhline(win, 2, 1, ACS_HLINE, width - 2);
- mvwaddch(win, 2, width - 1, ACS_RTEE);
-
- print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
+ box(win, 0, 0);
+ mvwaddch(win, 2, 0, ACS_LTEE);
+ mvwhline(win, 2, 1, ACS_HLINE, width - 2);
+ mvwaddch(win, 2, width - 1, ACS_RTEE);
+
+ print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
}
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{ int length, x, y;
- float temp;
-
- if(win == NULL)
- win = stdscr;
- getyx(win, y, x);
- if(startx != 0)
- x = startx;
- if(starty != 0)
- y = starty;
- if(width == 0)
- width = 80;
-
- length = strlen(string);
- temp = (width - length)/ 2;
- x = startx + (int)temp;
- wattron(win, color);
- mvwprintw(win, y, x, "%s", string);
- wattroff(win, color);
- refresh();
-}</SPAN
-></PRE
-></DIV
-><P
->Concentrate on the main while loop. Once it finds out the type of key pressed,
-it takes appropriate action. If 'r' is pressed resizing mode is started. After
-this the new sizes are updated as the user presses the arrow keys. When the user
-presses &lt;ENTER&gt; present selection ends and panel is resized by using the
-concept explained. While in resizing mode the program doesn't show how the
-window is getting resized. It's left as an exercise to the reader to print a
-dotted border while it gets resized to a new position. </P
-><P
->When the user presses 'm' the move mode starts. This is a bit simpler than
-resizing. As the arrow keys are pressed the new position is updated and
-pressing of &lt;ENTER&gt; causes the panel to be moved by calling the function
-move_panel().</P
-><P
->In this program the user data which is represented as PANEL_DATA, plays very
-important role in finding the associated information with a panel. As written in
-the comments, the PANEL_DATA stores the panel sizes, label, label color and a
-pointer to the next panel in the cycle.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PANELSHOWHIDE"
->16.6. Hiding and Showing Panels</A
-></H3
-><P
->A Panel can be hidden by using the function hide_panel(). This function merely
-removes it form the stack of panels, thus hiding it on the screen once you do
-update_panels() and doupdate(). It doesn't destroy the PANEL structure
-associated with the hidden panel. It can be shown again by using the
-show_panel() function.</P
-><P
->The following program shows the hiding of panels. Press 'a' or 'b' or 'c' to
-show or hide first, second and third windows respectively. It uses a user data
-with a small variable hide, which keeps track of whether the window is hidden or
-not. For some reason the function
-<TT
-CLASS="LITERAL"
->panel_hidden()</TT
-> which tells whether a panel is
-hidden or not is not working. A bug report was also presented by Michael Andres
-<A
-HREF="http://www.geocrawler.com/archives/3/344/1999/9/0/2643549/"
-TARGET="_top"
-> here</A
-></P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="PPAHI"
-></A
-><P
-><B
->Example 17. Panel Hiding and Showing example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;panel.h&#62;
+{ int length, x, y;
+ float temp;
+
+ if(win == NULL)
+ win = stdscr;
+ getyx(win, y, x);
+ if(startx != 0)
+ x = startx;
+ if(starty != 0)
+ y = starty;
+ if(width == 0)
+ width = 80;
+
+ length = strlen(string);
+ temp = (width - length)/ 2;
+ x = startx + (int)temp;
+ wattron(win, color);
+ mvwprintw(win, y, x, "%s", string);
+ wattroff(win, color);
+ refresh();
+}</span>
+</pre>
+ </div>
+
+ <p>Concentrate on the main while loop. Once it finds out
+ the type of key pressed, it takes appropriate action. If
+ 'r' is pressed resizing mode is started. After this the new
+ sizes are updated as the user presses the arrow keys. When
+ the user presses &lt;ENTER&gt; present selection ends and
+ panel is resized by using the concept explained. While in
+ resizing mode the program doesn't show how the window is
+ getting resized. It's left as an exercise to the reader to
+ print a dotted border while it gets resized to a new
+ position.</p>
+
+ <p>When the user presses 'm' the move mode starts. This is
+ a bit simpler than resizing. As the arrow keys are pressed
+ the new position is updated and pressing of &lt;ENTER&gt;
+ causes the panel to be moved by calling the function
+ move_panel().</p>
+
+ <p>In this program the user data which is represented as
+ PANEL_DATA, plays very important role in finding the
+ associated information with a panel. As written in the
+ comments, the PANEL_DATA stores the panel sizes, label,
+ label color and a pointer to the next panel in the
+ cycle.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="PANELSHOWHIDE" id=
+ "PANELSHOWHIDE">16.6. Hiding and Showing Panels</a></h3>
+
+ <p>A Panel can be hidden by using the function
+ hide_panel(). This function merely removes it form the
+ stack of panels, thus hiding it on the screen once you do
+ update_panels() and doupdate(). It doesn't destroy the
+ PANEL structure associated with the hidden panel. It can be
+ shown again by using the show_panel() function.</p>
+
+ <p>The following program shows the hiding of panels. Press
+ 'a' or 'b' or 'c' to show or hide first, second and third
+ windows respectively. It uses a user data with a small
+ variable hide, which keeps track of whether the window is
+ hidden or not. For some reason the function <tt class=
+ "LITERAL">panel_hidden()</tt> which tells whether a panel
+ is hidden or not is not working. A bug report was also
+ presented by Michael Andres <a href=
+ "http://www.geocrawler.com/archives/3/344/1999/9/0/2643549/"
+ target="_top">here</a></p>
+
+ <div class="EXAMPLE">
+ <a name="PPAHI" id="PPAHI"></a>
+
+ <p><b>Example 17. Panel Hiding and Showing
+ example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;panel.h&gt;
typedef struct _PANEL_DATA {
- int hide; /* TRUE if panel is hidden */
+ int hide; /* TRUE if panel is hidden */
}PANEL_DATA;
#define NLINES 10
@@ -4910,292 +4015,279 @@ void win_show(WINDOW *win, char *label, int label_color);
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
int main()
-{ WINDOW *my_wins[3];
- PANEL *my_panels[3];
- PANEL_DATA panel_datas[3];
- PANEL_DATA *temp;
- int ch;
-
- /* Initialize curses */
- initscr();
- start_color();
- cbreak();
- noecho();
- keypad(stdscr, TRUE);
-
- /* Initialize all the colors */
- init_pair(1, COLOR_RED, COLOR_BLACK);
- init_pair(2, COLOR_GREEN, COLOR_BLACK);
- init_pair(3, COLOR_BLUE, COLOR_BLACK);
- init_pair(4, COLOR_CYAN, COLOR_BLACK);
-
- init_wins(my_wins, 3);
-
- /* Attach a panel to each window */ /* Order is bottom up */
- my_panels[0] = new_panel(my_wins[0]); /* Push 0, order: stdscr-0 */
- my_panels[1] = new_panel(my_wins[1]); /* Push 1, order: stdscr-0-1 */
- my_panels[2] = new_panel(my_wins[2]); /* Push 2, order: stdscr-0-1-2 */
-
- /* Initialize panel datas saying that nothing is hidden */
- panel_datas[0].hide = FALSE;
- panel_datas[1].hide = FALSE;
- panel_datas[2].hide = FALSE;
-
- set_panel_userptr(my_panels[0], &#38;panel_datas[0]);
- set_panel_userptr(my_panels[1], &#38;panel_datas[1]);
- set_panel_userptr(my_panels[2], &#38;panel_datas[2]);
-
- /* Update the stacking order. 2nd panel will be on top */
- update_panels();
-
- /* Show it on the screen */
- attron(COLOR_PAIR(4));
- mvprintw(LINES - 3, 0, "Show or Hide a window with 'a'(first window) 'b'(Second Window) 'c'(Third Window)");
- mvprintw(LINES - 2, 0, "F1 to Exit");
-
- attroff(COLOR_PAIR(4));
- doupdate();
-
- while((ch = getch()) != KEY_F(1))
- { switch(ch)
- { case 'a':
- temp = (PANEL_DATA *)panel_userptr(my_panels[0]);
- if(temp-&#62;hide == FALSE)
- { hide_panel(my_panels[0]);
- temp-&#62;hide = TRUE;
- }
- else
- { show_panel(my_panels[0]);
- temp-&#62;hide = FALSE;
- }
- break;
- case 'b':
- temp = (PANEL_DATA *)panel_userptr(my_panels[1]);
- if(temp-&#62;hide == FALSE)
- { hide_panel(my_panels[1]);
- temp-&#62;hide = TRUE;
- }
- else
- { show_panel(my_panels[1]);
- temp-&#62;hide = FALSE;
- }
- break;
- case 'c':
- temp = (PANEL_DATA *)panel_userptr(my_panels[2]);
- if(temp-&#62;hide == FALSE)
- { hide_panel(my_panels[2]);
- temp-&#62;hide = TRUE;
- }
- else
- { show_panel(my_panels[2]);
- temp-&#62;hide = FALSE;
- }
- break;
- }
- update_panels();
- doupdate();
- }
- endwin();
- return 0;
+{ WINDOW *my_wins[3];
+ PANEL *my_panels[3];
+ PANEL_DATA panel_datas[3];
+ PANEL_DATA *temp;
+ int ch;
+
+ /* Initialize curses */
+ initscr();
+ start_color();
+ cbreak();
+ noecho();
+ keypad(stdscr, TRUE);
+
+ /* Initialize all the colors */
+ init_pair(1, COLOR_RED, COLOR_BLACK);
+ init_pair(2, COLOR_GREEN, COLOR_BLACK);
+ init_pair(3, COLOR_BLUE, COLOR_BLACK);
+ init_pair(4, COLOR_CYAN, COLOR_BLACK);
+
+ init_wins(my_wins, 3);
+
+ /* Attach a panel to each window */ /* Order is bottom up */
+ my_panels[0] = new_panel(my_wins[0]); /* Push 0, order: stdscr-0 */
+ my_panels[1] = new_panel(my_wins[1]); /* Push 1, order: stdscr-0-1 */
+ my_panels[2] = new_panel(my_wins[2]); /* Push 2, order: stdscr-0-1-2 */
+
+ /* Initialize panel datas saying that nothing is hidden */
+ panel_datas[0].hide = FALSE;
+ panel_datas[1].hide = FALSE;
+ panel_datas[2].hide = FALSE;
+
+ set_panel_userptr(my_panels[0], &amp;panel_datas[0]);
+ set_panel_userptr(my_panels[1], &amp;panel_datas[1]);
+ set_panel_userptr(my_panels[2], &amp;panel_datas[2]);
+
+ /* Update the stacking order. 2nd panel will be on top */
+ update_panels();
+
+ /* Show it on the screen */
+ attron(COLOR_PAIR(4));
+ mvprintw(LINES - 3, 0, "Show or Hide a window with 'a'(first window) 'b'(Second Window) 'c'(Third Window)");
+ mvprintw(LINES - 2, 0, "F1 to Exit");
+
+ attroff(COLOR_PAIR(4));
+ doupdate();
+
+ while((ch = getch()) != KEY_F(1))
+ { switch(ch)
+ { case 'a':
+ temp = (PANEL_DATA *)panel_userptr(my_panels[0]);
+ if(temp-&gt;hide == FALSE)
+ { hide_panel(my_panels[0]);
+ temp-&gt;hide = TRUE;
+ }
+ else
+ { show_panel(my_panels[0]);
+ temp-&gt;hide = FALSE;
+ }
+ break;
+ case 'b':
+ temp = (PANEL_DATA *)panel_userptr(my_panels[1]);
+ if(temp-&gt;hide == FALSE)
+ { hide_panel(my_panels[1]);
+ temp-&gt;hide = TRUE;
+ }
+ else
+ { show_panel(my_panels[1]);
+ temp-&gt;hide = FALSE;
+ }
+ break;
+ case 'c':
+ temp = (PANEL_DATA *)panel_userptr(my_panels[2]);
+ if(temp-&gt;hide == FALSE)
+ { hide_panel(my_panels[2]);
+ temp-&gt;hide = TRUE;
+ }
+ else
+ { show_panel(my_panels[2]);
+ temp-&gt;hide = FALSE;
+ }
+ break;
+ }
+ update_panels();
+ doupdate();
+ }
+ endwin();
+ return 0;
}
/* Put all the windows */
void init_wins(WINDOW **wins, int n)
-{ int x, y, i;
- char label[80];
-
- y = 2;
- x = 10;
- for(i = 0; i &#60; n; ++i)
- { wins[i] = newwin(NLINES, NCOLS, y, x);
- sprintf(label, "Window Number %d", i + 1);
- win_show(wins[i], label, i + 1);
- y += 3;
- x += 7;
- }
+{ int x, y, i;
+ char label[80];
+
+ y = 2;
+ x = 10;
+ for(i = 0; i &lt; n; ++i)
+ { wins[i] = newwin(NLINES, NCOLS, y, x);
+ sprintf(label, "Window Number %d", i + 1);
+ win_show(wins[i], label, i + 1);
+ y += 3;
+ x += 7;
+ }
}
/* Show the window with a border and a label */
void win_show(WINDOW *win, char *label, int label_color)
-{ int startx, starty, height, width;
+{ int startx, starty, height, width;
- getbegyx(win, starty, startx);
- getmaxyx(win, height, width);
+ getbegyx(win, starty, startx);
+ getmaxyx(win, height, width);
- box(win, 0, 0);
- mvwaddch(win, 2, 0, ACS_LTEE);
- mvwhline(win, 2, 1, ACS_HLINE, width - 2);
- mvwaddch(win, 2, width - 1, ACS_RTEE);
-
- print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
+ box(win, 0, 0);
+ mvwaddch(win, 2, 0, ACS_LTEE);
+ mvwhline(win, 2, 1, ACS_HLINE, width - 2);
+ mvwaddch(win, 2, width - 1, ACS_RTEE);
+
+ print_in_middle(win, 1, 0, width, label, COLOR_PAIR(label_color));
}
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{ int length, x, y;
- float temp;
-
- if(win == NULL)
- win = stdscr;
- getyx(win, y, x);
- if(startx != 0)
- x = startx;
- if(starty != 0)
- y = starty;
- if(width == 0)
- width = 80;
-
- length = strlen(string);
- temp = (width - length)/ 2;
- x = startx + (int)temp;
- wattron(win, color);
- mvwprintw(win, y, x, "%s", string);
- wattroff(win, color);
- refresh();
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PANELABOVE"
->16.7. panel_above() and panel_below() Functions</A
-></H3
-><P
->The functions <TT
-CLASS="LITERAL"
->panel_above()</TT
-> and
-<TT
-CLASS="LITERAL"
->panel_below()</TT
-> can be used to find out the panel
-above and below a panel. If the argument to these functions is NULL, then they
-return a pointer to bottom panel and top panel respectively.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="MENUS"
->17. Menus Library</A
-></H2
-><P
->The menus library provides a nice extension to basic curses, through which you
-can create menus. It provides a set of functions to create menus. But they have
-to be customized to give a nicer look, with colors etc. Let's get into the
-details.</P
-><P
->A menu is a screen display that assists the user to choose some subset of a
-given set of items. To put it simple, a menu is a collection of items from which
-one or more items can be chosen. Some readers might not be aware of multiple
-item selection capability. Menu library provides functionality to write menus
-from which the user can chose more than one item as the preferred choice. This
-is dealt with in a later section. Now it is time for some rudiments.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MENUBASICS"
->17.1. The Basics</A
-></H3
-><P
->To create menus, you first create items, and then post the menu to the display.
-After that, all the processing of user responses is done in an elegant function
-menu_driver() which is the work horse of any menu program. </P
-><P
->The general flow of control of a menu program looks like this.
-<P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Initialize curses</P
-></LI
-><LI
-><P
->Create items using new_item(). You can specify a name and description for the
-items.</P
-></LI
-><LI
-><P
->Create the menu with new_menu() by specifying the items to be attached with.</P
-></LI
-><LI
-><P
->Post the menu with menu_post() and refresh the screen.</P
-></LI
-><LI
-><P
->Process the user requests with a loop and do necessary updates to menu with
-menu_driver.</P
-></LI
-><LI
-><P
->Unpost the menu with menu_unpost()</P
-></LI
-><LI
-><P
->Free the memory allocated to menu by free_menu()</P
-></LI
-><LI
-><P
->Free the memory allocated to the items with free_item() </P
-></LI
-><LI
-><P
->End curses </P
-></LI
-></OL
-></P
-><P
->Let's see a program which prints a simple menu and updates the current selection
-with up, down arrows. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="COMPILEMENUS"
->17.2. Compiling With the Menu Library</A
-></H3
-><P
->To use menu library functions, you have to include menu.h and to link the
-program with menu library the flag -lmenu should be added along with -lncurses
-in that order.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> #include &lt;menu.h&gt;
+{ int length, x, y;
+ float temp;
+
+ if(win == NULL)
+ win = stdscr;
+ getyx(win, y, x);
+ if(startx != 0)
+ x = startx;
+ if(starty != 0)
+ y = starty;
+ if(width == 0)
+ width = 80;
+
+ length = strlen(string);
+ temp = (width - length)/ 2;
+ x = startx + (int)temp;
+ wattron(win, color);
+ mvwprintw(win, y, x, "%s", string);
+ wattroff(win, color);
+ refresh();
+}</span>
+</pre>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="PANELABOVE" id=
+ "PANELABOVE">16.7. panel_above() and panel_below()
+ Functions</a></h3>
+
+ <p>The functions <tt class="LITERAL">panel_above()</tt> and
+ <tt class="LITERAL">panel_below()</tt> can be used to find
+ out the panel above and below a panel. If the argument to
+ these functions is NULL, then they return a pointer to
+ bottom panel and top panel respectively.</p>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="MENUS" id="MENUS">17. Menus
+ Library</a></h2>
+
+ <p>The menus library provides a nice extension to basic
+ curses, through which you can create menus. It provides a set
+ of functions to create menus. But they have to be customized
+ to give a nicer look, with colors etc. Let's get into the
+ details.</p>
+
+ <p>A menu is a screen display that assists the user to choose
+ some subset of a given set of items. To put it simple, a menu
+ is a collection of items from which one or more items can be
+ chosen. Some readers might not be aware of multiple item
+ selection capability. Menu library provides functionality to
+ write menus from which the user can chose more than one item
+ as the preferred choice. This is dealt with in a later
+ section. Now it is time for some rudiments.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="MENUBASICS" id=
+ "MENUBASICS">17.1. The Basics</a></h3>
+
+ <p>To create menus, you first create items, and then post
+ the menu to the display. After that, all the processing of
+ user responses is done in an elegant function menu_driver()
+ which is the work horse of any menu program.</p>
+
+ <p>The general flow of control of a menu program looks like
+ this.</p>
+
+ <ol type="1">
+ <li>
+ <p>Initialize curses</p>
+ </li>
+
+ <li>
+ <p>Create items using new_item(). You can specify a
+ name and description for the items.</p>
+ </li>
+
+ <li>
+ <p>Create the menu with new_menu() by specifying the
+ items to be attached with.</p>
+ </li>
+
+ <li>
+ <p>Post the menu with menu_post() and refresh the
+ screen.</p>
+ </li>
+
+ <li>
+ <p>Process the user requests with a loop and do
+ necessary updates to menu with menu_driver.</p>
+ </li>
+
+ <li>
+ <p>Unpost the menu with menu_unpost()</p>
+ </li>
+
+ <li>
+ <p>Free the memory allocated to menu by free_menu()</p>
+ </li>
+
+ <li>
+ <p>Free the memory allocated to the items with
+ free_item()</p>
+ </li>
+
+ <li>
+ <p>End curses</p>
+ </li>
+ </ol>
+
+ <p>Let's see a program which prints a simple menu and
+ updates the current selection with up, down arrows.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="COMPILEMENUS" id=
+ "COMPILEMENUS">17.2. Compiling With the Menu
+ Library</a></h3>
+
+ <p>To use menu library functions, you have to include
+ menu.h and to link the program with menu library the flag
+ -lmenu should be added along with -lncurses in that
+ order.</p>
+ <pre class="PROGRAMLISTING">
+ #include &lt;menu.h&gt;
.
.
.
- compile and link: gcc &lt;program file&gt; -lmenu -lncurses</PRE
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMESI"
-></A
-><P
-><B
->Example 18. Menu Basics </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;curses.h&#62;
-#include &#60;menu.h&#62;
+ compile and link: gcc &lt;program file&gt; -lmenu -lncurses
+</pre>
+
+ <div class="EXAMPLE">
+ <a name="MMESI" id="MMESI"></a>
+
+ <p><b>Example 18. Menu Basics</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
+#include &lt;menu.h&gt;
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 4
+#define CTRLD 4
char *choices[] = {
"Choice 1",
@@ -5206,64 +4298,67 @@ char *choices[] = {
};
int main()
-{ ITEM **my_items;
- int c;
- MENU *my_menu;
- int n_choices, i;
- ITEM *cur_item;
-
-
- initscr();
- cbreak();
- noecho();
- keypad(stdscr, TRUE);
-
- n_choices = ARRAY_SIZE(choices);
- my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
-
- for(i = 0; i &#60; n_choices; ++i)
- my_items[i] = new_item(choices[i], choices[i]);
- my_items[n_choices] = (ITEM *)NULL;
-
- my_menu = new_menu((ITEM **)my_items);
- mvprintw(LINES - 2, 0, "F1 to Exit");
- post_menu(my_menu);
- refresh();
-
- while((c = getch()) != KEY_F(1))
- { switch(c)
- { case KEY_DOWN:
- menu_driver(my_menu, REQ_DOWN_ITEM);
- break;
- case KEY_UP:
- menu_driver(my_menu, REQ_UP_ITEM);
- break;
- }
- }
-
- free_item(my_items[0]);
- free_item(my_items[1]);
- free_menu(my_menu);
- endwin();
+{ ITEM **my_items;
+ int c;
+ MENU *my_menu;
+ int n_choices, i;
+ ITEM *cur_item;
+
+
+ initscr();
+ cbreak();
+ noecho();
+ keypad(stdscr, TRUE);
+
+ n_choices = ARRAY_SIZE(choices);
+ my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
+
+ for(i = 0; i &lt; n_choices; ++i)
+ my_items[i] = new_item(choices[i], choices[i]);
+ my_items[n_choices] = (ITEM *)NULL;
+
+ my_menu = new_menu((ITEM **)my_items);
+ mvprintw(LINES - 2, 0, "F1 to Exit");
+ post_menu(my_menu);
+ refresh();
+
+ while((c = getch()) != KEY_F(1))
+ { switch(c)
+ { case KEY_DOWN:
+ menu_driver(my_menu, REQ_DOWN_ITEM);
+ break;
+ case KEY_UP:
+ menu_driver(my_menu, REQ_UP_ITEM);
+ break;
+ }
+ }
+
+ free_item(my_items[0]);
+ free_item(my_items[1]);
+ free_menu(my_menu);
+ endwin();
}
- </SPAN
-></PRE
-></DIV
-><P
->This program demonstrates the basic concepts involved in creating a menu using
-menus library. First we create the items using new_item() and then attach them
-to the menu with new_menu() function. After posting the menu and refreshing the
-screen, the main processing loop starts. It reads user input and takes
-corresponding action. The function menu_driver() is the main work horse of the
-menu system. The second parameter to this function tells what's to be done with
-the menu. According to the parameter, menu_driver() does the corresponding task.
-The value can be either a menu navigational request, an ascii character, or a
-KEY_MOUSE special key associated with a mouse event.</P
-><P
->The menu_driver accepts following navigational requests.
-<PRE
-CLASS="PROGRAMLISTING"
->&#13; REQ_LEFT_ITEM Move left to an item.
+ </span>
+</pre>
+ </div>
+
+ <p>This program demonstrates the basic concepts involved in
+ creating a menu using menus library. First we create the
+ items using new_item() and then attach them to the menu
+ with new_menu() function. After posting the menu and
+ refreshing the screen, the main processing loop starts. It
+ reads user input and takes corresponding action. The
+ function menu_driver() is the main work horse of the menu
+ system. The second parameter to this function tells what's
+ to be done with the menu. According to the parameter,
+ menu_driver() does the corresponding task. The value can be
+ either a menu navigational request, an ascii character, or
+ a KEY_MOUSE special key associated with a mouse event.</p>
+
+ <p>The menu_driver accepts following navigational
+ requests.</p>
+ <pre class="PROGRAMLISTING">
+&#13; REQ_LEFT_ITEM Move left to an item.
REQ_RIGHT_ITEM Move right to an item.
REQ_UP_ITEM Move up to an item.
REQ_DOWN_ITEM Move down to an item.
@@ -5279,144 +4374,116 @@ CLASS="PROGRAMLISTING"
REQ_CLEAR_PATTERN Clear the menu pattern buffer.
REQ_BACK_PATTERN Delete the previous character from the pattern buffer.
REQ_NEXT_MATCH Move to the next item matching the pattern match.
- REQ_PREV_MATCH Move to the previous item matching the pattern match.&#13;</PRE
-></P
-><P
->Don't get overwhelmed by the number of options. We will see them slowly one
-after another. The options of interest in this example are REQ_UP_ITEM and
-REQ_DOWN_ITEM. These two options when passed to menu_driver, menu driver
-updates the current item to one item up or down respectively.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MENUDRIVER"
->17.3. Menu Driver: The work horse of the menu system</A
-></H3
-><P
->As you have seen in the above example, menu_driver plays an important role in
-updating the menu. It is very important to understand various options it takes
-and what they do. As explained above, the second parameter to menu_driver() can
-be either a navigational request, a printable character or a KEY_MOUSE key.
-Let's dissect the different navigational requests.</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_LEFT_ITEM and REQ_RIGHT_ITEM</I
-></SPAN
-></P
-><P
->A Menu can be displayed with multiple columns for more than one item. This can
-be done by using the <TT
-CLASS="LITERAL"
->menu_format()</TT
->function.
-When a multi columnar menu is displayed these requests cause the menu driver to
-move the current selection to left or right.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_UP_ITEM and REQ_DOWN_ITEM </I
-></SPAN
-> </P
-><P
->These two options you have seen in the above example. These options when given,
-makes the menu_driver to move the current selection to an item up or down.</P
-></LI
-><LI
-><P
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_* options</I
-></SPAN
-> </P
-><P
->The four options REQ_SCR_ULINE, REQ_SCR_DLINE, REQ_SCR_DPAGE, REQ_SCR_UPAGE are
-related to scrolling. If all the items in the menu cannot be displayed in the
-menu sub window, then the menu is scrollable. These requests can be given to the
-menu_driver to do the scrolling either one line up, down or one page down or up
-respectively. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_FIRST_ITEM, REQ_LAST_ITEM, REQ_NEXT_ITEM and
-REQ_PREV_ITEM </I
-></SPAN
-> </P
-><P
->These requests are self explanatory.</P
-></LI
-><LI
-><P
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_TOGGLE_ITEM</I
-></SPAN
-> </P
-><P
->This request when given, toggles the present selection. This option is to be
-used only in a multi valued menu. So to use this request the option O_ONEVALUE
-must be off. This option can be made off or on with set_menu_opts().</P
-></LI
-><LI
-><P
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Pattern Requests </I
-></SPAN
-></P
-><P
->Every menu has an associated pattern buffer, which is used to find the nearest
-match to the ascii characters entered by the user. Whenever ascii characters are
-given to menu_driver, it puts in to the pattern buffer. It also tries to find
-the nearest match to the pattern in the items list and moves current selection
-to that item. The request REQ_CLEAR_PATTERN clears the pattern buffer. The
-request REQ_BACK_PATTERN deletes the previous character in the pattern buffer.
-In case the pattern matches more than one item then the matched items can be
-cycled through REQ_NEXT_MATCH and REQ_PREV_MATCH which move the current
-selection to the next and previous matches respectively.</P
-></LI
-><LI
-><P
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Mouse Requests</I
-></SPAN
-></P
-><P
->In case of KEY_MOUSE requests, according to the mouse position an action is
-taken accordingly. The action to be taken is explained in the man page as, </P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
-> If the second argument is the KEY_MOUSE special key, the
+ REQ_PREV_MATCH Move to the previous item matching the pattern match.&#13;
+</pre>
+
+ <p>Don't get overwhelmed by the number of options. We will
+ see them slowly one after another. The options of interest
+ in this example are REQ_UP_ITEM and REQ_DOWN_ITEM. These
+ two options when passed to menu_driver, menu driver updates
+ the current item to one item up or down respectively.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="MENUDRIVER" id=
+ "MENUDRIVER">17.3. Menu Driver: The work horse of the menu
+ system</a></h3>
+
+ <p>As you have seen in the above example, menu_driver plays
+ an important role in updating the menu. It is very
+ important to understand various options it takes and what
+ they do. As explained above, the second parameter to
+ menu_driver() can be either a navigational request, a
+ printable character or a KEY_MOUSE key. Let's dissect the
+ different navigational requests.</p>
+
+ <ul>
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_LEFT_ITEM and
+ REQ_RIGHT_ITEM</i></span></p>
+
+ <p>A Menu can be displayed with multiple columns for
+ more than one item. This can be done by using the
+ <tt class="LITERAL">menu_format()</tt>function. When a
+ multi columnar menu is displayed these requests cause
+ the menu driver to move the current selection to left
+ or right.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_UP_ITEM and REQ_DOWN_ITEM</i></span></p>
+
+ <p>These two options you have seen in the above
+ example. These options when given, makes the
+ menu_driver to move the current selection to an item up
+ or down.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class="EMPHASIS">REQ_SCR_*
+ options</i></span></p>
+
+ <p>The four options REQ_SCR_ULINE, REQ_SCR_DLINE,
+ REQ_SCR_DPAGE, REQ_SCR_UPAGE are related to scrolling.
+ If all the items in the menu cannot be displayed in the
+ menu sub window, then the menu is scrollable. These
+ requests can be given to the menu_driver to do the
+ scrolling either one line up, down or one page down or
+ up respectively.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_FIRST_ITEM, REQ_LAST_ITEM, REQ_NEXT_ITEM
+ and REQ_PREV_ITEM</i></span></p>
+
+ <p>These requests are self explanatory.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_TOGGLE_ITEM</i></span></p>
+
+ <p>This request when given, toggles the present
+ selection. This option is to be used only in a multi
+ valued menu. So to use this request the option
+ O_ONEVALUE must be off. This option can be made off or
+ on with set_menu_opts().</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class="EMPHASIS">Pattern
+ Requests</i></span></p>
+
+ <p>Every menu has an associated pattern buffer, which
+ is used to find the nearest match to the ascii
+ characters entered by the user. Whenever ascii
+ characters are given to menu_driver, it puts in to the
+ pattern buffer. It also tries to find the nearest match
+ to the pattern in the items list and moves current
+ selection to that item. The request REQ_CLEAR_PATTERN
+ clears the pattern buffer. The request REQ_BACK_PATTERN
+ deletes the previous character in the pattern buffer.
+ In case the pattern matches more than one item then the
+ matched items can be cycled through REQ_NEXT_MATCH and
+ REQ_PREV_MATCH which move the current selection to the
+ next and previous matches respectively.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class="EMPHASIS">Mouse
+ Requests</i></span></p>
+
+ <p>In case of KEY_MOUSE requests, according to the
+ mouse position an action is taken accordingly. The
+ action to be taken is explained in the man page as,</p>
+ <pre class="PROGRAMLISTING">
+<span class="emphasis"><i class=
+"EMPHASIS"> If the second argument is the KEY_MOUSE special key, the
associated mouse event is translated into one of the above
pre-defined requests. Currently only clicks in the user
window (e.g. inside the menu display area or the decora&shy;
@@ -5428,49 +4495,42 @@ CLASS="EMPHASIS"
generated, if you doubleclick a REQ_SCR_DPAGE is generated
and if you tripleclick a REQ_LAST_ITEM is generated. If
you click at an item inside the display area of the menu,
- the menu cursor is positioned to that item.</I
-></SPAN
-></PRE
-></LI
-></UL
-><P
->Each of the above requests will be explained in the following lines with several
-examples whenever appropriate.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MENUWINDOWS"
->17.4. Menu Windows</A
-></H3
-><P
->Every menu created is associated with a window and a sub window. The menu window
-displays any title or border associated with the menu. The menu sub window
-displays the menu items currently available for selection. But we didn't specify
-any window or sub window in the simple example. When a window is not specified,
-stdscr is taken as the main window, and then menu system calculates the sub
-window size required for the display of items. Then items are displayed in the
-calculated sub window. So let's play with these windows and display a menu with
-a border and a title.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMEWI"
-></A
-><P
-><B
->Example 19. Menu Windows Usage example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;menu.h&#62;
+ the menu cursor is positioned to that item.</i></span>
+</pre>
+ </li>
+ </ul>
+
+ <p>Each of the above requests will be explained in the
+ following lines with several examples whenever
+ appropriate.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="MENUWINDOWS" id=
+ "MENUWINDOWS">17.4. Menu Windows</a></h3>
+
+ <p>Every menu created is associated with a window and a sub
+ window. The menu window displays any title or border
+ associated with the menu. The menu sub window displays the
+ menu items currently available for selection. But we didn't
+ specify any window or sub window in the simple example.
+ When a window is not specified, stdscr is taken as the main
+ window, and then menu system calculates the sub window size
+ required for the display of items. Then items are displayed
+ in the calculated sub window. So let's play with these
+ windows and display a menu with a border and a title.</p>
+
+ <div class="EXAMPLE">
+ <a name="MMEWI" id="MMEWI"></a>
+
+ <p><b>Example 19. Menu Windows Usage example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;menu.h&gt;
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 4
+#define CTRLD 4
char *choices[] = {
"Choice 1",
@@ -5483,403 +4543,395 @@ char *choices[] = {
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
int main()
-{ ITEM **my_items;
- int c;
- MENU *my_menu;
+{ ITEM **my_items;
+ int c;
+ MENU *my_menu;
WINDOW *my_menu_win;
int n_choices, i;
-
- /* Initialize curses */
- initscr();
- start_color();
+
+ /* Initialize curses */
+ initscr();
+ start_color();
cbreak();
noecho();
- keypad(stdscr, TRUE);
- init_pair(1, COLOR_RED, COLOR_BLACK);
+ keypad(stdscr, TRUE);
+ init_pair(1, COLOR_RED, COLOR_BLACK);
- /* Create items */
+ /* Create items */
n_choices = ARRAY_SIZE(choices);
my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *));
- for(i = 0; i &#60; n_choices; ++i)
+ for(i = 0; i &lt; n_choices; ++i)
my_items[i] = new_item(choices[i], choices[i]);
- /* Crate menu */
- my_menu = new_menu((ITEM **)my_items);
+ /* Crate menu */
+ my_menu = new_menu((ITEM **)my_items);
- /* Create the window to be associated with the menu */
+ /* Create the window to be associated with the menu */
my_menu_win = newwin(10, 40, 4, 4);
keypad(my_menu_win, TRUE);
- /* Set main window and sub window */
+ /* Set main window and sub window */
set_menu_win(my_menu, my_menu_win);
set_menu_sub(my_menu, derwin(my_menu_win, 6, 38, 3, 1));
- /* Set menu mark to the string " * " */
+ /* Set menu mark to the string " * " */
set_menu_mark(my_menu, " * ");
- /* Print a border around the main window and print a title */
+ /* Print a border around the main window and print a title */
box(my_menu_win, 0, 0);
- print_in_middle(my_menu_win, 1, 0, 40, "My Menu", COLOR_PAIR(1));
- mvwaddch(my_menu_win, 2, 0, ACS_LTEE);
- mvwhline(my_menu_win, 2, 1, ACS_HLINE, 38);
- mvwaddch(my_menu_win, 2, 39, ACS_RTEE);
- mvprintw(LINES - 2, 0, "F1 to exit");
- refresh();
+ print_in_middle(my_menu_win, 1, 0, 40, "My Menu", COLOR_PAIR(1));
+ mvwaddch(my_menu_win, 2, 0, ACS_LTEE);
+ mvwhline(my_menu_win, 2, 1, ACS_HLINE, 38);
+ mvwaddch(my_menu_win, 2, 39, ACS_RTEE);
+ mvprintw(LINES - 2, 0, "F1 to exit");
+ refresh();
- /* Post the menu */
- post_menu(my_menu);
- wrefresh(my_menu_win);
-
- while((c = wgetch(my_menu_win)) != KEY_F(1))
- { switch(c)
- { case KEY_DOWN:
- menu_driver(my_menu, REQ_DOWN_ITEM);
- break;
- case KEY_UP:
- menu_driver(my_menu, REQ_UP_ITEM);
- break;
- }
+ /* Post the menu */
+ post_menu(my_menu);
+ wrefresh(my_menu_win);
+
+ while((c = wgetch(my_menu_win)) != KEY_F(1))
+ { switch(c)
+ { case KEY_DOWN:
+ menu_driver(my_menu, REQ_DOWN_ITEM);
+ break;
+ case KEY_UP:
+ menu_driver(my_menu, REQ_UP_ITEM);
+ break;
+ }
wrefresh(my_menu_win);
- }
+ }
- /* Unpost and free all the memory taken up */
+ /* Unpost and free all the memory taken up */
unpost_menu(my_menu);
free_menu(my_menu);
- for(i = 0; i &#60; n_choices; ++i)
+ for(i = 0; i &lt; n_choices; ++i)
free_item(my_items[i]);
- endwin();
+ endwin();
}
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{ int length, x, y;
- float temp;
-
- if(win == NULL)
- win = stdscr;
- getyx(win, y, x);
- if(startx != 0)
- x = startx;
- if(starty != 0)
- y = starty;
- if(width == 0)
- width = 80;
-
- length = strlen(string);
- temp = (width - length)/ 2;
- x = startx + (int)temp;
- wattron(win, color);
- mvwprintw(win, y, x, "%s", string);
- wattroff(win, color);
- refresh();
-}</SPAN
-></PRE
-></DIV
-><P
->This example creates a menu with a title, border, a fancy line separating title
-and the items. As you can see, in order to attach a window to a menu the
-function set_menu_win() has to be used. Then we attach the sub window also. This
-displays the items in the sub window. You can also set the mark string which
-gets displayed to the left of the selected item with set_menu_mark().</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="SCROLLMENUS"
->17.5. Scrolling Menus</A
-></H3
-><P
->If the sub window given for a window is not big enough to show all the items,
-then the menu will be scrollable. When you are on the last item in the present
-list, if you send REQ_DOWN_ITEM, it gets translated into REQ_SCR_DLINE and the
-menu scrolls by one item. You can manually give REQ_SCR_ operations to do
-scrolling. Let's see how it can be done.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMESC"
-></A
-><P
-><B
->Example 20. Scrolling Menus example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;curses.h&#62;
-#include &#60;menu.h&#62;
+{ int length, x, y;
+ float temp;
+
+ if(win == NULL)
+ win = stdscr;
+ getyx(win, y, x);
+ if(startx != 0)
+ x = startx;
+ if(starty != 0)
+ y = starty;
+ if(width == 0)
+ width = 80;
+
+ length = strlen(string);
+ temp = (width - length)/ 2;
+ x = startx + (int)temp;
+ wattron(win, color);
+ mvwprintw(win, y, x, "%s", string);
+ wattroff(win, color);
+ refresh();
+}</span>
+</pre>
+ </div>
+
+ <p>This example creates a menu with a title, border, a
+ fancy line separating title and the items. As you can see,
+ in order to attach a window to a menu the function
+ set_menu_win() has to be used. Then we attach the sub
+ window also. This displays the items in the sub window. You
+ can also set the mark string which gets displayed to the
+ left of the selected item with set_menu_mark().</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="SCROLLMENUS" id=
+ "SCROLLMENUS">17.5. Scrolling Menus</a></h3>
+
+ <p>If the sub window given for a window is not big enough
+ to show all the items, then the menu will be scrollable.
+ When you are on the last item in the present list, if you
+ send REQ_DOWN_ITEM, it gets translated into REQ_SCR_DLINE
+ and the menu scrolls by one item. You can manually give
+ REQ_SCR_ operations to do scrolling. Let's see how it can
+ be done.</p>
+
+ <div class="EXAMPLE">
+ <a name="MMESC" id="MMESC"></a>
+
+ <p><b>Example 20. Scrolling Menus example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
+#include &lt;menu.h&gt;
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 4
+#define CTRLD 4
char *choices[] = {
"Choice 1",
"Choice 2",
"Choice 3",
"Choice 4",
- "Choice 5",
- "Choice 6",
- "Choice 7",
- "Choice 8",
- "Choice 9",
- "Choice 10",
+ "Choice 5",
+ "Choice 6",
+ "Choice 7",
+ "Choice 8",
+ "Choice 9",
+ "Choice 10",
"Exit",
(char *)NULL,
};
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
int main()
-{ ITEM **my_items;
- int c;
- MENU *my_menu;
+{ ITEM **my_items;
+ int c;
+ MENU *my_menu;
WINDOW *my_menu_win;
int n_choices, i;
-
- /* Initialize curses */
- initscr();
- start_color();
+
+ /* Initialize curses */
+ initscr();
+ start_color();
cbreak();
noecho();
- keypad(stdscr, TRUE);
- init_pair(1, COLOR_RED, COLOR_BLACK);
- init_pair(2, COLOR_CYAN, COLOR_BLACK);
+ keypad(stdscr, TRUE);
+ init_pair(1, COLOR_RED, COLOR_BLACK);
+ init_pair(2, COLOR_CYAN, COLOR_BLACK);
- /* Create items */
+ /* Create items */
n_choices = ARRAY_SIZE(choices);
my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *));
- for(i = 0; i &#60; n_choices; ++i)
+ for(i = 0; i &lt; n_choices; ++i)
my_items[i] = new_item(choices[i], choices[i]);
- /* Crate menu */
- my_menu = new_menu((ITEM **)my_items);
+ /* Crate menu */
+ my_menu = new_menu((ITEM **)my_items);
- /* Create the window to be associated with the menu */
+ /* Create the window to be associated with the menu */
my_menu_win = newwin(10, 40, 4, 4);
keypad(my_menu_win, TRUE);
- /* Set main window and sub window */
+ /* Set main window and sub window */
set_menu_win(my_menu, my_menu_win);
set_menu_sub(my_menu, derwin(my_menu_win, 6, 38, 3, 1));
- set_menu_format(my_menu, 5, 1);
-
- /* Set menu mark to the string " * " */
+ set_menu_format(my_menu, 5, 1);
+
+ /* Set menu mark to the string " * " */
set_menu_mark(my_menu, " * ");
- /* Print a border around the main window and print a title */
+ /* Print a border around the main window and print a title */
box(my_menu_win, 0, 0);
- print_in_middle(my_menu_win, 1, 0, 40, "My Menu", COLOR_PAIR(1));
- mvwaddch(my_menu_win, 2, 0, ACS_LTEE);
- mvwhline(my_menu_win, 2, 1, ACS_HLINE, 38);
- mvwaddch(my_menu_win, 2, 39, ACS_RTEE);
+ print_in_middle(my_menu_win, 1, 0, 40, "My Menu", COLOR_PAIR(1));
+ mvwaddch(my_menu_win, 2, 0, ACS_LTEE);
+ mvwhline(my_menu_win, 2, 1, ACS_HLINE, 38);
+ mvwaddch(my_menu_win, 2, 39, ACS_RTEE);
+
+ /* Post the menu */
+ post_menu(my_menu);
+ wrefresh(my_menu_win);
- /* Post the menu */
- post_menu(my_menu);
- wrefresh(my_menu_win);
-
- attron(COLOR_PAIR(2));
- mvprintw(LINES - 2, 0, "Use PageUp and PageDown to scoll down or up a page of items");
- mvprintw(LINES - 1, 0, "Arrow Keys to navigate (F1 to Exit)");
- attroff(COLOR_PAIR(2));
- refresh();
-
- while((c = wgetch(my_menu_win)) != KEY_F(1))
- { switch(c)
- { case KEY_DOWN:
- menu_driver(my_menu, REQ_DOWN_ITEM);
- break;
- case KEY_UP:
- menu_driver(my_menu, REQ_UP_ITEM);
- break;
- case KEY_NPAGE:
- menu_driver(my_menu, REQ_SCR_DPAGE);
- break;
- case KEY_PPAGE:
- menu_driver(my_menu, REQ_SCR_UPAGE);
- break;
- }
+ attron(COLOR_PAIR(2));
+ mvprintw(LINES - 2, 0, "Use PageUp and PageDown to scoll down or up a page of items");
+ mvprintw(LINES - 1, 0, "Arrow Keys to navigate (F1 to Exit)");
+ attroff(COLOR_PAIR(2));
+ refresh();
+
+ while((c = wgetch(my_menu_win)) != KEY_F(1))
+ { switch(c)
+ { case KEY_DOWN:
+ menu_driver(my_menu, REQ_DOWN_ITEM);
+ break;
+ case KEY_UP:
+ menu_driver(my_menu, REQ_UP_ITEM);
+ break;
+ case KEY_NPAGE:
+ menu_driver(my_menu, REQ_SCR_DPAGE);
+ break;
+ case KEY_PPAGE:
+ menu_driver(my_menu, REQ_SCR_UPAGE);
+ break;
+ }
wrefresh(my_menu_win);
- }
+ }
- /* Unpost and free all the memory taken up */
+ /* Unpost and free all the memory taken up */
unpost_menu(my_menu);
free_menu(my_menu);
- for(i = 0; i &#60; n_choices; ++i)
+ for(i = 0; i &lt; n_choices; ++i)
free_item(my_items[i]);
- endwin();
+ endwin();
}
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{ int length, x, y;
- float temp;
-
- if(win == NULL)
- win = stdscr;
- getyx(win, y, x);
- if(startx != 0)
- x = startx;
- if(starty != 0)
- y = starty;
- if(width == 0)
- width = 80;
-
- length = strlen(string);
- temp = (width - length)/ 2;
- x = startx + (int)temp;
- wattron(win, color);
- mvwprintw(win, y, x, "%s", string);
- wattroff(win, color);
- refresh();
-}</SPAN
-></PRE
-></DIV
-><P
->This program is self-explanatory. In this example the number of choices has been
-increased to ten, which is larger than our sub window size which can hold 6
-items. This message has to be explicitly conveyed to the menu system with the
-function set_menu_format(). In here we specify the number of rows and columns we
-want to be displayed for a single page. We can specify any number of items to be
-shown, in the rows variables, if it is less than the height of the sub window.
-If the key pressed by the user is a PAGE UP or PAGE DOWN, the menu is scrolled a
-page due to the requests (REQ_SCR_DPAGE and REQ_SCR_UPAGE) given to
-menu_driver().</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MULTICOLUMN"
->17.6. Multi Columnar Menus</A
-></H3
-><P
->In the above example you have seen how to use the function set_menu_format(). I
-didn't mention what the cols variable (third parameter) does. Well, If your sub
-window is wide enough, you can opt to display more than one item per row. This
-can be specified in the cols variable. To make things simpler, the following
-example doesn't show descriptions for the items.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMEMUCO"
-></A
-><P
-><B
->Example 21. Milt Columnar Menus Example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;curses.h&#62;
-#include &#60;menu.h&#62;
+{ int length, x, y;
+ float temp;
+
+ if(win == NULL)
+ win = stdscr;
+ getyx(win, y, x);
+ if(startx != 0)
+ x = startx;
+ if(starty != 0)
+ y = starty;
+ if(width == 0)
+ width = 80;
+
+ length = strlen(string);
+ temp = (width - length)/ 2;
+ x = startx + (int)temp;
+ wattron(win, color);
+ mvwprintw(win, y, x, "%s", string);
+ wattroff(win, color);
+ refresh();
+}</span>
+</pre>
+ </div>
+
+ <p>This program is self-explanatory. In this example the
+ number of choices has been increased to ten, which is
+ larger than our sub window size which can hold 6 items.
+ This message has to be explicitly conveyed to the menu
+ system with the function set_menu_format(). In here we
+ specify the number of rows and columns we want to be
+ displayed for a single page. We can specify any number of
+ items to be shown, in the rows variables, if it is less
+ than the height of the sub window. If the key pressed by
+ the user is a PAGE UP or PAGE DOWN, the menu is scrolled a
+ page due to the requests (REQ_SCR_DPAGE and REQ_SCR_UPAGE)
+ given to menu_driver().</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="MULTICOLUMN" id=
+ "MULTICOLUMN">17.6. Multi Columnar Menus</a></h3>
+
+ <p>In the above example you have seen how to use the
+ function set_menu_format(). I didn't mention what the cols
+ variable (third parameter) does. Well, If your sub window
+ is wide enough, you can opt to display more than one item
+ per row. This can be specified in the cols variable. To
+ make things simpler, the following example doesn't show
+ descriptions for the items.</p>
+
+ <div class="EXAMPLE">
+ <a name="MMEMUCO" id="MMEMUCO"></a>
+
+ <p><b>Example 21. Milt Columnar Menus Example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
+#include &lt;menu.h&gt;
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 4
+#define CTRLD 4
char *choices[] = {
"Choice 1", "Choice 2", "Choice 3", "Choice 4", "Choice 5",
- "Choice 6", "Choice 7", "Choice 8", "Choice 9", "Choice 10",
- "Choice 11", "Choice 12", "Choice 13", "Choice 14", "Choice 15",
- "Choice 16", "Choice 17", "Choice 18", "Choice 19", "Choice 20",
+ "Choice 6", "Choice 7", "Choice 8", "Choice 9", "Choice 10",
+ "Choice 11", "Choice 12", "Choice 13", "Choice 14", "Choice 15",
+ "Choice 16", "Choice 17", "Choice 18", "Choice 19", "Choice 20",
"Exit",
(char *)NULL,
};
int main()
-{ ITEM **my_items;
- int c;
- MENU *my_menu;
+{ ITEM **my_items;
+ int c;
+ MENU *my_menu;
WINDOW *my_menu_win;
int n_choices, i;
-
- /* Initialize curses */
- initscr();
- start_color();
+
+ /* Initialize curses */
+ initscr();
+ start_color();
cbreak();
noecho();
- keypad(stdscr, TRUE);
- init_pair(1, COLOR_RED, COLOR_BLACK);
- init_pair(2, COLOR_CYAN, COLOR_BLACK);
+ keypad(stdscr, TRUE);
+ init_pair(1, COLOR_RED, COLOR_BLACK);
+ init_pair(2, COLOR_CYAN, COLOR_BLACK);
- /* Create items */
+ /* Create items */
n_choices = ARRAY_SIZE(choices);
my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *));
- for(i = 0; i &#60; n_choices; ++i)
+ for(i = 0; i &lt; n_choices; ++i)
my_items[i] = new_item(choices[i], choices[i]);
- /* Crate menu */
- my_menu = new_menu((ITEM **)my_items);
+ /* Crate menu */
+ my_menu = new_menu((ITEM **)my_items);
- /* Set menu option not to show the description */
- menu_opts_off(my_menu, O_SHOWDESC);
+ /* Set menu option not to show the description */
+ menu_opts_off(my_menu, O_SHOWDESC);
- /* Create the window to be associated with the menu */
+ /* Create the window to be associated with the menu */
my_menu_win = newwin(10, 70, 4, 4);
keypad(my_menu_win, TRUE);
- /* Set main window and sub window */
+ /* Set main window and sub window */
set_menu_win(my_menu, my_menu_win);
set_menu_sub(my_menu, derwin(my_menu_win, 6, 68, 3, 1));
- set_menu_format(my_menu, 5, 3);
- set_menu_mark(my_menu, " * ");
+ set_menu_format(my_menu, 5, 3);
+ set_menu_mark(my_menu, " * ");
- /* Print a border around the main window and print a title */
+ /* Print a border around the main window and print a title */
box(my_menu_win, 0, 0);
-
- attron(COLOR_PAIR(2));
- mvprintw(LINES - 3, 0, "Use PageUp and PageDown to scroll");
- mvprintw(LINES - 2, 0, "Use Arrow Keys to navigate (F1 to Exit)");
- attroff(COLOR_PAIR(2));
- refresh();
-
- /* Post the menu */
- post_menu(my_menu);
- wrefresh(my_menu_win);
-
- while((c = wgetch(my_menu_win)) != KEY_F(1))
- { switch(c)
- { case KEY_DOWN:
- menu_driver(my_menu, REQ_DOWN_ITEM);
- break;
- case KEY_UP:
- menu_driver(my_menu, REQ_UP_ITEM);
- break;
- case KEY_LEFT:
- menu_driver(my_menu, REQ_LEFT_ITEM);
- break;
- case KEY_RIGHT:
- menu_driver(my_menu, REQ_RIGHT_ITEM);
- break;
- case KEY_NPAGE:
- menu_driver(my_menu, REQ_SCR_DPAGE);
- break;
- case KEY_PPAGE:
- menu_driver(my_menu, REQ_SCR_UPAGE);
- break;
- }
+
+ attron(COLOR_PAIR(2));
+ mvprintw(LINES - 3, 0, "Use PageUp and PageDown to scroll");
+ mvprintw(LINES - 2, 0, "Use Arrow Keys to navigate (F1 to Exit)");
+ attroff(COLOR_PAIR(2));
+ refresh();
+
+ /* Post the menu */
+ post_menu(my_menu);
+ wrefresh(my_menu_win);
+
+ while((c = wgetch(my_menu_win)) != KEY_F(1))
+ { switch(c)
+ { case KEY_DOWN:
+ menu_driver(my_menu, REQ_DOWN_ITEM);
+ break;
+ case KEY_UP:
+ menu_driver(my_menu, REQ_UP_ITEM);
+ break;
+ case KEY_LEFT:
+ menu_driver(my_menu, REQ_LEFT_ITEM);
+ break;
+ case KEY_RIGHT:
+ menu_driver(my_menu, REQ_RIGHT_ITEM);
+ break;
+ case KEY_NPAGE:
+ menu_driver(my_menu, REQ_SCR_DPAGE);
+ break;
+ case KEY_PPAGE:
+ menu_driver(my_menu, REQ_SCR_UPAGE);
+ break;
+ }
wrefresh(my_menu_win);
- }
+ }
- /* Unpost and free all the memory taken up */
+ /* Unpost and free all the memory taken up */
unpost_menu(my_menu);
free_menu(my_menu);
- for(i = 0; i &#60; n_choices; ++i)
+ for(i = 0; i &lt; n_choices; ++i)
free_item(my_items[i]);
- endwin();
-}</SPAN
-></PRE
-></DIV
-><P
->Watch the function call to set_menu_format(). It specifies the number of columns
-to be 3, thus displaying 3 items per row. We have also switched off the showing
-descriptions with the function menu_opts_off(). There are couple of functions
-set_menu_opts(), menu_opts_on() and menu_opts() which can be used to manipulate
-menu options. The following menu options can be specified.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> O_ONEVALUE
+ endwin();
+}</span>
+</pre>
+ </div>
+
+ <p>Watch the function call to set_menu_format(). It
+ specifies the number of columns to be 3, thus displaying 3
+ items per row. We have also switched off the showing
+ descriptions with the function menu_opts_off(). There are
+ couple of functions set_menu_opts(), menu_opts_on() and
+ menu_opts() which can be used to manipulate menu options.
+ The following menu options can be specified.</p>
+ <pre class="PROGRAMLISTING">
+ O_ONEVALUE
Only one item can be selected for this menu.
O_SHOWDESC
@@ -5898,684 +4950,666 @@ CLASS="PROGRAMLISTING"
O_NONCYCLIC
Don't wrap around next-item and previous-item,
- requests to the other end of the menu.</PRE
-><P
->All options are on by default. You can switch specific attributes on or off with
-menu_opts_on() and menu_opts_off() functions. You can also use set_menu_opts()
-to directly specify the options. The argument to this function should be a OR ed
-value of some of those above constants. The function menu_opts() can be used to
-find out a menu's present options. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MULTIVALUEMENUS"
->17.7. Multi Valued Menus</A
-></H3
-><P
->You might be wondering what if you switch off the option O_ONEVALUE. Then the
-menu becomes multi-valued. That means you can select more than one item. This
-brings us to the request REQ_TOGGLE_ITEM. Let's see it in action.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMETO"
-></A
-><P
-><B
->Example 22. Multi Valued Menus example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;curses.h&#62;
-#include &#60;menu.h&#62;
+ requests to the other end of the menu.
+</pre>
+
+ <p>All options are on by default. You can switch specific
+ attributes on or off with menu_opts_on() and
+ menu_opts_off() functions. You can also use set_menu_opts()
+ to directly specify the options. The argument to this
+ function should be a OR ed value of some of those above
+ constants. The function menu_opts() can be used to find out
+ a menu's present options.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="MULTIVALUEMENUS" id=
+ "MULTIVALUEMENUS">17.7. Multi Valued Menus</a></h3>
+
+ <p>You might be wondering what if you switch off the option
+ O_ONEVALUE. Then the menu becomes multi-valued. That means
+ you can select more than one item. This brings us to the
+ request REQ_TOGGLE_ITEM. Let's see it in action.</p>
+
+ <div class="EXAMPLE">
+ <a name="MMETO" id="MMETO"></a>
+
+ <p><b>Example 22. Multi Valued Menus example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
+#include &lt;menu.h&gt;
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 4
+#define CTRLD 4
char *choices[] = {
"Choice 1",
"Choice 2",
"Choice 3",
"Choice 4",
- "Choice 5",
- "Choice 6",
- "Choice 7",
+ "Choice 5",
+ "Choice 6",
+ "Choice 7",
"Exit",
};
int main()
-{ ITEM **my_items;
- int c;
- MENU *my_menu;
+{ ITEM **my_items;
+ int c;
+ MENU *my_menu;
int n_choices, i;
- ITEM *cur_item;
-
- /* Initialize curses */
- initscr();
+ ITEM *cur_item;
+
+ /* Initialize curses */
+ initscr();
cbreak();
noecho();
- keypad(stdscr, TRUE);
+ keypad(stdscr, TRUE);
- /* Initialize items */
+ /* Initialize items */
n_choices = ARRAY_SIZE(choices);
my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
- for(i = 0; i &#60; n_choices; ++i)
+ for(i = 0; i &lt; n_choices; ++i)
my_items[i] = new_item(choices[i], choices[i]);
- my_items[n_choices] = (ITEM *)NULL;
-
- my_menu = new_menu((ITEM **)my_items);
-
- /* Make the menu multi valued */
- menu_opts_off(my_menu, O_ONEVALUE);
-
- mvprintw(LINES - 3, 0, "Use &#60;SPACE&#62; to select or unselect an item.");
- mvprintw(LINES - 2, 0, "&#60;ENTER&#62; to see presently selected items(F1 to Exit)");
- post_menu(my_menu);
- refresh();
-
- while((c = getch()) != KEY_F(1))
- { switch(c)
- { case KEY_DOWN:
- menu_driver(my_menu, REQ_DOWN_ITEM);
- break;
- case KEY_UP:
- menu_driver(my_menu, REQ_UP_ITEM);
- break;
- case ' ':
- menu_driver(my_menu, REQ_TOGGLE_ITEM);
- break;
- case 10: /* Enter */
- { char temp[200];
- ITEM **items;
-
- items = menu_items(my_menu);
- temp[0] = '\0';
- for(i = 0; i &#60; item_count(my_menu); ++i)
- if(item_value(items[i]) == TRUE)
- { strcat(temp, item_name(items[i]));
- strcat(temp, " ");
- }
- move(20, 0);
- clrtoeol();
- mvprintw(20, 0, temp);
- refresh();
- }
- break;
- }
- }
-
- free_item(my_items[0]);
+ my_items[n_choices] = (ITEM *)NULL;
+
+ my_menu = new_menu((ITEM **)my_items);
+
+ /* Make the menu multi valued */
+ menu_opts_off(my_menu, O_ONEVALUE);
+
+ mvprintw(LINES - 3, 0, "Use &lt;SPACE&gt; to select or unselect an item.");
+ mvprintw(LINES - 2, 0, "&lt;ENTER&gt; to see presently selected items(F1 to Exit)");
+ post_menu(my_menu);
+ refresh();
+
+ while((c = getch()) != KEY_F(1))
+ { switch(c)
+ { case KEY_DOWN:
+ menu_driver(my_menu, REQ_DOWN_ITEM);
+ break;
+ case KEY_UP:
+ menu_driver(my_menu, REQ_UP_ITEM);
+ break;
+ case ' ':
+ menu_driver(my_menu, REQ_TOGGLE_ITEM);
+ break;
+ case 10: /* Enter */
+ { char temp[200];
+ ITEM **items;
+
+ items = menu_items(my_menu);
+ temp[0] = '\0';
+ for(i = 0; i &lt; item_count(my_menu); ++i)
+ if(item_value(items[i]) == TRUE)
+ { strcat(temp, item_name(items[i]));
+ strcat(temp, " ");
+ }
+ move(20, 0);
+ clrtoeol();
+ mvprintw(20, 0, temp);
+ refresh();
+ }
+ break;
+ }
+ }
+
+ free_item(my_items[0]);
free_item(my_items[1]);
- free_menu(my_menu);
- endwin();
+ free_menu(my_menu);
+ endwin();
}
- </SPAN
-></PRE
-></DIV
-><P
->Whew, A lot of new functions. Let's take them one after another. Firstly, the
-REQ_TOGGLE_ITEM. In a multi-valued menu, the user should be allowed to select
-or un select more than one item. The request REQ_TOGGLE_ITEM toggles the present
-selection. In this case when space is pressed REQ_TOGGLE_ITEM request is sent to
-menu_driver to achieve the result.</P
-><P
->Now when the user presses &lt;ENTER&gt; we show the items he presently selected.
-First we find out the items associated with the menu using the function
-menu_items(). Then we loop through the items to find out if the item is selected
-or not. The function item_value() returns TRUE if an item is selected. The
-function item_count() returns the number of items in the menu. The item name can
-be found with item_name(). You can also find the description associated with an
-item using item_description().</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MENUOPT"
->17.8. Menu Options</A
-></H3
-><P
->Well, by this time you must be itching for some difference in your menu, with
-lots of functionality. I know. You want Colors !!!. You want to create nice
-menus similar to those text mode <A
-HREF="http://www.jersey.net/~debinjoe/games/"
-TARGET="_top"
->dos games</A
->. The functions
-set_menu_fore() and set_menu_back() can be used to change the attribute of the
-selected item and unselected item. The names are misleading. They don't change
-menu's foreground or background which would have been useless. </P
-><P
->The function set_menu_grey() can be used to set the display attribute for the
-non-selectable items in the menu. This brings us to the interesting option for
-an item the one and only O_SELECTABLE. We can turn it off by the function
-item_opts_off() and after that that item is not selectable. It's like a grayed
-item in those fancy windows menus. Let's put these concepts in practice with
-this example</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMEAT"
-></A
-><P
-><B
->Example 23. Menu Options example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;menu.h&#62;
+ </span>
+</pre>
+ </div>
+
+ <p>Whew, A lot of new functions. Let's take them one after
+ another. Firstly, the REQ_TOGGLE_ITEM. In a multi-valued
+ menu, the user should be allowed to select or un select
+ more than one item. The request REQ_TOGGLE_ITEM toggles the
+ present selection. In this case when space is pressed
+ REQ_TOGGLE_ITEM request is sent to menu_driver to achieve
+ the result.</p>
+
+ <p>Now when the user presses &lt;ENTER&gt; we show the
+ items he presently selected. First we find out the items
+ associated with the menu using the function menu_items().
+ Then we loop through the items to find out if the item is
+ selected or not. The function item_value() returns TRUE if
+ an item is selected. The function item_count() returns the
+ number of items in the menu. The item name can be found
+ with item_name(). You can also find the description
+ associated with an item using item_description().</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="MENUOPT" id="MENUOPT">17.8. Menu
+ Options</a></h3>
+
+ <p>Well, by this time you must be itching for some
+ difference in your menu, with lots of functionality. I
+ know. You want Colors !!!. You want to create nice menus
+ similar to those text mode <a href=
+ "http://www.jersey.net/~debinjoe/games/" target="_top">dos
+ games</a>. The functions set_menu_fore() and
+ set_menu_back() can be used to change the attribute of the
+ selected item and unselected item. The names are
+ misleading. They don't change menu's foreground or
+ background which would have been useless.</p>
+
+ <p>The function set_menu_grey() can be used to set the
+ display attribute for the non-selectable items in the menu.
+ This brings us to the interesting option for an item the
+ one and only O_SELECTABLE. We can turn it off by the
+ function item_opts_off() and after that that item is not
+ selectable. It's like a grayed item in those fancy windows
+ menus. Let's put these concepts in practice with this
+ example</p>
+
+ <div class="EXAMPLE">
+ <a name="MMEAT" id="MMEAT"></a>
+
+ <p><b>Example 23. Menu Options example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;menu.h&gt;
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 4
+#define CTRLD 4
char *choices[] = {
"Choice 1",
"Choice 2",
"Choice 3",
"Choice 4",
- "Choice 5",
- "Choice 6",
- "Choice 7",
+ "Choice 5",
+ "Choice 6",
+ "Choice 7",
"Exit",
};
int main()
-{ ITEM **my_items;
- int c;
- MENU *my_menu;
+{ ITEM **my_items;
+ int c;
+ MENU *my_menu;
int n_choices, i;
- ITEM *cur_item;
-
- /* Initialize curses */
- initscr();
- start_color();
+ ITEM *cur_item;
+
+ /* Initialize curses */
+ initscr();
+ start_color();
cbreak();
noecho();
- keypad(stdscr, TRUE);
- init_pair(1, COLOR_RED, COLOR_BLACK);
- init_pair(2, COLOR_GREEN, COLOR_BLACK);
- init_pair(3, COLOR_MAGENTA, COLOR_BLACK);
+ keypad(stdscr, TRUE);
+ init_pair(1, COLOR_RED, COLOR_BLACK);
+ init_pair(2, COLOR_GREEN, COLOR_BLACK);
+ init_pair(3, COLOR_MAGENTA, COLOR_BLACK);
- /* Initialize items */
+ /* Initialize items */
n_choices = ARRAY_SIZE(choices);
my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
- for(i = 0; i &#60; n_choices; ++i)
+ for(i = 0; i &lt; n_choices; ++i)
my_items[i] = new_item(choices[i], choices[i]);
- my_items[n_choices] = (ITEM *)NULL;
- item_opts_off(my_items[3], O_SELECTABLE);
- item_opts_off(my_items[6], O_SELECTABLE);
-
- /* Create menu */
- my_menu = new_menu((ITEM **)my_items);
-
- /* Set fore ground and back ground of the menu */
- set_menu_fore(my_menu, COLOR_PAIR(1) | A_REVERSE);
- set_menu_back(my_menu, COLOR_PAIR(2));
- set_menu_grey(my_menu, COLOR_PAIR(3));
-
- /* Post the menu */
- mvprintw(LINES - 3, 0, "Press &#60;ENTER&#62; to see the option selected");
- mvprintw(LINES - 2, 0, "Up and Down arrow keys to naviage (F1 to Exit)");
- post_menu(my_menu);
- refresh();
-
- while((c = getch()) != KEY_F(1))
- { switch(c)
- { case KEY_DOWN:
- menu_driver(my_menu, REQ_DOWN_ITEM);
- break;
- case KEY_UP:
- menu_driver(my_menu, REQ_UP_ITEM);
- break;
- case 10: /* Enter */
- move(20, 0);
- clrtoeol();
- mvprintw(20, 0, "Item selected is : %s",
- item_name(current_item(my_menu)));
- pos_menu_cursor(my_menu);
- break;
- }
- }
- unpost_menu(my_menu);
- for(i = 0; i &#60; n_choices; ++i)
- free_item(my_items[i]);
- free_menu(my_menu);
- endwin();
+ my_items[n_choices] = (ITEM *)NULL;
+ item_opts_off(my_items[3], O_SELECTABLE);
+ item_opts_off(my_items[6], O_SELECTABLE);
+
+ /* Create menu */
+ my_menu = new_menu((ITEM **)my_items);
+
+ /* Set fore ground and back ground of the menu */
+ set_menu_fore(my_menu, COLOR_PAIR(1) | A_REVERSE);
+ set_menu_back(my_menu, COLOR_PAIR(2));
+ set_menu_grey(my_menu, COLOR_PAIR(3));
+
+ /* Post the menu */
+ mvprintw(LINES - 3, 0, "Press &lt;ENTER&gt; to see the option selected");
+ mvprintw(LINES - 2, 0, "Up and Down arrow keys to naviage (F1 to Exit)");
+ post_menu(my_menu);
+ refresh();
+
+ while((c = getch()) != KEY_F(1))
+ { switch(c)
+ { case KEY_DOWN:
+ menu_driver(my_menu, REQ_DOWN_ITEM);
+ break;
+ case KEY_UP:
+ menu_driver(my_menu, REQ_UP_ITEM);
+ break;
+ case 10: /* Enter */
+ move(20, 0);
+ clrtoeol();
+ mvprintw(20, 0, "Item selected is : %s",
+ item_name(current_item(my_menu)));
+ pos_menu_cursor(my_menu);
+ break;
+ }
+ }
+ unpost_menu(my_menu);
+ for(i = 0; i &lt; n_choices; ++i)
+ free_item(my_items[i]);
+ free_menu(my_menu);
+ endwin();
}
- </SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MENUUSERPTR"
->17.9. The useful User Pointer</A
-></H3
-><P
->We can associate a user pointer with each item in the menu. It works the same
-way as user pointer in panels. It's not touched by menu system. You can store
-any thing you like in that. I usually use it to store the function to be
-executed when the menu option is chosen (It's selected and may be the user
-pressed &lt;ENTER&gt;);</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="MMEUS"
-></A
-><P
-><B
->Example 24. Menu User Pointer Usage </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;curses.h&#62;
-#include &#60;menu.h&#62;
+ </span>
+</pre>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="MENUUSERPTR" id=
+ "MENUUSERPTR">17.9. The useful User Pointer</a></h3>
+
+ <p>We can associate a user pointer with each item in the
+ menu. It works the same way as user pointer in panels. It's
+ not touched by menu system. You can store any thing you
+ like in that. I usually use it to store the function to be
+ executed when the menu option is chosen (It's selected and
+ may be the user pressed &lt;ENTER&gt;);</p>
+
+ <div class="EXAMPLE">
+ <a name="MMEUS" id="MMEUS"></a>
+
+ <p><b>Example 24. Menu User Pointer Usage</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;curses.h&gt;
+#include &lt;menu.h&gt;
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
-#define CTRLD 4
+#define CTRLD 4
char *choices[] = {
"Choice 1",
"Choice 2",
"Choice 3",
"Choice 4",
- "Choice 5",
- "Choice 6",
- "Choice 7",
+ "Choice 5",
+ "Choice 6",
+ "Choice 7",
"Exit",
};
void func(char *name);
int main()
-{ ITEM **my_items;
- int c;
- MENU *my_menu;
+{ ITEM **my_items;
+ int c;
+ MENU *my_menu;
int n_choices, i;
- ITEM *cur_item;
-
- /* Initialize curses */
- initscr();
- start_color();
+ ITEM *cur_item;
+
+ /* Initialize curses */
+ initscr();
+ start_color();
cbreak();
noecho();
- keypad(stdscr, TRUE);
- init_pair(1, COLOR_RED, COLOR_BLACK);
- init_pair(2, COLOR_GREEN, COLOR_BLACK);
- init_pair(3, COLOR_MAGENTA, COLOR_BLACK);
+ keypad(stdscr, TRUE);
+ init_pair(1, COLOR_RED, COLOR_BLACK);
+ init_pair(2, COLOR_GREEN, COLOR_BLACK);
+ init_pair(3, COLOR_MAGENTA, COLOR_BLACK);
- /* Initialize items */
+ /* Initialize items */
n_choices = ARRAY_SIZE(choices);
my_items = (ITEM **)calloc(n_choices + 1, sizeof(ITEM *));
- for(i = 0; i &#60; n_choices; ++i)
- { my_items[i] = new_item(choices[i], choices[i]);
- /* Set the user pointer */
- set_item_userptr(my_items[i], func);
- }
- my_items[n_choices] = (ITEM *)NULL;
-
- /* Create menu */
- my_menu = new_menu((ITEM **)my_items);
-
- /* Post the menu */
- mvprintw(LINES - 3, 0, "Press &#60;ENTER&#62; to see the option selected");
- mvprintw(LINES - 2, 0, "Up and Down arrow keys to naviage (F1 to Exit)");
- post_menu(my_menu);
- refresh();
-
- while((c = getch()) != KEY_F(1))
- { switch(c)
- { case KEY_DOWN:
- menu_driver(my_menu, REQ_DOWN_ITEM);
- break;
- case KEY_UP:
- menu_driver(my_menu, REQ_UP_ITEM);
- break;
- case 10: /* Enter */
- { ITEM *cur;
- void (*p)(char *);
-
- cur = current_item(my_menu);
- p = item_userptr(cur);
- p((char *)item_name(cur));
- pos_menu_cursor(my_menu);
- break;
- }
- break;
- }
- }
- unpost_menu(my_menu);
- for(i = 0; i &#60; n_choices; ++i)
- free_item(my_items[i]);
- free_menu(my_menu);
- endwin();
+ for(i = 0; i &lt; n_choices; ++i)
+ { my_items[i] = new_item(choices[i], choices[i]);
+ /* Set the user pointer */
+ set_item_userptr(my_items[i], func);
+ }
+ my_items[n_choices] = (ITEM *)NULL;
+
+ /* Create menu */
+ my_menu = new_menu((ITEM **)my_items);
+
+ /* Post the menu */
+ mvprintw(LINES - 3, 0, "Press &lt;ENTER&gt; to see the option selected");
+ mvprintw(LINES - 2, 0, "Up and Down arrow keys to naviage (F1 to Exit)");
+ post_menu(my_menu);
+ refresh();
+
+ while((c = getch()) != KEY_F(1))
+ { switch(c)
+ { case KEY_DOWN:
+ menu_driver(my_menu, REQ_DOWN_ITEM);
+ break;
+ case KEY_UP:
+ menu_driver(my_menu, REQ_UP_ITEM);
+ break;
+ case 10: /* Enter */
+ { ITEM *cur;
+ void (*p)(char *);
+
+ cur = current_item(my_menu);
+ p = item_userptr(cur);
+ p((char *)item_name(cur));
+ pos_menu_cursor(my_menu);
+ break;
+ }
+ break;
+ }
+ }
+ unpost_menu(my_menu);
+ for(i = 0; i &lt; n_choices; ++i)
+ free_item(my_items[i]);
+ free_menu(my_menu);
+ endwin();
}
void func(char *name)
-{ move(20, 0);
- clrtoeol();
- mvprintw(20, 0, "Item selected is : %s", name);
-} </SPAN
-></PRE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="FORMS"
->18. Forms Library</A
-></H2
-><P
->Well. If you have seen those forms on web pages which take input from users and
-do various kinds of things, you might be wondering how would any one create such
-forms in text mode display. It's quite difficult to write those nifty forms in
-plain ncurses. Forms library tries to provide a basic frame work to build and
-maintain forms with ease. It has lot of features(functions) which manage
-validation, dynamic expansion of fields etc.. Let's see it in full flow.</P
-><P
->A form is a collection of fields; each field can be either a label(static text)
-or a data-entry location. The forms also library provides functions to divide
-forms into multiple pages. </P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="FORMBASICS"
->18.1. The Basics</A
-></H3
-><P
->Forms are created in much the same way as menus. First the fields related to the
-form are created with new_field(). You can set options for the fields, so that
-they can be displayed with some fancy attributes, validated before the field
-looses focus etc.. Then the fields are attached to form. After this, the form
-can be posted to display and is ready to receive inputs. On the similar lines to
-menu_driver(), the form is manipulated with form_driver(). We can send requests
-to form_driver to move focus to a certain field, move cursor to end of the field
-etc.. After the user enters values in the fields and validation done, form can
-be unposted and memory allocated can be freed.</P
-><P
->The general flow of control of a forms program looks like this.
-
-<P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Initialize curses</P
-></LI
-><LI
-><P
->Create fields using new_field(). You can specify the height and
-width of the field, and its position on the form.</P
-></LI
-><LI
-><P
->Create the forms with new_form() by specifying the fields to be
-attached with.</P
-></LI
-><LI
-><P
->Post the form with form_post() and refresh the screen.</P
-></LI
-><LI
-><P
->Process the user requests with a loop and do necessary updates
-to form with form_driver.</P
-></LI
-><LI
-><P
->Unpost the menu with form_unpost()</P
-></LI
-><LI
-><P
->Free the memory allocated to menu by free_form()</P
-></LI
-><LI
-><P
->Free the memory allocated to the items with free_field()</P
-></LI
-><LI
-><P
->End curses</P
-></LI
-></OL
-></P
-><P
->As you can see, working with forms library is much similar to handling menu
-library. The following examples will explore various aspects of form
-processing. Let's start the journey with a simple example. first.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="COMPILEFORMS"
->18.2. Compiling With the Forms Library</A
-></H3
-><P
->To use forms library functions, you have to include form.h and to link the
-program with forms library the flag -lform should be added along with -lncurses
-in that order.</P
-><PRE
-CLASS="PROGRAMLISTING"
-> #include &lt;form.h&gt;
+{ move(20, 0);
+ clrtoeol();
+ mvprintw(20, 0, "Item selected is : %s", name);
+} </span>
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="FORMS" id="FORMS">18. Forms
+ Library</a></h2>
+
+ <p>Well. If you have seen those forms on web pages which take
+ input from users and do various kinds of things, you might be
+ wondering how would any one create such forms in text mode
+ display. It's quite difficult to write those nifty forms in
+ plain ncurses. Forms library tries to provide a basic frame
+ work to build and maintain forms with ease. It has lot of
+ features(functions) which manage validation, dynamic
+ expansion of fields etc.. Let's see it in full flow.</p>
+
+ <p>A form is a collection of fields; each field can be either
+ a label(static text) or a data-entry location. The forms also
+ library provides functions to divide forms into multiple
+ pages.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="FORMBASICS" id=
+ "FORMBASICS">18.1. The Basics</a></h3>
+
+ <p>Forms are created in much the same way as menus. First
+ the fields related to the form are created with
+ new_field(). You can set options for the fields, so that
+ they can be displayed with some fancy attributes, validated
+ before the field looses focus etc.. Then the fields are
+ attached to form. After this, the form can be posted to
+ display and is ready to receive inputs. On the similar
+ lines to menu_driver(), the form is manipulated with
+ form_driver(). We can send requests to form_driver to move
+ focus to a certain field, move cursor to end of the field
+ etc.. After the user enters values in the fields and
+ validation done, form can be unposted and memory allocated
+ can be freed.</p>
+
+ <p>The general flow of control of a forms program looks
+ like this.</p>
+
+ <ol type="1">
+ <li>
+ <p>Initialize curses</p>
+ </li>
+
+ <li>
+ <p>Create fields using new_field(). You can specify the
+ height and width of the field, and its position on the
+ form.</p>
+ </li>
+
+ <li>
+ <p>Create the forms with new_form() by specifying the
+ fields to be attached with.</p>
+ </li>
+
+ <li>
+ <p>Post the form with form_post() and refresh the
+ screen.</p>
+ </li>
+
+ <li>
+ <p>Process the user requests with a loop and do
+ necessary updates to form with form_driver.</p>
+ </li>
+
+ <li>
+ <p>Unpost the menu with form_unpost()</p>
+ </li>
+
+ <li>
+ <p>Free the memory allocated to menu by free_form()</p>
+ </li>
+
+ <li>
+ <p>Free the memory allocated to the items with
+ free_field()</p>
+ </li>
+
+ <li>
+ <p>End curses</p>
+ </li>
+ </ol>
+
+ <p>As you can see, working with forms library is much
+ similar to handling menu library. The following examples
+ will explore various aspects of form processing. Let's
+ start the journey with a simple example. first.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="COMPILEFORMS" id=
+ "COMPILEFORMS">18.2. Compiling With the Forms
+ Library</a></h3>
+
+ <p>To use forms library functions, you have to include
+ form.h and to link the program with forms library the flag
+ -lform should be added along with -lncurses in that
+ order.</p>
+ <pre class="PROGRAMLISTING">
+ #include &lt;form.h&gt;
.
.
.
- compile and link: gcc &lt;program file&gt; -lform -lncurses</PRE
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="FFOSI"
-></A
-><P
-><B
->Example 25. Forms Basics </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;form.h&#62;
+ compile and link: gcc &lt;program file&gt; -lform -lncurses
+</pre>
+
+ <div class="EXAMPLE">
+ <a name="FFOSI" id="FFOSI"></a>
+
+ <p><b>Example 25. Forms Basics</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;form.h&gt;
int main()
-{ FIELD *field[3];
- FORM *my_form;
- int ch;
-
- /* Initialize curses */
- initscr();
- cbreak();
- noecho();
- keypad(stdscr, TRUE);
-
- /* Initialize the fields */
- field[0] = new_field(1, 10, 4, 18, 0, 0);
- field[1] = new_field(1, 10, 6, 18, 0, 0);
- field[2] = NULL;
-
- /* Set field options */
- set_field_back(field[0], A_UNDERLINE); /* Print a line for the option */
- field_opts_off(field[0], O_AUTOSKIP); /* Don't go to next field when this */
- /* Field is filled up */
- set_field_back(field[1], A_UNDERLINE);
- field_opts_off(field[1], O_AUTOSKIP);
-
- /* Create the form and post it */
- my_form = new_form(field);
- post_form(my_form);
- refresh();
-
- mvprintw(4, 10, "Value 1:");
- mvprintw(6, 10, "Value 2:");
- refresh();
-
- /* Loop through to get user requests */
- while((ch = getch()) != KEY_F(1))
- { switch(ch)
- { case KEY_DOWN:
- /* Go to next field */
- form_driver(my_form, REQ_NEXT_FIELD);
- /* Go to the end of the present buffer */
- /* Leaves nicely at the last character */
- form_driver(my_form, REQ_END_LINE);
- break;
- case KEY_UP:
- /* Go to previous field */
- form_driver(my_form, REQ_PREV_FIELD);
- form_driver(my_form, REQ_END_LINE);
- break;
- default:
- /* If this is a normal character, it gets */
- /* Printed */
- form_driver(my_form, ch);
- break;
- }
- }
-
- /* Un post form and free the memory */
- unpost_form(my_form);
- free_form(my_form);
- free_field(field[0]);
- free_field(field[1]);
-
- endwin();
- return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->Above example is pretty straight forward. It creates two fields with
-<TT
-CLASS="LITERAL"
->new_field()</TT
->. new_field() takes height, width,
-starty, startx, number of offscreen rows and number of additional working
-buffers. The fifth argument number of offscreen rows specifies how much of the
-field to be shown. If it is zero, the entire field is always displayed otherwise
-the form will be scrollable when the user accesses not displayed parts of the
-field. The forms library allocates one buffer per field to store the data user
-enters. Using the last parameter to new_field() we can specify it to allocate
-some additional buffers. These can be used for any purpose you like.</P
-><P
->After creating the fields, back ground attribute of both of them is set to an
-underscore with set_field_back(). The AUTOSKIP option is turned off using
-field_opts_off(). If this option is turned on, focus will move to the next
-field in the form once the active field is filled up completely.</P
-><P
->After attaching the fields to the form, it is posted. Here on, user inputs are
-processed in the while loop, by making corresponding requests to form_driver.
-The details of all the requests to the form_driver() are explained later.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PLAYFIELDS"
->18.3. Playing with Fields</A
-></H3
-><P
->Each form field is associated with a lot of attributes. They can be manipulated
-to get the required effect and to have fun !!!. So why wait? </P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="FETCHINFO"
->18.3.1. Fetching Size and Location of Field</A
-></H4
-><P
->The parameters we have given at the time of creation of a field can be retrieved
-with field_info(). It returns height, width, starty, startx, number of offscreen
-rows, and number of additional buffers into the parameters given to it. It is a
-sort of inverse of new_field().</P
-><PRE
-CLASS="PROGRAMLISTING"
->int field_info( FIELD *field, /* field from which to fetch */
+{ FIELD *field[3];
+ FORM *my_form;
+ int ch;
+
+ /* Initialize curses */
+ initscr();
+ cbreak();
+ noecho();
+ keypad(stdscr, TRUE);
+
+ /* Initialize the fields */
+ field[0] = new_field(1, 10, 4, 18, 0, 0);
+ field[1] = new_field(1, 10, 6, 18, 0, 0);
+ field[2] = NULL;
+
+ /* Set field options */
+ set_field_back(field[0], A_UNDERLINE); /* Print a line for the option */
+ field_opts_off(field[0], O_AUTOSKIP); /* Don't go to next field when this */
+ /* Field is filled up */
+ set_field_back(field[1], A_UNDERLINE);
+ field_opts_off(field[1], O_AUTOSKIP);
+
+ /* Create the form and post it */
+ my_form = new_form(field);
+ post_form(my_form);
+ refresh();
+
+ mvprintw(4, 10, "Value 1:");
+ mvprintw(6, 10, "Value 2:");
+ refresh();
+
+ /* Loop through to get user requests */
+ while((ch = getch()) != KEY_F(1))
+ { switch(ch)
+ { case KEY_DOWN:
+ /* Go to next field */
+ form_driver(my_form, REQ_NEXT_FIELD);
+ /* Go to the end of the present buffer */
+ /* Leaves nicely at the last character */
+ form_driver(my_form, REQ_END_LINE);
+ break;
+ case KEY_UP:
+ /* Go to previous field */
+ form_driver(my_form, REQ_PREV_FIELD);
+ form_driver(my_form, REQ_END_LINE);
+ break;
+ default:
+ /* If this is a normal character, it gets */
+ /* Printed */
+ form_driver(my_form, ch);
+ break;
+ }
+ }
+
+ /* Un post form and free the memory */
+ unpost_form(my_form);
+ free_form(my_form);
+ free_field(field[0]);
+ free_field(field[1]);
+
+ endwin();
+ return 0;
+}</span>
+</pre>
+ </div>
+
+ <p>Above example is pretty straight forward. It creates two
+ fields with <tt class="LITERAL">new_field()</tt>.
+ new_field() takes height, width, starty, startx, number of
+ offscreen rows and number of additional working buffers.
+ The fifth argument number of offscreen rows specifies how
+ much of the field to be shown. If it is zero, the entire
+ field is always displayed otherwise the form will be
+ scrollable when the user accesses not displayed parts of
+ the field. The forms library allocates one buffer per field
+ to store the data user enters. Using the last parameter to
+ new_field() we can specify it to allocate some additional
+ buffers. These can be used for any purpose you like.</p>
+
+ <p>After creating the fields, back ground attribute of both
+ of them is set to an underscore with set_field_back(). The
+ AUTOSKIP option is turned off using field_opts_off(). If
+ this option is turned on, focus will move to the next field
+ in the form once the active field is filled up
+ completely.</p>
+
+ <p>After attaching the fields to the form, it is posted.
+ Here on, user inputs are processed in the while loop, by
+ making corresponding requests to form_driver. The details
+ of all the requests to the form_driver() are explained
+ later.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="PLAYFIELDS" id=
+ "PLAYFIELDS">18.3. Playing with Fields</a></h3>
+
+ <p>Each form field is associated with a lot of attributes.
+ They can be manipulated to get the required effect and to
+ have fun !!!. So why wait?</p>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="FETCHINFO" id=
+ "FETCHINFO">18.3.1. Fetching Size and Location of
+ Field</a></h4>
+
+ <p>The parameters we have given at the time of creation
+ of a field can be retrieved with field_info(). It returns
+ height, width, starty, startx, number of offscreen rows,
+ and number of additional buffers into the parameters
+ given to it. It is a sort of inverse of new_field().</p>
+ <pre class="PROGRAMLISTING">
+int field_info( FIELD *field, /* field from which to fetch */
int *height, *int width, /* field size */
int *top, int *left, /* upper left corner */
int *offscreen, /* number of offscreen rows */
- int *nbuf); /* number of working buffers */</PRE
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="MOVEFIELD"
->18.3.2. Moving the field</A
-></H4
-><P
->The location of the field can be moved to a different position with
-move_field().</P
-><PRE
-CLASS="PROGRAMLISTING"
->int move_field( FIELD *field, /* field to alter */
- int top, int left); /* new upper-left corner */</PRE
-><P
->As usual, the changed position can be queried with field_infor().</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="JUSTIFYFIELD"
->18.3.3. Field Justification</A
-></H4
-><P
->The justification to be done for the field can be fixed using the function
-set_field_just().</P
-><PRE
-CLASS="PROGRAMLISTING"
-> int set_field_just(FIELD *field, /* field to alter */
+ int *nbuf); /* number of working buffers */
+</pre>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="MOVEFIELD" id=
+ "MOVEFIELD">18.3.2. Moving the field</a></h4>
+
+ <p>The location of the field can be moved to a different
+ position with move_field().</p>
+ <pre class="PROGRAMLISTING">
+int move_field( FIELD *field, /* field to alter */
+ int top, int left); /* new upper-left corner */
+</pre>
+
+ <p>As usual, the changed position can be queried with
+ field_infor().</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="JUSTIFYFIELD" id=
+ "JUSTIFYFIELD">18.3.3. Field Justification</a></h4>
+
+ <p>The justification to be done for the field can be
+ fixed using the function set_field_just().</p>
+ <pre class="PROGRAMLISTING">
+ int set_field_just(FIELD *field, /* field to alter */
int justmode); /* mode to set */
- int field_just(FIELD *field); /* fetch justify mode of field */</PRE
-><P
->The justification mode valued accepted and returned by these functions are
-NO_JUSTIFICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="FIELDDISPATTRIB"
->18.3.4. Field Display Attributes</A
-></H4
-><P
->As you have seen, in the above example, display attribute for the fields can be
-set with set_field_fore() and setfield_back(). These functions set foreground
-and background attribute of the fields. You can also specify a pad character
-which will be filled in the unfilled portion of the field. The pad character is
-set with a call to set_field_pad(). Default pad value is a space. The functions
-field_fore(), field_back, field_pad() can be used to query the present
-foreground, background attributes and pad character for the field. The following
-list gives the usage of functions.</P
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;int set_field_fore(FIELD *field, /* field to alter */
+ int field_just(FIELD *field); /* fetch justify mode of field */
+</pre>
+
+ <p>The justification mode valued accepted and returned by
+ these functions are NO_JUSTIFICATION, JUSTIFY_RIGHT,
+ JUSTIFY_LEFT, or JUSTIFY_CENTER.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="FIELDDISPATTRIB" id=
+ "FIELDDISPATTRIB">18.3.4. Field Display
+ Attributes</a></h4>
+
+ <p>As you have seen, in the above example, display
+ attribute for the fields can be set with set_field_fore()
+ and setfield_back(). These functions set foreground and
+ background attribute of the fields. You can also specify
+ a pad character which will be filled in the unfilled
+ portion of the field. The pad character is set with a
+ call to set_field_pad(). Default pad value is a space.
+ The functions field_fore(), field_back, field_pad() can
+ be used to query the present foreground, background
+ attributes and pad character for the field. The following
+ list gives the usage of functions.</p>
+ <pre class="PROGRAMLISTING">
+&#13;int set_field_fore(FIELD *field, /* field to alter */
chtype attr); /* attribute to set */
chtype field_fore(FIELD *field); /* field to query */
@@ -6591,127 +5625,124 @@ int set_field_pad(FIELD *field, /* field to alter */
int pad); /* pad character to set */
chtype field_pad(FIELD *field); /* field to query */
- /* returns present pad character */&#13;</PRE
-><P
->Though above functions seem quite simple, using colors with set_field_fore() may
-be frustrating in the beginning. Let me first explain about foreground and
-background attributes of a field. The foreground attribute is associated with
-the character. That means a character in the field is printed with the attribute
-you have set with set_field_fore(). Background attribute is the attribute used
-to fill background of field, whether any character is there or not. So what
-about colors? Since colors are always defined in pairs, what is the right way to
-display colored fields? Here's an example clarifying color attributes.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="FFOAT"
-></A
-><P
-><B
->Example 26. Form Attributes example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;form.h&#62;
+ /* returns present pad character */&#13;
+</pre>
+
+ <p>Though above functions seem quite simple, using colors
+ with set_field_fore() may be frustrating in the
+ beginning. Let me first explain about foreground and
+ background attributes of a field. The foreground
+ attribute is associated with the character. That means a
+ character in the field is printed with the attribute you
+ have set with set_field_fore(). Background attribute is
+ the attribute used to fill background of field, whether
+ any character is there or not. So what about colors?
+ Since colors are always defined in pairs, what is the
+ right way to display colored fields? Here's an example
+ clarifying color attributes.</p>
+
+ <div class="EXAMPLE">
+ <a name="FFOAT" id="FFOAT"></a>
+
+ <p><b>Example 26. Form Attributes example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;form.h&gt;
int main()
-{ FIELD *field[3];
- FORM *my_form;
- int ch;
-
- /* Initialize curses */
- initscr();
- start_color();
- cbreak();
- noecho();
- keypad(stdscr, TRUE);
-
- /* Initialize few color pairs */
- init_pair(1, COLOR_WHITE, COLOR_BLUE);
- init_pair(2, COLOR_WHITE, COLOR_BLUE);
-
- /* Initialize the fields */
- field[0] = new_field(1, 10, 4, 18, 0, 0);
- field[1] = new_field(1, 10, 6, 18, 0, 0);
- field[2] = NULL;
-
- /* Set field options */
- set_field_fore(field[0], COLOR_PAIR(1));/* Put the field with blue background */
- set_field_back(field[0], COLOR_PAIR(2));/* and white foreground (characters */
- /* are printed in white */
- field_opts_off(field[0], O_AUTOSKIP); /* Don't go to next field when this */
- /* Field is filled up */
- set_field_back(field[1], A_UNDERLINE);
- field_opts_off(field[1], O_AUTOSKIP);
-
- /* Create the form and post it */
- my_form = new_form(field);
- post_form(my_form);
- refresh();
-
- set_current_field(my_form, field[0]); /* Set focus to the colored field */
- mvprintw(4, 10, "Value 1:");
- mvprintw(6, 10, "Value 2:");
- mvprintw(LINES - 2, 0, "Use UP, DOWN arrow keys to switch between fields");
- refresh();
-
- /* Loop through to get user requests */
- while((ch = getch()) != KEY_F(1))
- { switch(ch)
- { case KEY_DOWN:
- /* Go to next field */
- form_driver(my_form, REQ_NEXT_FIELD);
- /* Go to the end of the present buffer */
- /* Leaves nicely at the last character */
- form_driver(my_form, REQ_END_LINE);
- break;
- case KEY_UP:
- /* Go to previous field */
- form_driver(my_form, REQ_PREV_FIELD);
- form_driver(my_form, REQ_END_LINE);
- break;
- default:
- /* If this is a normal character, it gets */
- /* Printed */
- form_driver(my_form, ch);
- break;
- }
- }
-
- /* Un post form and free the memory */
- unpost_form(my_form);
- free_form(my_form);
- free_field(field[0]);
- free_field(field[1]);
-
- endwin();
- return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->Play with the color pairs and try to understand the foreground and background
-attributes. In my programs using color attributes, I usually set only the
-background with set_field_back(). Curses simply doesn't allow defining
-individual color attributes. </P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="FIELDOPTIONBITS"
->18.3.5. Field Option Bits</A
-></H4
-><P
->There is also a large collection of field option bits you can set to control
-various aspects of forms processing. You can manipulate them with these
-functions:</P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_opts(FIELD *field, /* field to alter */
+{ FIELD *field[3];
+ FORM *my_form;
+ int ch;
+
+ /* Initialize curses */
+ initscr();
+ start_color();
+ cbreak();
+ noecho();
+ keypad(stdscr, TRUE);
+
+ /* Initialize few color pairs */
+ init_pair(1, COLOR_WHITE, COLOR_BLUE);
+ init_pair(2, COLOR_WHITE, COLOR_BLUE);
+
+ /* Initialize the fields */
+ field[0] = new_field(1, 10, 4, 18, 0, 0);
+ field[1] = new_field(1, 10, 6, 18, 0, 0);
+ field[2] = NULL;
+
+ /* Set field options */
+ set_field_fore(field[0], COLOR_PAIR(1));/* Put the field with blue background */
+ set_field_back(field[0], COLOR_PAIR(2));/* and white foreground (characters */
+ /* are printed in white */
+ field_opts_off(field[0], O_AUTOSKIP); /* Don't go to next field when this */
+ /* Field is filled up */
+ set_field_back(field[1], A_UNDERLINE);
+ field_opts_off(field[1], O_AUTOSKIP);
+
+ /* Create the form and post it */
+ my_form = new_form(field);
+ post_form(my_form);
+ refresh();
+
+ set_current_field(my_form, field[0]); /* Set focus to the colored field */
+ mvprintw(4, 10, "Value 1:");
+ mvprintw(6, 10, "Value 2:");
+ mvprintw(LINES - 2, 0, "Use UP, DOWN arrow keys to switch between fields");
+ refresh();
+
+ /* Loop through to get user requests */
+ while((ch = getch()) != KEY_F(1))
+ { switch(ch)
+ { case KEY_DOWN:
+ /* Go to next field */
+ form_driver(my_form, REQ_NEXT_FIELD);
+ /* Go to the end of the present buffer */
+ /* Leaves nicely at the last character */
+ form_driver(my_form, REQ_END_LINE);
+ break;
+ case KEY_UP:
+ /* Go to previous field */
+ form_driver(my_form, REQ_PREV_FIELD);
+ form_driver(my_form, REQ_END_LINE);
+ break;
+ default:
+ /* If this is a normal character, it gets */
+ /* Printed */
+ form_driver(my_form, ch);
+ break;
+ }
+ }
+
+ /* Un post form and free the memory */
+ unpost_form(my_form);
+ free_form(my_form);
+ free_field(field[0]);
+ free_field(field[1]);
+
+ endwin();
+ return 0;
+}</span>
+</pre>
+ </div>
+
+ <p>Play with the color pairs and try to understand the
+ foreground and background attributes. In my programs
+ using color attributes, I usually set only the background
+ with set_field_back(). Curses simply doesn't allow
+ defining individual color attributes.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="FIELDOPTIONBITS" id=
+ "FIELDOPTIONBITS">18.3.5. Field Option Bits</a></h4>
+
+ <p>There is also a large collection of field option bits
+ you can set to control various aspects of forms
+ processing. You can manipulate them with these
+ functions:</p>
+ <pre class="PROGRAMLISTING">
+int set_field_opts(FIELD *field, /* field to alter */
int attr); /* attribute to set */
int field_opts_on(FIELD *field, /* field to alter */
@@ -6720,134 +5751,140 @@ int field_opts_on(FIELD *field, /* field to alter */
int field_opts_off(FIELD *field, /* field to alter */
int attr); /* attributes to turn off */
-int field_opts(FIELD *field); /* field to query */ </PRE
-><P
->The function set_field_opts() can be used to directly set attributes of a field
-or you can choose to switch a few attributes on and off with field_opts_on() and
-field_opts_off() selectively. Anytime you can query the attributes of a field
-with field_opts(). The following is the list of available options. By default,
-all options are on.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->O_VISIBLE</DT
-><DD
-><P
->Controls whether the field is visible on the screen. Can be used
-during form processing to hide or pop up fields depending on the value
-of parent fields.</P
-></DD
-><DT
->O_ACTIVE</DT
-><DD
-><P
->Controls whether the field is active during forms processing (i.e.
-visited by form navigation keys). Can be used to make labels or derived
-fields with buffer values alterable by the forms application, not the user.</P
-></DD
-><DT
->O_PUBLIC</DT
-><DD
-><P
->Controls whether data is displayed during field entry. If this option is
-turned off on a field, the library will accept and edit data in that field,
-but it will not be displayed and the visible field cursor will not move.
-You can turn off the O_PUBLIC bit to define password fields.</P
-></DD
-><DT
->O_EDIT</DT
-><DD
-><P
->Controls whether the field's data can be modified. When this option is
-off, all editing requests except <TT
-CLASS="LITERAL"
->REQ_PREV_CHOICE</TT
-> and <TT
-CLASS="LITERAL"
->REQ_NEXT_CHOICE</TT
->will
-fail. Such read-only fields may be useful for help messages.</P
-></DD
-><DT
->O_WRAP</DT
-><DD
-><P
->Controls word-wrapping in multi-line fields. Normally, when any
-character of a (blank-separated) word reaches the end of the current line, the
-entire word is wrapped to the next line (assuming there is one). When this
-option is off, the word will be split across the line break.</P
-></DD
-><DT
->O_BLANK</DT
-><DD
-><P
->Controls field blanking. When this option is on, entering a character at
-the first field position erases the entire field (except for the just-entered
-character).</P
-></DD
-><DT
->O_AUTOSKIP</DT
-><DD
-><P
->Controls automatic skip to next field when this one fills. Normally,
-when the forms user tries to type more data into a field than will fit,
-the editing location jumps to next field. When this option is off, the
-user's cursor will hang at the end of the field. This option is ignored
-in dynamic fields that have not reached their size limit.</P
-></DD
-><DT
->O_NULLOK</DT
-><DD
-><P
->Controls whether validation is applied to
-blank fields. Normally, it is not; the user can leave a field blank
-without invoking the usual validation check on exit. If this option is
-off on a field, exit from it will invoke a validation check.</P
-></DD
-><DT
->O_PASSOK</DT
-><DD
-><P
->Controls whether validation occurs on every exit, or only after
-the field is modified. Normally the latter is true. Setting O_PASSOK
-may be useful if your field's validation function may change during
-forms processing.</P
-></DD
-><DT
->O_STATIC</DT
-><DD
-><P
->Controls whether the field is fixed to its initial dimensions. If you
-turn this off, the field becomes dynamic and will
-stretch to fit entered data.</P
-></DD
-></DL
-></DIV
-><P
->A field's options cannot be changed while the field is currently selected.
-However, options may be changed on posted fields that are not current. </P
-><P
->The option values are bit-masks and can be composed with logical-or in
-the obvious way. You have seen the usage of switching off O_AUTOSKIP option.
-The following example clarifies usage of some more options. Other options
-are explained where appropriate.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="FFOOP"
-></A
-><P
-><B
->Example 27. Field Options Usage example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;form.h&#62;
+int field_opts(FIELD *field); /* field to query */
+</pre>
+
+ <p>The function set_field_opts() can be used to directly
+ set attributes of a field or you can choose to switch a
+ few attributes on and off with field_opts_on() and
+ field_opts_off() selectively. Anytime you can query the
+ attributes of a field with field_opts(). The following is
+ the list of available options. By default, all options
+ are on.</p>
+
+ <div class="VARIABLELIST">
+ <dl>
+ <dt>O_VISIBLE</dt>
+
+ <dd>
+ <p>Controls whether the field is visible on the
+ screen. Can be used during form processing to hide
+ or pop up fields depending on the value of parent
+ fields.</p>
+ </dd>
+
+ <dt>O_ACTIVE</dt>
+
+ <dd>
+ <p>Controls whether the field is active during
+ forms processing (i.e. visited by form navigation
+ keys). Can be used to make labels or derived fields
+ with buffer values alterable by the forms
+ application, not the user.</p>
+ </dd>
+
+ <dt>O_PUBLIC</dt>
+
+ <dd>
+ <p>Controls whether data is displayed during field
+ entry. If this option is turned off on a field, the
+ library will accept and edit data in that field,
+ but it will not be displayed and the visible field
+ cursor will not move. You can turn off the O_PUBLIC
+ bit to define password fields.</p>
+ </dd>
+
+ <dt>O_EDIT</dt>
+
+ <dd>
+ <p>Controls whether the field's data can be
+ modified. When this option is off, all editing
+ requests except <tt class=
+ "LITERAL">REQ_PREV_CHOICE</tt> and <tt class=
+ "LITERAL">REQ_NEXT_CHOICE</tt>will fail. Such
+ read-only fields may be useful for help
+ messages.</p>
+ </dd>
+
+ <dt>O_WRAP</dt>
+
+ <dd>
+ <p>Controls word-wrapping in multi-line fields.
+ Normally, when any character of a (blank-separated)
+ word reaches the end of the current line, the
+ entire word is wrapped to the next line (assuming
+ there is one). When this option is off, the word
+ will be split across the line break.</p>
+ </dd>
+
+ <dt>O_BLANK</dt>
+
+ <dd>
+ <p>Controls field blanking. When this option is on,
+ entering a character at the first field position
+ erases the entire field (except for the
+ just-entered character).</p>
+ </dd>
+
+ <dt>O_AUTOSKIP</dt>
+
+ <dd>
+ <p>Controls automatic skip to next field when this
+ one fills. Normally, when the forms user tries to
+ type more data into a field than will fit, the
+ editing location jumps to next field. When this
+ option is off, the user's cursor will hang at the
+ end of the field. This option is ignored in dynamic
+ fields that have not reached their size limit.</p>
+ </dd>
+
+ <dt>O_NULLOK</dt>
+
+ <dd>
+ <p>Controls whether validation is applied to blank
+ fields. Normally, it is not; the user can leave a
+ field blank without invoking the usual validation
+ check on exit. If this option is off on a field,
+ exit from it will invoke a validation check.</p>
+ </dd>
+
+ <dt>O_PASSOK</dt>
+
+ <dd>
+ <p>Controls whether validation occurs on every
+ exit, or only after the field is modified. Normally
+ the latter is true. Setting O_PASSOK may be useful
+ if your field's validation function may change
+ during forms processing.</p>
+ </dd>
+
+ <dt>O_STATIC</dt>
+
+ <dd>
+ <p>Controls whether the field is fixed to its
+ initial dimensions. If you turn this off, the field
+ becomes dynamic and will stretch to fit entered
+ data.</p>
+ </dd>
+ </dl>
+ </div>
+
+ <p>A field's options cannot be changed while the field is
+ currently selected. However, options may be changed on
+ posted fields that are not current.</p>
+
+ <p>The option values are bit-masks and can be composed
+ with logical-or in the obvious way. You have seen the
+ usage of switching off O_AUTOSKIP option. The following
+ example clarifies usage of some more options. Other
+ options are explained where appropriate.</p>
+
+ <div class="EXAMPLE">
+ <a name="FFOOP" id="FFOOP"></a>
+
+ <p><b>Example 27. Field Options Usage example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;form.h&gt;
#define STARTX 15
#define STARTY 4
@@ -6856,1476 +5893,1204 @@ CLASS="INLINEMEDIAOBJECT"
#define N_FIELDS 3
int main()
-{ FIELD *field[N_FIELDS];
- FORM *my_form;
- int ch, i;
-
- /* Initialize curses */
- initscr();
- cbreak();
- noecho();
- keypad(stdscr, TRUE);
-
- /* Initialize the fields */
- for(i = 0; i &#60; N_FIELDS - 1; ++i)
- field[i] = new_field(1, WIDTH, STARTY + i * 2, STARTX, 0, 0);
- field[N_FIELDS - 1] = NULL;
-
- /* Set field options */
- set_field_back(field[1], A_UNDERLINE); /* Print a line for the option */
-
- field_opts_off(field[0], O_ACTIVE); /* This field is a static label */
- field_opts_off(field[1], O_PUBLIC); /* This filed is like a password field*/
- field_opts_off(field[1], O_AUTOSKIP); /* To avoid entering the same field */
- /* after last character is entered */
-
- /* Create the form and post it */
- my_form = new_form(field);
- post_form(my_form);
- refresh();
-
- set_field_just(field[0], JUSTIFY_CENTER); /* Center Justification */
- set_field_buffer(field[0], 0, "This is a static Field");
- /* Initialize the field */
- mvprintw(STARTY, STARTX - 10, "Field 1:");
- mvprintw(STARTY + 2, STARTX - 10, "Field 2:");
- refresh();
-
- /* Loop through to get user requests */
- while((ch = getch()) != KEY_F(1))
- { switch(ch)
- { case KEY_DOWN:
- /* Go to next field */
- form_driver(my_form, REQ_NEXT_FIELD);
- /* Go to the end of the present buffer */
- /* Leaves nicely at the last character */
- form_driver(my_form, REQ_END_LINE);
- break;
- case KEY_UP:
- /* Go to previous field */
- form_driver(my_form, REQ_PREV_FIELD);
- form_driver(my_form, REQ_END_LINE);
- break;
- default:
- /* If this is a normal character, it gets */
- /* Printed */
- form_driver(my_form, ch);
- break;
- }
- }
-
- /* Un post form and free the memory */
- unpost_form(my_form);
- free_form(my_form);
- free_field(field[0]);
- free_field(field[1]);
-
- endwin();
- return 0;
-}</SPAN
-></PRE
-></DIV
-><P
->This example, though useless, shows the usage of options. If used properly, they
-can present information very effectively in a form. The second field being not
-O_PUBLIC, does not show the characters you are typing.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="FIELDSTATUS"
->18.3.6. Field Status</A
-></H4
-><P
->The field status specifies whether the field has got edited or not. It is
-initially set to FALSE and when user enters something and the data buffer gets
-modified it becomes TRUE. So a field's status can be queried to find out whether
-it has been modified or not. The following functions can assist in those
-operations.</P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_status(FIELD *field, /* field to alter */
+{ FIELD *field[N_FIELDS];
+ FORM *my_form;
+ int ch, i;
+
+ /* Initialize curses */
+ initscr();
+ cbreak();
+ noecho();
+ keypad(stdscr, TRUE);
+
+ /* Initialize the fields */
+ for(i = 0; i &lt; N_FIELDS - 1; ++i)
+ field[i] = new_field(1, WIDTH, STARTY + i * 2, STARTX, 0, 0);
+ field[N_FIELDS - 1] = NULL;
+
+ /* Set field options */
+ set_field_back(field[1], A_UNDERLINE); /* Print a line for the option */
+
+ field_opts_off(field[0], O_ACTIVE); /* This field is a static label */
+ field_opts_off(field[1], O_PUBLIC); /* This filed is like a password field*/
+ field_opts_off(field[1], O_AUTOSKIP); /* To avoid entering the same field */
+ /* after last character is entered */
+
+ /* Create the form and post it */
+ my_form = new_form(field);
+ post_form(my_form);
+ refresh();
+
+ set_field_just(field[0], JUSTIFY_CENTER); /* Center Justification */
+ set_field_buffer(field[0], 0, "This is a static Field");
+ /* Initialize the field */
+ mvprintw(STARTY, STARTX - 10, "Field 1:");
+ mvprintw(STARTY + 2, STARTX - 10, "Field 2:");
+ refresh();
+
+ /* Loop through to get user requests */
+ while((ch = getch()) != KEY_F(1))
+ { switch(ch)
+ { case KEY_DOWN:
+ /* Go to next field */
+ form_driver(my_form, REQ_NEXT_FIELD);
+ /* Go to the end of the present buffer */
+ /* Leaves nicely at the last character */
+ form_driver(my_form, REQ_END_LINE);
+ break;
+ case KEY_UP:
+ /* Go to previous field */
+ form_driver(my_form, REQ_PREV_FIELD);
+ form_driver(my_form, REQ_END_LINE);
+ break;
+ default:
+ /* If this is a normal character, it gets */
+ /* Printed */
+ form_driver(my_form, ch);
+ break;
+ }
+ }
+
+ /* Un post form and free the memory */
+ unpost_form(my_form);
+ free_form(my_form);
+ free_field(field[0]);
+ free_field(field[1]);
+
+ endwin();
+ return 0;
+}</span>
+</pre>
+ </div>
+
+ <p>This example, though useless, shows the usage of
+ options. If used properly, they can present information
+ very effectively in a form. The second field being not
+ O_PUBLIC, does not show the characters you are
+ typing.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="FIELDSTATUS" id=
+ "FIELDSTATUS">18.3.6. Field Status</a></h4>
+
+ <p>The field status specifies whether the field has got
+ edited or not. It is initially set to FALSE and when user
+ enters something and the data buffer gets modified it
+ becomes TRUE. So a field's status can be queried to find
+ out whether it has been modified or not. The following
+ functions can assist in those operations.</p>
+ <pre class="PROGRAMLISTING">
+int set_field_status(FIELD *field, /* field to alter */
int status); /* status to set */
-int field_status(FIELD *field); /* fetch status of field */</PRE
-><P
->It's better to check the field's status only after after leaving the field, as
-data buffer might not have been updated yet as the validation is still due. To
-guarantee that right status is returned, call field_status() either (1) in the
-field's exit validation check routine, (2) from the field's or form's
-initialization or termination hooks, or (3) just after a REQ_VALIDATION request
-has been processed by the forms driver</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="FIELDUSERPTR"
->18.3.7. Field User Pointer</A
-></H4
-><P
->Every field structure contains one pointer that can be used by the user for
-various purposes. It is not touched by forms library and can be used for any
-purpose by the user. The following functions set and fetch user pointer.</P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_userptr(FIELD *field,
+int field_status(FIELD *field); /* fetch status of field */
+</pre>
+
+ <p>It's better to check the field's status only after
+ after leaving the field, as data buffer might not have
+ been updated yet as the validation is still due. To
+ guarantee that right status is returned, call
+ field_status() either (1) in the field's exit validation
+ check routine, (2) from the field's or form's
+ initialization or termination hooks, or (3) just after a
+ REQ_VALIDATION request has been processed by the forms
+ driver</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="FIELDUSERPTR" id=
+ "FIELDUSERPTR">18.3.7. Field User Pointer</a></h4>
+
+ <p>Every field structure contains one pointer that can be
+ used by the user for various purposes. It is not touched
+ by forms library and can be used for any purpose by the
+ user. The following functions set and fetch user
+ pointer.</p>
+ <pre class="PROGRAMLISTING">
+int set_field_userptr(FIELD *field,
char *userptr); /* the user pointer you wish to associate */
/* with the field */
-char *field_userptr(FIELD *field); /* fetch user pointer of the field */</PRE
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="VARIABLESIZEFIELDS"
->18.3.8. Variable-Sized Fields</A
-></H4
-><P
->If you want a dynamically changing field with variable width, this is the
-feature you want to put to full use. This will allow the user to enter more data
-than the original size of the field and let the field grow. According to the
-field orientation it will scroll horizontally or vertically to incorporate the
-new data.</P
-><P
->To make a field dynamically growable, the option O_STATIC should be turned off.
-This can be done with a
-<PRE
-CLASS="PROGRAMLISTING"
-> field_opts_off(field_pointer, O_STATIC);</PRE
-></P
-><P
->But it's usually not advisable to allow a field to grow infinitely. You can set
-a maximum limit to the growth of the field with
-<PRE
-CLASS="PROGRAMLISTING"
->int set_max_field(FIELD *field, /* Field on which to operate */
- int max_growth); /* maximum growth allowed for the field */</PRE
-></P
-><P
->The field info for a dynamically growable field can be retrieved by
-<PRE
-CLASS="PROGRAMLISTING"
->int dynamic_field_info( FIELD *field, /* Field on which to operate */
+char *field_userptr(FIELD *field); /* fetch user pointer of the field */
+</pre>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="VARIABLESIZEFIELDS" id=
+ "VARIABLESIZEFIELDS">18.3.8. Variable-Sized
+ Fields</a></h4>
+
+ <p>If you want a dynamically changing field with variable
+ width, this is the feature you want to put to full use.
+ This will allow the user to enter more data than the
+ original size of the field and let the field grow.
+ According to the field orientation it will scroll
+ horizontally or vertically to incorporate the new
+ data.</p>
+
+ <p>To make a field dynamically growable, the option
+ O_STATIC should be turned off. This can be done with
+ a</p>
+ <pre class="PROGRAMLISTING">
+ field_opts_off(field_pointer, O_STATIC);
+</pre>
+
+ <p>But it's usually not advisable to allow a field to
+ grow infinitely. You can set a maximum limit to the
+ growth of the field with</p>
+ <pre class="PROGRAMLISTING">
+int set_max_field(FIELD *field, /* Field on which to operate */
+ int max_growth); /* maximum growth allowed for the field */
+</pre>
+
+ <p>The field info for a dynamically growable field can be
+ retrieved by</p>
+ <pre class="PROGRAMLISTING">
+int dynamic_field_info( FIELD *field, /* Field on which to operate */
int *prows, /* number of rows will be filled in this */
int *pcols, /* number of columns will be filled in this*/
int *pmax) /* maximum allowable growth will be filled */
- /* in this */</PRE
->
-Though field_info work as usual, it is advisable to use this function to get the
-proper attributes of a dynamically growable field.</P
-><P
->Recall the library routine new_field; a new field created with height set to one
-will be defined to be a one line field. A new field created with height greater
-than one will be defined to be a multi line field. </P
-><P
->A one line field with O_STATIC turned off (dynamically growable field) will
-contain a single fixed row, but the number of columns can increase if the user
-enters more data than the initial field will hold. The number of columns
-displayed will remain fixed and the additional data will scroll horizontally. </P
-><P
->A multi line field with O_STATIC turned off (dynamically growable field) will
-contain a fixed number of columns, but the number of rows can increase if the
-user enters more data than the initial field will hold. The number of rows
-displayed will remain fixed and the additional data will scroll vertically.</P
-><P
->The above two paragraphs pretty much describe a dynamically growable field's
-behavior. The way other parts of forms library behaves is described below:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The field option O_AUTOSKIP will be ignored if the option O_STATIC is off and
-there is no maximum growth specified for the field. Currently, O_AUTOSKIP
-generates an automatic REQ_NEXT_FIELD form driver request when the user types in
-the last character position of a field. On a growable field with no maximum
-growth specified, there is no last character position. If a maximum growth is
-specified, the O_AUTOSKIP option will work as normal if the field has grown to
-its maximum size. </P
-></LI
-><LI
-><P
->The field justification will be ignored if the option O_STATIC is off.
-Currently, set_field_just can be used to JUSTIFY_LEFT, JUSTIFY_RIGHT,
-JUSTIFY_CENTER the contents of a one line field. A growable one line field will,
-by definition, grow and scroll horizontally and may contain more data than can
-be justified. The return from field_just will be unchanged. </P
-></LI
-><LI
-><P
->The overloaded form driver request REQ_NEW_LINE will operate the same way
-regardless of the O_NL_OVERLOAD form option if the field option O_STATIC is off
-and there is no maximum growth specified for the field. Currently, if the form
-option O_NL_OVERLOAD is on, REQ_NEW_LINE implicitly generates a REQ_NEXT_FIELD
-if called from the last line of a field. If a field can grow without bound,
-there is no last line, so REQ_NEW_LINE will never implicitly generate a
-REQ_NEXT_FIELD. If a maximum growth limit is specified and the O_NL_OVERLOAD
-form option is on, REQ_NEW_LINE will only implicitly generate REQ_NEXT_FIELD if
-the field has grown to its maximum size and the user is on the last line. </P
-></LI
-><LI
-><P
->The library call dup_field will work as usual; it will duplicate the field,
-including the current buffer size and contents of the field being duplicated.
-Any specified maximum growth will also be duplicated. </P
-></LI
-><LI
-><P
->The library call link_field will work as usual; it will duplicate all field
-attributes and share buffers with the field being linked. If the O_STATIC field
-option is subsequently changed by a field sharing buffers, how the system reacts
-to an attempt to enter more data into the field than the buffer will currently
-hold will depend on the setting of the option in the current field. </P
-></LI
-><LI
-><P
->The library call field_info will work as usual; the variable nrow will contain
-the value of the original call to new_field. The user should use
-dynamic_field_info, described above, to query the current size of the buffer.</P
-></LI
-></OL
-><P
->Some of the above points make sense only after explaining form driver. We will
-be looking into that in next few sections.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="FORMWINDOWS"
->18.4. Form Windows</A
-></H3
-><P
->The form windows concept is pretty much similar to menu windows. Every form is
-associated with a main window and a sub window. The form main window displays
-any title or border associated or whatever the user wishes. Then the sub window
-contains all the fields and displays them according to their position. This
-gives the flexibility of manipulating fancy form displaying very easily. </P
-><P
->Since this is pretty much similar to menu windows, I am providing an example
-with out much explanation. The functions are similar and they work the same way.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="FFOWI"
-></A
-><P
-><B
->Example 28. Form Windows Example </B
-></P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="INLINEMEDIAOBJECT"
->#include &#60;form.h&#62;
+ /* in this */
+</pre>Though field_info work as usual, it is advisable to use this
+function to get the proper attributes of a dynamically growable
+field.
+
+ <p>Recall the library routine new_field; a new field
+ created with height set to one will be defined to be a
+ one line field. A new field created with height greater
+ than one will be defined to be a multi line field.</p>
+
+ <p>A one line field with O_STATIC turned off (dynamically
+ growable field) will contain a single fixed row, but the
+ number of columns can increase if the user enters more
+ data than the initial field will hold. The number of
+ columns displayed will remain fixed and the additional
+ data will scroll horizontally.</p>
+
+ <p>A multi line field with O_STATIC turned off
+ (dynamically growable field) will contain a fixed number
+ of columns, but the number of rows can increase if the
+ user enters more data than the initial field will hold.
+ The number of rows displayed will remain fixed and the
+ additional data will scroll vertically.</p>
+
+ <p>The above two paragraphs pretty much describe a
+ dynamically growable field's behavior. The way other
+ parts of forms library behaves is described below:</p>
+
+ <ol type="1">
+ <li>
+ <p>The field option O_AUTOSKIP will be ignored if the
+ option O_STATIC is off and there is no maximum growth
+ specified for the field. Currently, O_AUTOSKIP
+ generates an automatic REQ_NEXT_FIELD form driver
+ request when the user types in the last character
+ position of a field. On a growable field with no
+ maximum growth specified, there is no last character
+ position. If a maximum growth is specified, the
+ O_AUTOSKIP option will work as normal if the field
+ has grown to its maximum size.</p>
+ </li>
+
+ <li>
+ <p>The field justification will be ignored if the
+ option O_STATIC is off. Currently, set_field_just can
+ be used to JUSTIFY_LEFT, JUSTIFY_RIGHT,
+ JUSTIFY_CENTER the contents of a one line field. A
+ growable one line field will, by definition, grow and
+ scroll horizontally and may contain more data than
+ can be justified. The return from field_just will be
+ unchanged.</p>
+ </li>
+
+ <li>
+ <p>The overloaded form driver request REQ_NEW_LINE
+ will operate the same way regardless of the
+ O_NL_OVERLOAD form option if the field option
+ O_STATIC is off and there is no maximum growth
+ specified for the field. Currently, if the form
+ option O_NL_OVERLOAD is on, REQ_NEW_LINE implicitly
+ generates a REQ_NEXT_FIELD if called from the last
+ line of a field. If a field can grow without bound,
+ there is no last line, so REQ_NEW_LINE will never
+ implicitly generate a REQ_NEXT_FIELD. If a maximum
+ growth limit is specified and the O_NL_OVERLOAD form
+ option is on, REQ_NEW_LINE will only implicitly
+ generate REQ_NEXT_FIELD if the field has grown to its
+ maximum size and the user is on the last line.</p>
+ </li>
+
+ <li>
+ <p>The library call dup_field will work as usual; it
+ will duplicate the field, including the current
+ buffer size and contents of the field being
+ duplicated. Any specified maximum growth will also be
+ duplicated.</p>
+ </li>
+
+ <li>
+ <p>The library call link_field will work as usual; it
+ will duplicate all field attributes and share buffers
+ with the field being linked. If the O_STATIC field
+ option is subsequently changed by a field sharing
+ buffers, how the system reacts to an attempt to enter
+ more data into the field than the buffer will
+ currently hold will depend on the setting of the
+ option in the current field.</p>
+ </li>
+
+ <li>
+ <p>The library call field_info will work as usual;
+ the variable nrow will contain the value of the
+ original call to new_field. The user should use
+ dynamic_field_info, described above, to query the
+ current size of the buffer.</p>
+ </li>
+ </ol>
+
+ <p>Some of the above points make sense only after
+ explaining form driver. We will be looking into that in
+ next few sections.</p>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="FORMWINDOWS" id=
+ "FORMWINDOWS">18.4. Form Windows</a></h3>
+
+ <p>The form windows concept is pretty much similar to menu
+ windows. Every form is associated with a main window and a
+ sub window. The form main window displays any title or
+ border associated or whatever the user wishes. Then the sub
+ window contains all the fields and displays them according
+ to their position. This gives the flexibility of
+ manipulating fancy form displaying very easily.</p>
+
+ <p>Since this is pretty much similar to menu windows, I am
+ providing an example with out much explanation. The
+ functions are similar and they work the same way.</p>
+
+ <div class="EXAMPLE">
+ <a name="FFOWI" id="FFOWI"></a>
+
+ <p><b>Example 28. Form Windows Example</b></p>
+ <pre class="PROGRAMLISTING">
+<span class="INLINEMEDIAOBJECT">#include &lt;form.h&gt;
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color);
int main()
{
- FIELD *field[3];
- FORM *my_form;
- WINDOW *my_form_win;
- int ch, rows, cols;
-
- /* Initialize curses */
- initscr();
- start_color();
- cbreak();
- noecho();
- keypad(stdscr, TRUE);
-
- /* Initialize few color pairs */
- init_pair(1, COLOR_RED, COLOR_BLACK);
-
- /* Initialize the fields */
- field[0] = new_field(1, 10, 6, 1, 0, 0);
- field[1] = new_field(1, 10, 8, 1, 0, 0);
- field[2] = NULL;
-
- /* Set field options */
- set_field_back(field[0], A_UNDERLINE);
- field_opts_off(field[0], O_AUTOSKIP); /* Don't go to next field when this */
- /* Field is filled up */
- set_field_back(field[1], A_UNDERLINE);
- field_opts_off(field[1], O_AUTOSKIP);
-
- /* Create the form and post it */
- my_form = new_form(field);
-
- /* Calculate the area required for the form */
- scale_form(my_form, &#38;rows, &#38;cols);
-
- /* Create the window to be associated with the form */
+ FIELD *field[3];
+ FORM *my_form;
+ WINDOW *my_form_win;
+ int ch, rows, cols;
+
+ /* Initialize curses */
+ initscr();
+ start_color();
+ cbreak();
+ noecho();
+ keypad(stdscr, TRUE);
+
+ /* Initialize few color pairs */
+ init_pair(1, COLOR_RED, COLOR_BLACK);
+
+ /* Initialize the fields */
+ field[0] = new_field(1, 10, 6, 1, 0, 0);
+ field[1] = new_field(1, 10, 8, 1, 0, 0);
+ field[2] = NULL;
+
+ /* Set field options */
+ set_field_back(field[0], A_UNDERLINE);
+ field_opts_off(field[0], O_AUTOSKIP); /* Don't go to next field when this */
+ /* Field is filled up */
+ set_field_back(field[1], A_UNDERLINE);
+ field_opts_off(field[1], O_AUTOSKIP);
+
+ /* Create the form and post it */
+ my_form = new_form(field);
+
+ /* Calculate the area required for the form */
+ scale_form(my_form, &amp;rows, &amp;cols);
+
+ /* Create the window to be associated with the form */
my_form_win = newwin(rows + 4, cols + 4, 4, 4);
keypad(my_form_win, TRUE);
- /* Set main window and sub window */
+ /* Set main window and sub window */
set_form_win(my_form, my_form_win);
set_form_sub(my_form, derwin(my_form_win, rows, cols, 2, 2));
- /* Print a border around the main window and print a title */
+ /* Print a border around the main window and print a title */
box(my_form_win, 0, 0);
- print_in_middle(my_form_win, 1, 0, cols + 4, "My Form", COLOR_PAIR(1));
-
- post_form(my_form);
- wrefresh(my_form_win);
-
- mvprintw(LINES - 2, 0, "Use UP, DOWN arrow keys to switch between fields");
- refresh();
-
- /* Loop through to get user requests */
- while((ch = wgetch(my_form_win)) != KEY_F(1))
- { switch(ch)
- { case KEY_DOWN:
- /* Go to next field */
- form_driver(my_form, REQ_NEXT_FIELD);
- /* Go to the end of the present buffer */
- /* Leaves nicely at the last character */
- form_driver(my_form, REQ_END_LINE);
- break;
- case KEY_UP:
- /* Go to previous field */
- form_driver(my_form, REQ_PREV_FIELD);
- form_driver(my_form, REQ_END_LINE);
- break;
- default:
- /* If this is a normal character, it gets */
- /* Printed */
- form_driver(my_form, ch);
- break;
- }
- }
-
- /* Un post form and free the memory */
- unpost_form(my_form);
- free_form(my_form);
- free_field(field[0]);
- free_field(field[1]);
-
- endwin();
- return 0;
+ print_in_middle(my_form_win, 1, 0, cols + 4, "My Form", COLOR_PAIR(1));
+
+ post_form(my_form);
+ wrefresh(my_form_win);
+
+ mvprintw(LINES - 2, 0, "Use UP, DOWN arrow keys to switch between fields");
+ refresh();
+
+ /* Loop through to get user requests */
+ while((ch = wgetch(my_form_win)) != KEY_F(1))
+ { switch(ch)
+ { case KEY_DOWN:
+ /* Go to next field */
+ form_driver(my_form, REQ_NEXT_FIELD);
+ /* Go to the end of the present buffer */
+ /* Leaves nicely at the last character */
+ form_driver(my_form, REQ_END_LINE);
+ break;
+ case KEY_UP:
+ /* Go to previous field */
+ form_driver(my_form, REQ_PREV_FIELD);
+ form_driver(my_form, REQ_END_LINE);
+ break;
+ default:
+ /* If this is a normal character, it gets */
+ /* Printed */
+ form_driver(my_form, ch);
+ break;
+ }
+ }
+
+ /* Un post form and free the memory */
+ unpost_form(my_form);
+ free_form(my_form);
+ free_field(field[0]);
+ free_field(field[1]);
+
+ endwin();
+ return 0;
}
void print_in_middle(WINDOW *win, int starty, int startx, int width, char *string, chtype color)
-{ int length, x, y;
- float temp;
-
- if(win == NULL)
- win = stdscr;
- getyx(win, y, x);
- if(startx != 0)
- x = startx;
- if(starty != 0)
- y = starty;
- if(width == 0)
- width = 80;
-
- length = strlen(string);
- temp = (width - length)/ 2;
- x = startx + (int)temp;
- wattron(win, color);
- mvwprintw(win, y, x, "%s", string);
- wattroff(win, color);
- refresh();
-}</SPAN
-></PRE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="FILEDVALIDATE"
->18.5. Field Validation</A
-></H3
-><P
->By default, a field will accept any data input by the user. It is possible to
-attach validation to the field. Then any attempt by the user to leave the field,
-while it contains data that doesn't match the validation type will fail. Some
-validation types also have a character-validity check for each time a character
-is entered in the field.</P
-><P
->Validation can be attached to a field with the following function.
-<PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field, /* field to alter */
+{ int length, x, y;
+ float temp;
+
+ if(win == NULL)
+ win = stdscr;
+ getyx(win, y, x);
+ if(startx != 0)
+ x = startx;
+ if(starty != 0)
+ y = starty;
+ if(width == 0)
+ width = 80;
+
+ length = strlen(string);
+ temp = (width - length)/ 2;
+ x = startx + (int)temp;
+ wattron(win, color);
+ mvwprintw(win, y, x, "%s", string);
+ wattroff(win, color);
+ refresh();
+}</span>
+</pre>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="FILEDVALIDATE" id=
+ "FILEDVALIDATE">18.5. Field Validation</a></h3>
+
+ <p>By default, a field will accept any data input by the
+ user. It is possible to attach validation to the field.
+ Then any attempt by the user to leave the field, while it
+ contains data that doesn't match the validation type will
+ fail. Some validation types also have a character-validity
+ check for each time a character is entered in the
+ field.</p>
+
+ <p>Validation can be attached to a field with the following
+ function.</p>
+ <pre class="PROGRAMLISTING">
+int set_field_type(FIELD *field, /* field to alter */
FIELDTYPE *ftype, /* type to associate */
- ...); /* additional arguments*/</PRE
->
-Once set, the validation type for a field can be queried with
-<PRE
-CLASS="PROGRAMLISTING"
->FIELDTYPE *field_type(FIELD *field); /* field to query */</PRE
-></P
-><P
->The form driver validates the data in a field only when data is entered by the
-end-user. Validation does not occur when </P
-><P
-></P
-><UL
-><LI
-><P
->the application program changes the field value by calling set_field_buffer. </P
-></LI
-><LI
-><P
->linked field values are changed indirectly -- by changing the field to which
-they are linked</P
-></LI
-></UL
-><P
->The following are the pre-defined validation types. You can also specify custom
-validation, though it's a bit tricky and cumbersome.</P
-><H1
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN1069"
-></A
->TYPE_ALPHA</H1
-><P
->This field type accepts alphabetic data; no blanks, no digits, no special
-characters (this is checked at character-entry time). It is set up with: </P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field, /* field to alter */
+ ...); /* additional arguments*/
+</pre>Once set, the validation type for a field can be queried with
+ <pre class="PROGRAMLISTING">
+FIELDTYPE *field_type(FIELD *field); /* field to query */
+</pre>
+
+ <p>The form driver validates the data in a field only when
+ data is entered by the end-user. Validation does not occur
+ when</p>
+
+ <ul>
+ <li>
+ <p>the application program changes the field value by
+ calling set_field_buffer.</p>
+ </li>
+
+ <li>
+ <p>linked field values are changed indirectly -- by
+ changing the field to which they are linked</p>
+ </li>
+ </ul>
+
+ <p>The following are the pre-defined validation types. You
+ can also specify custom validation, though it's a bit
+ tricky and cumbersome.</p>
+
+ <h1 class="BRIDGEHEAD"><a name="AEN1069" id=
+ "AEN1069"></a>TYPE_ALPHA</h1>
+
+ <p>This field type accepts alphabetic data; no blanks, no
+ digits, no special characters (this is checked at
+ character-entry time). It is set up with:</p>
+ <pre class="PROGRAMLISTING">
+int set_field_type(FIELD *field, /* field to alter */
TYPE_ALPHA, /* type to associate */
- int width); /* maximum width of field */</PRE
-><P
->The width argument sets a minimum width of data. The user has to enter at-least
-width number of characters before he can leave the field. Typically
-you'll want to set this to the field width; if it's greater than the
-field width, the validation check will always fail. A minimum width
-of zero makes field completion optional. </P
-><H1
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN1073"
-></A
->TYPE_ALNUM</H1
-><P
->This field type accepts alphabetic data and digits; no blanks, no special
-characters (this is checked at character-entry time). It is set up with: </P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field, /* field to alter */
+ int width); /* minimum width of field */
+</pre>
+
+ <p>The width argument sets a minimum width of data. The
+ user has to enter at-least width number of characters
+ before he can leave the field. Typically you'll want to set
+ this to the field width; if it's greater than the field
+ width, the validation check will always fail. A minimum
+ width of zero makes field completion optional.</p>
+
+ <h1 class="BRIDGEHEAD"><a name="AEN1073" id=
+ "AEN1073"></a>TYPE_ALNUM</h1>
+
+ <p>This field type accepts alphabetic data and digits; no
+ blanks, no special characters (this is checked at
+ character-entry time). It is set up with:</p>
+ <pre class="PROGRAMLISTING">
+int set_field_type(FIELD *field, /* field to alter */
TYPE_ALNUM, /* type to associate */
- int width); /* maximum width of field */</PRE
-><P
->The width argument sets a minimum width of data. As with
-TYPE_ALPHA, typically you'll want to set this to the field width; if it's
-greater than the field width, the validation check will always fail. A
-minimum width of zero makes field completion optional. </P
-><H1
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN1077"
-></A
->TYPE_ENUM</H1
-><P
->This type allows you to restrict a field's values to be among a specified
-set of string values (for example, the two-letter postal codes for U.S.
-states). It is set up with: </P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field, /* field to alter */
+ int width); /* minimum width of field */
+</pre>
+
+ <p>The width argument sets a minimum width of data. As with
+ TYPE_ALPHA, typically you'll want to set this to the field
+ width; if it's greater than the field width, the validation
+ check will always fail. A minimum width of zero makes field
+ completion optional.</p>
+
+ <h1 class="BRIDGEHEAD"><a name="AEN1077" id=
+ "AEN1077"></a>TYPE_ENUM</h1>
+
+ <p>This type allows you to restrict a field's values to be
+ among a specified set of string values (for example, the
+ two-letter postal codes for U.S. states). It is set up
+ with:</p>
+ <pre class="PROGRAMLISTING">
+int set_field_type(FIELD *field, /* field to alter */
TYPE_ENUM, /* type to associate */
char **valuelist; /* list of possible values */
int checkcase; /* case-sensitive? */
- int checkunique); /* must specify uniquely? */</PRE
-><P
->The valuelist parameter must point at a NULL-terminated list of
-valid strings. The checkcase argument, if true, makes comparison
-with the string case-sensitive. </P
-><P
->When the user exits a TYPE_ENUM field, the validation procedure tries to
-complete the data in the buffer to a valid entry. If a complete choice string
-has been entered, it is of course valid. But it is also possible to enter a
-prefix of a valid string and have it completed for you. </P
-><P
->By default, if you enter such a prefix and it matches more than one value
-in the string list, the prefix will be completed to the first matching
-value. But the checkunique argument, if true, requires prefix
-matches to be unique in order to be valid. </P
-><P
->The REQ_NEXT_CHOICE and REQ_PREV_CHOICE input requests can be particularly
-useful with these fields. </P
-><H1
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN1084"
-></A
->TYPE_INTEGER</H1
-><P
->This field type accepts an integer. It is set up as follows: </P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field, /* field to alter */
+ int checkunique); /* must specify uniquely? */
+</pre>
+
+ <p>The valuelist parameter must point at a NULL-terminated
+ list of valid strings. The checkcase argument, if true,
+ makes comparison with the string case-sensitive.</p>
+
+ <p>When the user exits a TYPE_ENUM field, the validation
+ procedure tries to complete the data in the buffer to a
+ valid entry. If a complete choice string has been entered,
+ it is of course valid. But it is also possible to enter a
+ prefix of a valid string and have it completed for you.</p>
+
+ <p>By default, if you enter such a prefix and it matches
+ more than one value in the string list, the prefix will be
+ completed to the first matching value. But the checkunique
+ argument, if true, requires prefix matches to be unique in
+ order to be valid.</p>
+
+ <p>The REQ_NEXT_CHOICE and REQ_PREV_CHOICE input requests
+ can be particularly useful with these fields.</p>
+
+ <h1 class="BRIDGEHEAD"><a name="AEN1084" id=
+ "AEN1084"></a>TYPE_INTEGER</h1>
+
+ <p>This field type accepts an integer. It is set up as
+ follows:</p>
+ <pre class="PROGRAMLISTING">
+int set_field_type(FIELD *field, /* field to alter */
TYPE_INTEGER, /* type to associate */
int padding, /* # places to zero-pad to */
- int vmin, int vmax); /* valid range */</PRE
-><P
->Valid characters consist of an optional leading minus and digits.
-The range check is performed on exit. If the range maximum is less
-than or equal to the minimum, the range is ignored. </P
-><P
->If the value passes its range check, it is padded with as many leading
-zero digits as necessary to meet the padding argument. </P
-><P
->A TYPE_INTEGER value buffer can conveniently be interpreted with the C library
-function atoi(3).</P
-><H1
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN1090"
-></A
->TYPE_NUMERIC</H1
-><P
->This field type accepts a decimal number. It is set up as follows: </P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field, /* field to alter */
+ int vmin, int vmax); /* valid range */
+</pre>
+
+ <p>Valid characters consist of an optional leading minus
+ and digits. The range check is performed on exit. If the
+ range maximum is less than or equal to the minimum, the
+ range is ignored.</p>
+
+ <p>If the value passes its range check, it is padded with
+ as many leading zero digits as necessary to meet the
+ padding argument.</p>
+
+ <p>A TYPE_INTEGER value buffer can conveniently be
+ interpreted with the C library function atoi(3).</p>
+
+ <h1 class="BRIDGEHEAD"><a name="AEN1090" id=
+ "AEN1090"></a>TYPE_NUMERIC</h1>
+
+ <p>This field type accepts a decimal number. It is set up
+ as follows:</p>
+ <pre class="PROGRAMLISTING">
+int set_field_type(FIELD *field, /* field to alter */
TYPE_NUMERIC, /* type to associate */
int padding, /* # places of precision */
- int vmin, int vmax); /* valid range */</PRE
-><P
->Valid characters consist of an optional leading minus and digits. possibly
-including a decimal point. The range check is performed on exit. If the
-range maximum is less than or equal to the minimum, the range is
-ignored. </P
-><P
->If the value passes its range check, it is padded with as many trailing
-zero digits as necessary to meet the padding argument. </P
-><P
->A TYPE_NUMERIC value buffer can conveniently be interpreted with the C library
-function atof(3).</P
-><H1
-CLASS="BRIDGEHEAD"
-><A
-NAME="AEN1096"
-></A
->TYPE_REGEXP</H1
-><P
->This field type accepts data matching a regular expression. It is set up
-as follows: </P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_field_type(FIELD *field, /* field to alter */
+ int vmin, int vmax); /* valid range */
+</pre>
+
+ <p>Valid characters consist of an optional leading minus
+ and digits. possibly including a decimal point. The range
+ check is performed on exit. If the range maximum is less
+ than or equal to the minimum, the range is ignored.</p>
+
+ <p>If the value passes its range check, it is padded with
+ as many trailing zero digits as necessary to meet the
+ padding argument.</p>
+
+ <p>A TYPE_NUMERIC value buffer can conveniently be
+ interpreted with the C library function atof(3).</p>
+
+ <h1 class="BRIDGEHEAD"><a name="AEN1096" id=
+ "AEN1096"></a>TYPE_REGEXP</h1>
+
+ <p>This field type accepts data matching a regular
+ expression. It is set up as follows:</p>
+ <pre class="PROGRAMLISTING">
+int set_field_type(FIELD *field, /* field to alter */
TYPE_REGEXP, /* type to associate */
- char *regexp); /* expression to match */</PRE
-><P
->The syntax for regular expressions is that of regcomp(3).
-The check for regular-expression match is performed on exit.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="FORMDRIVER"
->18.6. Form Driver: The work horse of the forms system</A
-></H3
-><P
->As in the menu system, form_driver() plays a very important role in forms
-system. All types of requests to forms system should be funneled through
-form_driver().</P
-><PRE
-CLASS="PROGRAMLISTING"
->int form_driver(FORM *form, /* form on which to operate */
- int request) /* form request code */</PRE
-><P
->As you have seen some of the examples above, you have to be in a loop looking
-for user input and then decide whether it's a field data or a form request. The
-form requests are then passed to form_driver() to do the work.</P
-><P
->The requests roughly can be divided into following categories. Different
-requests and their usage is explained below:</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="PAGENAVREQ"
->18.6.1. Page Navigation Requests</A
-></H4
-><P
->These requests cause page-level moves through the form, triggering display of a
-new form screen. A form can be made of multiple pages. If you have a big form
-with lot of fields and logical sections, then you can divide the form into
-pages. The function set_new_page() to set a new page at the field specified.</P
-><PRE
-CLASS="PROGRAMLISTING"
->int set_new_page(FIELD *field,/* Field at which page break to be set or unset */
- bool new_page_flag); /* should be TRUE to put a break */</PRE
-><P
->The following requests allow you to move to different pages</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEXT_PAGE</I
-></SPAN
-> Move to the next form page.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_PREV_PAGE</I
-></SPAN
-> Move to the previous
-form page.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_FIRST_PAGE</I
-></SPAN
-> Move to the first form page.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_LAST_PAGE</I
-></SPAN
-> Move to the last form page. </P
-></LI
-></UL
-><P
->These requests treat the list as cyclic; that is, REQ_NEXT_PAGE from the
-last page goes to the first, and REQ_PREV_PAGE from the first page goes to
-the last.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="INTERFIELDNAVREQ"
->18.6.2. Inter-Field Navigation Requests</A
-></H4
-><P
->These requests handle navigation between fields on the same page.</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEXT_FIELD</I
-></SPAN
->
- Move to next field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_PREV_FIELD</I
-></SPAN
->
- Move to previous field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_FIRST_FIELD</I
-></SPAN
->
- Move to the first field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_LAST_FIELD</I
-></SPAN
->
- Move to the last field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SNEXT_FIELD</I
-></SPAN
->
- Move to sorted next field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SPREV_FIELD</I
-></SPAN
->
- Move to sorted previous field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SFIRST_FIELD</I
-></SPAN
->
- Move to the sorted first field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SLAST_FIELD</I
-></SPAN
->
- Move to the sorted last field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_LEFT_FIELD</I
-></SPAN
->
- Move left to field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_RIGHT_FIELD</I
-></SPAN
->
- Move right to field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_UP_FIELD</I
-></SPAN
->
- Move up to field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_DOWN_FIELD</I
-></SPAN
->
- Move down to field. </P
-></LI
-></UL
-><P
->These requests treat the list of fields on a page as cyclic; that is,
-REQ_NEXT_FIELD from the last field goes to the first, and REQ_PREV_FIELD
-from the first field goes to the last. The order of the fields for these
-(and the REQ_FIRST_FIELD and REQ_LAST_FIELD requests) is simply the order of
-the field pointers in the form array (as set up by new_form() or
-set_form_fields()</P
-><P
->It is also possible to traverse the fields as if they had been sorted in
-screen-position order, so the sequence goes left-to-right and top-to-bottom.
-To do this, use the second group of four sorted-movement requests.</P
-><P
->Finally, it is possible to move between fields using visual directions up,
-down, right, and left. To accomplish this, use the third group of four
-requests. Note, however, that the position of a form for purposes of these
-requests is its upper-left corner.</P
-><P
->For example, suppose you have a multi-line field B, and two single-line
-fields A and C on the same line with B, with A to the left of B and C to the
-right of B. A REQ_MOVE_RIGHT from A will go to B only if A, B, and C all
-share the same first line; otherwise it will skip over B to C.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="INTRAFIELDNAVREQ"
->18.6.3. Intra-Field Navigation Requests</A
-></H4
-><P
->These requests drive movement of the edit cursor within the currently
-selected field.</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEXT_CHAR</I
-></SPAN
->
- Move to next character. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_PREV_CHAR</I
-></SPAN
->
- Move to previous character. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEXT_LINE</I
-></SPAN
->
- Move to next line. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_PREV_LINE</I
-></SPAN
->
- Move to previous line. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEXT_WORD</I
-></SPAN
->
- Move to next word. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_PREV_WORD</I
-></SPAN
->
- Move to previous word. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_BEG_FIELD</I
-></SPAN
->
- Move to beginning of field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_END_FIELD</I
-></SPAN
->
- Move to end of field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_BEG_LINE</I
-></SPAN
->
- Move to beginning of line. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_END_LINE</I
-></SPAN
->
- Move to end of line. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_LEFT_CHAR</I
-></SPAN
->
- Move left in field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_RIGHT_CHAR</I
-></SPAN
->
- Move right in field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_UP_CHAR</I
-></SPAN
->
- Move up in field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_DOWN_CHAR</I
-></SPAN
->
- Move down in field. </P
-></LI
-></UL
-><P
->Each word is separated from the previous and next characters by whitespace.
-The commands to move to beginning and end of line or field look for the
-first or last non-pad character in their ranges.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="SCROLLREQ"
->18.6.4. Scrolling Requests</A
-></H4
-><P
->Fields that are dynamic and have grown and fields explicitly created with
-offscreen rows are scrollable. One-line fields scroll horizontally;
-multi-line fields scroll vertically. Most scrolling is triggered by editing
-and intra-field movement (the library scrolls the field to keep the cursor
-visible). It is possible to explicitly request scrolling with the following
-requests:</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_FLINE</I
-></SPAN
->
- Scroll vertically forward a line. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_BLINE</I
-></SPAN
->
- Scroll vertically backward a line. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_FPAGE</I
-></SPAN
->
- Scroll vertically forward a page. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_BPAGE</I
-></SPAN
->
- Scroll vertically backward a page. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_FHPAGE</I
-></SPAN
->
- Scroll vertically forward half a page. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_BHPAGE</I
-></SPAN
->
- Scroll vertically backward half a page. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_FCHAR</I
-></SPAN
->
- Scroll horizontally forward a character. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_BCHAR</I
-></SPAN
->
- Scroll horizontally backward a character. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_HFLINE</I
-></SPAN
->
- Scroll horizontally one field width forward. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_HBLINE</I
-></SPAN
->
- Scroll horizontally one field width backward. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_HFHALF</I
-></SPAN
->
- Scroll horizontally one half field width forward. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_SCR_HBHALF</I
-></SPAN
->
- Scroll horizontally one half field width backward. </P
-></LI
-></UL
-><P
->For scrolling purposes, a page of a field is the height of its visible part.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="EDITREQ"
->18.6.5. Editing Requests</A
-></H4
-><P
->When you pass the forms driver an ASCII character, it is treated as a
-request to add the character to the field's data buffer. Whether this is an
-insertion or a replacement depends on the field's edit mode (insertion is
-the default.</P
-><P
->The following requests support editing the field and changing the edit mode:</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_INS_MODE</I
-></SPAN
->
- Set insertion mode. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_OVL_MODE</I
-></SPAN
->
- Set overlay mode. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEW_LINE</I
-></SPAN
->
- New line request (see below for explanation). </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_INS_CHAR</I
-></SPAN
->
- Insert space at character location. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_INS_LINE</I
-></SPAN
->
- Insert blank line at character location. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_DEL_CHAR</I
-></SPAN
->
- Delete character at cursor. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_DEL_PREV</I
-></SPAN
->
- Delete previous word at cursor. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_DEL_LINE</I
-></SPAN
->
- Delete line at cursor. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_DEL_WORD</I
-></SPAN
->
- Delete word at cursor. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_CLR_EOL</I
-></SPAN
->
- Clear to end of line. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_CLR_EOF</I
-></SPAN
->
- Clear to end of field. </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_CLR_FIELD</I
-></SPAN
->
- Clear entire field. </P
-></LI
-></UL
-><P
->The behavior of the REQ_NEW_LINE and REQ_DEL_PREV requests is complicated
-and partly controlled by a pair of forms options. The special cases are
-triggered when the cursor is at the beginning of a field, or on the last
-line of the field.</P
-><P
->First, we consider REQ_NEW_LINE:</P
-><P
->The normal behavior of REQ_NEW_LINE in insert mode is to break the current
-line at the position of the edit cursor, inserting the portion of the
-current line after the cursor as a new line following the current and moving
-the cursor to the beginning of that new line (you may think of this as
-inserting a newline in the field buffer).</P
-><P
->The normal behavior of REQ_NEW_LINE in overlay mode is to clear the current
-line from the position of the edit cursor to end of line. The cursor is then
-moved to the beginning of the next line.</P
-><P
->However, REQ_NEW_LINE at the beginning of a field, or on the last line of a
-field, instead does a REQ_NEXT_FIELD. O_NL_OVERLOAD option is off, this
-special action is disabled.</P
-><P
->Now, let us consider REQ_DEL_PREV:</P
-><P
->The normal behavior of REQ_DEL_PREV is to delete the previous character. If
-insert mode is on, and the cursor is at the start of a line, and the text on
-that line will fit on the previous one, it instead appends the contents of
-the current line to the previous one and deletes the current line (you may
-think of this as deleting a newline from the field buffer).</P
-><P
->However, REQ_DEL_PREV at the beginning of a field is instead treated as a
-REQ_PREV_FIELD.</P
-><P
->If the O_BS_OVERLOAD option is off, this special action is disabled and the
-forms driver just returns E_REQUEST_DENIED.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="ORDERREQ"
->18.6.6. Order Requests</A
-></H4
-><P
->If the type of your field is ordered, and has associated functions for
-getting the next and previous values of the type from a given value, there
-are requests that can fetch that value into the field buffer:</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_NEXT_CHOICE</I
-></SPAN
->
- Place the successor value of the current value in the buffer.
- </P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->REQ_PREV_CHOICE</I
-></SPAN
->
- Place the predecessor value of the current value in the buffer.
- </P
-></LI
-></UL
-><P
->Of the built-in field types, only TYPE_ENUM has built-in successor and
-predecessor functions. When you define a field type of your own (see Custom
-Validation Types), you can associate our own ordering functions.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="APPLICCOMMANDS"
->18.6.7. Application Commands</A
-></H4
-><P
->Form requests are represented as integers above the curses value greater than
-KEY_MAX and less than or equal to the constant MAX_COMMAND. A value within this
-range gets ignored by form_driver(). So this can be used for any purpose by the
-application. It can be treated as an application specific action and take
-corresponding action.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="TOOLS"
->19. Tools and Widget Libraries</A
-></H2
-><P
->
-Now that you have seen the capabilities of ncurses and its sister libraries, you
-are rolling your sleeves up and gearing for a project that heavily manipulates
-screen. But wait.. It can be pretty difficult to write and maintain complex GUI
-widgets in plain ncurses or even with the additional libraries. There are some
-ready-to-use tools and widget libraries that can be used instead of writing your
-own widgets. You can use some of them, get ideas from the code, or even extend
-them.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="CDK"
->19.1. CDK (Curses Development Kit)</A
-></H3
-><P
->In the author's words </P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->
-CDK stands for 'Curses Development Kit' and it currently contains 21 ready
-to use widgets which facilitate the speedy development of full screen
-curses programs. </I
-></SPAN
-></P
-><P
->The kit provides some useful widgets, which can be used in your programs
-directly. It's pretty well written and the documentation is very good. The
-examples in the examples directory can be a good place to start for beginners.
-The CDK can be downloaded from <A
-HREF="http://invisible-island.net/cdk/"
-TARGET="_top"
->http://invisible-island.net/cdk/</A
->
-. Follow the instructions in
-README file to install it.</P
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="WIDGETLIST"
->19.1.1. Widget List</A
-></H4
-><P
->The following is the list of widgets provided with cdk and their description.</P
-><PRE
-CLASS="PROGRAMLISTING"
->Widget Type Quick Description
+ char *regexp); /* expression to match */
+</pre>
+
+ <p>The syntax for regular expressions is that of
+ regcomp(3). The check for regular-expression match is
+ performed on exit.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="FORMDRIVER" id=
+ "FORMDRIVER">18.6. Form Driver: The work horse of the forms
+ system</a></h3>
+
+ <p>As in the menu system, form_driver() plays a very
+ important role in forms system. All types of requests to
+ forms system should be funneled through form_driver().</p>
+ <pre class="PROGRAMLISTING">
+int form_driver(FORM *form, /* form on which to operate */
+ int request) /* form request code */
+</pre>
+
+ <p>As you have seen some of the examples above, you have to
+ be in a loop looking for user input and then decide whether
+ it's a field data or a form request. The form requests are
+ then passed to form_driver() to do the work.</p>
+
+ <p>The requests roughly can be divided into following
+ categories. Different requests and their usage is explained
+ below:</p>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="PAGENAVREQ" id=
+ "PAGENAVREQ">18.6.1. Page Navigation Requests</a></h4>
+
+ <p>These requests cause page-level moves through the
+ form, triggering display of a new form screen. A form can
+ be made of multiple pages. If you have a big form with
+ lot of fields and logical sections, then you can divide
+ the form into pages. The function set_new_page() to set a
+ new page at the field specified.</p>
+ <pre class="PROGRAMLISTING">
+int set_new_page(FIELD *field,/* Field at which page break to be set or unset */
+ bool new_page_flag); /* should be TRUE to put a break */
+</pre>
+
+ <p>The following requests allow you to move to different
+ pages</p>
+
+ <ul>
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_NEXT_PAGE</i></span> Move to the next
+ form page.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_PREV_PAGE</i></span> Move to the
+ previous form page.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_FIRST_PAGE</i></span> Move to the
+ first form page.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_LAST_PAGE</i></span> Move to the last
+ form page.</p>
+ </li>
+ </ul>
+
+ <p>These requests treat the list as cyclic; that is,
+ REQ_NEXT_PAGE from the last page goes to the first, and
+ REQ_PREV_PAGE from the first page goes to the last.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="INTERFIELDNAVREQ" id=
+ "INTERFIELDNAVREQ">18.6.2. Inter-Field Navigation
+ Requests</a></h4>
+
+ <p>These requests handle navigation between fields on the
+ same page.</p>
+
+ <ul>
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_NEXT_FIELD</i></span> Move to next
+ field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_PREV_FIELD</i></span> Move to previous
+ field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_FIRST_FIELD</i></span> Move to the
+ first field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_LAST_FIELD</i></span> Move to the last
+ field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SNEXT_FIELD</i></span> Move to sorted
+ next field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SPREV_FIELD</i></span> Move to sorted
+ previous field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SFIRST_FIELD</i></span> Move to the
+ sorted first field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SLAST_FIELD</i></span> Move to the
+ sorted last field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_LEFT_FIELD</i></span> Move left to
+ field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_RIGHT_FIELD</i></span> Move right to
+ field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_UP_FIELD</i></span> Move up to
+ field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_DOWN_FIELD</i></span> Move down to
+ field.</p>
+ </li>
+ </ul>
+
+ <p>These requests treat the list of fields on a page as
+ cyclic; that is, REQ_NEXT_FIELD from the last field goes
+ to the first, and REQ_PREV_FIELD from the first field
+ goes to the last. The order of the fields for these (and
+ the REQ_FIRST_FIELD and REQ_LAST_FIELD requests) is
+ simply the order of the field pointers in the form array
+ (as set up by new_form() or set_form_fields()</p>
+
+ <p>It is also possible to traverse the fields as if they
+ had been sorted in screen-position order, so the sequence
+ goes left-to-right and top-to-bottom. To do this, use the
+ second group of four sorted-movement requests.</p>
+
+ <p>Finally, it is possible to move between fields using
+ visual directions up, down, right, and left. To
+ accomplish this, use the third group of four requests.
+ Note, however, that the position of a form for purposes
+ of these requests is its upper-left corner.</p>
+
+ <p>For example, suppose you have a multi-line field B,
+ and two single-line fields A and C on the same line with
+ B, with A to the left of B and C to the right of B. A
+ REQ_MOVE_RIGHT from A will go to B only if A, B, and C
+ all share the same first line; otherwise it will skip
+ over B to C.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="INTRAFIELDNAVREQ" id=
+ "INTRAFIELDNAVREQ">18.6.3. Intra-Field Navigation
+ Requests</a></h4>
+
+ <p>These requests drive movement of the edit cursor
+ within the currently selected field.</p>
+
+ <ul>
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_NEXT_CHAR</i></span> Move to next
+ character.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_PREV_CHAR</i></span> Move to previous
+ character.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_NEXT_LINE</i></span> Move to next
+ line.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_PREV_LINE</i></span> Move to previous
+ line.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_NEXT_WORD</i></span> Move to next
+ word.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_PREV_WORD</i></span> Move to previous
+ word.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_BEG_FIELD</i></span> Move to beginning
+ of field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_END_FIELD</i></span> Move to end of
+ field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_BEG_LINE</i></span> Move to beginning
+ of line.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_END_LINE</i></span> Move to end of
+ line.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_LEFT_CHAR</i></span> Move left in
+ field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_RIGHT_CHAR</i></span> Move right in
+ field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_UP_CHAR</i></span> Move up in
+ field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_DOWN_CHAR</i></span> Move down in
+ field.</p>
+ </li>
+ </ul>
+
+ <p>Each word is separated from the previous and next
+ characters by whitespace. The commands to move to
+ beginning and end of line or field look for the first or
+ last non-pad character in their ranges.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="SCROLLREQ" id=
+ "SCROLLREQ">18.6.4. Scrolling Requests</a></h4>
+
+ <p>Fields that are dynamic and have grown and fields
+ explicitly created with offscreen rows are scrollable.
+ One-line fields scroll horizontally; multi-line fields
+ scroll vertically. Most scrolling is triggered by editing
+ and intra-field movement (the library scrolls the field
+ to keep the cursor visible). It is possible to explicitly
+ request scrolling with the following requests:</p>
+
+ <ul>
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SCR_FLINE</i></span> Scroll vertically
+ forward a line.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SCR_BLINE</i></span> Scroll vertically
+ backward a line.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SCR_FPAGE</i></span> Scroll vertically
+ forward a page.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SCR_BPAGE</i></span> Scroll vertically
+ backward a page.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SCR_FHPAGE</i></span> Scroll
+ vertically forward half a page.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SCR_BHPAGE</i></span> Scroll
+ vertically backward half a page.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SCR_FCHAR</i></span> Scroll
+ horizontally forward a character.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SCR_BCHAR</i></span> Scroll
+ horizontally backward a character.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SCR_HFLINE</i></span> Scroll
+ horizontally one field width forward.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SCR_HBLINE</i></span> Scroll
+ horizontally one field width backward.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SCR_HFHALF</i></span> Scroll
+ horizontally one half field width forward.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_SCR_HBHALF</i></span> Scroll
+ horizontally one half field width backward.</p>
+ </li>
+ </ul>
+
+ <p>For scrolling purposes, a page of a field is the
+ height of its visible part.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="EDITREQ" id="EDITREQ">18.6.5.
+ Editing Requests</a></h4>
+
+ <p>When you pass the forms driver an ASCII character, it
+ is treated as a request to add the character to the
+ field's data buffer. Whether this is an insertion or a
+ replacement depends on the field's edit mode (insertion
+ is the default.</p>
+
+ <p>The following requests support editing the field and
+ changing the edit mode:</p>
+
+ <ul>
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_INS_MODE</i></span> Set insertion
+ mode.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_OVL_MODE</i></span> Set overlay
+ mode.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_NEW_LINE</i></span> New line request
+ (see below for explanation).</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_INS_CHAR</i></span> Insert space at
+ character location.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_INS_LINE</i></span> Insert blank line
+ at character location.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_DEL_CHAR</i></span> Delete character
+ at cursor.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_DEL_PREV</i></span> Delete previous
+ word at cursor.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_DEL_LINE</i></span> Delete line at
+ cursor.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_DEL_WORD</i></span> Delete word at
+ cursor.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_CLR_EOL</i></span> Clear to end of
+ line.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_CLR_EOF</i></span> Clear to end of
+ field.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_CLR_FIELD</i></span> Clear entire
+ field.</p>
+ </li>
+ </ul>
+
+ <p>The behavior of the REQ_NEW_LINE and REQ_DEL_PREV
+ requests is complicated and partly controlled by a pair
+ of forms options. The special cases are triggered when
+ the cursor is at the beginning of a field, or on the last
+ line of the field.</p>
+
+ <p>First, we consider REQ_NEW_LINE:</p>
+
+ <p>The normal behavior of REQ_NEW_LINE in insert mode is
+ to break the current line at the position of the edit
+ cursor, inserting the portion of the current line after
+ the cursor as a new line following the current and moving
+ the cursor to the beginning of that new line (you may
+ think of this as inserting a newline in the field
+ buffer).</p>
+
+ <p>The normal behavior of REQ_NEW_LINE in overlay mode is
+ to clear the current line from the position of the edit
+ cursor to end of line. The cursor is then moved to the
+ beginning of the next line.</p>
+
+ <p>However, REQ_NEW_LINE at the beginning of a field, or
+ on the last line of a field, instead does a
+ REQ_NEXT_FIELD. O_NL_OVERLOAD option is off, this special
+ action is disabled.</p>
+
+ <p>Now, let us consider REQ_DEL_PREV:</p>
+
+ <p>The normal behavior of REQ_DEL_PREV is to delete the
+ previous character. If insert mode is on, and the cursor
+ is at the start of a line, and the text on that line will
+ fit on the previous one, it instead appends the contents
+ of the current line to the previous one and deletes the
+ current line (you may think of this as deleting a newline
+ from the field buffer).</p>
+
+ <p>However, REQ_DEL_PREV at the beginning of a field is
+ instead treated as a REQ_PREV_FIELD.</p>
+
+ <p>If the O_BS_OVERLOAD option is off, this special
+ action is disabled and the forms driver just returns
+ E_REQUEST_DENIED.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="ORDERREQ" id=
+ "ORDERREQ">18.6.6. Order Requests</a></h4>
+
+ <p>If the type of your field is ordered, and has
+ associated functions for getting the next and previous
+ values of the type from a given value, there are requests
+ that can fetch that value into the field buffer:</p>
+
+ <ul>
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_NEXT_CHOICE</i></span> Place the
+ successor value of the current value in the
+ buffer.</p>
+ </li>
+
+ <li>
+ <p><span class="emphasis"><i class=
+ "EMPHASIS">REQ_PREV_CHOICE</i></span> Place the
+ predecessor value of the current value in the
+ buffer.</p>
+ </li>
+ </ul>
+
+ <p>Of the built-in field types, only TYPE_ENUM has
+ built-in successor and predecessor functions. When you
+ define a field type of your own (see Custom Validation
+ Types), you can associate our own ordering functions.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="APPLICCOMMANDS" id=
+ "APPLICCOMMANDS">18.6.7. Application Commands</a></h4>
+
+ <p>Form requests are represented as integers above the
+ curses value greater than KEY_MAX and less than or equal
+ to the constant MAX_COMMAND. A value within this range
+ gets ignored by form_driver(). So this can be used for
+ any purpose by the application. It can be treated as an
+ application specific action and take corresponding
+ action.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="TOOLS" id="TOOLS">19. Tools and
+ Widget Libraries</a></h2>
+
+ <p>Now that you have seen the capabilities of ncurses and its
+ sister libraries, you are rolling your sleeves up and gearing
+ for a project that heavily manipulates screen. But wait.. It
+ can be pretty difficult to write and maintain complex GUI
+ widgets in plain ncurses or even with the additional
+ libraries. There are some ready-to-use tools and widget
+ libraries that can be used instead of writing your own
+ widgets. You can use some of them, get ideas from the code,
+ or even extend them.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="CDK" id="CDK">19.1. CDK (Curses
+ Development Kit)</a></h3>
+
+ <p>In the author's words</p>
+
+ <p><span class="emphasis"><i class="EMPHASIS">CDK stands
+ for 'Curses Development Kit' and it currently contains 21
+ ready to use widgets which facilitate the speedy
+ development of full screen curses programs.</i></span></p>
+
+ <p>The kit provides some useful widgets, which can be used
+ in your programs directly. It's pretty well written and the
+ documentation is very good. The examples in the examples
+ directory can be a good place to start for beginners. The
+ CDK can be downloaded from <a href=
+ "https://invisible-island.net/cdk/" target=
+ "_top">https://invisible-island.net/cdk/</a> . Follow the
+ instructions in README file to install it.</p>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="WIDGETLIST" id=
+ "WIDGETLIST">19.1.1. Widget List</a></h4>
+
+ <p>The following is the list of widgets provided with cdk
+ and their description.</p>
+ <pre class="PROGRAMLISTING">
+Widget Type Quick Description
===========================================================================
Alphalist Allows a user to select from a list of words, with
the ability to narrow the search list by typing in a
@@ -8368,346 +7133,283 @@ Template Creates a entry field with character sensitive
dates and phone numbers.
Viewer This is a file/information viewer. Very useful
when you need to display loads of information.
-===========================================================================</PRE
-><P
->A few of the widgets are modified by Thomas Dickey in recent versions.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="CDKATTRACT"
->19.1.2. Some Attractive Features</A
-></H4
-><P
->Apart from making our life easier with readily usable widgets, cdk solves one
-frustrating problem with printing multi colored strings, justified strings
-elegantly. Special formatting tags can be embedded in the strings which are
-passed to CDK functions. For Example</P
-><P
->If the string</P
-><PRE
-CLASS="PROGRAMLISTING"
->"&lt;/B/1&gt;This line should have a yellow foreground and a blue
-background.&lt;!1&gt;"</PRE
-><P
->given as a parameter to newCDKLabel(), it prints the line with yellow foreground
-and blue background. There are other tags available for justifying string,
-embedding special drawing characters etc.. Please refer to the man page
-cdk_display(3X) for details. The man page explains the usage with nice examples.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><HR><H4
-CLASS="SECT3"
-><A
-NAME="CDKCONCLUSION"
->19.1.3. Conclusion</A
-></H4
-><P
->All in all, CDK is a well-written package of widgets, which if used properly can
-form a strong frame work for developing complex GUI.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="DIALOG"
->19.2. The dialog</A
-></H3
-><P
->Long long ago, in September 1994, when few people knew linux, Jeff Tranter wrote
-an <A
-HREF="http://www2.linuxjournal.com/lj-issues/issue5/2807.html"
-TARGET="_top"
->article</A
-> on dialog in Linux Journal. He starts the article with these words..</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Linux is based on the Unix operating system, but also features a number of
-unique and useful kernel features and application programs that often go beyond
-what is available under Unix. One little-known gem is "dialog", a utility for
-creating professional-looking dialog boxes from within shell scripts. This
-article presents a tutorial introduction to the dialog utility, and shows
-examples of how and where it can be used</I
-></SPAN
-></P
-><P
->
-As he explains, dialog is a real gem in making professional-looking dialog boxes
-with ease. It creates a variety of dialog boxes, menus, check lists etc.. It is
-usually installed by default. If not, you can download it from <A
-HREF="http://invisible-island.net/dialog/"
-TARGET="_top"
->Thomas Dickey</A
->'s site. </P
-><P
->The above-mentioned article gives a very good overview of its uses and
-capabilites. The man page has more details. It can be used in variety of
-situations. One good example is building of linux kernel in text mode. Linux
-kernel uses a modified version of dialog tailored for its needs. </P
-><P
->dialog was initially designed to be used with shell scripts. If you want to use
-its functionality in a c program, then you can use libdialog. The documentation
-regarding this is sparse. Definitive reference is the dialog.h header file which
-comes with the library. You may need to hack here and there to get the required
-output. The source is easily customizable. I have used it on a number of
-occasions by modifying the code.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="PERLCURSES"
->19.3. Perl Curses Modules CURSES::FORM and CURSES::WIDGETS</A
-></H3
-><P
->The perl module Curses, Curses::Form and Curses::Widgets give access to curses
-from perl. If you have curses and basic perl is installed, you can get these
-modules from <A
-HREF="http://www.cpan.org/modules/01modules.index.html"
-TARGET="_top"
-> CPAN
-All Modules page</A
->. Get the three zipped modules in the Curses category.
-Once installed you can use these modules from perl scripts like any other
-module. For more information on perl modules see perlmod man page. The above
-modules come with good documentation and they have some demo scripts to test the
-functionality. Though the widgets provided are very rudimentary, these modules
-provide good access to curses library from perl.</P
-><P
->Some of my code examples are converted to perl by Anuradha Ratnaweera and they
-are available in the <TT
-CLASS="LITERAL"
->perl</TT
-> directory.</P
-><P
->
-For more information see man pages Curses(3) , Curses::Form(3) and
-Curses::Widgets(3). These pages are installed only when the above modules are
-acquired and installed.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="JUSTFORFUN"
->20. Just For Fun !!!</A
-></H2
-><P
->This section contains few programs written by me just for fun. They don't
-signify a better programming practice or the best way of using ncurses. They are
-provided here so as to allow beginners to get ideas and add more programs to
-this section. If you have written a couple of nice, simple programs in curses
-and want them to included here, contact <A
-HREF="mailto:ppadala@gmail.com"
-TARGET="_top"
->me</A
->.</P
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="GAMEOFLIFE"
->20.1. The Game of Life</A
-></H3
-><P
->Game of life is a wonder of math. In
-<A
-HREF="http://www.math.com/students/wonders/life/life.html"
-TARGET="_top"
->Paul Callahan</A
->'s words</P
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->The Game of Life (or simply Life) is not a game in the conventional sense. There
+===========================================================================
+</pre>
+
+ <p>A few of the widgets are modified by Thomas Dickey in
+ recent versions.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="CDKATTRACT" id=
+ "CDKATTRACT">19.1.2. Some Attractive Features</a></h4>
+
+ <p>Apart from making our life easier with readily usable
+ widgets, cdk solves one frustrating problem with printing
+ multi colored strings, justified strings elegantly.
+ Special formatting tags can be embedded in the strings
+ which are passed to CDK functions. For Example</p>
+
+ <p>If the string</p>
+ <pre class="PROGRAMLISTING">
+"&lt;/B/1&gt;This line should have a yellow foreground and a blue
+background.&lt;!1&gt;"
+</pre>
+
+ <p>given as a parameter to newCDKLabel(), it prints the
+ line with yellow foreground and blue background. There
+ are other tags available for justifying string, embedding
+ special drawing characters etc.. Please refer to the man
+ page cdk_display(3X) for details. The man page explains
+ the usage with nice examples.</p>
+ </div>
+
+ <div class="SECT3">
+ <hr>
+
+ <h4 class="SECT3"><a name="CDKCONCLUSION" id=
+ "CDKCONCLUSION">19.1.3. Conclusion</a></h4>
+
+ <p>All in all, CDK is a well-written package of widgets,
+ which if used properly can form a strong frame work for
+ developing complex GUI.</p>
+ </div>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="DIALOG" id="DIALOG">19.2. The
+ dialog</a></h3>
+
+ <p>Long long ago, in September 1994, when few people knew
+ linux, Jeff Tranter wrote an <a href=
+ "http://www2.linuxjournal.com/lj-issues/issue5/2807.html"
+ target="_top">article</a> on dialog in Linux Journal. He
+ starts the article with these words..</p>
+
+ <p><span class="emphasis"><i class="EMPHASIS">Linux is
+ based on the Unix operating system, but also features a
+ number of unique and useful kernel features and application
+ programs that often go beyond what is available under Unix.
+ One little-known gem is "dialog", a utility for creating
+ professional-looking dialog boxes from within shell
+ scripts. This article presents a tutorial introduction to
+ the dialog utility, and shows examples of how and where it
+ can be used</i></span></p>
+
+ <p>As he explains, dialog is a real gem in making
+ professional-looking dialog boxes with ease. It creates a
+ variety of dialog boxes, menus, check lists etc.. It is
+ usually installed by default. If not, you can download it
+ from <a href="https://invisible-island.net/dialog/" target=
+ "_top">Thomas Dickey</a>'s site.</p>
+
+ <p>The above-mentioned article gives a very good overview
+ of its uses and capabilites. The man page has more details.
+ It can be used in variety of situations. One good example
+ is building of linux kernel in text mode. Linux kernel uses
+ a modified version of dialog tailored for its needs.</p>
+
+ <p>dialog was initially designed to be used with shell
+ scripts. If you want to use its functionality in a c
+ program, then you can use libdialog. The documentation
+ regarding this is sparse. Definitive reference is the
+ dialog.h header file which comes with the library. You may
+ need to hack here and there to get the required output. The
+ source is easily customizable. I have used it on a number
+ of occasions by modifying the code.</p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="PERLCURSES" id=
+ "PERLCURSES">19.3. Perl Curses Modules CURSES::FORM and
+ CURSES::WIDGETS</a></h3>
+
+ <p>The perl module Curses, Curses::Form and Curses::Widgets
+ give access to curses from perl. If you have curses and
+ basic perl is installed, you can get these modules from
+ <a href="http://www.cpan.org/modules/01modules.index.html"
+ target="_top">CPAN All Modules page</a>. Get the three
+ zipped modules in the Curses category. Once installed you
+ can use these modules from perl scripts like any other
+ module. For more information on perl modules see perlmod
+ man page. The above modules come with good documentation
+ and they have some demo scripts to test the functionality.
+ Though the widgets provided are very rudimentary, these
+ modules provide good access to curses library from
+ perl.</p>
+
+ <p>Some of my code examples are converted to perl by
+ Anuradha Ratnaweera and they are available in the
+ <tt class="LITERAL">perl</tt> directory.</p>
+
+ <p>For more information see man pages Curses(3) ,
+ Curses::Form(3) and Curses::Widgets(3). These pages are
+ installed only when the above modules are acquired and
+ installed.</p>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="JUSTFORFUN" id="JUSTFORFUN">20.
+ Just For Fun !!!</a></h2>
+
+ <p>This section contains few programs written by me just for
+ fun. They don't signify a better programming practice or the
+ best way of using ncurses. They are provided here so as to
+ allow beginners to get ideas and add more programs to this
+ section. If you have written a couple of nice, simple
+ programs in curses and want them to included here, contact
+ <a href="mailto:ppadala@gmail.com" target="_top">me</a>.</p>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="GAMEOFLIFE" id=
+ "GAMEOFLIFE">20.1. The Game of Life</a></h3>
+
+ <p>Game of life is a wonder of math. In <a href=
+ "http://www.math.com/students/wonders/life/life.html"
+ target="_top">Paul Callahan</a>'s words</p>
+ <pre class="PROGRAMLISTING">
+<span class="emphasis"><i class=
+"EMPHASIS">The Game of Life (or simply Life) is not a game in the conventional sense. There
are no players, and no winning or losing. Once the "pieces" are placed in the
starting position, the rules determine everything that happens later.
Nevertheless, Life is full of surprises! In most cases, it is impossible to look
at a starting position (or pattern) and see what will happen in the future. The
-only way to find out is to follow the rules of the game.</I
-></SPAN
-></PRE
-><P
->This program starts with a simple inverted U pattern and shows how wonderful
-life works. There is a lot of room for improvement in the program. You can let
-the user enter pattern of his choice or even take input from a file. You can
-also change rules and play with a lot of variations. Search on <A
-HREF="http://www.google.com"
-TARGET="_top"
->google</A
-> for interesting information on game
-of life.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Path: JustForFun/life.c</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="MAGIC"
->20.2. Magic Square</A
-></H3
-><P
->Magic Square, another wonder of math, is very simple to understand but very
-difficult to make. In a magic square sum of the numbers in each row, each column
-is equal. Even diagnol sum can be equal. There are many variations which have
-special properties.</P
-><P
->This program creates a simple magic square of odd order.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Path: JustForFun/magic.c</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="HANOI"
->20.3. Towers of Hanoi</A
-></H3
-><P
->The famous towers of hanoi solver. The aim of the game is to move the disks on
-the first peg to last peg, using middle peg as a temporary stay. The catch is
-not to place a larger disk over a small disk at any time.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Path: JustForFun/hanoi.c</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="QUEENS"
->20.4. Queens Puzzle</A
-></H3
-><P
->The objective of the famous N-Queen puzzle is to put N queens on a N X N chess
-board without attacking each other. </P
-><P
->This program solves it with a simple backtracking technique.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Path: JustForFun/queens.c</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="SHUFFLE"
->20.5. Shuffle</A
-></H3
-><P
->A fun game, if you have time to kill. </P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Path: JustForFun/shuffle.c</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><HR><H3
-CLASS="SECT2"
-><A
-NAME="TT"
->20.6. Typing Tutor</A
-></H3
-><P
->A simple typing tutor, I created more out of need than for ease of use. If you
-know how to put your fingers correctly on the keyboard, but lack practice, this
-can be helpful. </P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Path: JustForFun/tt.c</I
-></SPAN
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT1"
-><HR><H2
-CLASS="SECT1"
-><A
-NAME="REF"
->21. References</A
-></H2
-><P
-></P
-><UL
-><LI
-><P
->NCURSES man pages </P
-></LI
-><LI
-><P
->NCURSES FAQ at <A
-HREF="http://invisible-island.net/ncurses/ncurses.faq.html"
-TARGET="_top"
->http://invisible-island.net/ncurses/ncurses.faq.html</A
->
- </P
-></LI
-><LI
-><P
->Writing programs with NCURSES by Eric Raymond and Zeyd M.
-Ben-Halim at
-<A
-HREF="http://invisible-island.net/ncurses/ncurses-intro.html"
-TARGET="_top"
->http://invisible-island.net/ncurses/ncurses-intro.html</A
-> - somewhat
-obsolete. I was inspired by this document and the structure of this HOWTO
-follows from the original document</P
-></LI
-></UL
-></DIV
-></DIV
-></BODY
-></HTML
-> \ No newline at end of file
+only way to find out is to follow the rules of the game.</i></span>
+</pre>
+
+ <p>This program starts with a simple inverted U pattern and
+ shows how wonderful life works. There is a lot of room for
+ improvement in the program. You can let the user enter
+ pattern of his choice or even take input from a file. You
+ can also change rules and play with a lot of variations.
+ Search on <a href="http://www.google.com" target=
+ "_top">google</a> for interesting information on game of
+ life.</p>
+
+ <p><span class="emphasis"><i class="EMPHASIS">File Path:
+ JustForFun/life.c</i></span></p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="MAGIC" id="MAGIC">20.2. Magic
+ Square</a></h3>
+
+ <p>Magic Square, another wonder of math, is very simple to
+ understand but very difficult to make. In a magic square
+ sum of the numbers in each row, each column is equal. Even
+ diagnol sum can be equal. There are many variations which
+ have special properties.</p>
+
+ <p>This program creates a simple magic square of odd
+ order.</p>
+
+ <p><span class="emphasis"><i class="EMPHASIS">File Path:
+ JustForFun/magic.c</i></span></p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="HANOI" id="HANOI">20.3. Towers
+ of Hanoi</a></h3>
+
+ <p>The famous towers of hanoi solver. The aim of the game
+ is to move the disks on the first peg to last peg, using
+ middle peg as a temporary stay. The catch is not to place a
+ larger disk over a small disk at any time.</p>
+
+ <p><span class="emphasis"><i class="EMPHASIS">File Path:
+ JustForFun/hanoi.c</i></span></p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="QUEENS" id="QUEENS">20.4. Queens
+ Puzzle</a></h3>
+
+ <p>The objective of the famous N-Queen puzzle is to put N
+ queens on a N X N chess board without attacking each
+ other.</p>
+
+ <p>This program solves it with a simple backtracking
+ technique.</p>
+
+ <p><span class="emphasis"><i class="EMPHASIS">File Path:
+ JustForFun/queens.c</i></span></p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="SHUFFLE" id="SHUFFLE">20.5.
+ Shuffle</a></h3>
+
+ <p>A fun game, if you have time to kill.</p>
+
+ <p><span class="emphasis"><i class="EMPHASIS">File Path:
+ JustForFun/shuffle.c</i></span></p>
+ </div>
+
+ <div class="SECT2">
+ <hr>
+
+ <h3 class="SECT2"><a name="TT" id="TT">20.6. Typing
+ Tutor</a></h3>
+
+ <p>A simple typing tutor, I created more out of need than
+ for ease of use. If you know how to put your fingers
+ correctly on the keyboard, but lack practice, this can be
+ helpful.</p>
+
+ <p><span class="emphasis"><i class="EMPHASIS">File Path:
+ JustForFun/tt.c</i></span></p>
+ </div>
+ </div>
+
+ <div class="SECT1">
+ <hr>
+
+ <h2 class="SECT1"><a name="REF" id="REF">21.
+ References</a></h2>
+
+ <ul>
+ <li>
+ <p>NCURSES man pages</p>
+ </li>
+
+ <li>
+ <p>NCURSES FAQ at <a href=
+ "https://invisible-island.net/ncurses/ncurses.faq.html"
+ target=
+ "_top">https://invisible-island.net/ncurses/ncurses.faq.html</a></p>
+ </li>
+
+ <li>
+ <p>Writing programs with NCURSES by Eric Raymond and Zeyd
+ M. Ben-Halim at <a href=
+ "https://invisible-island.net/ncurses/ncurses-intro.html"
+ target=
+ "_top">https://invisible-island.net/ncurses/ncurses-intro.html</a>
+ - somewhat obsolete. I was inspired by this document and
+ the structure of this HOWTO follows from the original
+ document</p>
+ </li>
+ </ul>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/doc/html/ada/files/T.htm b/doc/html/ada/files/T.htm
index dcb0cd42bc03..b54027bb1bea 100644
--- a/doc/html/ada/files/T.htm
+++ b/doc/html/ada/files/T.htm
@@ -78,5 +78,6 @@
<LI><A HREF="../terminal_interface-curses-trace__ads.htm" TARGET="main">terminal_interface-curses-trace.ads</A>
<LI><A HREF="../terminal_interface-curses__adb.htm" TARGET="main">terminal_interface-curses.adb</A>
<LI><A HREF="../terminal_interface-curses__ads.htm" TARGET="main">terminal_interface-curses.ads</A>
+<LI><A HREF="../terminal_interface-curses_constants__ads.htm" TARGET="main">terminal_interface-curses_constants.ads</A>
<LI><A HREF="../terminal_interface__ads.htm" TARGET="main">terminal_interface.ads</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/A.htm b/doc/html/ada/funcs/A.htm
index 73f0dd41be23..e784abdbe7c7 100644
--- a/doc/html/ada/funcs/A.htm
+++ b/doc/html/ada/funcs/A.htm
@@ -8,21 +8,22 @@
<H2>Functions - A</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_129_13" TARGET="main">Above</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_524_14" TARGET="main">Add - terminal_interface-curses.ads:524</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_529_14" TARGET="main">Add - terminal_interface-curses.ads:529</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_535_14" TARGET="main">Add - terminal_interface-curses.ads:535</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_543_14" TARGET="main">Add - terminal_interface-curses.ads:543</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_654_14" TARGET="main">Add - terminal_interface-curses.ads:654</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_663_14" TARGET="main">Add - terminal_interface-curses.ads:663</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_678_14" TARGET="main">Add - terminal_interface-curses.ads:678</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_687_14" TARGET="main">Add - terminal_interface-curses.ads:687</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1308_14" TARGET="main">Add_Character_To_Pad_And_Echo_It - terminal_interface-curses.ads:1308</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1313_14" TARGET="main">Add_Character_To_Pad_And_Echo_It - terminal_interface-curses.ads:1313</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_552_14" TARGET="main">Add_With_Immediate_Echo - terminal_interface-curses.ads:552</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_558_14" TARGET="main">Add_With_Immediate_Echo - terminal_interface-curses.ads:558</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_959_16" TARGET="main">Ahead</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_128_13" TARGET="main">Above</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_567_13" TARGET="main">ACS_Map</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_693_14" TARGET="main">Add - terminal_interface-curses.ads:693</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_698_14" TARGET="main">Add - terminal_interface-curses.ads:698</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_704_14" TARGET="main">Add - terminal_interface-curses.ads:704</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_712_14" TARGET="main">Add - terminal_interface-curses.ads:712</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_823_14" TARGET="main">Add - terminal_interface-curses.ads:823</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_832_14" TARGET="main">Add - terminal_interface-curses.ads:832</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_847_14" TARGET="main">Add - terminal_interface-curses.ads:847</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_856_14" TARGET="main">Add - terminal_interface-curses.ads:856</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1477_14" TARGET="main">Add_Character_To_Pad_And_Echo_It - terminal_interface-curses.ads:1477</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1482_14" TARGET="main">Add_Character_To_Pad_And_Echo_It - terminal_interface-curses.ads:1482</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_721_14" TARGET="main">Add_With_Immediate_Echo - terminal_interface-curses.ads:721</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_727_14" TARGET="main">Add_With_Immediate_Echo - terminal_interface-curses.ads:727</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_841_16" TARGET="main">Ahead</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_16" TARGET="main">Allocate_Arg</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1017_14" TARGET="main">Allow_Scrolling</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1837_14" TARGET="main">Assume_Default_Colors</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1186_14" TARGET="main">Allow_Scrolling</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2008_14" TARGET="main">Assume_Default_Colors</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/B.htm b/doc/html/ada/funcs/B.htm
index 511e6d0bb6d1..7fb03a010e6b 100644
--- a/doc/html/ada/funcs/B.htm
+++ b/doc/html/ada/funcs/B.htm
@@ -8,18 +8,18 @@
<H2>Functions - B</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_456_14" TARGET="main">Background - terminal_interface-curses-forms.ads:456</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_461_14" TARGET="main">Background - terminal_interface-curses-forms.ads:461</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_453_14" TARGET="main">Background - terminal_interface-curses-menus.ads:453</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_458_14" TARGET="main">Background - terminal_interface-curses-menus.ads:458</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2052_16" TARGET="main">Baud</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1648_13" TARGET="main">Baudrate</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_871_14" TARGET="main">Beep</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_455_14" TARGET="main">Background - terminal_interface-curses-forms.ads:455</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_460_14" TARGET="main">Background - terminal_interface-curses-forms.ads:460</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_449_14" TARGET="main">Background - terminal_interface-curses-menus.ads:449</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_454_14" TARGET="main">Background - terminal_interface-curses-menus.ads:454</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2064_16" TARGET="main">Baud</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1817_13" TARGET="main">Baudrate</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1040_14" TARGET="main">Beep</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_751_16" TARGET="main">Beeper</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_975_16" TARGET="main">Behind</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_134_13" TARGET="main">Below</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_705_14" TARGET="main">Border</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_77_14" TARGET="main">Bottom</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_857_16" TARGET="main">Behind</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_133_13" TARGET="main">Below</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_874_14" TARGET="main">Border</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_76_14" TARGET="main">Bottom</A>
<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_65_16" TARGET="main">Bottompanel</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_721_14" TARGET="main">Box</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_890_14" TARGET="main">Box</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/C.htm b/doc/html/ada/funcs/C.htm
index 12c97fb5102b..d1e5312e2ec5 100644
--- a/doc/html/ada/funcs/C.htm
+++ b/doc/html/ada/funcs/C.htm
@@ -8,53 +8,56 @@
<H2>Functions - C</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2213_16" TARGET="main">Canchangecolor</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1740_13" TARGET="main">Can_Change_Color</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2228_16" TARGET="main">Canchangecolor</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1909_13" TARGET="main">Can_Change_Color</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_771_16" TARGET="main">Cbreak</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_384_13" TARGET="main">Changed</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_846_14" TARGET="main">Change_Attributes - terminal_interface-curses.ads:846</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_855_14" TARGET="main">Change_Attributes - terminal_interface-curses.ads:855</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1117_14" TARGET="main">Change_Background</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1153_14" TARGET="main">Change_Lines_Status</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_383_13" TARGET="main">Changed</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1015_14" TARGET="main">Change_Attributes - terminal_interface-curses.ads:1015</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1024_14" TARGET="main">Change_Attributes - terminal_interface-curses.ads:1024</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1286_14" TARGET="main">Change_Background</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1322_14" TARGET="main">Change_Lines_Status</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_185_13" TARGET="main">Char_Check_Router</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1081_14" TARGET="main">Clear</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_968_16" TARGET="main">Clear_Ok</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_982_14" TARGET="main">Clear_On_Next_Update</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1534_14" TARGET="main">Clear_Soft_Label_Keys</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1095_14" TARGET="main">Clear_To_End_Of_Line</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1088_14" TARGET="main">Clear_To_End_Of_Screen</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1250_14" TARGET="main">Clear</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_969_16" TARGET="main">Clear_Ok</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1151_14" TARGET="main">Clear_On_Next_Update</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1703_14" TARGET="main">Clear_Soft_Label_Keys</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1264_14" TARGET="main">Clear_To_End_Of_Line</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1257_14" TARGET="main">Clear_To_End_Of_Screen</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_98_13" TARGET="main">Col - terminal_interface-curses-text_io.ads:98</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_99_13" TARGET="main">Col - terminal_interface-curses-text_io.ads:99</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2230_16" TARGET="main">Colorcontent</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1745_14" TARGET="main">Color_Content</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_416_13" TARGET="main">Columns</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1175_14" TARGET="main">Copy</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1269_16" TARGET="main">Copywin</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2245_16" TARGET="main">Colorcontent</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2381_16" TARGET="main">COLORS_As_Function</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1914_14" TARGET="main">Color_Content</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2389_16" TARGET="main">COLOR_PAIRS_As_Function</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2364_16" TARGET="main">COLS_As_Function</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_553_13" TARGET="main">Columns</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1344_14" TARGET="main">Copy</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1274_16" TARGET="main">Copywin</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_167_13" TARGET="main">Copy_Arg</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_774_16" TARGET="main">Count - terminal_interface-curses-forms.adb:774</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_912_16" TARGET="main">Count - terminal_interface-curses-menus.adb:912</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_680_16" TARGET="main">Count - terminal_interface-curses-forms.adb:680</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_796_16" TARGET="main">Count - terminal_interface-curses-menus.adb:796</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_13" TARGET="main">Create - terminal_interface-curses-forms-field_types-enumeration-ada.ads:48</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13" TARGET="main">Create - terminal_interface-curses-forms-field_types-enumeration.ads:64</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_295_13" TARGET="main">Create - terminal_interface-curses-forms.ads:295</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_625_13" TARGET="main">Create - terminal_interface-curses-forms.ads:625</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_193_13" TARGET="main">Create - terminal_interface-curses-menus.ads:193</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_640_13" TARGET="main">Create - terminal_interface-curses-menus.ads:640</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_67_13" TARGET="main">Create - terminal_interface-curses-panels.ads:67</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_570_13" TARGET="main">Create - terminal_interface-curses.ads:570</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_731_13" TARGET="main">Current - terminal_interface-curses-forms.ads:731</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_296_13" TARGET="main">Current - terminal_interface-curses-menus.ads:296</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_1040_16" TARGET="main">Current_Fld</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_482_13" TARGET="main">Current_Window</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_300_16" TARGET="main">Curr_Item</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2460_17" TARGET="main">curses_freeall</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1860_14" TARGET="main">Curses_Free_All</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1847_13" TARGET="main">Curses_Version</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2452_16" TARGET="main">curses_versionC</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2317_16" TARGET="main">Curs_Set</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2438_16" TARGET="main">C_Assume_Default_Colors</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_294_13" TARGET="main">Create - terminal_interface-curses-forms.ads:294</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_624_13" TARGET="main">Create - terminal_interface-curses-forms.ads:624</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_189_13" TARGET="main">Create - terminal_interface-curses-menus.ads:189</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_636_13" TARGET="main">Create - terminal_interface-curses-menus.ads:636</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_66_13" TARGET="main">Create - terminal_interface-curses-panels.ads:66</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_739_13" TARGET="main">Create - terminal_interface-curses.ads:739</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_730_13" TARGET="main">Current - terminal_interface-curses-forms.ads:730</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_292_13" TARGET="main">Current - terminal_interface-curses-menus.ads:292</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_916_16" TARGET="main">Current_Fld</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_650_13" TARGET="main">Current_Window</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_260_16" TARGET="main">Curr_Item</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2459_17" TARGET="main">curses_freeall</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2031_14" TARGET="main">Curses_Free_All</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2018_13" TARGET="main">Curses_Version</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2451_16" TARGET="main">curses_versionC</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2333_16" TARGET="main">Curs_Set</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2437_16" TARGET="main">C_Assume_Default_Colors</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_148_13" TARGET="main">C_Builtin_Router</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_149_13" TARGET="main">C_Choice_Router</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_78_13" TARGET="main">C_Generic_Choice</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_79_13" TARGET="main">C_Generic_Type</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2426_16" TARGET="main">C_Use_Default_Colors</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2425_16" TARGET="main">C_Use_Default_Colors</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/D.htm b/doc/html/ada/funcs/D.htm
index 4f0759d3afd3..58db88366525 100644
--- a/doc/html/ada/funcs/D.htm
+++ b/doc/html/ada/funcs/D.htm
@@ -8,44 +8,44 @@
<H2>Functions - D</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_694_13" TARGET="main">Data_Ahead</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_699_13" TARGET="main">Data_Behind</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_103_13" TARGET="main">Default_Field_Options</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_127_13" TARGET="main">Default_Form_Options</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_170_13" TARGET="main">Default_Item_Options</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_147_13" TARGET="main">Default_Menu_Options</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1597_14" TARGET="main">Define_Key</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2000_16" TARGET="main">Defkey</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2249_16" TARGET="main">Def_Prog_Mode</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2251_16" TARGET="main">Def_Shell_Mode</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2032_16" TARGET="main">Delayoutput</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1634_14" TARGET="main">Delay_Output</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_317_14" TARGET="main">Delete - terminal_interface-curses-forms.ads:317</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_636_14" TARGET="main">Delete - terminal_interface-curses-forms.ads:636</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_205_14" TARGET="main">Delete - terminal_interface-curses-menus.ads:205</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_647_14" TARGET="main">Delete - terminal_interface-curses-menus.ads:647</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_139_14" TARGET="main">Delete - terminal_interface-curses-panels.ads:139</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_589_14" TARGET="main">Delete - terminal_interface-curses.ads:589</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1335_14" TARGET="main">Delete_Character - terminal_interface-curses.ads:1335</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1340_14" TARGET="main">Delete_Character - terminal_interface-curses.ads:1340</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1213_14" TARGET="main">Delete_Line</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_693_13" TARGET="main">Data_Ahead</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_698_13" TARGET="main">Data_Behind</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_104_13" TARGET="main">Default_Field_Options</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_126_13" TARGET="main">Default_Form_Options</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_166_13" TARGET="main">Default_Item_Options</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_145_13" TARGET="main">Default_Menu_Options</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1766_14" TARGET="main">Define_Key</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2012_16" TARGET="main">Defkey</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2265_16" TARGET="main">Def_Prog_Mode</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2267_16" TARGET="main">Def_Shell_Mode</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2044_16" TARGET="main">Delayoutput</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1803_14" TARGET="main">Delay_Output</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_316_14" TARGET="main">Delete - terminal_interface-curses-forms.ads:316</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_635_14" TARGET="main">Delete - terminal_interface-curses-forms.ads:635</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_201_14" TARGET="main">Delete - terminal_interface-curses-menus.ads:201</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_643_14" TARGET="main">Delete - terminal_interface-curses-menus.ads:643</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_138_14" TARGET="main">Delete - terminal_interface-curses-panels.ads:138</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_758_14" TARGET="main">Delete - terminal_interface-curses.ads:758</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1504_14" TARGET="main">Delete_Character - terminal_interface-curses.ads:1504</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1509_14" TARGET="main">Delete_Character - terminal_interface-curses.ads:1509</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1382_14" TARGET="main">Delete_Line</A>
<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_156_16" TARGET="main">Del_Panel</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_605_13" TARGET="main">Derived_Window</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_774_13" TARGET="main">Derived_Window</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_298_16" TARGET="main">Derwin</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_126_16" TARGET="main">Descname - terminal_interface-curses-menus.adb:126</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_270_16" TARGET="main">Descname - terminal_interface-curses-menus.adb:270</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_278_16" TARGET="main">Descname - terminal_interface-curses-menus.adb:278</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_107_16" TARGET="main">Descname - terminal_interface-curses-menus.adb:107</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_233_16" TARGET="main">Descname - terminal_interface-curses-menus.adb:233</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_241_16" TARGET="main">Descname - terminal_interface-curses-menus.adb:241</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_272_14" TARGET="main">Description - terminal_interface-curses-menus.ads:272</A>
<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_276_14" TARGET="main">Description - terminal_interface-curses-menus.ads:276</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_280_14" TARGET="main">Description - terminal_interface-curses-menus.ads:280</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_131_14" TARGET="main">Dispatch_Event</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1059_16" TARGET="main">Do_Update</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_713_13" TARGET="main">Driver - terminal_interface-curses-forms.ads:713</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_662_13" TARGET="main">Driver - terminal_interface-curses-menus.ads:662</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_973_16" TARGET="main">Driver - terminal_interface-curses-menus.adb:973</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_323_13" TARGET="main">Duplicate - terminal_interface-curses-forms.ads:323</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_615_13" TARGET="main">Duplicate - terminal_interface-curses.ads:615</A>
+<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_129_14" TARGET="main">Dispatch_Event</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1061_16" TARGET="main">Do_Update</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_712_13" TARGET="main">Driver - terminal_interface-curses-forms.ads:712</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_658_13" TARGET="main">Driver - terminal_interface-curses-menus.ads:658</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_854_16" TARGET="main">Driver - terminal_interface-curses-menus.adb:854</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_322_13" TARGET="main">Duplicate - terminal_interface-curses-forms.ads:322</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_784_13" TARGET="main">Duplicate - terminal_interface-curses.ads:784</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_321_16" TARGET="main">Dupwin</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_151_16" TARGET="main">Dup_Field</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_495_14" TARGET="main">Dynamic_Info</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_559_16" TARGET="main">Dyn_Info</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_130_16" TARGET="main">Dup_Field</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_494_14" TARGET="main">Dynamic_Info</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_494_16" TARGET="main">Dyn_Info</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/E.htm b/doc/html/ada/funcs/E.htm
index b1afc3ed28b6..c39c728c879d 100644
--- a/doc/html/ada/funcs/E.htm
+++ b/doc/html/ada/funcs/E.htm
@@ -9,14 +9,14 @@
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_809_16" TARGET="main">Echo</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1587_14" TARGET="main">Enable_Key</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_150_13" TARGET="main">Enclosed_In_Window</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_113_16" TARGET="main">Endwin</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_124_14" TARGET="main">End_Mouse</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_498_14" TARGET="main">End_Screen</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_496_14" TARGET="main">End_Windows</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1075_14" TARGET="main">Erase</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2060_16" TARGET="main">Erasechar</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1653_13" TARGET="main">Erase_Character</A>
-<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_96_14" TARGET="main">Eti_Exception</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1756_14" TARGET="main">Enable_Key</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_146_13" TARGET="main">Enclosed_In_Window</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_112_16" TARGET="main">Endwin</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_120_14" TARGET="main">End_Mouse</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_667_14" TARGET="main">End_Screen</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_665_14" TARGET="main">End_Windows</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1244_14" TARGET="main">Erase</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2072_16" TARGET="main">Erasechar</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1822_13" TARGET="main">Erase_Character</A>
+<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_86_14" TARGET="main">Eti_Exception</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/F.htm b/doc/html/ada/funcs/F.htm
index 9d2ca6ca0aa1..36a913a84f2c 100644
--- a/doc/html/ada/funcs/F.htm
+++ b/doc/html/ada/funcs/F.htm
@@ -8,52 +8,52 @@
<H2>Functions - F</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_603_13" TARGET="main">Fields</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_468_16" TARGET="main">Field_Back - terminal_interface-curses-forms.adb:468</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_478_16" TARGET="main">Field_Back - terminal_interface-curses-forms.adb:478</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_255_16" TARGET="main">Field_Buffer - terminal_interface-curses-forms.adb:255</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_266_16" TARGET="main">Field_Buffer - terminal_interface-curses-forms.adb:266</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_602_13" TARGET="main">Fields</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_410_16" TARGET="main">Field_Back - terminal_interface-curses-forms.adb:410</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_420_16" TARGET="main">Field_Back - terminal_interface-curses-forms.adb:420</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_222_16" TARGET="main">Field_Buffer - terminal_interface-curses-forms.adb:222</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_233_16" TARGET="main">Field_Buffer - terminal_interface-curses-forms.adb:233</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_177_13" TARGET="main">Field_Check_Router</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_609_13" TARGET="main">Field_Count</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_424_16" TARGET="main">Field_Fore - terminal_interface-curses-forms.adb:424</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_434_16" TARGET="main">Field_Fore - terminal_interface-curses-forms.adb:434</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_213_16" TARGET="main">Field_Just</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_374_16" TARGET="main">Field_Opts</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_352_16" TARGET="main">Field_Opts_Off</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_349_16" TARGET="main">Field_Opts_On</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_507_16" TARGET="main">Field_Pad</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_293_16" TARGET="main">Field_Status</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_72_16" TARGET="main">Field_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_116_14" TARGET="main">Fill_String - terminal_interface-curses-aux.ads:116</A>
-<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_121_13" TARGET="main">Fill_String - terminal_interface-curses-aux.ads:121</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_608_13" TARGET="main">Field_Count</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_371_16" TARGET="main">Field_Fore - terminal_interface-curses-forms.adb:371</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_381_16" TARGET="main">Field_Fore - terminal_interface-curses-forms.adb:381</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_188_16" TARGET="main">Field_Just</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_327_16" TARGET="main">Field_Opts</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_310_16" TARGET="main">Field_Opts_Off</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_307_16" TARGET="main">Field_Opts_On</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_446_16" TARGET="main">Field_Pad</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_259_16" TARGET="main">Field_Status</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_67_16" TARGET="main">Field_Userptr</A>
+<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_90_14" TARGET="main">Fill_String - terminal_interface-curses-aux.ads:90</A>
+<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_95_13" TARGET="main">Fill_String - terminal_interface-curses-aux.ads:95</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_761_16" TARGET="main">Flash</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_876_14" TARGET="main">Flash_Screen</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_528_16" TARGET="main">Fld_Info</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1045_14" TARGET="main">Flash_Screen</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_467_16" TARGET="main">Fld_Info</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_65_14" TARGET="main">Flush - terminal_interface-curses-text_io.ads:65</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_66_14" TARGET="main">Flush - terminal_interface-curses-text_io.ads:66</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2042_16" TARGET="main">Flushinp</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1639_14" TARGET="main">Flush_Input</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_436_14" TARGET="main">Foreground - terminal_interface-curses-forms.ads:436</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_441_14" TARGET="main">Foreground - terminal_interface-curses-forms.ads:441</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_433_14" TARGET="main">Foreground - terminal_interface-curses-menus.ads:433</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_438_14" TARGET="main">Foreground - terminal_interface-curses-menus.ads:438</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_553_14" TARGET="main">Format</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_889_16" TARGET="main">Form_Opts</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_867_16" TARGET="main">Form_Opts_Off</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_864_16" TARGET="main">Form_Opts_On</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_84_16" TARGET="main">Form_Request_Name - terminal_interface-curses-forms.adb:84</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_92_16" TARGET="main">Form_Request_Name - terminal_interface-curses-forms.adb:92</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_628_16" TARGET="main">Form_Sub</A>
-<LI><A HREF="../terminal_interface-curses-forms-form_user_data__adb.htm#ref_73_16" TARGET="main">Form_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_600_16" TARGET="main">Form_Win</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_138_14" TARGET="main">Free - terminal_interface-curses-forms.ads:138</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_182_14" TARGET="main">Free - terminal_interface-curses-menus.ads:182</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_825_16" TARGET="main">Free - terminal_interface-curses-forms.adb:825</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_958_16" TARGET="main">Free - terminal_interface-curses-menus.adb:958</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_131_16" TARGET="main">Freeitem</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2054_16" TARGET="main">Flushinp</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1808_14" TARGET="main">Flush_Input</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_435_14" TARGET="main">Foreground - terminal_interface-curses-forms.ads:435</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_440_14" TARGET="main">Foreground - terminal_interface-curses-forms.ads:440</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_429_14" TARGET="main">Foreground - terminal_interface-curses-menus.ads:429</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_434_14" TARGET="main">Foreground - terminal_interface-curses-menus.ads:434</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_549_14" TARGET="main">Format</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_779_16" TARGET="main">Form_Opts</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_762_16" TARGET="main">Form_Opts_Off</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_759_16" TARGET="main">Form_Opts_On</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_67_16" TARGET="main">Form_Request_Name - terminal_interface-curses-forms.adb:67</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_75_16" TARGET="main">Form_Request_Name - terminal_interface-curses-forms.adb:75</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_553_16" TARGET="main">Form_Sub</A>
+<LI><A HREF="../terminal_interface-curses-forms-form_user_data__adb.htm#ref_68_16" TARGET="main">Form_Userptr</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_528_16" TARGET="main">Form_Win</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_137_14" TARGET="main">Free - terminal_interface-curses-forms.ads:137</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_178_14" TARGET="main">Free - terminal_interface-curses-menus.ads:178</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_728_16" TARGET="main">Free - terminal_interface-curses-forms.adb:728</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_842_16" TARGET="main">Free - terminal_interface-curses-menus.adb:842</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_112_16" TARGET="main">Freeitem</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_172_14" TARGET="main">Free_Arg</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_133_16" TARGET="main">Free_Field</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_996_16" TARGET="main">Frm_Driver</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_782_13" TARGET="main">Function_Key</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_787_13" TARGET="main">Function_Key_Code</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_116_16" TARGET="main">Free_Field</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_878_16" TARGET="main">Frm_Driver</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_951_13" TARGET="main">Function_Key</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_956_13" TARGET="main">Function_Key_Code</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/G.htm b/doc/html/ada/funcs/G.htm
index 56131949d4ea..05da12d02da4 100644
--- a/doc/html/ada/funcs/G.htm
+++ b/doc/html/ada/funcs/G.htm
@@ -12,72 +12,72 @@
<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13" TARGET="main">Generic_Field_Check</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13" TARGET="main">Generic_Next</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13" TARGET="main">Generic_Prev</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1464_14" TARGET="main">Get - terminal_interface-curses.ads:1464</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1475_14" TARGET="main">Get - terminal_interface-curses.ads:1475</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1370_16" TARGET="main">GetBegX</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1367_16" TARGET="main">GetBegY</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1388_16" TARGET="main">GetCurX</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1385_16" TARGET="main">GetCurY</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1352_16" TARGET="main">GetMaxX</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1349_16" TARGET="main">GetMaxY</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_66_16" TARGET="main">Getmouse</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1407_16" TARGET="main">GetParX</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1404_16" TARGET="main">GetParY</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1633_14" TARGET="main">Get - terminal_interface-curses.ads:1633</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1644_14" TARGET="main">Get - terminal_interface-curses.ads:1644</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1376_16" TARGET="main">GetBegX</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1373_16" TARGET="main">GetBegY</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1394_16" TARGET="main">GetCurX</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1391_16" TARGET="main">GetCurY</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1358_16" TARGET="main">GetMaxX</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1355_16" TARGET="main">GetMaxY</A>
+<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_64_16" TARGET="main">Getmouse</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1413_16" TARGET="main">GetParX</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1410_16" TARGET="main">GetParY</A>
<LI><A HREF="../terminal_interface-curses-putwin__adb.htm#ref_65_16" TARGET="main">getwin</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm#ref_61_13" TARGET="main">Get_Arg</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1126_13" TARGET="main">Get_Background</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_364_14" TARGET="main">Get_Buffer - terminal_interface-curses-forms.ads:364</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_370_13" TARGET="main">Get_Buffer - terminal_interface-curses-forms.ads:370</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_827_13" TARGET="main">Get_Character_Attribute - terminal_interface-curses.ads:827</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_833_13" TARGET="main">Get_Character_Attribute - terminal_interface-curses.ads:833</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1245_14" TARGET="main">Get_Cursor_Position</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1295_13" TARGET="main">Get_Background</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_363_14" TARGET="main">Get_Buffer - terminal_interface-curses-forms.ads:363</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_369_13" TARGET="main">Get_Buffer - terminal_interface-curses-forms.ads:369</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_996_13" TARGET="main">Get_Character_Attribute - terminal_interface-curses.ads:996</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1002_13" TARGET="main">Get_Character_Attribute - terminal_interface-curses.ads:1002</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1414_14" TARGET="main">Get_Cursor_Position</A>
<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_59_13" TARGET="main">Get_Entry</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_133_14" TARGET="main">Get_Event</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_1084_16" TARGET="main">Get_Fieldindex</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_129_14" TARGET="main">Get_Event</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_957_16" TARGET="main">Get_Fieldindex</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm#ref_58_13" TARGET="main">Get_Fieldtype</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_567_13" TARGET="main">Get_Field_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_572_13" TARGET="main">Get_Field_Term_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_566_13" TARGET="main">Get_Field_Init_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_571_13" TARGET="main">Get_Field_Term_Hook</A>
<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_63_13" TARGET="main">Get_Flag - terminal_interface-curses-termcap.ads:63</A>
<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_64_13" TARGET="main">Get_Flag - terminal_interface-curses-terminfo.ads:64</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_577_13" TARGET="main">Get_Form_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_582_13" TARGET="main">Get_Form_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_747_13" TARGET="main">Get_Index - terminal_interface-curses-forms.ads:747</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_312_13" TARGET="main">Get_Index - terminal_interface-curses-menus.ads:312</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_340_16" TARGET="main">Get_Itemindex</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_591_13" TARGET="main">Get_Item_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_596_13" TARGET="main">Get_Item_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_347_13" TARGET="main">Get_Justification</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_916_13" TARGET="main">Get_KeyPad_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_752_13" TARGET="main">Get_Keystroke</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_601_13" TARGET="main">Get_Menu_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_532_16" TARGET="main">Get_Menu_Mark - terminal_interface-curses-menus.adb:532</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_540_16" TARGET="main">Get_Menu_Mark - terminal_interface-curses-menus.adb:540</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_606_13" TARGET="main">Get_Menu_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_129_13" TARGET="main">Get_Mouse</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_576_13" TARGET="main">Get_Form_Init_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_581_13" TARGET="main">Get_Form_Term_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_746_13" TARGET="main">Get_Index - terminal_interface-curses-forms.ads:746</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_308_13" TARGET="main">Get_Index - terminal_interface-curses-menus.ads:308</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_297_16" TARGET="main">Get_Itemindex</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_587_13" TARGET="main">Get_Item_Init_Hook</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_592_13" TARGET="main">Get_Item_Term_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_346_13" TARGET="main">Get_Justification</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1085_13" TARGET="main">Get_KeyPad_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_921_13" TARGET="main">Get_Keystroke</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_597_13" TARGET="main">Get_Menu_Init_Hook</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_458_16" TARGET="main">Get_Menu_Mark - terminal_interface-curses-menus.adb:458</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_466_16" TARGET="main">Get_Menu_Mark - terminal_interface-curses-menus.adb:466</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_602_13" TARGET="main">Get_Menu_Term_Hook</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_125_13" TARGET="main">Get_Mouse</A>
<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_67_14" TARGET="main">Get_Number - terminal_interface-curses-termcap.ads:67</A>
<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_68_13" TARGET="main">Get_Number - terminal_interface-curses-terminfo.ads:68</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_413_14" TARGET="main">Get_Options - terminal_interface-curses-forms.ads:413</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_418_13" TARGET="main">Get_Options - terminal_interface-curses-forms.ads:418</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_660_14" TARGET="main">Get_Options - terminal_interface-curses-forms.ads:660</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_665_13" TARGET="main">Get_Options - terminal_interface-curses-forms.ads:665</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_253_14" TARGET="main">Get_Options - terminal_interface-curses-menus.ads:253</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_258_13" TARGET="main">Get_Options - terminal_interface-curses-menus.ads:258</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_349_14" TARGET="main">Get_Options - terminal_interface-curses-menus.ads:349</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_354_13" TARGET="main">Get_Options - terminal_interface-curses-menus.ads:354</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1253_14" TARGET="main">Get_Origin_Relative_To_Parent</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_1070_16" TARGET="main">Get_Page</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_758_16" TARGET="main">Get_Pattern</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1229_14" TARGET="main">Get_Size</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1523_14" TARGET="main">Get_Soft_Label_Key - terminal_interface-curses.ads:1523</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1528_13" TARGET="main">Get_Soft_Label_Key - terminal_interface-curses.ads:1528</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1564_13" TARGET="main">Get_Soft_Label_Key_Attributes - terminal_interface-curses.ads:1564</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1568_13" TARGET="main">Get_Soft_Label_Key_Attributes - terminal_interface-curses.ads:1568</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_713_16" TARGET="main">Get_Spacing</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_412_14" TARGET="main">Get_Options - terminal_interface-curses-forms.ads:412</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_417_13" TARGET="main">Get_Options - terminal_interface-curses-forms.ads:417</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_659_14" TARGET="main">Get_Options - terminal_interface-curses-forms.ads:659</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_664_13" TARGET="main">Get_Options - terminal_interface-curses-forms.ads:664</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_249_14" TARGET="main">Get_Options - terminal_interface-curses-menus.ads:249</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_254_13" TARGET="main">Get_Options - terminal_interface-curses-menus.ads:254</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_345_14" TARGET="main">Get_Options - terminal_interface-curses-menus.ads:345</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_350_13" TARGET="main">Get_Options - terminal_interface-curses-menus.ads:350</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1422_14" TARGET="main">Get_Origin_Relative_To_Parent</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_943_16" TARGET="main">Get_Page</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_664_16" TARGET="main">Get_Pattern</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1398_14" TARGET="main">Get_Size</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1692_14" TARGET="main">Get_Soft_Label_Key - terminal_interface-curses.ads:1692</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1697_13" TARGET="main">Get_Soft_Label_Key - terminal_interface-curses.ads:1697</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1733_13" TARGET="main">Get_Soft_Label_Key_Attributes - terminal_interface-curses.ads:1733</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1737_13" TARGET="main">Get_Soft_Label_Key_Attributes - terminal_interface-curses.ads:1737</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_623_16" TARGET="main">Get_Spacing</A>
<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_73_14" TARGET="main">Get_String - terminal_interface-curses-termcap.ads:73</A>
<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_76_13" TARGET="main">Get_String - terminal_interface-curses-termcap.ads:76</A>
<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_57_14" TARGET="main">Get_String - terminal_interface-curses-terminfo.ads:57</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_524_13" TARGET="main">Get_Sub_Window - terminal_interface-curses-forms.ads:524</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_380_13" TARGET="main">Get_Sub_Window - terminal_interface-curses-menus.ads:380</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_523_13" TARGET="main">Get_Sub_Window - terminal_interface-curses-forms.ads:523</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_376_13" TARGET="main">Get_Sub_Window - terminal_interface-curses-menus.ads:376</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_79_13" TARGET="main">Get_Type</A>
<LI><A HREF="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_14" TARGET="main">Get_User_Data - terminal_interface-curses-forms-field_user_data.ads:59</A>
<LI><A HREF="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_13" TARGET="main">Get_User_Data - terminal_interface-curses-forms-field_user_data.ads:64</A>
@@ -89,12 +89,12 @@
<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_13" TARGET="main">Get_User_Data - terminal_interface-curses-menus-menu_user_data.ads:64</A>
<LI><A HREF="../terminal_interface-curses-panels-user_data__ads.htm#ref_59_14" TARGET="main">Get_User_Data - terminal_interface-curses-panels-user_data.ads:59</A>
<LI><A HREF="../terminal_interface-curses-panels-user_data__ads.htm#ref_64_13" TARGET="main">Get_User_Data - terminal_interface-curses-panels-user_data.ads:64</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_513_13" TARGET="main">Get_Window - terminal_interface-curses-forms.ads:513</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_369_13" TARGET="main">Get_Window - terminal_interface-curses-menus.ads:369</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_102_13" TARGET="main">Get_Window - terminal_interface-curses-panels.ads:102</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_512_13" TARGET="main">Get_Window - terminal_interface-curses-forms.ads:512</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_365_13" TARGET="main">Get_Window - terminal_interface-curses-menus.ads:365</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_101_13" TARGET="main">Get_Window - terminal_interface-curses-panels.ads:101</A>
<LI><A HREF="../terminal_interface-curses-putwin__ads.htm#ref_48_13" TARGET="main">Get_Window - terminal_interface-curses-putwin.ads:48</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_62_13" TARGET="main">Get_Window - terminal_interface-curses-text_io.ads:62</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1237_14" TARGET="main">Get_Window_Position</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_473_14" TARGET="main">Grey - terminal_interface-curses-menus.ads:473</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_478_14" TARGET="main">Grey - terminal_interface-curses-menus.ads:478</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1406_14" TARGET="main">Get_Window_Position</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_469_14" TARGET="main">Grey - terminal_interface-curses-menus.ads:469</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_474_14" TARGET="main">Grey - terminal_interface-curses-menus.ads:474</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/H.htm b/doc/html/ada/funcs/H.htm
index db9b50dd4239..28686dadc351 100644
--- a/doc/html/ada/funcs/H.htm
+++ b/doc/html/ada/funcs/H.htm
@@ -9,18 +9,18 @@
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_859_16" TARGET="main">Halfdelay</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_924_14" TARGET="main">Half_Delay</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2184_16" TARGET="main">Hascolors</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_547_16" TARGET="main">Haskey</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1727_13" TARGET="main">Has_Colors</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2076_16" TARGET="main">Has_Ic</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2088_16" TARGET="main">Has_Il</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1663_13" TARGET="main">Has_Insert_Character</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1668_13" TARGET="main">Has_Insert_Line</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_768_13" TARGET="main">Has_Key</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_94_13" TARGET="main">Has_Mouse</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1093_14" TARGET="main">Half_Delay</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2198_16" TARGET="main">Hascolors</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_549_16" TARGET="main">Haskey</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1896_13" TARGET="main">Has_Colors</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2088_16" TARGET="main">Has_Ic</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2100_16" TARGET="main">Has_Il</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1832_13" TARGET="main">Has_Insert_Character</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1837_13" TARGET="main">Has_Insert_Line</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_937_13" TARGET="main">Has_Key</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_90_13" TARGET="main">Has_Mouse</A>
<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_60_13" TARGET="main">Has_String</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_97_14" TARGET="main">Hide</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_96_14" TARGET="main">Hide</A>
<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_95_16" TARGET="main">Hidepanel</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_729_14" TARGET="main">Horizontal_Line</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_898_14" TARGET="main">Horizontal_Line</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/I.htm b/doc/html/ada/funcs/I.htm
index 22ed03921985..c1f130bc5b4f 100644
--- a/doc/html/ada/funcs/I.htm
+++ b/doc/html/ada/funcs/I.htm
@@ -8,48 +8,48 @@
<H2>Functions - I</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_992_17" TARGET="main">IDC_Ok</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_980_16" TARGET="main">IDL_Ok</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1010_14" TARGET="main">Immediate_Update_Mode</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1014_17" TARGET="main">Immedok</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_484_14" TARGET="main">Info</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2199_16" TARGET="main">Initcolor</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2144_16" TARGET="main">Initpair</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_100_16" TARGET="main">Initscr</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1732_14" TARGET="main">Init_Color</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1713_14" TARGET="main">Init_Pair</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_487_14" TARGET="main">Init_Screen</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1500_14" TARGET="main">Init_Soft_Label_Keys</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_490_14" TARGET="main">Init_Windows</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1372_14" TARGET="main">Insert - terminal_interface-curses.ads:1372</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1378_14" TARGET="main">Insert - terminal_interface-curses.ads:1378</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1390_14" TARGET="main">Insert - terminal_interface-curses.ads:1390</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1399_14" TARGET="main">Insert - terminal_interface-curses.ads:1399</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1205_14" TARGET="main">Insert_Delete_Lines</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1219_14" TARGET="main">Insert_Line</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_993_17" TARGET="main">IDC_Ok</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_981_16" TARGET="main">IDL_Ok</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1179_14" TARGET="main">Immediate_Update_Mode</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1015_17" TARGET="main">Immedok</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_483_14" TARGET="main">Info</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2213_16" TARGET="main">Initcolor</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2156_16" TARGET="main">Initpair</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_99_16" TARGET="main">Initscr</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1901_14" TARGET="main">Init_Color</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1882_14" TARGET="main">Init_Pair</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_656_14" TARGET="main">Init_Screen</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1669_14" TARGET="main">Init_Soft_Label_Keys</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_659_14" TARGET="main">Init_Windows</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1541_14" TARGET="main">Insert - terminal_interface-curses.ads:1541</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1547_14" TARGET="main">Insert - terminal_interface-curses.ads:1547</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1559_14" TARGET="main">Insert - terminal_interface-curses.ads:1559</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1568_14" TARGET="main">Insert - terminal_interface-curses.ads:1568</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1374_14" TARGET="main">Insert_Delete_Lines</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1388_14" TARGET="main">Insert_Line</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_871_16" TARGET="main">Intrflush</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_123_16" TARGET="main">Isendwin</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_503_13" TARGET="main">Is_End_Window</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_775_13" TARGET="main">Is_Function_Key</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_124_13" TARGET="main">Is_Hidden</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_122_16" TARGET="main">Isendwin</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_672_13" TARGET="main">Is_End_Window</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_944_13" TARGET="main">Is_Function_Key</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_123_13" TARGET="main">Is_Hidden</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_851_16" TARGET="main">Is_Keypad</A>
<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_50_13" TARGET="main">Is_MinusOne_Pointer</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_1119_16" TARGET="main">Is_New</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_765_13" TARGET="main">Is_New_Page</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1035_16" TARGET="main">Is_Scroll_Ok</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1161_13" TARGET="main">Is_Touched - terminal_interface-curses.ads:1161</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1166_13" TARGET="main">Is_Touched - terminal_interface-curses.ads:1166</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_128_16" TARGET="main">Itemname - terminal_interface-curses-menus.adb:128</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_253_16" TARGET="main">Itemname - terminal_interface-curses-menus.adb:253</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_261_16" TARGET="main">Itemname - terminal_interface-curses-menus.adb:261</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_625_13" TARGET="main">Items</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_631_13" TARGET="main">Item_Count</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_860_16" TARGET="main">Item_Init</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_234_16" TARGET="main">Item_Opts</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_214_16" TARGET="main">Item_Opts_Off</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_211_16" TARGET="main">Item_Opts_On</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_868_16" TARGET="main">Item_Term</A>
-<LI><A HREF="../terminal_interface-curses-menus-item_user_data__adb.htm#ref_64_16" TARGET="main">Item_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_168_16" TARGET="main">Item_Val</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_181_16" TARGET="main">Item_Vis</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_989_16" TARGET="main">Is_New</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_764_13" TARGET="main">Is_New_Page</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1036_16" TARGET="main">Is_Scroll_Ok</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1330_13" TARGET="main">Is_Touched - terminal_interface-curses.ads:1330</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1335_13" TARGET="main">Is_Touched - terminal_interface-curses.ads:1335</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_109_16" TARGET="main">Itemname - terminal_interface-curses-menus.adb:109</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_216_16" TARGET="main">Itemname - terminal_interface-curses-menus.adb:216</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_224_16" TARGET="main">Itemname - terminal_interface-curses-menus.adb:224</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_621_13" TARGET="main">Items</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_627_13" TARGET="main">Item_Count</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_748_16" TARGET="main">Item_Init</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_198_16" TARGET="main">Item_Opts</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_183_16" TARGET="main">Item_Opts_Off</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_180_16" TARGET="main">Item_Opts_On</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_756_16" TARGET="main">Item_Term</A>
+<LI><A HREF="../terminal_interface-curses-menus-item_user_data__adb.htm#ref_58_16" TARGET="main">Item_Userptr</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_142_16" TARGET="main">Item_Val</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_155_16" TARGET="main">Item_Vis</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/K.htm b/doc/html/ada/funcs/K.htm
index f1f5316e642a..017899941078 100644
--- a/doc/html/ada/funcs/K.htm
+++ b/doc/html/ada/funcs/K.htm
@@ -8,11 +8,11 @@
<H2>Functions - K</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_64_16" TARGET="main">Keyname</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1987_16" TARGET="main">Keyok</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_63_16" TARGET="main">Keyname</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1998_16" TARGET="main">Keyok</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_840_16" TARGET="main">Keypad</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1611_14" TARGET="main">Key_Name - terminal_interface-curses.ads:1611</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1617_13" TARGET="main">Key_Name - terminal_interface-curses.ads:1617</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2068_16" TARGET="main">Killchar</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1658_13" TARGET="main">Kill_Character</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1780_14" TARGET="main">Key_Name - terminal_interface-curses.ads:1780</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1786_13" TARGET="main">Key_Name - terminal_interface-curses.ads:1786</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2080_16" TARGET="main">Killchar</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1827_13" TARGET="main">Kill_Character</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/L.htm b/doc/html/ada/funcs/L.htm
index 3f0e3acbddb3..fb4d6d76f174 100644
--- a/doc/html/ada/funcs/L.htm
+++ b/doc/html/ada/funcs/L.htm
@@ -8,17 +8,18 @@
<H2>Functions - L</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1003_14" TARGET="main">Leave_Cursor_After_Update</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1002_16" TARGET="main">Leave_Ok</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1172_14" TARGET="main">Leave_Cursor_After_Update</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1003_16" TARGET="main">Leave_Ok</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_101_13" TARGET="main">Line - terminal_interface-curses-text_io.ads:101</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_102_13" TARGET="main">Line - terminal_interface-curses-text_io.ads:102</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_413_13" TARGET="main">Lines</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_550_13" TARGET="main">Lines</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2356_16" TARGET="main">LINES_As_Function</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_77_13" TARGET="main">Line_Length - terminal_interface-curses-text_io.ads:77</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_78_13" TARGET="main">Line_Length - terminal_interface-curses-text_io.ads:78</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_330_13" TARGET="main">Link</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_172_16" TARGET="main">Lnk_Field</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2110_16" TARGET="main">Longname - terminal_interface-curses.adb:2110</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2118_16" TARGET="main">Longname - terminal_interface-curses.adb:2118</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1678_14" TARGET="main">Long_Name - terminal_interface-curses.ads:1678</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1682_13" TARGET="main">Long_Name - terminal_interface-curses.ads:1682</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_329_13" TARGET="main">Link</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_151_16" TARGET="main">Lnk_Field</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2122_16" TARGET="main">Longname - terminal_interface-curses.adb:2122</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2130_16" TARGET="main">Longname - terminal_interface-curses.adb:2130</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1847_14" TARGET="main">Long_Name - terminal_interface-curses.ads:1847</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1851_13" TARGET="main">Long_Name - terminal_interface-curses.ads:1851</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/M.htm b/doc/html/ada/funcs/M.htm
index 0bf76abc3603..e926ed641121 100644
--- a/doc/html/ada/funcs/M.htm
+++ b/doc/html/ada/funcs/M.htm
@@ -9,47 +9,47 @@
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_162_13" TARGET="main">Make_Arg</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_407_14" TARGET="main">Mark - terminal_interface-curses-menus.ads:407</A>
<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_411_14" TARGET="main">Mark - terminal_interface-curses-menus.ads:411</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_415_14" TARGET="main">Mark - terminal_interface-curses-menus.ads:415</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_608_16" TARGET="main">Menu_Back - terminal_interface-curses-menus.adb:608</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_618_16" TARGET="main">Menu_Back - terminal_interface-curses-menus.adb:618</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_787_16" TARGET="main">Menu_Fmt</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_569_16" TARGET="main">Menu_Fore - terminal_interface-curses-menus.adb:569</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_579_16" TARGET="main">Menu_Fore - terminal_interface-curses-menus.adb:579</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_647_16" TARGET="main">Menu_Grey - terminal_interface-curses-menus.adb:647</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_657_16" TARGET="main">Menu_Grey - terminal_interface-curses-menus.adb:657</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_876_16" TARGET="main">Menu_Init</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_414_16" TARGET="main">Menu_Opts</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_394_16" TARGET="main">Menu_Opts_Off</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_391_16" TARGET="main">Menu_Opts_On</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_682_16" TARGET="main">Menu_Pad</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_470_16" TARGET="main">Menu_Sub</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_884_16" TARGET="main">Menu_Term</A>
-<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__adb.htm#ref_63_16" TARGET="main">Menu_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_446_16" TARGET="main">Menu_Win</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_528_16" TARGET="main">Menu_Back - terminal_interface-curses-menus.adb:528</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_538_16" TARGET="main">Menu_Back - terminal_interface-curses-menus.adb:538</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_691_16" TARGET="main">Menu_Fmt</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_492_16" TARGET="main">Menu_Fore - terminal_interface-curses-menus.adb:492</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_502_16" TARGET="main">Menu_Fore - terminal_interface-curses-menus.adb:502</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_564_16" TARGET="main">Menu_Grey - terminal_interface-curses-menus.adb:564</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_574_16" TARGET="main">Menu_Grey - terminal_interface-curses-menus.adb:574</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_764_16" TARGET="main">Menu_Init</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_357_16" TARGET="main">Menu_Opts</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_342_16" TARGET="main">Menu_Opts_Off</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_339_16" TARGET="main">Menu_Opts_On</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_595_16" TARGET="main">Menu_Pad</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_406_16" TARGET="main">Menu_Sub</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_772_16" TARGET="main">Menu_Term</A>
+<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__adb.htm#ref_59_16" TARGET="main">Menu_Userptr</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_385_16" TARGET="main">Menu_Win</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_829_16" TARGET="main">Meta</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_110_16" TARGET="main">MMask</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_211_16" TARGET="main">Mouseinterval</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_52_16" TARGET="main">Mouse_Avail</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_157_13" TARGET="main">Mouse_Interval</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_614_14" TARGET="main">Move - terminal_interface-curses-forms.ads:614</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_117_14" TARGET="main">Move - terminal_interface-curses-panels.ads:117</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_786_16" TARGET="main">Move - terminal_interface-curses-forms.adb:786</A>
+<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_108_16" TARGET="main">MMask</A>
+<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_210_16" TARGET="main">Mouseinterval</A>
+<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_50_16" TARGET="main">Mouse_Avail</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_153_13" TARGET="main">Mouse_Interval</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_613_14" TARGET="main">Move - terminal_interface-curses-forms.ads:613</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_116_14" TARGET="main">Move - terminal_interface-curses-panels.ads:116</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_692_16" TARGET="main">Move - terminal_interface-curses-forms.adb:692</A>
<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_132_16" TARGET="main">Move - terminal_interface-curses-panels.adb:132</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_512_14" TARGET="main">Move_Cursor</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_627_14" TARGET="main">Move_Derived_Window</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_620_14" TARGET="main">Move_Window</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_681_14" TARGET="main">Move_Cursor</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_796_14" TARGET="main">Move_Derived_Window</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_789_14" TARGET="main">Move_Window</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_350_16" TARGET="main">Mvderwin</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_176_16" TARGET="main">mvwaddch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1580_16" TARGET="main">Mvwdelch</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_175_16" TARGET="main">mvwaddch</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1588_16" TARGET="main">Mvwdelch</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_336_16" TARGET="main">Mvwin</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1604_16" TARGET="main">Mvwinch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1629_16" TARGET="main">Mvwinsch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1668_16" TARGET="main">Mvwinsnstr</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_916_16" TARGET="main">M_Post - terminal_interface-curses-forms.adb:916</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_354_16" TARGET="main">M_Post - terminal_interface-curses-menus.adb:354</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_643_16" TARGET="main">M_Scale - terminal_interface-curses-forms.adb:643</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_483_16" TARGET="main">M_Scale - terminal_interface-curses-menus.adb:483</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_918_16" TARGET="main">M_Unpost - terminal_interface-curses-forms.adb:918</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_356_16" TARGET="main">M_Unpost - terminal_interface-curses-menus.adb:356</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1612_16" TARGET="main">Mvwinch</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1637_16" TARGET="main">Mvwinsch</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1677_16" TARGET="main">Mvwinsnstr</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_805_16" TARGET="main">M_Post - terminal_interface-curses-forms.adb:805</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_311_16" TARGET="main">M_Post - terminal_interface-curses-menus.adb:311</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_568_16" TARGET="main">M_Scale - terminal_interface-curses-forms.adb:568</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_419_16" TARGET="main">M_Scale - terminal_interface-curses-menus.adb:419</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_807_16" TARGET="main">M_Unpost - terminal_interface-curses-forms.adb:807</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_313_16" TARGET="main">M_Unpost - terminal_interface-curses-menus.adb:313</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/N.htm b/doc/html/ada/funcs/N.htm
index 50fa1a2c1a44..abb8563683eb 100644
--- a/doc/html/ada/funcs/N.htm
+++ b/doc/html/ada/funcs/N.htm
@@ -8,32 +8,32 @@
<H2>Functions - N</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_267_14" TARGET="main">Name - terminal_interface-curses-menus.ads:267</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_270_14" TARGET="main">Name - terminal_interface-curses-menus.ads:270</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2330_16" TARGET="main">Napms</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1807_14" TARGET="main">Nap_Milli_Seconds</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_116_16" TARGET="main">Newfield</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_804_16" TARGET="main">NewForm</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_98_16" TARGET="main">Newitem</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_939_16" TARGET="main">Newmenu</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1427_16" TARGET="main">Newpad</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_263_14" TARGET="main">Name - terminal_interface-curses-menus.ads:263</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_266_14" TARGET="main">Name - terminal_interface-curses-menus.ads:266</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2346_16" TARGET="main">Napms</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1976_14" TARGET="main">Nap_Milli_Seconds</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_99_16" TARGET="main">Newfield</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_707_16" TARGET="main">NewForm</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_79_16" TARGET="main">Newitem</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_823_16" TARGET="main">Newmenu</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1433_16" TARGET="main">Newpad</A>
<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_51_16" TARGET="main">Newpanel</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_234_16" TARGET="main">Newwin</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_222_13" TARGET="main">New_Fieldtype</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_86_14" TARGET="main">New_Line - terminal_interface-curses-text_io.ads:86</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_87_14" TARGET="main">New_Line - terminal_interface-curses-text_io.ads:87</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1268_13" TARGET="main">New_Pad</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1437_13" TARGET="main">New_Pad</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_89_14" TARGET="main">New_Page - terminal_interface-curses-text_io.ads:89</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_90_14" TARGET="main">New_Page - terminal_interface-curses-text_io.ads:90</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_193_13" TARGET="main">Next_Router</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_947_16" TARGET="main">NL</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_948_16" TARGET="main">NL</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_773_16" TARGET="main">NoCbreak</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_902_16" TARGET="main">Nodelay</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_811_16" TARGET="main">NoEcho</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_949_16" TARGET="main">NoNL</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_950_16" TARGET="main">NoNL</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_792_16" TARGET="main">NoRaw</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_935_16" TARGET="main">Notimeout</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_885_17" TARGET="main">No_Qiflush</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_422_13" TARGET="main">Number_Of_Colors</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_425_13" TARGET="main">Number_Of_Color_Pairs</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_559_13" TARGET="main">Number_Of_Colors</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_562_13" TARGET="main">Number_Of_Color_Pairs</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/O.htm b/doc/html/ada/funcs/O.htm
index 0c9189a6f3b7..ad03d366adc3 100644
--- a/doc/html/ada/funcs/O.htm
+++ b/doc/html/ada/funcs/O.htm
@@ -9,8 +9,8 @@
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
<LI><A HREF="../terminal_interface-curses-text_io-aux__adb.htm#ref_59_17" TARGET="main">Output</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1195_14" TARGET="main">Overlay - terminal_interface-curses.ads:1195</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1310_16" TARGET="main">Overlay - terminal_interface-curses.adb:1310</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1189_14" TARGET="main">Overwrite - terminal_interface-curses.ads:1189</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1298_16" TARGET="main">Overwrite - terminal_interface-curses.adb:1298</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1364_14" TARGET="main">Overlay - terminal_interface-curses.ads:1364</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1316_16" TARGET="main">Overlay - terminal_interface-curses.adb:1316</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1358_14" TARGET="main">Overwrite - terminal_interface-curses.ads:1358</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1304_16" TARGET="main">Overwrite - terminal_interface-curses.adb:1304</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/P.htm b/doc/html/ada/funcs/P.htm
index 06133d48abda..b0edebd8269a 100644
--- a/doc/html/ada/funcs/P.htm
+++ b/doc/html/ada/funcs/P.htm
@@ -8,32 +8,32 @@
<H2>Functions - P</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_474_14" TARGET="main">Pad_Character - terminal_interface-curses-forms.ads:474</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_492_14" TARGET="main">Pad_Character - terminal_interface-curses-menus.ads:492</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_742_13" TARGET="main">Page</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_473_14" TARGET="main">Pad_Character - terminal_interface-curses-forms.ads:473</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_488_14" TARGET="main">Pad_Character - terminal_interface-curses-menus.ads:488</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_741_13" TARGET="main">Page</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_80_13" TARGET="main">Page_Length - terminal_interface-curses-text_io.ads:80</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_81_13" TARGET="main">Page_Length - terminal_interface-curses-text_io.ads:81</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2167_16" TARGET="main">Paircontent</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1720_14" TARGET="main">Pair_Content</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2181_16" TARGET="main">Paircontent</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1889_14" TARGET="main">Pair_Content</A>
<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_144_16" TARGET="main">Panel_Hidden</A>
<LI><A HREF="../terminal_interface-curses-panels-user_data__adb.htm#ref_65_16" TARGET="main">Panel_Userptr</A>
<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_105_16" TARGET="main">Panel_Win</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_529_14" TARGET="main">Pattern</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1531_16" TARGET="main">Pechochar</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1353_13" TARGET="main">Peek - terminal_interface-curses.ads:1353</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1359_13" TARGET="main">Peek - terminal_interface-curses.ads:1359</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1415_14" TARGET="main">Peek - terminal_interface-curses.ads:1415</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1424_14" TARGET="main">Peek - terminal_interface-curses.ads:1424</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1439_14" TARGET="main">Peek - terminal_interface-curses.ads:1439</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1448_14" TARGET="main">Peek - terminal_interface-curses.ads:1448</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1506_16" TARGET="main">Pnoutrefresh</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_685_14" TARGET="main">Position_Cursor - terminal_interface-curses-forms.ads:685</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_396_14" TARGET="main">Position_Cursor - terminal_interface-curses-menus.ads:396</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_674_14" TARGET="main">Post - terminal_interface-curses-forms.ads:674</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_324_14" TARGET="main">Post - terminal_interface-curses-menus.ads:324</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_941_16" TARGET="main">Pos_Form_Cursor</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_499_16" TARGET="main">Pos_Menu_Cursor</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1476_16" TARGET="main">Prefresh</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_525_14" TARGET="main">Pattern</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1539_16" TARGET="main">Pechochar</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1522_13" TARGET="main">Peek - terminal_interface-curses.ads:1522</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1528_13" TARGET="main">Peek - terminal_interface-curses.ads:1528</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1584_14" TARGET="main">Peek - terminal_interface-curses.ads:1584</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1593_14" TARGET="main">Peek - terminal_interface-curses.ads:1593</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1608_14" TARGET="main">Peek - terminal_interface-curses.ads:1608</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1617_14" TARGET="main">Peek - terminal_interface-curses.ads:1617</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1513_16" TARGET="main">Pnoutrefresh</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_684_14" TARGET="main">Position_Cursor - terminal_interface-curses-forms.ads:684</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_392_14" TARGET="main">Position_Cursor - terminal_interface-curses-menus.ads:392</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_673_14" TARGET="main">Post - terminal_interface-curses-forms.ads:673</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_320_14" TARGET="main">Post - terminal_interface-curses-menus.ads:320</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_826_16" TARGET="main">Pos_Form_Cursor</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_432_16" TARGET="main">Pos_Menu_Cursor</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1482_16" TARGET="main">Prefresh</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_201_13" TARGET="main">Prev_Router</A>
<LI><A HREF="../terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14" TARGET="main">Put - terminal_interface-curses-text_io-complex_io.ads:54</A>
<LI><A HREF="../terminal_interface-curses-text_io-complex_io__ads.htm#ref_61_14" TARGET="main">Put - terminal_interface-curses-text_io-complex_io.ads:61</A>
diff --git a/doc/html/ada/funcs/R.htm b/doc/html/ada/funcs/R.htm
index da9d7e1f77f9..cc63f0f7d336 100644
--- a/doc/html/ada/funcs/R.htm
+++ b/doc/html/ada/funcs/R.htm
@@ -9,35 +9,35 @@
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_790_16" TARGET="main">Raw</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_591_14" TARGET="main">Redefine - terminal_interface-curses-forms.ads:591</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_615_14" TARGET="main">Redefine - terminal_interface-curses-menus.ads:615</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1060_14" TARGET="main">Redraw - terminal_interface-curses.ads:1060</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1064_14" TARGET="main">Redraw - terminal_interface-curses.ads:1064</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1090_16" TARGET="main">Redrawwin</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1046_14" TARGET="main">Refresh - terminal_interface-curses.ads:1046</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1284_14" TARGET="main">Refresh - terminal_interface-curses.ads:1284</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1513_14" TARGET="main">Refresh_Soft_Label_Keys</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1518_14" TARGET="main">Refresh_Soft_Label_Keys_Without_Update</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1053_14" TARGET="main">Refresh_Without_Update - terminal_interface-curses.ads:1053</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1296_14" TARGET="main">Refresh_Without_Update - terminal_interface-curses.ads:1296</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_97_14" TARGET="main">Register_Reportable_Event</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_106_14" TARGET="main">Register_Reportable_Events</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_590_14" TARGET="main">Redefine - terminal_interface-curses-forms.ads:590</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_611_14" TARGET="main">Redefine - terminal_interface-curses-menus.ads:611</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1229_14" TARGET="main">Redraw - terminal_interface-curses.ads:1229</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1233_14" TARGET="main">Redraw - terminal_interface-curses.ads:1233</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1092_16" TARGET="main">Redrawwin</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1215_14" TARGET="main">Refresh - terminal_interface-curses.ads:1215</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1453_14" TARGET="main">Refresh - terminal_interface-curses.ads:1453</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1682_14" TARGET="main">Refresh_Soft_Label_Keys</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1687_14" TARGET="main">Refresh_Soft_Label_Keys_Without_Update</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1222_14" TARGET="main">Refresh_Without_Update - terminal_interface-curses.ads:1222</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1465_14" TARGET="main">Refresh_Without_Update - terminal_interface-curses.ads:1465</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_93_14" TARGET="main">Register_Reportable_Event</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_102_14" TARGET="main">Register_Reportable_Events</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_14" TARGET="main">Release</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_111_14" TARGET="main">Replace</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_110_14" TARGET="main">Replace</A>
<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_119_16" TARGET="main">Replace_Pan</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_278_14" TARGET="main">Request_Name - terminal_interface-curses-forms.ads:278</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_281_14" TARGET="main">Request_Name - terminal_interface-curses-forms.ads:281</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_106_14" TARGET="main">Request_Name - terminal_interface-curses-menus.ads:106</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_109_14" TARGET="main">Request_Name - terminal_interface-curses-menus.ads:109</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_80_16" TARGET="main">Request_Name - terminal_interface-curses-menus.adb:80</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_88_16" TARGET="main">Request_Name - terminal_interface-curses-menus.adb:88</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2295_16" TARGET="main">Resetty</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1766_14" TARGET="main">Reset_Curses_Mode</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2267_16" TARGET="main">Reset_Prog_Mode</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2269_16" TARGET="main">Reset_Shell_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1777_14" TARGET="main">Reset_Terminal_State</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1912_14" TARGET="main">Resize</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1539_14" TARGET="main">Restore_Soft_Label_Keys</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2306_16" TARGET="main">Ripoffline</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1790_14" TARGET="main">Rip_Off_Lines</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_277_14" TARGET="main">Request_Name - terminal_interface-curses-forms.ads:277</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_280_14" TARGET="main">Request_Name - terminal_interface-curses-forms.ads:280</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_101_14" TARGET="main">Request_Name - terminal_interface-curses-menus.ads:101</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_104_14" TARGET="main">Request_Name - terminal_interface-curses-menus.ads:104</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_61_16" TARGET="main">Request_Name - terminal_interface-curses-menus.adb:61</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_69_16" TARGET="main">Request_Name - terminal_interface-curses-menus.adb:69</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2311_16" TARGET="main">Resetty</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1935_14" TARGET="main">Reset_Curses_Mode</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2283_16" TARGET="main">Reset_Prog_Mode</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2285_16" TARGET="main">Reset_Shell_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1946_14" TARGET="main">Reset_Terminal_State</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2083_14" TARGET="main">Resize</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1708_14" TARGET="main">Restore_Soft_Label_Keys</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2322_16" TARGET="main">Ripoffline</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1959_14" TARGET="main">Rip_Off_Lines</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/S.htm b/doc/html/ada/funcs/S.htm
index 92ba5ee2e088..43001004fd9a 100644
--- a/doc/html/ada/funcs/S.htm
+++ b/doc/html/ada/funcs/S.htm
@@ -8,51 +8,51 @@
<H2>Functions - S</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2285_16" TARGET="main">Savetty</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1760_14" TARGET="main">Save_Curses_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1772_14" TARGET="main">Save_Terminal_State</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_529_14" TARGET="main">Scale - terminal_interface-curses-forms.ads:529</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_385_14" TARGET="main">Scale - terminal_interface-curses-menus.ads:385</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1868_14" TARGET="main">Screen_Dump_To_File</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1876_14" TARGET="main">Screen_Init_From_File</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1872_14" TARGET="main">Screen_Restore_From_File</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1880_14" TARGET="main">Screen_Set_File</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1323_14" TARGET="main">Scroll</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1023_13" TARGET="main">Scrolling_Allowed</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1024_16" TARGET="main">Scrollok</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2490_16" TARGET="main">scr_dump</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2516_16" TARGET="main">scr_init</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2503_16" TARGET="main">scr_restore</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2529_16" TARGET="main">scr_set</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_448_14" TARGET="main">Set_Background - terminal_interface-curses-forms.ads:448</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_445_14" TARGET="main">Set_Background - terminal_interface-curses-menus.ads:445</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1109_14" TARGET="main">Set_Background - terminal_interface-curses.ads:1109</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_356_14" TARGET="main">Set_Buffer</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_887_14" TARGET="main">Set_Cbreak_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_818_14" TARGET="main">Set_Character_Attributes</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2301_16" TARGET="main">Savetty</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1929_14" TARGET="main">Save_Curses_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1941_14" TARGET="main">Save_Terminal_State</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_528_14" TARGET="main">Scale - terminal_interface-curses-forms.ads:528</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_381_14" TARGET="main">Scale - terminal_interface-curses-menus.ads:381</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2039_14" TARGET="main">Screen_Dump_To_File</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2047_14" TARGET="main">Screen_Init_From_File</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2043_14" TARGET="main">Screen_Restore_From_File</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2051_14" TARGET="main">Screen_Set_File</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1492_14" TARGET="main">Scroll</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1192_13" TARGET="main">Scrolling_Allowed</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1025_16" TARGET="main">Scrollok</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2489_16" TARGET="main">scr_dump</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2515_16" TARGET="main">scr_init</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2502_16" TARGET="main">scr_restore</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2528_16" TARGET="main">scr_set</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_447_14" TARGET="main">Set_Background - terminal_interface-curses-forms.ads:447</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_441_14" TARGET="main">Set_Background - terminal_interface-curses-menus.ads:441</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1278_14" TARGET="main">Set_Background - terminal_interface-curses.ads:1278</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_355_14" TARGET="main">Set_Buffer</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1056_14" TARGET="main">Set_Cbreak_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_987_14" TARGET="main">Set_Character_Attributes</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_92_14" TARGET="main">Set_Col - terminal_interface-curses-text_io.ads:92</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_93_14" TARGET="main">Set_Col - terminal_interface-curses-text_io.ads:93</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_839_14" TARGET="main">Set_Color</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_725_14" TARGET="main">Set_Current - terminal_interface-curses-forms.ads:725</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_290_14" TARGET="main">Set_Current - terminal_interface-curses-menus.ads:290</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_1026_16" TARGET="main">Set_Current_Fld</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_287_16" TARGET="main">Set_Curr_Item</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1802_14" TARGET="main">Set_Cursor_Visibility</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_899_14" TARGET="main">Set_Echo_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_965_14" TARGET="main">Set_Escape_Timer_Mode</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_597_14" TARGET="main">Set_Fields</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1008_14" TARGET="main">Set_Color</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_724_14" TARGET="main">Set_Current - terminal_interface-curses-forms.ads:724</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_286_14" TARGET="main">Set_Current - terminal_interface-curses-menus.ads:286</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_905_16" TARGET="main">Set_Current_Fld</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_250_16" TARGET="main">Set_Curr_Item</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1971_14" TARGET="main">Set_Cursor_Visibility</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1068_14" TARGET="main">Set_Echo_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1134_14" TARGET="main">Set_Escape_Timer_Mode</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_596_14" TARGET="main">Set_Fields</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_227_13" TARGET="main">Set_Fieldtype_Arg</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_234_13" TARGET="main">Set_Fieldtype_Choice</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_448_16" TARGET="main">Set_Field_Back</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_404_16" TARGET="main">Set_Field_Fore</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_665_16" TARGET="main">Set_Field_Init</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_543_14" TARGET="main">Set_Field_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_196_16" TARGET="main">Set_Field_Just</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_310_16" TARGET="main">Set_Field_Max</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_330_16" TARGET="main">Set_Field_Opts</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_490_16" TARGET="main">Set_Field_Pad</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_681_16" TARGET="main">Set_Field_Term</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_549_14" TARGET="main">Set_Field_Term_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_395_16" TARGET="main">Set_Field_Back</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_356_16" TARGET="main">Set_Field_Fore</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_587_16" TARGET="main">Set_Field_Init</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_542_14" TARGET="main">Set_Field_Init_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_175_16" TARGET="main">Set_Field_Just</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_276_16" TARGET="main">Set_Field_Max</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_293_16" TARGET="main">Set_Field_Opts</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_432_16" TARGET="main">Set_Field_Pad</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_600_16" TARGET="main">Set_Field_Term</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_548_14" TARGET="main">Set_Field_Term_Hook</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-alpha.ads:49</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-alphanumeric.ads:50</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-enumeration.ads:84</A>
@@ -61,9 +61,9 @@
<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-numeric.ads:51</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-regexp.ads:51</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_14" TARGET="main">Set_Field_Type - terminal_interface-curses-forms-field_types-user.ads:70</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_57_16" TARGET="main">Set_Field_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_231_16" TARGET="main">Set_Fld_Buffer</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_278_16" TARGET="main">Set_Fld_Status</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_user_data__adb.htm#ref_55_16" TARGET="main">Set_Field_Userptr</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_205_16" TARGET="main">Set_Fld_Buffer</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_245_16" TARGET="main">Set_Fld_Status</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_49_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-alpha.adb:49</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_49_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-alphanumeric.adb:49</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-enumeration.adb:94</A>
@@ -72,124 +72,124 @@
<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-numeric.adb:52</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types-user.adb:53</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm#ref_134_16" TARGET="main">Set_Fld_Type - terminal_interface-curses-forms-field_types.adb:134</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_929_14" TARGET="main">Set_Flush_On_Interrupt_Mode</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_428_14" TARGET="main">Set_Foreground - terminal_interface-curses-forms.ads:428</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_425_14" TARGET="main">Set_Foreground - terminal_interface-curses-menus.ads:425</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_539_14" TARGET="main">Set_Format</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_697_16" TARGET="main">Set_Form_Init</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_555_14" TARGET="main">Set_Form_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_845_16" TARGET="main">Set_Form_Opts</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_613_16" TARGET="main">Set_Form_Sub</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_713_16" TARGET="main">Set_Form_Term</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_561_14" TARGET="main">Set_Form_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-forms-form_user_data__adb.htm#ref_58_16" TARGET="main">Set_Form_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_585_16" TARGET="main">Set_Form_Win</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_733_16" TARGET="main">Set_Frm_Fields</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_1056_16" TARGET="main">Set_Frm_Page</A>
-<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_51_16" TARGET="main">Set_Ftyp</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_465_14" TARGET="main">Set_Grey</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_620_14" TARGET="main">Set_Items - terminal_interface-curses-menus.ads:620</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_893_16" TARGET="main">Set_Items - terminal_interface-curses-menus.adb:893</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_805_16" TARGET="main">Set_Item_Init</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_567_14" TARGET="main">Set_Item_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_194_16" TARGET="main">Set_Item_Opts</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_819_16" TARGET="main">Set_Item_Term</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_573_14" TARGET="main">Set_Item_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-menus-item_user_data__adb.htm#ref_51_16" TARGET="main">Set_Item_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_155_16" TARGET="main">Set_Item_Val</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_341_14" TARGET="main">Set_Justification</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_911_14" TARGET="main">Set_KeyPad_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1098_14" TARGET="main">Set_Flush_On_Interrupt_Mode</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_427_14" TARGET="main">Set_Foreground - terminal_interface-curses-forms.ads:427</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_421_14" TARGET="main">Set_Foreground - terminal_interface-curses-menus.ads:421</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_535_14" TARGET="main">Set_Format</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_613_16" TARGET="main">Set_Form_Init</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_554_14" TARGET="main">Set_Form_Init_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_745_16" TARGET="main">Set_Form_Opts</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_541_16" TARGET="main">Set_Form_Sub</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_626_16" TARGET="main">Set_Form_Term</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_560_14" TARGET="main">Set_Form_Term_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms-form_user_data__adb.htm#ref_56_16" TARGET="main">Set_Form_Userptr</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_516_16" TARGET="main">Set_Form_Win</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_643_16" TARGET="main">Set_Frm_Fields</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_932_16" TARGET="main">Set_Frm_Page</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_49_16" TARGET="main">Set_Ftyp</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_461_14" TARGET="main">Set_Grey</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_616_14" TARGET="main">Set_Items - terminal_interface-curses-menus.ads:616</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_781_16" TARGET="main">Set_Items - terminal_interface-curses-menus.adb:781</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_705_16" TARGET="main">Set_Item_Init</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_563_14" TARGET="main">Set_Item_Init_Hook</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_168_16" TARGET="main">Set_Item_Opts</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_716_16" TARGET="main">Set_Item_Term</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_569_14" TARGET="main">Set_Item_Term_Hook</A>
+<LI><A HREF="../terminal_interface-curses-menus-item_user_data__adb.htm#ref_48_16" TARGET="main">Set_Item_Userptr</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_132_16" TARGET="main">Set_Item_Val</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_340_14" TARGET="main">Set_Justification</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1080_14" TARGET="main">Set_KeyPad_Mode</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_95_14" TARGET="main">Set_Line - terminal_interface-curses-text_io.ads:95</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_96_14" TARGET="main">Set_Line - terminal_interface-curses-text_io.ads:96</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_405_14" TARGET="main">Set_Mark - terminal_interface-curses-menus.ads:405</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_514_16" TARGET="main">Set_Mark - terminal_interface-curses-menus.adb:514</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_389_14" TARGET="main">Set_Maximum_Size</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_591_16" TARGET="main">Set_Menu_Back</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_768_16" TARGET="main">Set_Menu_Fmt</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_552_16" TARGET="main">Set_Menu_Fore</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_629_16" TARGET="main">Set_Menu_Grey</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_833_16" TARGET="main">Set_Menu_Init</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_579_14" TARGET="main">Set_Menu_Init_Hook</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_374_16" TARGET="main">Set_Menu_Opts</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_667_16" TARGET="main">Set_Menu_Pad</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_457_16" TARGET="main">Set_Menu_Sub</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_847_16" TARGET="main">Set_Menu_Term</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_585_14" TARGET="main">Set_Menu_Term_Hook</A>
-<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__adb.htm#ref_50_16" TARGET="main">Set_Menu_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_433_16" TARGET="main">Set_Menu_Win</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_905_14" TARGET="main">Set_Meta_Mode</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_759_14" TARGET="main">Set_New_Page</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_976_14" TARGET="main">Set_NL_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_944_14" TARGET="main">Set_NoDelay_Mode</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_399_14" TARGET="main">Set_Options - terminal_interface-curses-forms.ads:399</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_646_14" TARGET="main">Set_Options - terminal_interface-curses-forms.ads:646</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_238_14" TARGET="main">Set_Options - terminal_interface-curses-menus.ads:238</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_335_14" TARGET="main">Set_Options - terminal_interface-curses-menus.ads:335</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_468_14" TARGET="main">Set_Pad_Character - terminal_interface-curses-forms.ads:468</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_486_14" TARGET="main">Set_Pad_Character - terminal_interface-curses-menus.ads:486</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_736_14" TARGET="main">Set_Page - terminal_interface-curses-forms.ads:736</A>
-<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_1105_16" TARGET="main">Set_Page - terminal_interface-curses-forms.adb:1105</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_401_14" TARGET="main">Set_Mark - terminal_interface-curses-menus.ads:401</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_444_16" TARGET="main">Set_Mark - terminal_interface-curses-menus.adb:444</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_388_14" TARGET="main">Set_Maximum_Size</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_514_16" TARGET="main">Set_Menu_Back</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_674_16" TARGET="main">Set_Menu_Fmt</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_478_16" TARGET="main">Set_Menu_Fore</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_549_16" TARGET="main">Set_Menu_Grey</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_727_16" TARGET="main">Set_Menu_Init</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_575_14" TARGET="main">Set_Menu_Init_Hook</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_327_16" TARGET="main">Set_Menu_Opts</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_584_16" TARGET="main">Set_Menu_Pad</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_396_16" TARGET="main">Set_Menu_Sub</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_738_16" TARGET="main">Set_Menu_Term</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_581_14" TARGET="main">Set_Menu_Term_Hook</A>
+<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__adb.htm#ref_48_16" TARGET="main">Set_Menu_Userptr</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_375_16" TARGET="main">Set_Menu_Win</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1074_14" TARGET="main">Set_Meta_Mode</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_758_14" TARGET="main">Set_New_Page</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1145_14" TARGET="main">Set_NL_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1113_14" TARGET="main">Set_NoDelay_Mode</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_398_14" TARGET="main">Set_Options - terminal_interface-curses-forms.ads:398</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_645_14" TARGET="main">Set_Options - terminal_interface-curses-forms.ads:645</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_234_14" TARGET="main">Set_Options - terminal_interface-curses-menus.ads:234</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_331_14" TARGET="main">Set_Options - terminal_interface-curses-menus.ads:331</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_467_14" TARGET="main">Set_Pad_Character - terminal_interface-curses-forms.ads:467</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_482_14" TARGET="main">Set_Pad_Character - terminal_interface-curses-menus.ads:482</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_735_14" TARGET="main">Set_Page - terminal_interface-curses-forms.ads:735</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_978_16" TARGET="main">Set_Page - terminal_interface-curses-forms.adb:978</A>
<LI><A HREF="../terminal_interface-curses-panels-user_data__adb.htm#ref_54_16" TARGET="main">Set_Panel_Userptr</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_522_13" TARGET="main">Set_Pattern - terminal_interface-curses-menus.ads:522</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_736_16" TARGET="main">Set_Pattern - terminal_interface-curses-menus.adb:736</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_936_14" TARGET="main">Set_Queue_Interrupt_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_893_14" TARGET="main">Set_Raw_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1028_14" TARGET="main">Set_Scroll_Region</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1506_14" TARGET="main">Set_Soft_Label_Key</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1557_14" TARGET="main">Set_Soft_Label_Key_Attributes</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1573_14" TARGET="main">Set_Soft_Label_Key_Color</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_502_14" TARGET="main">Set_Spacing - terminal_interface-curses-menus.ads:502</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_693_16" TARGET="main">Set_Spacing - terminal_interface-curses-menus.adb:693</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_378_14" TARGET="main">Set_Status</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_518_14" TARGET="main">Set_Sub_Window - terminal_interface-curses-forms.ads:518</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_374_14" TARGET="main">Set_Sub_Window - terminal_interface-curses-menus.ads:374</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_644_14" TARGET="main">Set_Synch_Mode</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_953_14" TARGET="main">Set_Timeout_Mode</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_314_16" TARGET="main">Set_Toprow</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_301_14" TARGET="main">Set_Top_Row</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_518_13" TARGET="main">Set_Pattern - terminal_interface-curses-menus.ads:518</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_642_16" TARGET="main">Set_Pattern - terminal_interface-curses-menus.adb:642</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1105_14" TARGET="main">Set_Queue_Interrupt_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1062_14" TARGET="main">Set_Raw_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1197_14" TARGET="main">Set_Scroll_Region</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1675_14" TARGET="main">Set_Soft_Label_Key</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1726_14" TARGET="main">Set_Soft_Label_Key_Attributes</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1742_14" TARGET="main">Set_Soft_Label_Key_Color</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_498_14" TARGET="main">Set_Spacing - terminal_interface-curses-menus.ads:498</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_606_16" TARGET="main">Set_Spacing - terminal_interface-curses-menus.adb:606</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_377_14" TARGET="main">Set_Status</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_517_14" TARGET="main">Set_Sub_Window - terminal_interface-curses-forms.ads:517</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_370_14" TARGET="main">Set_Sub_Window - terminal_interface-curses-menus.ads:370</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_813_14" TARGET="main">Set_Synch_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1122_14" TARGET="main">Set_Timeout_Mode</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_274_16" TARGET="main">Set_Toprow</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_297_14" TARGET="main">Set_Top_Row</A>
<LI><A HREF="../terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_14" TARGET="main">Set_User_Data - terminal_interface-curses-forms-field_user_data.ads:53</A>
<LI><A HREF="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_14" TARGET="main">Set_User_Data - terminal_interface-curses-forms-form_user_data.ads:53</A>
<LI><A HREF="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_14" TARGET="main">Set_User_Data - terminal_interface-curses-menus-item_user_data.ads:58</A>
<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_14" TARGET="main">Set_User_Data - terminal_interface-curses-menus-menu_user_data.ads:53</A>
<LI><A HREF="../terminal_interface-curses-panels-user_data__ads.htm#ref_53_14" TARGET="main">Set_User_Data - terminal_interface-curses-panels-user_data.ads:53</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_214_14" TARGET="main">Set_Value</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_507_14" TARGET="main">Set_Window - terminal_interface-curses-forms.ads:507</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_363_14" TARGET="main">Set_Window - terminal_interface-curses-menus.ads:363</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_210_14" TARGET="main">Set_Value</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_506_14" TARGET="main">Set_Window - terminal_interface-curses-forms.ads:506</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_359_14" TARGET="main">Set_Window - terminal_interface-curses-menus.ads:359</A>
<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_59_14" TARGET="main">Set_Window - terminal_interface-curses-text_io.ads:59</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_87_14" TARGET="main">Show</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_86_14" TARGET="main">Show</A>
<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_85_16" TARGET="main">Showpanel</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1955_16" TARGET="main">Slk_Attr - terminal_interface-curses.adb:1955</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1965_16" TARGET="main">Slk_Attr - terminal_interface-curses.adb:1965</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1919_16" TARGET="main">Slk_Attroff</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1917_16" TARGET="main">Slk_Attron</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1941_16" TARGET="main">Slk_Attrset</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1885_16" TARGET="main">Slk_Clear</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1975_16" TARGET="main">Slk_Color</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1819_16" TARGET="main">Slk_Init</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1869_16" TARGET="main">Slk_Label - terminal_interface-curses.adb:1869</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1877_16" TARGET="main">Slk_Label - terminal_interface-curses.adb:1877</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1858_16" TARGET="main">Slk_Noutrefresh</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1848_16" TARGET="main">Slk_Refresh</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1895_16" TARGET="main">Slk_Restore</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1831_16" TARGET="main">Slk_Set</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1905_16" TARGET="main">Slk_Touch</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_510_14" TARGET="main">Spacing</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_477_13" TARGET="main">Standard_Window</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_801_14" TARGET="main">Standout</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1708_14" TARGET="main">Start_Color</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_119_13" TARGET="main">Start_Mouse</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1446_16" TARGET="main">Subpad</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1966_16" TARGET="main">Slk_Attr - terminal_interface-curses.adb:1966</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1976_16" TARGET="main">Slk_Attr - terminal_interface-curses.adb:1976</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1930_16" TARGET="main">Slk_Attroff</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1928_16" TARGET="main">Slk_Attron</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1952_16" TARGET="main">Slk_Attrset</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1896_16" TARGET="main">Slk_Clear</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1986_16" TARGET="main">Slk_Color</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1829_16" TARGET="main">Slk_Init</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1880_16" TARGET="main">Slk_Label - terminal_interface-curses.adb:1880</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1888_16" TARGET="main">Slk_Label - terminal_interface-curses.adb:1888</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1869_16" TARGET="main">Slk_Noutrefresh</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1859_16" TARGET="main">Slk_Refresh</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1906_16" TARGET="main">Slk_Restore</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1841_16" TARGET="main">Slk_Set</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1916_16" TARGET="main">Slk_Touch</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_506_14" TARGET="main">Spacing</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_644_13" TARGET="main">Standard_Window</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_970_14" TARGET="main">Standout</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1877_14" TARGET="main">Start_Color</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_115_13" TARGET="main">Start_Mouse</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1452_16" TARGET="main">Subpad</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_270_16" TARGET="main">Subwin</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1274_13" TARGET="main">Sub_Pad</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_595_13" TARGET="main">Sub_Window</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1673_13" TARGET="main">Supported_Attributes</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_807_14" TARGET="main">Switch_Character_Attribute</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_405_14" TARGET="main">Switch_Options - terminal_interface-curses-forms.ads:405</A>
-<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_652_14" TARGET="main">Switch_Options - terminal_interface-curses-forms.ads:652</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_244_14" TARGET="main">Switch_Options - terminal_interface-curses-menus.ads:244</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_341_14" TARGET="main">Switch_Options - terminal_interface-curses-menus.ads:341</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1549_14" TARGET="main">Switch_Soft_Label_Key_Attributes</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_639_14" TARGET="main">Synchronize_Downwards</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_634_14" TARGET="main">Synchronize_Upwards</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1443_13" TARGET="main">Sub_Pad</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_764_13" TARGET="main">Sub_Window</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1842_13" TARGET="main">Supported_Attributes</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_976_14" TARGET="main">Switch_Character_Attribute</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_404_14" TARGET="main">Switch_Options - terminal_interface-curses-forms.ads:404</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_651_14" TARGET="main">Switch_Options - terminal_interface-curses-forms.ads:651</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_240_14" TARGET="main">Switch_Options - terminal_interface-curses-menus.ads:240</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_337_14" TARGET="main">Switch_Options - terminal_interface-curses-menus.ads:337</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1718_14" TARGET="main">Switch_Soft_Label_Key_Attributes</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_808_14" TARGET="main">Synchronize_Downwards</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_803_14" TARGET="main">Synchronize_Upwards</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_363_16" TARGET="main">Syncok</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/T.htm b/doc/html/ada/funcs/T.htm
index 3f33e43b5f1f..098d0da7e912 100644
--- a/doc/html/ada/funcs/T.htm
+++ b/doc/html/ada/funcs/T.htm
@@ -8,35 +8,36 @@
<H2>Functions - T</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_419_13" TARGET="main">Tab_Size</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2100_16" TARGET="main">Termattrs</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1688_14" TARGET="main">Terminal_Name - terminal_interface-curses.ads:1688</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1692_13" TARGET="main">Terminal_Name - terminal_interface-curses.ads:1692</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2126_16" TARGET="main">Termname - terminal_interface-curses.adb:2126</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2134_16" TARGET="main">Termname - terminal_interface-curses.adb:2134</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2372_16" TARGET="main">TABSIZE_As_Function</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_556_13" TARGET="main">Tab_Size</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2112_16" TARGET="main">Termattrs</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1857_14" TARGET="main">Terminal_Name - terminal_interface-curses.ads:1857</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1861_13" TARGET="main">Terminal_Name - terminal_interface-curses.ads:1861</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2138_16" TARGET="main">Termname - terminal_interface-curses.adb:2138</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2146_16" TARGET="main">Termname - terminal_interface-curses.adb:2146</A>
<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_51_16" TARGET="main">tgetent</A>
<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_71_16" TARGET="main">tgetflag</A>
<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_89_16" TARGET="main">tgetnum</A>
<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_108_16" TARGET="main">tgetstr - terminal_interface-curses-termcap.adb:108</A>
<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_129_16" TARGET="main">tgetstr - terminal_interface-curses-termcap.adb:129</A>
-<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_151_16" TARGET="main">tgoto</A>
<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_53_13" TARGET="main">TGoto</A>
+<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_151_16" TARGET="main">tgoto</A>
<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_69_16" TARGET="main">tigetflag</A>
<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_87_16" TARGET="main">tigetstr - terminal_interface-curses-terminfo.adb:87</A>
<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_108_16" TARGET="main">tigetstr - terminal_interface-curses-terminfo.adb:108</A>
<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_127_16" TARGET="main">tigetstr - terminal_interface-curses-terminfo.adb:127</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_82_14" TARGET="main">Top</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_81_14" TARGET="main">Top</A>
<LI><A HREF="../terminal_interface-curses-panels__adb.htm#ref_75_16" TARGET="main">Toppanel</A>
-<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_327_16" TARGET="main">Toprow</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_307_13" TARGET="main">Top_Row</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1142_14" TARGET="main">Touch - terminal_interface-curses.ads:1142</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1146_14" TARGET="main">Touch - terminal_interface-curses.ads:1146</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1544_14" TARGET="main">Touch_Soft_Label_Keys</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_284_16" TARGET="main">Toprow</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_303_13" TARGET="main">Top_Row</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1311_14" TARGET="main">Touch - terminal_interface-curses.ads:1311</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1315_14" TARGET="main">Touch - terminal_interface-curses.ads:1315</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1713_14" TARGET="main">Touch_Soft_Label_Keys</A>
<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_140_16" TARGET="main">tputs</A>
-<LI><A HREF="../terminal_interface-curses-trace__adb.htm#ref_54_17" TARGET="main">traceC</A>
-<LI><A HREF="../terminal_interface-curses-trace__adb.htm#ref_65_17" TARGET="main">tracef</A>
-<LI><A HREF="../terminal_interface-curses-trace__ads.htm#ref_105_14" TARGET="main">Trace_On</A>
-<LI><A HREF="../terminal_interface-curses-trace__ads.htm#ref_109_14" TARGET="main">Trace_Put</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2403_16" TARGET="main">Transform</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1815_14" TARGET="main">Transform_Coordinates</A>
+<LI><A HREF="../terminal_interface-curses-trace__adb.htm#ref_46_17" TARGET="main">traceC</A>
+<LI><A HREF="../terminal_interface-curses-trace__adb.htm#ref_53_17" TARGET="main">tracef</A>
+<LI><A HREF="../terminal_interface-curses-trace__ads.htm#ref_114_14" TARGET="main">Trace_On</A>
+<LI><A HREF="../terminal_interface-curses-trace__ads.htm#ref_118_14" TARGET="main">Trace_Put</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2402_16" TARGET="main">Transform</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1984_14" TARGET="main">Transform_Coordinates</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/U.htm b/doc/html/ada/funcs/U.htm
index f99d72d891ba..81acd1b6311f 100644
--- a/doc/html/ada/funcs/U.htm
+++ b/doc/html/ada/funcs/U.htm
@@ -8,20 +8,20 @@
<H2>Functions - U</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2016_16" TARGET="main">Unctrl - terminal_interface-curses.adb:2016</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2024_16" TARGET="main">Unctrl - terminal_interface-curses.adb:2024</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_763_14" TARGET="main">Undo_Keystroke</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_537_16" TARGET="main">Ungetch</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_186_16" TARGET="main">Ungetmouse</A>
-<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_145_14" TARGET="main">Unget_Mouse</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1137_14" TARGET="main">Untouch</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1623_14" TARGET="main">Un_Control - terminal_interface-curses.ads:1623</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1628_13" TARGET="main">Un_Control - terminal_interface-curses.ads:1628</A>
-<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_92_14" TARGET="main">Update_Panels</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1041_14" TARGET="main">Update_Screen</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1832_14" TARGET="main">Use_Default_Colors</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1852_13" TARGET="main">Use_Extended_Names</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2475_16" TARGET="main">use_extended_namesC</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_996_14" TARGET="main">Use_Insert_Delete_Character</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_989_14" TARGET="main">Use_Insert_Delete_Line</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2028_16" TARGET="main">Unctrl - terminal_interface-curses.adb:2028</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2036_16" TARGET="main">Unctrl - terminal_interface-curses.adb:2036</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_932_14" TARGET="main">Undo_Keystroke</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_539_16" TARGET="main">Ungetch</A>
+<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_184_16" TARGET="main">Ungetmouse</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_141_14" TARGET="main">Unget_Mouse</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1306_14" TARGET="main">Untouch</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1792_14" TARGET="main">Un_Control - terminal_interface-curses.ads:1792</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1797_13" TARGET="main">Un_Control - terminal_interface-curses.ads:1797</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm#ref_91_14" TARGET="main">Update_Panels</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1210_14" TARGET="main">Update_Screen</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2003_14" TARGET="main">Use_Default_Colors</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_2023_13" TARGET="main">Use_Extended_Names</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2474_16" TARGET="main">use_extended_namesC</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1165_14" TARGET="main">Use_Insert_Delete_Character</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1158_14" TARGET="main">Use_Insert_Delete_Line</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/V.htm b/doc/html/ada/funcs/V.htm
index c797960998fa..bd1cc37abd5f 100644
--- a/doc/html/ada/funcs/V.htm
+++ b/doc/html/ada/funcs/V.htm
@@ -9,7 +9,7 @@
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_13" TARGET="main">Value - terminal_interface-curses-forms-field_types-enumeration-ada.ads:53</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_220_13" TARGET="main">Value - terminal_interface-curses-menus.ads:220</A>
-<LI><A HREF="../terminal_interface-curses__ads.htm#ref_738_14" TARGET="main">Vertical_Line</A>
-<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_229_13" TARGET="main">Visible</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_216_13" TARGET="main">Value - terminal_interface-curses-menus.ads:216</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_907_14" TARGET="main">Vertical_Line</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_225_13" TARGET="main">Visible</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/W.htm b/doc/html/ada/funcs/W.htm
index f8c5754c7fe6..3f44080f93b9 100644
--- a/doc/html/ada/funcs/W.htm
+++ b/doc/html/ada/funcs/W.htm
@@ -8,50 +8,50 @@
<H2>Functions - W</H2>
<A HREF="../funcs.htm" TARGET="_self">[index]</A>
<UL COMPACT TYPE=DISC>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_151_16" TARGET="main">Waddch</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_150_16" TARGET="main">Waddch</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_407_16" TARGET="main">Waddchnstr</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_376_16" TARGET="main">Waddnstr</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_655_16" TARGET="main">Wattrget - terminal_interface-curses.adb:655</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_678_16" TARGET="main">Wattrget - terminal_interface-curses.adb:678</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_614_16" TARGET="main">Wattroff</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_611_16" TARGET="main">Wattron</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_639_16" TARGET="main">Wattrset</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1159_17" TARGET="main">WBackground</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_448_16" TARGET="main">Wborder</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1169_16" TARGET="main">WChangeBkgd</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_719_16" TARGET="main">Wchgat</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1127_16" TARGET="main">Wclear</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1137_16" TARGET="main">Wclearbot</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1147_16" TARGET="main">Wcleareol</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1567_16" TARGET="main">Wdelch</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_656_16" TARGET="main">Wattrget - terminal_interface-curses.adb:656</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_677_16" TARGET="main">Wattrget - terminal_interface-curses.adb:677</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_616_16" TARGET="main">Wattroff</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_613_16" TARGET="main">Wattron</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_641_16" TARGET="main">Wattrset</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1162_17" TARGET="main">WBackground</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_449_16" TARGET="main">Wborder</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1172_16" TARGET="main">WChangeBkgd</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_717_16" TARGET="main">Wchgat</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1130_16" TARGET="main">Wclear</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1140_16" TARGET="main">Wclearbot</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1150_16" TARGET="main">Wcleareol</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1575_16" TARGET="main">Wdelch</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_254_16" TARGET="main">Wdelwin</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_208_16" TARGET="main">Wechochar</A>
-<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_197_16" TARGET="main">Wenclose</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1117_16" TARGET="main">Werase</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1180_16" TARGET="main">Wgetbkgd</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_523_16" TARGET="main">Wgetch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1779_16" TARGET="main">Wgetnstr</A>
+<LI><A HREF="../terminal_interface-curses-mouse__adb.htm#ref_195_16" TARGET="main">Wenclose</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1120_16" TARGET="main">Werase</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1184_16" TARGET="main">Wgetbkgd</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_525_16" TARGET="main">Wgetch</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1789_16" TARGET="main">Wgetnstr</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_490_16" TARGET="main">Whline</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1593_16" TARGET="main">Winch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1731_16" TARGET="main">Winchnstr</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1689_16" TARGET="main">Winnstr</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1615_16" TARGET="main">Winsch</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1323_16" TARGET="main">Winsdelln</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1647_16" TARGET="main">Winsnstr</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1235_16" TARGET="main">WLineTouched</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_137_16" TARGET="main">Wmove</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1080_16" TARGET="main">Wnoutrefresh</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1601_16" TARGET="main">Winch</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1741_16" TARGET="main">Winchnstr</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1699_16" TARGET="main">Winnstr</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1623_16" TARGET="main">Winsch</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1329_16" TARGET="main">Winsdelln</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1656_16" TARGET="main">Winsnstr</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1240_16" TARGET="main">WLineTouched</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_136_16" TARGET="main">Wmove</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1082_16" TARGET="main">Wnoutrefresh</A>
<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm#ref_151_14" TARGET="main">Wrap_Builtin</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1103_16" TARGET="main">Wredrawln</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1069_16" TARGET="main">Wrefresh</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2543_16" TARGET="main">wresize</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1555_16" TARGET="main">Wscrl</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1046_16" TARGET="main">Wsetscrreg</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_701_16" TARGET="main">Wset_Color</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_591_16" TARGET="main">wstandend</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_589_16" TARGET="main">wstandout</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1105_16" TARGET="main">Wredrawln</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1071_16" TARGET="main">Wrefresh</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_2542_16" TARGET="main">wresize</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1563_16" TARGET="main">Wscrl</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1047_16" TARGET="main">Wsetscrreg</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_698_16" TARGET="main">Wset_Color</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_593_16" TARGET="main">wstandend</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_591_16" TARGET="main">wstandout</A>
<LI><A HREF="../terminal_interface-curses__adb.htm#ref_914_17" TARGET="main">Wtimeout</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1191_16" TARGET="main">Wtouchln</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_507_16" TARGET="main">Wvline</A>
-<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1248_16" TARGET="main">WWinTouched</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1195_16" TARGET="main">Wtouchln</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_508_16" TARGET="main">Wvline</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1253_16" TARGET="main">WWinTouched</A>
</UL></BODY></HTML>
diff --git a/doc/html/ada/main.htm b/doc/html/ada/main.htm
index 6a1b0ba983d7..e4475a566848 100644
--- a/doc/html/ada/main.htm
+++ b/doc/html/ada/main.htm
@@ -76,6 +76,7 @@ You should start your browsing with one of these files:
<LI><A HREF="terminal_interface-curses-text_io__ads.htm">terminal_interface-curses-text_io.ads</A>
<LI><A HREF="terminal_interface-curses-trace__ads.htm">terminal_interface-curses-trace.ads</A>
<LI><A HREF="terminal_interface-curses__ads.htm">terminal_interface-curses.ads</A>
+<LI><A HREF="terminal_interface-curses_constants__ads.htm">terminal_interface-curses_constants.ads</A>
<LI><A HREF="terminal_interface__ads.htm">terminal_interface.ads</A>
</UL>
</BODY></HTML>
diff --git a/doc/html/ada/table.html b/doc/html/ada/table.html
index ce8d91f4eb61..ff6d0bd404b1 100644
--- a/doc/html/ada/table.html
+++ b/doc/html/ada/table.html
@@ -10,8 +10,6 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TABLE ALIGN=CENTER BORDER>
<TR ALIGN=LEFT>
<TH>C name</TH><TH>Ada name</TH><TH>man page</TH></TR>
-<TR><TD>_nc_freeall()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_159">Curses_Free_All</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
-<TR><TD>_tracef()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_2">Trace_Put</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
<TR><TD>assume_default_colors()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_156">Assume_Default_Colors</A></TD><TD><A HREF="../man/default_colors.3x.html">default_colors.3x</A></TD></TR>
<TR><TD>baudrate()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_131">Baudrate</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
<TR><TD>beep()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_40">Beep</A></TD><TD><A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></TD></TR>
@@ -24,15 +22,15 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TR><TD>copywin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_79">Copy</A></TD><TD><A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></TD></TR>
<TR><TD>current_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_58">Current</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
<TR><TD>current_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_14">Current</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
-<TR><TD>curs_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_153">Set_Cursor_Visibility</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
<TR><TD>curscr</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_2">Current_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
<TR><TD>curses_version()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_157">Curses_Version</A></TD><TD><A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></TD></TR>
+<TR><TD>curs_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_153">Set_Cursor_Visibility</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
<TR><TD>data_ahead()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_54">Data_Ahead</A></TD><TD><A HREF="../man/form_data.3x.html">form_data.3x</A></TD></TR>
<TR><TD>data_behind()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_55">Data_Behind</A></TD><TD><A HREF="../man/form_data.3x.html">form_data.3x</A></TD></TR>
-<TR><TD>def_prog_mode()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_148">Save_Curses_Mode</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
<TR><TD>define_key()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_124">Define_Key</A></TD><TD><A HREF="../man/define_key.3x.html">define_key.3x</A></TD></TR>
-<TR><TD>del_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_15">Delete</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>def_prog_mode()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_148">Save_Curses_Mode</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
<TR><TD>delay_output()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_129">Delay_Output</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
+<TR><TD>del_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_15">Delete</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
<TR><TD>delwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_12">Delete</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
<TR><TD>derwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_14">Derived_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
<TR><TD>doupdate()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_61">Update_Screen</A></TD><TD><A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></TD></TR>
@@ -52,9 +50,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TR><TD>field_info()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_25">Info</A></TD><TD><A HREF="../man/form_field_info.3x.html">form_field_info.3x</A></TD></TR>
<TR><TD>field_init()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_36">Get_Field_Init_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
<TR><TD>field_just()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_7">Get_Justification</A></TD><TD><A HREF="../man/form_field_just.3x.html">form_field_just.3x</A></TD></TR>
+<TR><TD>field_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_14">Switch_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
<TR><TD>field_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_15">Get_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
<TR><TD>field_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_16">Get_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
-<TR><TD>field_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_14">Switch_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
<TR><TD>field_pad()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_24">Pad_Character</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
<TR><TD>field_status()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_11">Changed</A></TD><TD><A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></TD></TR>
<TR><TD>field_term()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_37">Get_Field_Term_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
@@ -66,9 +64,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TR><TD>form_driver()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_56">Driver</A></TD><TD><A HREF="../man/form_driver.3x.html">form_driver.3x</A></TD></TR>
<TR><TD>form_fields()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_42">Fields</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
<TR><TD>form_init()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_38">Get_Form_Init_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
+<TR><TD>form_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_49">Switch_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
<TR><TD>form_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_50">Get_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
<TR><TD>form_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_51">Get_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
-<TR><TD>form_opts_on()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_49">Switch_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
<TR><TD>form_page()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_60">Page</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
<TR><TD>form_sub()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_30">Get_Sub_Window</A></TD><TD><A HREF="../man/form_win.3x.html">form_win.3x</A></TD></TR>
<TR><TD>form_term()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_39">Get_Form_Term_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
@@ -98,17 +96,17 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TR><TD>initscr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_3">Init_Screen</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
<TR><TD>initscr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_4">Init_Windows</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
<TR><TD>intrflush()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_48">Set_Flush_On_Interrupt_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
+<TR><TD>isendwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_6">Is_End_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
<TR><TD>is_linetouched()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_77">Is_Touched</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
<TR><TD>is_wintouched()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_78">Is_Touched</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
-<TR><TD>isendwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_6">Is_End_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
<TR><TD>item_count()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_58">Item_Count</A></TD><TD><A HREF="../man/menu_items.3x.html">menu_items.3x</A></TD></TR>
<TR><TD>item_description();</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_12">Description</A></TD><TD><A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></TD></TR>
<TR><TD>item_index()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_17">Get_Index</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
<TR><TD>item_init()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_52">Get_Item_Init_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
<TR><TD>item_name()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_11">Name</A></TD><TD><A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></TD></TR>
+<TR><TD>item_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_8">Switch_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
<TR><TD>item_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_10">Get_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
<TR><TD>item_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_9">Get_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
-<TR><TD>item_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_8">Switch_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
<TR><TD>item_term()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_53">Get_Item_Term_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
<TR><TD>item_userptr</TD><TD><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#AFU_2">Get_User_Data</A></TD><TD><A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></TD></TR>
<TR><TD>item_userptr</TD><TD><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#AFU_3">Get_User_Data</A></TD><TD><A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></TD></TR>
@@ -134,9 +132,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TR><TD>menu_init()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_54">Get_Menu_Init_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
<TR><TD>menu_items()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_57">Items</A></TD><TD><A HREF="../man/menu_items.3x.html">menu_items.3x</A></TD></TR>
<TR><TD>menu_mark()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_30">Mark</A></TD><TD><A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></TD></TR>
+<TR><TD>menu_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_20">Switch_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
<TR><TD>menu_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_21">Get_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
<TR><TD>menu_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_22">Get_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
-<TR><TD>menu_opts_on()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_20">Switch_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
<TR><TD>menu_pad()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_41">Pad_Character</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
<TR><TD>menu_pattern()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_45">Pattern</A></TD><TD><A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></TD></TR>
<TR><TD>menu_requestname.3x</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_62"></A></TD><TD><A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></TD></TR>
@@ -152,19 +150,20 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TR><TD>move_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_44">Move</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
<TR><TD>move_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_11">Move</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
<TR><TD>mvderwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_17">Move_Derived_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
-<TR><TD>mvwaddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_9">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
<TR><TD>mvwaddchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_24">Add</A></TD><TD><A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></TD></TR>
+<TR><TD>mvwaddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_9">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
<TR><TD>mvwaddnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_22">Add</A></TD><TD><A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></TD></TR>
<TR><TD>mvwchgat()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_39">Change_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
<TR><TD>mvwdelch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_96">Delete_Character</A></TD><TD><A HREF="../man/curs_delch.3x.html">curs_delch.3x</A></TD></TR>
<TR><TD>mvwgetnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_108">Get</A></TD><TD><A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></TD></TR>
-<TR><TD>mvwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_16">Move_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
-<TR><TD>mvwinch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_98">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
<TR><TD>mvwinchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_106">Peek</A></TD><TD><A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></TD></TR>
+<TR><TD>mvwinch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_98">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
<TR><TD>mvwinnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_104">Peek</A></TD><TD><A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></TD></TR>
<TR><TD>mvwinsch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_100">Insert</A></TD><TD><A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></TD></TR>
<TR><TD>mvwinsnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_102">Insert</A></TD><TD><A HREF="../man/curs_insstr.3x.html">curs_insstr.3x</A></TD></TR>
+<TR><TD>mvwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_16">Move_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
<TR><TD>napms()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_154">Nap_Milli_Seconds</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
+<TR><TD>_nc_freeall()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_159">Curses_Free_All</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
<TR><TD>new_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
<TR><TD>new_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_2">New_Field</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
<TR><TD>new_form()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_45">Create</A></TD><TD><A HREF="../man/form_new.3x.html">form_new.3x</A></TD></TR>
@@ -172,10 +171,10 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TR><TD>new_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></TD></TR>
<TR><TD>new_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_2">New_Item</A></TD><TD><A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></TD></TR>
<TR><TD>new_menu()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_59">Create</A></TD><TD><A HREF="../man/menu_new.3x.html">menu_new.3x</A></TD></TR>
+<TR><TD>newpad()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_89">New_Pad</A></TD><TD><A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></TD></TR>
<TR><TD>new_page()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_63">Is_New_Page</A></TD><TD><A HREF="../man/form_new_page.3x.html">form_new_page.3x</A></TD></TR>
<TR><TD>new_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_1">Create</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
<TR><TD>new_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_2">New_Panel</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
-<TR><TD>newpad()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_89">New_Pad</A></TD><TD><A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></TD></TR>
<TR><TD>newwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_11">Create</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
<TR><TD>nl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_53">Set_NL_Mode</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
<TR><TD>nodelay()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_50">Set_NoDelay_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
@@ -209,9 +208,9 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TR><TD>scale_menu()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_27">Scale</A></TD><TD><A HREF="../man/menu_win.3x.html">menu_win.3x</A></TD></TR>
<TR><TD>scr_dump()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_160">Screen_Dump_To_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
<TR><TD>scr_init()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_162">Screen_Init_From_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
+<TR><TD>scrollok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_59">Allow_Scrolling</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
<TR><TD>scr_restore()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_161">Screen_Restore_From_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
<TR><TD>scr_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_163">Screen_Set_File</A></TD><TD><A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></TD></TR>
-<TR><TD>scrollok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_59">Allow_Scrolling</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
<TR><TD>set_current_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_57">Set_Current</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
<TR><TD>set_current_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_13">Set_Current</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
<TR><TD>set_field_back()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_20">Set_Background</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
@@ -259,10 +258,10 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TR><TD>set_panel_userptr</TD><TD><A HREF="terminal_interface-curses-panels-user_data__ads.htm#AFU_1">Set_User_Data</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
<TR><TD>set_top_row()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_15">Set_Top_Row</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
<TR><TD>show_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_5">Show</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
-<TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_120">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
-<TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_121">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
<TR><TD>slk_attron()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_118">Switch_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
<TR><TD>slk_attrset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_119">Set_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_120">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_attr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_121">Get_Soft_Label_Key_Attributes</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
<TR><TD>slk_clear()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_115">Clear_Soft_Label_Keys</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
<TR><TD>slk_color()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_122">Set_Soft_Label_Key_Color</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
<TR><TD>slk_init()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_109">Init_Soft_Label_Keys</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
@@ -286,6 +285,7 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TR><TD>top_row()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_16">Top_Row</A></TD><TD><A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></TD></TR>
<TR><TD>touchline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_75">Touch</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
<TR><TD>touchwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_74">Touch</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
+<TR><TD>_tracef()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_2">Trace_Put</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
<TR><TD>trace()</TD><TD><A HREF="terminal_interface-curses-trace__ads.htm#AFU_1">Trace_on</A></TD><TD><A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></TD></TR>
<TR><TD>unctrl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_127">Un_Control</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
<TR><TD>unctrl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_128">Un_Control</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
@@ -295,16 +295,16 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TR><TD>update_panels()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_6">Update_Panels</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
<TR><TD>use_default_colors()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_155">Use_Default_Colors</A></TD><TD><A HREF="../man/default_colors.3x.html">default_colors.3x</A></TD></TR>
<TR><TD>use_extended_names()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_158">Use_Extended_Names</A></TD><TD><A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></TD></TR>
-<TR><TD>waddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_8">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
<TR><TD>waddchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_23">Add</A></TD><TD><A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></TD></TR>
+<TR><TD>waddch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_8">Add</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
<TR><TD>waddnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_21">Add</A></TD><TD><A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></TD></TR>
<TR><TD>wattr_get()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_35">Get_Character_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
<TR><TD>wattr_get()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_36">Get_Character_Attribute</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
<TR><TD>wattron()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_33">Switch_Character_Attribute</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
<TR><TD>wattrset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_34">Set_Character_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
-<TR><TD>wbkgd()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_71">Change_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
<TR><TD>wbkgdget()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_72">Get_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
<TR><TD>wbkgdset()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_70">Set_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
+<TR><TD>wbkgd()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_71">Change_Background</A></TD><TD><A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></TD></TR>
<TR><TD>wborder()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_25">Border</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
<TR><TD>wchgat()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_38">Change_Attributes</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
<TR><TD>wclear()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_67">Clear</A></TD><TD><A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></TD></TR>
@@ -319,8 +319,8 @@ PUBLIC "-//IETF//DTD HTML 3.0//EN">
<TR><TD>wgetch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_29">Get_Keystroke</A></TD><TD><A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></TD></TR>
<TR><TD>wgetnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_107">Get</A></TD><TD><A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></TD></TR>
<TR><TD>whline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_27">Horizontal_Line</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
-<TR><TD>winch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_97">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
<TR><TD>winchnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_105">Peek</A></TD><TD><A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></TD></TR>
+<TR><TD>winch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_97">Peek</A></TD><TD><A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></TD></TR>
<TR><TD>winnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_103">Peek</A></TD><TD><A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></TD></TR>
<TR><TD>winsch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_99">Insert</A></TD><TD><A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></TD></TR>
<TR><TD>winsdelln()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_82">Insert_Delete_Lines</A></TD><TD><A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></TD></TR>
diff --git a/doc/html/ada/terminal_interface-curses-aux__adb.htm b/doc/html/ada/terminal_interface-curses-aux__adb.htm
index d817b690bd5e..bd288f38b436 100644
--- a/doc/html/ada/terminal_interface-curses-aux__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-aux__adb.htm
@@ -55,80 +55,80 @@
<span class="comment"><EM>-- @Revision: 1.11 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_41_40" HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_41_40" HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A></span> <b>is</b>
<span class="comment"><EM>--</EM></span>
<span class="comment"><EM>-- Some helpers</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_44_14" HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A></span> (<span class="symbol"><A NAME="ref_44_27" HREF="terminal_interface-curses-aux__ads.htm#ref_116_27">Cp</A></span> : chars_ptr;
- <span class="symbol"><A NAME="ref_45_27" HREF="terminal_interface-curses-aux__ads.htm#ref_117_27">Str</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_44_14" HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A></span> (<span class="symbol"><A NAME="ref_44_27" HREF="terminal_interface-curses-aux__ads.htm#ref_90_27">Cp</A></span> : chars_ptr;
+ <span class="symbol"><A NAME="ref_45_27" HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Str</A></span> : <b>out</b> String)
<b>is</b>
<span class="comment"><EM>-- Fill the string with the characters referenced by the</EM></span>
<span class="comment"><EM>-- chars_ptr.</EM></span>
<span class="comment"><EM>--</EM></span>
<span class="symbol"><A NAME="ref_50_7">Len</A></span> : Natural;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_27">Cp</A> /= Null_Ptr <b>then</b>
- <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> := Natural (Strlen (<A HREF="terminal_interface-curses-aux__ads.htm#ref_116_27">Cp</A>));
- <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_117_27">Str</A>'Length &lt; <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_27">Cp</A> /= Null_Ptr <b>then</b>
+ <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> := Natural (Strlen (<A HREF="terminal_interface-curses-aux__ads.htm#ref_90_27">Cp</A>));
+ <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Str</A>'Length &lt; <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> <b>then</b>
<b>raise</b> Constraint_Error;
<b>end</b> <b>if</b>;
<b>declare</b>
<span class="symbol"><A NAME="ref_58_13">S</A></span> : String (1 .. <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A>);
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__adb.htm#ref_58_13">S</A> := Value (<A HREF="terminal_interface-curses-aux__ads.htm#ref_116_27">Cp</A>);
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_117_27">Str</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_117_27">Str</A>'First .. (<A HREF="terminal_interface-curses-aux__ads.htm#ref_117_27">Str</A>'First + <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> - 1)) := <A HREF="terminal_interface-curses-aux__adb.htm#ref_58_13">S</A> (<A HREF="terminal_interface-curses-aux__adb.htm#ref_58_13">S</A>'<b>Range</b>);
+ <A HREF="terminal_interface-curses-aux__adb.htm#ref_58_13">S</A> := Value (<A HREF="terminal_interface-curses-aux__ads.htm#ref_90_27">Cp</A>);
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Str</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Str</A>'First .. (<A HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Str</A>'First + <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> - 1)) := <A HREF="terminal_interface-curses-aux__adb.htm#ref_58_13">S</A> (<A HREF="terminal_interface-curses-aux__adb.htm#ref_58_13">S</A>'<b>Range</b>);
<b>end</b>;
<b>else</b>
<A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> := 0;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> &lt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_117_27">Str</A>'Length <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_117_27">Str</A> ((<A HREF="terminal_interface-curses-aux__ads.htm#ref_117_27">Str</A>'First + <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A>) .. <A HREF="terminal_interface-curses-aux__ads.htm#ref_117_27">Str</A>'Last) := (<b>others</b> =&gt; ' ');
+ <b>if</b> <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A> &lt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Str</A>'Length <b>then</b>
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Str</A> ((<A HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Str</A>'First + <A HREF="terminal_interface-curses-aux__adb.htm#ref_50_7">Len</A>) .. <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_27">Str</A>'Last) := (<b>others</b> =&gt; ' ');
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_73_13" HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A></span> (<span class="symbol"><A NAME="ref_73_26" HREF="terminal_interface-curses-aux__ads.htm#ref_121_26">Cp</A></span> : chars_ptr) <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_73_13" HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A></span> (<span class="symbol"><A NAME="ref_73_26" HREF="terminal_interface-curses-aux__ads.htm#ref_95_26">Cp</A></span> : chars_ptr) <b>return</b> String
<b>is</b>
<span class="symbol"><A NAME="ref_75_7">Len</A></span> : Natural;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_26">Cp</A> /= Null_Ptr <b>then</b>
- <A HREF="terminal_interface-curses-aux__adb.htm#ref_75_7">Len</A> := Natural (Strlen (<A HREF="terminal_interface-curses-aux__ads.htm#ref_121_26">Cp</A>));
+ <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_26">Cp</A> /= Null_Ptr <b>then</b>
+ <A HREF="terminal_interface-curses-aux__adb.htm#ref_75_7">Len</A> := Natural (Strlen (<A HREF="terminal_interface-curses-aux__ads.htm#ref_95_26">Cp</A>));
<b>if</b> <A HREF="terminal_interface-curses-aux__adb.htm#ref_75_7">Len</A> = 0 <b>then</b>
<b>return</b> "";
<b>else</b>
<b>declare</b>
<span class="symbol"><A NAME="ref_83_16">S</A></span> : String (1 .. <A HREF="terminal_interface-curses-aux__adb.htm#ref_75_7">Len</A>);
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_121_26">Cp</A>, <A HREF="terminal_interface-curses-aux__adb.htm#ref_83_16">S</A>);
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_95_26">Cp</A>, <A HREF="terminal_interface-curses-aux__adb.htm#ref_83_16">S</A>);
<b>return</b> <A HREF="terminal_interface-curses-aux__adb.htm#ref_83_16">S</A>;
<b>end</b>;
<b>end</b> <b>if</b>;
<b>else</b>
<b>return</b> "";
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_94_14" HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A></span> (<span class="symbol"><A NAME="ref_94_29" HREF="terminal_interface-curses-aux__ads.htm#ref_96_29">Code</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_94_14" HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A></span> (<span class="symbol"><A NAME="ref_94_29" HREF="terminal_interface-curses-aux__ads.htm#ref_86_29">Code</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>)
<b>is</b>
<b>begin</b>
- <b>case</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_29">Code</A> <b>is</b>
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> =&gt; <b>null</b>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_81_4">E_System_Error</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_4">Eti_System_Error</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_82_4">E_Bad_Argument</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_391_4">Eti_Bad_Argument</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_83_4">E_Posted</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_392_4">Eti_Posted</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_84_4">E_Connected</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_393_4">Eti_Connected</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_85_4">E_Bad_State</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_394_4">Eti_Bad_State</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_4">E_No_Room</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_395_4">Eti_No_Room</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_87_4">E_Not_Posted</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_396_4">Eti_Not_Posted</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_4">E_Unknown_Command</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_397_4">Eti_Unknown_Command</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_89_4">E_No_Match</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_398_4">Eti_No_Match</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_4">E_Not_Selectable</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_399_4">Eti_Not_Selectable</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_91_4">E_Not_Connected</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_400_4">Eti_Not_Connected</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_4">E_Request_Denied</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_401_4">Eti_Request_Denied</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_93_4">E_Invalid_Field</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_402_4">Eti_Invalid_Field</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_94_4">E_Current</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_403_4">Eti_Current</A>;
+ <b>case</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_29">Code</A> <b>is</b>
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_84_7">E_Ok</A> =&gt; <b>null</b>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_83_7">E_System_Error</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_527_4">Eti_System_Error</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_82_7">E_Bad_Argument</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_528_4">Eti_Bad_Argument</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_81_7">E_Posted</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_529_4">Eti_Posted</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_7">E_Connected</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_530_4">Eti_Connected</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_79_7">E_Bad_State</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_531_4">Eti_Bad_State</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_7">E_No_Room</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_532_4">Eti_No_Room</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Not_Posted</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_533_4">Eti_Not_Posted</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_76_7">E_Unknown_Command</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_534_4">Eti_Unknown_Command</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_7">E_No_Match</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_535_4">Eti_No_Match</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Not_Selectable</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_536_4">Eti_Not_Selectable</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Not_Connected</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_537_4">Eti_Not_Connected</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Request_Denied</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_538_4">Eti_Request_Denied</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_7">E_Invalid_Field</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_539_4">Eti_Invalid_Field</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_70_7">E_Current</A> =&gt; <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_540_4">Eti_Current</A>;
<b>end</b> <b>case</b>;
- <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-aux__ads.htm b/doc/html/ada/terminal_interface-curses-aux__ads.htm
index 932ebf147068..301dd28dc016 100644
--- a/doc/html/ada/terminal_interface-curses-aux__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-aux__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2014,2018 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,91 +52,84 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.18 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.24 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- curses binding.</EM></span>
-<span class="comment"><EM>-- This module is generated. Please don't change it manually!</EM></span>
-<span class="comment"><EM>-- Run the generator instead.</EM></span>
-<span class="comment"><EM>-- |</EM></span>
<b>with</b> System;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
-<b>with</b> <A HREF="unchconv__ads.htm#ref_20_10">Unchecked_Conversion</A>;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_50_35" HREF="terminal_interface-curses-aux__adb.htm#ref_41_40">Aux</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_45_35" HREF="terminal_interface-curses-aux__adb.htm#ref_41_40">Aux</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>);
- <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
-
- <b>subtype</b> <span class="symbol"><A NAME="ref_55_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
- <b>subtype</b> <span class="symbol"><A NAME="ref_56_12">C_Short</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short;
- <b>subtype</b> <span class="symbol"><A NAME="ref_57_12">C_Long_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.long;
- <b>subtype</b> <span class="symbol"><A NAME="ref_58_12">C_Size_T</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.size_t;
- <b>subtype</b> <span class="symbol"><A NAME="ref_59_12">C_UInt</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.unsigned;
- <b>subtype</b> <span class="symbol"><A NAME="ref_60_12">C_ULong</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.unsigned_long;
- <b>subtype</b> <span class="symbol"><A NAME="ref_61_12">C_Char_Ptr</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.chars_ptr;
- <b>type</b> <span class="symbol"><A NAME="ref_62_12">C_Void_Ptr</A></span> <b>is</b> <b>new</b> System.Address;
- <b>type</b> <span class="symbol"><A NAME="ref_63_12">C_Chtype</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_59_12">C_UInt</A>;
- <b>type</b> <span class="symbol"><A NAME="ref_64_12">C_AttrType</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_59_12">C_UInt</A>;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_48_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_49_12">C_Short</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_50_12">C_Long_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.long;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_51_12">C_Size_T</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.size_t;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_52_12">C_UInt</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.unsigned;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_53_12">C_ULong</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.unsigned_long;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_54_12">C_Char_Ptr</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.chars_ptr;
+ <b>type</b> <span class="symbol"><A NAME="ref_55_12">C_Void_Ptr</A></span> <b>is</b> <b>new</b> System.Address;
<span class="comment"><EM>-- This is how those constants are defined in ncurses. I see them also</EM></span>
<span class="comment"><EM>-- exactly like this in all ETI implementations I ever tested. So it</EM></span>
<span class="comment"><EM>-- could be that this is quite general, but please check with your curses.</EM></span>
<span class="comment"><EM>-- This is critical, because curses sometime mixes Boolean returns with</EM></span>
<span class="comment"><EM>-- returning an error status.</EM></span>
- <span class="symbol"><A NAME="ref_71_4">Curses_Ok</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := 0;
- <span class="symbol"><A NAME="ref_72_4">Curses_Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := -1;
+ <span class="symbol"><A NAME="ref_62_4">Curses_Ok</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_12_4">OK</A>;
+ <span class="symbol"><A NAME="ref_63_4">Curses_Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_13_4">ERR</A>;
- <span class="symbol"><A NAME="ref_74_4">Curses_True</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := 1;
- <span class="symbol"><A NAME="ref_75_4">Curses_False</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := 0;
+ <span class="symbol"><A NAME="ref_65_4">Curses_True</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_15_4">TRUE</A>;
+ <span class="symbol"><A NAME="ref_66_4">Curses_False</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_16_4">FALSE</A>;
<span class="comment"><EM>-- Eti_Error: type for error codes returned by the menu and form subsystem</EM></span>
- <b>subtype</b> <span class="symbol"><A NAME="ref_78_12">Eti_Error</A></span> <b>is</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> <b>range</b> -14 .. 0;
-
- <span class="symbol"><A NAME="ref_80_4">E_Ok</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := 0;
- <span class="symbol"><A NAME="ref_81_4">E_System_Error</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -1;
- <span class="symbol"><A NAME="ref_82_4">E_Bad_Argument</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -2;
- <span class="symbol"><A NAME="ref_83_4">E_Posted</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -3;
- <span class="symbol"><A NAME="ref_84_4">E_Connected</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -4;
- <span class="symbol"><A NAME="ref_85_4">E_Bad_State</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -5;
- <span class="symbol"><A NAME="ref_86_4">E_No_Room</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -6;
- <span class="symbol"><A NAME="ref_87_4">E_Not_Posted</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -7;
- <span class="symbol"><A NAME="ref_88_4">E_Unknown_Command</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -8;
- <span class="symbol"><A NAME="ref_89_4">E_No_Match</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -9;
- <span class="symbol"><A NAME="ref_90_4">E_Not_Selectable</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -10;
- <span class="symbol"><A NAME="ref_91_4">E_Not_Connected</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -11;
- <span class="symbol"><A NAME="ref_92_4">E_Request_Denied</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -12;
- <span class="symbol"><A NAME="ref_93_4">E_Invalid_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -13;
- <span class="symbol"><A NAME="ref_94_4">E_Current</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -14;
-
- <b>procedure</b> <span class="symbol"><A NAME="ref_96_14" HREF="terminal_interface-curses-aux__adb.htm#ref_94_14">Eti_Exception</A></span> (<span class="symbol"><A NAME="ref_96_29" HREF="terminal_interface-curses-aux__adb.htm#ref_94_29">Code</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>);
- <span class="comment"><EM>-- Dispatch the error code and raise the appropriate exception</EM></span>
- <span class="comment"><EM>--</EM></span>
- <span class="comment"><EM>--</EM></span>
- <span class="comment"><EM>-- Some helpers</EM></span>
- <b>function</b> Chtype_To_AttrChar <b>is</b> <b>new</b>
- <A HREF="unchconv__ads.htm#ref_20_10">Unchecked_Conversion</A> (<A HREF="unchconv__ads.htm#ref_17_9">Source</A> =&gt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>,
- <A HREF="unchconv__ads.htm#ref_18_9">Target</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>);
- <b>function</b> AttrChar_To_Chtype <b>is</b> <b>new</b>
- <A HREF="unchconv__ads.htm#ref_20_10">Unchecked_Conversion</A> (<A HREF="unchconv__ads.htm#ref_17_9">Source</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>,
- <A HREF="unchconv__ads.htm#ref_18_9">Target</A> =&gt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>);
-
- <b>function</b> AttrChar_To_AttrType <b>is</b> <b>new</b>
- <A HREF="unchconv__ads.htm#ref_20_10">Unchecked_Conversion</A> (<A HREF="unchconv__ads.htm#ref_17_9">Source</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>,
- <A HREF="unchconv__ads.htm#ref_18_9">Target</A> =&gt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>);
+ <b>type</b> <span class="symbol"><A NAME="ref_69_9" HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Eti_Error</A></span> <b>is</b>
+ (<span class="symbol"><A NAME="ref_70_7">E_Current</A></span>,
+ <span class="symbol"><A NAME="ref_71_7">E_Invalid_Field</A></span>,
+ <span class="symbol"><A NAME="ref_72_7">E_Request_Denied</A></span>,
+ <span class="symbol"><A NAME="ref_73_7">E_Not_Connected</A></span>,
+ <span class="symbol"><A NAME="ref_74_7">E_Not_Selectable</A></span>,
+ <span class="symbol"><A NAME="ref_75_7">E_No_Match</A></span>,
+ <span class="symbol"><A NAME="ref_76_7">E_Unknown_Command</A></span>,
+ <span class="symbol"><A NAME="ref_77_7">E_Not_Posted</A></span>,
+ <span class="symbol"><A NAME="ref_78_7">E_No_Room</A></span>,
+ <span class="symbol"><A NAME="ref_79_7">E_Bad_State</A></span>,
+ <span class="symbol"><A NAME="ref_80_7">E_Connected</A></span>,
+ <span class="symbol"><A NAME="ref_81_7">E_Posted</A></span>,
+ <span class="symbol"><A NAME="ref_82_7">E_Bad_Argument</A></span>,
+ <span class="symbol"><A NAME="ref_83_7">E_System_Error</A></span>,
+ <span class="symbol"><A NAME="ref_84_7">E_Ok</A></span>);
- <b>function</b> AttrType_To_AttrChar <b>is</b> <b>new</b>
- <A HREF="unchconv__ads.htm#ref_20_10">Unchecked_Conversion</A> (<A HREF="unchconv__ads.htm#ref_17_9">Source</A> =&gt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>,
- <A HREF="unchconv__ads.htm#ref_18_9">Target</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_86_14" HREF="terminal_interface-curses-aux__adb.htm#ref_94_14">Eti_Exception</A></span> (<span class="symbol"><A NAME="ref_86_29" HREF="terminal_interface-curses-aux__adb.htm#ref_94_29">Code</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>);
+ <span class="comment"><EM>-- Do nothing if Code = E_Ok.</EM></span>
+ <span class="comment"><EM>-- Else dispatch the error code and raise the appropriate exception.</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_116_14" HREF="terminal_interface-curses-aux__adb.htm#ref_44_14">Fill_String</A></span> (<span class="symbol"><A NAME="ref_116_27" HREF="terminal_interface-curses-aux__adb.htm#ref_44_27">Cp</A></span> : chars_ptr;
- <span class="symbol"><A NAME="ref_117_27" HREF="terminal_interface-curses-aux__adb.htm#ref_45_27">Str</A></span> : <b>out</b> String);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_90_14" HREF="terminal_interface-curses-aux__adb.htm#ref_44_14">Fill_String</A></span> (<span class="symbol"><A NAME="ref_90_27" HREF="terminal_interface-curses-aux__adb.htm#ref_44_27">Cp</A></span> : chars_ptr;
+ <span class="symbol"><A NAME="ref_91_27" HREF="terminal_interface-curses-aux__adb.htm#ref_45_27">Str</A></span> : <b>out</b> String);
<span class="comment"><EM>-- Fill the Str parameter with the string denoted by the chars_ptr</EM></span>
<span class="comment"><EM>-- C-Style string.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_121_13" HREF="terminal_interface-curses-aux__adb.htm#ref_73_13">Fill_String</A></span> (<span class="symbol"><A NAME="ref_121_26" HREF="terminal_interface-curses-aux__adb.htm#ref_73_26">Cp</A></span> : chars_ptr) <b>return</b> String;
+ <b>function</b> <span class="symbol"><A NAME="ref_95_13" HREF="terminal_interface-curses-aux__adb.htm#ref_73_13">Fill_String</A></span> (<span class="symbol"><A NAME="ref_95_26" HREF="terminal_interface-curses-aux__adb.htm#ref_73_26">Cp</A></span> : chars_ptr) <b>return</b> String;
<span class="comment"><EM>-- Same but as function.</EM></span>
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>private</b>
+ <b>for</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>'Size <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>'Size;
+ <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>);
+ <b>for</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A> <b>use</b>
+ (<A HREF="terminal_interface-curses-aux__ads.htm#ref_70_7">E_Current</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_94_4">E_CURRENT</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_7">E_Invalid_Field</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_93_4">E_INVALID_FIELD</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Request_Denied</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_92_4">E_REQUEST_DENIED</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_73_7">E_Not_Connected</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_91_4">E_NOT_CONNECTED</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Not_Selectable</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_90_4">E_NOT_SELECTABLE</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_7">E_No_Match</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_89_4">E_NO_MATCH</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_76_7">E_Unknown_Command</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_88_4">E_UNKNOWN_COMMAND</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_77_7">E_Not_Posted</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_87_4">E_NOT_POSTED</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_7">E_No_Room</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_86_4">E_NO_ROOM</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_79_7">E_Bad_State</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_85_4">E_BAD_STATE</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_7">E_Connected</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_84_4">E_CONNECTED</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_81_7">E_Posted</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_83_4">E_POSTED</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_82_7">E_Bad_Argument</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_82_4">E_BAD_ARGUMENT</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_83_7">E_System_Error</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_81_4">E_SYSTEM_ERROR</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_84_7">E_Ok</A> =&gt; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_80_4">E_OK</A>);
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm
index a11bb3521962..5aae165a1e7d 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,29 +52,25 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/19 00:45:37 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.13 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:31:05 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A></span> <b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_44_9">Alpha_Field</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_49_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_30">Fld</A>;
- <span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_49_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_49_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_30">Fld</A>;
+ <span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_49_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_alpha");
- <span class="symbol"><A NAME="ref_53_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_53_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_49_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_50_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_46_9">Minimum_Field_Width</A>));
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_53_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_53_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_49_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_50_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_46_9">Minimum_Field_Width</A>)));
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Typ</A>);
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_14">Set_Field_Type</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm
index 1c7e1a2e40c2..2539530fe943 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm
@@ -55,17 +55,17 @@
<span class="comment"><EM>-- @Revision: 1.12 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_44_58">Alpha</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_44_58">Alpha</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A>);
<b>type</b> <span class="symbol"><A NAME="ref_44_9">Alpha_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>
<b>with</b> <b>record</b>
<span class="symbol"><A NAME="ref_46_9">Minimum_Field_Width</A></span> : Natural := 0;
<b>end</b> <b>record</b>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_47_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_44_9">Alpha_Field</A>);
<b>pragma</b> Inline (Set_Field_Type);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm
index 25a6c1289820..9690043892ce 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,29 +52,25 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/19 00:45:37 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.13 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:31:05 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A></span> <b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_45_9">AlphaNumeric_Field</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_49_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_30">Fld</A>;
- <span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_49_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_49_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_30">Fld</A>;
+ <span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_49_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_alnum");
- <span class="symbol"><A NAME="ref_53_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_53_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_49_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_50_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_47_9">Minimum_Field_Width</A>));
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_53_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_53_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_49_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_50_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_47_9">Minimum_Field_Width</A>)));
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Typ</A>);
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_14">Set_Field_Type</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm
index 7580482a595b..d2b0f80881a3 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm
@@ -55,18 +55,18 @@
<span class="comment"><EM>-- @Revision: 1.12 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_44_58">AlphaNumeric</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_44_58">AlphaNumeric</A></span> <b>is</b>
<b>pragma</b> Preelaborate
- (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A>);
+ (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A>);
<b>type</b> <span class="symbol"><A NAME="ref_45_9">AlphaNumeric_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>
<b>with</b> <b>record</b>
<span class="symbol"><A NAME="ref_47_9">Minimum_Field_Width</A></span> : Natural := 0;
<b>end</b> <b>record</b>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_47_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_45_9">AlphaNumeric_Field</A>);
<b>pragma</b> Inline (Set_Field_Type);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm
index 8258cd5466ba..94dfa8af5818 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm
@@ -58,7 +58,7 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<span class="symbol"><A NAME="ref_44_70" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<span class="symbol"><A NAME="ref_44_70" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A></span> <b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_46_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_13">Create</A></span> (<span class="symbol"><A NAME="ref_46_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_21">Set</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_50_9">Type_Set</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_50_46">Mixed_Case</A>;
<span class="symbol"><A NAME="ref_47_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Case_Sensitive</A></span> : Boolean := False;
@@ -68,18 +68,18 @@
<span class="symbol"><A NAME="ref_51_7">I</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">Enumeration_Info</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'Last) - <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'First) + 1);
<span class="symbol"><A NAME="ref_52_7">J</A></span> : Positive := 1;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Case_Sensitive</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Case_Sensitive</A>;
- <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Match_Must_Be_Unique</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_50_21">Must_Be_Unique</A>;
+ <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Case_Sensitive</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Case_Sensitive</A>;
+ <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Match_Must_Be_Unique</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_50_21">Must_Be_Unique</A>;
<b>for</b> <span class="symbol"><A NAME="ref_57_11">E</A></span> <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'<b>Range</b> <b>loop</b>
- <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>) := <b>new</b> String'(<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'Image (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_57_11">E</A>));
+ <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>) := <b>new</b> String'(<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'Image (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_57_11">E</A>));
<span class="comment"><EM>-- The Image attribute defaults to upper case, so we have to handle</EM></span>
<span class="comment"><EM>-- only the other ones...</EM></span>
<b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_21">Set</A> /= <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_50_34">Upper_Case</A> <b>then</b>
- <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b> := To_Lower (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b>);
+ <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b> := To_Lower (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b>);
<b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_21">Set</A> = <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_50_46">Mixed_Case</A> <b>then</b>
- <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b>'First) :=
- To_Upper (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b>'First));
+ <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b>'First) :=
+ To_Upper (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A>).<b>all</b>'First));
<b>end</b> <b>if</b>;
<b>end</b> <b>if</b>;
<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_52_7">J</A> + 1;
@@ -88,12 +88,12 @@
<b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13">Create</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_51_7">I</A>, True);
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_13">Create</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_74_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_13">Value</A></span> (<span class="symbol"><A NAME="ref_74_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_75_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Buf</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_74_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_13">Value</A></span> (<span class="symbol"><A NAME="ref_74_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_75_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Buf</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>
<b>is</b>
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'Value (<A HREF="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_20">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Buf</A>));
+ <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>'Value (<A HREF="terminal_interface-curses-forms__ads.htm#ref_369_13">Get_Buffer</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_20">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Buf</A>));
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_13">Value</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm
index 37305f626c32..ba8a51e32686 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998,2003 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,26 +52,26 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.10 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.11 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>generic</b>
<b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">T</A></span> <b>is</b> (&lt;&gt;);
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<span class="symbol"><A NAME="ref_44_65" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_44_70">Ada</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<span class="symbol"><A NAME="ref_44_65" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_44_70">Ada</A></span> <b>is</b>
<b>pragma</b> Preelaborate
- (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A>);
+ (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A>);
<b>function</b> <span class="symbol"><A NAME="ref_48_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_46_13">Create</A></span> (<span class="symbol"><A NAME="ref_48_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_46_21">Set</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_50_9">Type_Set</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_50_46">Mixed_Case</A>;
<span class="symbol"><A NAME="ref_49_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_47_21">Case_Sensitive</A></span> : Boolean := False;
<span class="symbol"><A NAME="ref_50_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_48_21">Must_Be_Unique</A></span> : Boolean := False)
<b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_53_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_74_13">Value</A></span> (<span class="symbol"><A NAME="ref_53_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_74_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_54_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_75_20">Buf</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_53_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_74_13">Value</A></span> (<span class="symbol"><A NAME="ref_53_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_74_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_54_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_75_20">Buf</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_42_9">T</A>;
<span class="comment"><EM>-- Translate the content of the fields buffer - indicated by the</EM></span>
<span class="comment"><EM>-- buffer number - into an enumeration value. If the buffer is empty</EM></span>
<span class="comment"><EM>-- or the content is invalid, a Constraint_Error is raises.</EM></span>
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm
index a5c44bb47b7f..3c49fe4cc46b 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,15 +52,15 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.10 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.12 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> Ada.Unchecked_Deallocation;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_46_58" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_46_58" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A></span> <b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_48_13" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13">Create</A></span> (<span class="symbol"><A NAME="ref_48_21" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">Enumeration_Info</A>;
<span class="symbol"><A NAME="ref_49_21" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Auto_Release_Names</A></span> : Boolean := False)
@@ -73,16 +73,16 @@
<span class="symbol"><A NAME="ref_56_7">L</A></span> : <b>constant</b> size_t := 1 + size_t (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_27">C</A>);
<span class="symbol"><A NAME="ref_57_7">S</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_47_9">String_Access</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_93_10">Case_Sensitive</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Case_Sensitive</A>;
- <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Match_Must_Be_Unique</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Match_Must_Be_Unique</A>;
+ <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_93_10">Case_Sensitive</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Case_Sensitive</A>;
+ <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Match_Must_Be_Unique</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_58_10">Match_Must_Be_Unique</A>;
<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A> := <b>new</b> chars_ptr_array (size_t (1) .. <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">L</A>);
<b>for</b> <span class="symbol"><A NAME="ref_62_11">I</A></span> <b>in</b> 1 .. Positive (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">L</A> - 1) <b>loop</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I</A>) = <b>null</b> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I</A>) = <b>null</b> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A>.<b>all</b> (size_t (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I</A>)) := New_String (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I</A>).<b>all</b>);
+ <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A>.<b>all</b> (size_t (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I</A>)) := New_String (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I</A>).<b>all</b>);
<b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Auto_Release_Names</A> <b>then</b>
- <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">S</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_57_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I</A>);
+ <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">S</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_59_10">Names</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_62_11">I</A>);
Release_String (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_57_7">S</A>);
<b>end</b> <b>if</b>;
<b>end</b> <b>loop</b>;
@@ -105,29 +105,26 @@
<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_23">Enum</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A> := <b>null</b>;
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_14">Release</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_91_14" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_91_30" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_91_14" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_91_30" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_92_30" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_94_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_94_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_30">Fld</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_94_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_94_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_30">Fld</A>;
<span class="symbol"><A NAME="ref_95_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Arg1</A></span> : chars_ptr_array;
<span class="symbol"><A NAME="ref_96_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Arg2</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_97_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Arg3</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_97_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Arg3</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_enum");
- <span class="symbol"><A NAME="ref_100_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A> = <b>null</b> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
- <b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_100_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A>.<b>all</b>,
- <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_96_30">Arg2</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_93_10">Case_Sensitive</A>)),
- <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_30">Arg3</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A> (Boolean'Pos
- (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Match_Must_Be_Unique</A>)));
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_100_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_100_7">Res</A>);
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A>
+ (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_16">Set_Fld_Type</A>
+ (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_95_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_95_10">Arr</A>.<b>all</b>,
+ <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_96_30">Arg2</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_93_10">Case_Sensitive</A>)),
+ <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_30">Arg3</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_94_10">Match_Must_Be_Unique</A>))));
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A>, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Choice_Router</A>);
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_14">Set_Field_Type</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm
index a5ae694168ca..90e86ad1ed5c 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2018,2020 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,14 +52,14 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.12 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.14 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_43_53" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_46_58">Enumeration</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_43_53" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_46_58">Enumeration</A></span> <b>is</b>
<b>pragma</b> Preelaborate
- (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>);
+ (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>);
<b>type</b> <span class="symbol"><A NAME="ref_47_9">String_Access</A></span> <b>is</b> <b>access</b> String;
@@ -71,9 +71,9 @@
<b>type</b> <span class="symbol"><A NAME="ref_55_9">Enumeration_Info</A></span> (<span class="symbol"><A NAME="ref_55_27" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">C</A></span> : Positive) <b>is</b>
<b>record</b>
- <span class="symbol"><A NAME="ref_57_10">Names</A></span> : Enum_Array (1 .. <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_27">C</A>);
- <span class="symbol"><A NAME="ref_58_10">Case_Sensitive</A></span> : Boolean := False;
- <span class="symbol"><A NAME="ref_59_10">Match_Must_Be_Unique</A></span> : Boolean := False;
+ <span class="symbol"><A NAME="ref_57_10">Case_Sensitive</A></span> : Boolean := False;
+ <span class="symbol"><A NAME="ref_58_10">Match_Must_Be_Unique</A></span> : Boolean := False;
+ <span class="symbol"><A NAME="ref_59_10">Names</A></span> : Enum_Array (1 .. <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_27">C</A>);
<b>end</b> <b>record</b>;
<b>type</b> <span class="symbol"><A NAME="ref_62_9">Enumeration_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A> <b>with</b> <b>private</b>;
@@ -95,15 +95,15 @@
<span class="comment"><EM>-- But we may want to release the field to release the memory allocated</EM></span>
<span class="comment"><EM>-- by it internally. After that the Enumeration field is no longer usable.</EM></span>
- <span class="comment"><EM>-- The next type defintions are all ncurses extensions. They are typically</EM></span>
+ <span class="comment"><EM>-- The next type definitions are all ncurses extensions. They are typically</EM></span>
<span class="comment"><EM>-- not available in other curses implementations.</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_84_14" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_91_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_84_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_91_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_84_14" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_91_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_84_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_91_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_85_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_92_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>);
<b>pragma</b> Inline (Set_Field_Type);
<b>private</b>
- <b>type</b> <span class="symbol"><A NAME="ref_89_9">CPA_Access</A></span> <b>is</b> <b>access</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.chars_ptr_array;
+ <b>type</b> <span class="symbol"><A NAME="ref_89_9" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">CPA_Access</A></span> <b>is</b> <b>access</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.chars_ptr_array;
<b>type</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A> <b>with</b>
<b>record</b>
@@ -112,5 +112,5 @@
<span class="symbol"><A NAME="ref_95_10">Arr</A></span> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_89_9">CPA_Access</A> := <b>null</b>;
<b>end</b> <b>record</b>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm
index 9fd50ea6f755..030e87ddd26f 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,33 +52,29 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/19 00:45:37 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.13 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:31:05 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A></span> <b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_44_9">Integer_Field</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_30">Fld</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_30">Fld</A>;
<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">Arg2</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_57_12">C_Long_Int</A>;
- <span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">Arg3</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_57_12">C_Long_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">Arg2</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Long_Int</A>;
+ <span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">Arg3</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Long_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_integer");
- <span class="symbol"><A NAME="ref_55_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_55_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_46_10">Precision</A>),
- <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_51_30">Arg2</A> =&gt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_57_12">C_Long_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_47_10">Lower_Limit</A>),
- <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_30">Arg3</A> =&gt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_57_12">C_Long_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_48_10">Upper_Limit</A>));
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_55_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_55_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_50_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_46_10">Precision</A>),
+ <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_51_30">Arg2</A> =&gt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Long_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_47_10">Lower_Limit</A>),
+ <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_30">Arg3</A> =&gt; <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Long_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_48_10">Upper_Limit</A>)));
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A>);
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_14">Set_Field_Type</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm
index b46963a5eb86..f16b58690ece 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm
@@ -55,8 +55,8 @@
<span class="comment"><EM>-- @Revision: 1.12 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_44_58">IntField</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_44_58">IntField</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A>);
<b>type</b> <span class="symbol"><A NAME="ref_44_9">Integer_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A> <b>with</b>
<b>record</b>
@@ -65,9 +65,9 @@
<span class="symbol"><A NAME="ref_48_10">Upper_Limit</A></span> : Integer;
<b>end</b> <b>record</b>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_47_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_44_9">Integer_Field</A>);
<b>pragma</b> Inline (Set_Field_Type);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm
index 2c13916503d3..310b27f38e59 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,29 +52,25 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.11 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/19 00:45:37 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.13 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:31:05 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A></span> <b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_45_9">Internet_V4_Address_Field</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_49_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_30">Fld</A>)
- <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_49_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_30">Fld</A>)
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_ipv4");
- <span class="symbol"><A NAME="ref_53_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_53_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_49_16">Set_Fld_Type</A>;
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_53_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_53_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_49_16">Set_Fld_Type</A>);
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Typ</A>);
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_14">Set_Field_Type</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm
index 41942c1658ab..9b339f977d51 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm
@@ -55,15 +55,15 @@
<span class="comment"><EM>-- @Revision: 1.12 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_44_58">IPV4_Address</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_44_58">IPV4_Address</A></span> <b>is</b>
<b>pragma</b> Preelaborate
- (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A>);
+ (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A>);
<b>type</b> <span class="symbol"><A NAME="ref_45_9">Internet_V4_Address_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A> <b>with</b> <b>null</b> <b>record</b>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_47_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_45_9">Internet_V4_Address_Field</A>);
<b>pragma</b> Inline (Set_Field_Type);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm
index 5986b6565f4b..05c829e96ece 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,36 +52,32 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.12 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/19 00:45:37 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.14 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:31:05 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A></span> <b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_44_9">Numeric_Field</A>)
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_50_12">Double</A></span> <b>is</b> <b>new</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.double;
+ <b>type</b> <span class="symbol"><A NAME="ref_50_12">Double</A></span> <b>is</b> <b>new</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.double;
- <b>function</b> <span class="symbol"><A NAME="ref_52_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_30">Fld</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_52_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_30">Fld</A>;
<span class="symbol"><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
<span class="symbol"><A NAME="ref_54_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">Arg2</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_50_12">Double</A>;
- <span class="symbol"><A NAME="ref_55_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">Arg3</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_50_12">Double</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_55_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">Arg3</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_50_12">Double</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_numeric");
- <span class="symbol"><A NAME="ref_58_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_58_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_46_10">Precision</A>),
- <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_54_30">Arg2</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_50_12">Double</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_47_10">Lower_Limit</A>),
- <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_30">Arg3</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_50_12">Double</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_48_10">Upper_Limit</A>));
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_58_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_58_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_53_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_46_10">Precision</A>),
+ <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_54_30">Arg2</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_50_12">Double</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_47_10">Lower_Limit</A>),
+ <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_30">Arg3</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_50_12">Double</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_48_10">Upper_Limit</A>)));
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A>);
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_14">Set_Field_Type</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm
index 14121bc2968d..94882246fd04 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm
@@ -55,8 +55,8 @@
<span class="comment"><EM>-- @Revision: 1.12 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_45_58">Numeric</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_45_58">Numeric</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A>);
<b>type</b> <span class="symbol"><A NAME="ref_44_9">Numeric_Field</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A> <b>with</b>
<b>record</b>
@@ -65,9 +65,9 @@
<span class="symbol"><A NAME="ref_48_10">Upper_Limit</A></span> : Float;
<b>end</b> <b>record</b>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_48_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_44_9">Numeric_Field</A>);
<b>pragma</b> Inline (Set_Field_Type);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm
index b5ed92283092..80e0e48759df 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,34 +52,25 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.10 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.12 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A></span> <b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_46_9">Regular_Expression_Field</A>)
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_49_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char;
-
- <b>function</b> <span class="symbol"><A NAME="ref_51_16">Set_Ftyp</A></span> (<span class="symbol"><A NAME="ref_51_26" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_51_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_30">Fld</A>;
- <span class="symbol"><A NAME="ref_52_26" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_51_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_49_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_49_16">Set_Ftyp</A></span> (<span class="symbol"><A NAME="ref_49_26" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_49_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_30">Fld</A>;
+ <span class="symbol"><A NAME="ref_50_26" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_49_16">Arg1</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Ftyp, "set_field_type_regexp");
- <span class="symbol"><A NAME="ref_55_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_48_10">Regular_Expression</A>.<b>all</b>'Length);
- <span class="symbol"><A NAME="ref_56_7">Len</A></span> : size_t;
- <span class="symbol"><A NAME="ref_57_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_48_10">Regular_Expression</A>.<b>all</b>, <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_55_7">Txt</A>, <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_56_7">Len</A>);
- <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_57_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_51_16">Set_Ftyp</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_52_26">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_55_7">Txt</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_55_7">Txt</A>'First)'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_57_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_57_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_49_16">Set_Ftyp</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_50_26">Arg1</A> =&gt; To_C (<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Typ</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_48_10">Regular_Expression</A>.<b>all</b>)));
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_14">Wrap_Builtin</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_30">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Typ</A>);
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_14">Set_Field_Type</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm
index e15f18247e93..c5f871288ce9 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm
@@ -55,8 +55,8 @@
<span class="comment"><EM>-- @Revision: 1.12 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_44_58">RegExp</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_44_58">RegExp</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A>);
<b>type</b> <span class="symbol"><A NAME="ref_44_9">String_Access</A></span> <b>is</b> <b>access</b> String;
@@ -65,9 +65,9 @@
<span class="symbol"><A NAME="ref_48_10">Regular_Expression</A></span> : <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_44_9">String_Access</A>;
<b>end</b> <b>record</b>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_46_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_46_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_47_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_46_9">Regular_Expression_Field</A>);
<b>pragma</b> Inline (Set_Field_Type);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm
index 0761a198eeac..2abd20d10bf7 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2008,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,69 +52,65 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.17 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/22 10:53:37 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.20 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:31:05 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> System.Address_To_Access_Conversions;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<span class="symbol"><A NAME="ref_45_63" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<span class="symbol"><A NAME="ref_45_63" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A></span> <b>is</b>
<b>package</b> Argument_Conversions <b>is</b>
<b>new</b> System.Address_To_Access_Conversions (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_211_9">Argument</A>);
- <b>function</b> <span class="symbol"><A NAME="ref_50_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13">Generic_Next</A></span> (<span class="symbol"><A NAME="ref_50_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_51_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_50_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13">Generic_Next</A></span> (<span class="symbol"><A NAME="ref_50_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_51_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
<b>is</b>
<span class="symbol"><A NAME="ref_53_7">Result</A></span> : Boolean;
<span class="symbol"><A NAME="ref_54_7">Udf</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_57_9">User_Defined_Field_Type_With_Choice_Access</A> :=
<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_57_9">User_Defined_Field_Type_With_Choice_Access</A>
- (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Usr</A>)).<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A>);
+ (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Usr</A>)).<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A>);
<b>begin</b>
<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_53_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_60_13">Next</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_27">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_54_7">Udf</A>.<b>all</b>);
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_53_7">Result</A>));
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_53_7">Result</A>));
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13">Generic_Next</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13">Generic_Prev</A></span> (<span class="symbol"><A NAME="ref_62_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_63_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13">Generic_Prev</A></span> (<span class="symbol"><A NAME="ref_62_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_63_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
<b>is</b>
<span class="symbol"><A NAME="ref_65_7">Result</A></span> : Boolean;
<span class="symbol"><A NAME="ref_66_7">Udf</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_57_9">User_Defined_Field_Type_With_Choice_Access</A> :=
<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_57_9">User_Defined_Field_Type_With_Choice_Access</A>
- (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Usr</A>)).<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A>);
+ (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Usr</A>)).<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A>);
<b>begin</b>
<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_65_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_67_13">Previous</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_27">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_66_7">Udf</A>.<b>all</b>);
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_65_7">Result</A>));
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_65_7">Result</A>));
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13">Generic_Prev</A>;
<span class="comment"><EM>-- -----------------------------------------------------------------------</EM></span>
<span class="comment"><EM>--</EM></span>
<b>function</b> <span class="symbol"><A NAME="ref_76_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_78_13">C_Generic_Choice</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_78_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+ <span class="symbol"><A NAME="ref_78_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<span class="symbol"><A NAME="ref_79_7">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Choice</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b>
<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A>'<b>Access</b>,
<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A>'<b>Access</b>);
<b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>else</b>
<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">T</A>,
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_13">Make_Arg</A>'<b>Access</b>,
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A>'<b>Access</b>,
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A>'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_7">Res</A>);
<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_234_13">Set_Fieldtype_Choice</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">T</A>,
<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13">Generic_Next</A>'<b>Access</b>,
<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13">Generic_Prev</A>'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_7">Res</A>);
<b>end</b> <b>if</b>;
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Choice</A> := <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_79_7">T</A>;
<b>end</b> <b>if</b>;
@@ -122,5 +118,5 @@
<b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Choice</A>;
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_78_13">C_Generic_Choice</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm
index 9785cd6c383b..6f730ef6d5ec 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm
@@ -56,13 +56,13 @@
<span class="comment"><EM>-- @Date: 2011/03/19 12:27:47 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_45_63">Choice</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<span class="symbol"><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_45_63">Choice</A></span> <b>is</b>
<b>pragma</b> Preelaborate
- (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A>);
+ (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A>);
- <b>subtype</b> <span class="symbol"><A NAME="ref_48_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_48_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
<b>type</b> <span class="symbol"><A NAME="ref_50_9">User_Defined_Field_Type_With_Choice</A></span> <b>is</b> <b>abstract</b> <b>new</b>
<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A> <b>with</b> <b>null</b> <b>record</b>;
@@ -75,14 +75,14 @@
<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_50_9">User_Defined_Field_Type_With_Choice</A>'Class;
<b>function</b> <span class="symbol"><A NAME="ref_60_13">Next</A></span>
- (<span class="symbol"><A NAME="ref_61_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_60_13">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ (<span class="symbol"><A NAME="ref_61_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_60_13">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_62_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_60_13">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_50_9">User_Defined_Field_Type_With_Choice</A>) <b>return</b> Boolean
<b>is</b> <b>abstract</b>;
<span class="comment"><EM>-- If True is returned, the function successfully generated a next</EM></span>
<span class="comment"><EM>-- value into the fields buffer.</EM></span>
<b>function</b> <span class="symbol"><A NAME="ref_67_13">Previous</A></span>
- (<span class="symbol"><A NAME="ref_68_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_67_13">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ (<span class="symbol"><A NAME="ref_68_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_67_13">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_69_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_67_13">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_50_9">User_Defined_Field_Type_With_Choice</A>) <b>return</b> Boolean
<b>is</b> <b>abstract</b>;
<span class="comment"><EM>-- If True is returned, the function successfully generated a previous</EM></span>
@@ -94,19 +94,19 @@
<b>private</b>
<b>function</b> <span class="symbol"><A NAME="ref_78_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_76_13">C_Generic_Choice</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_80_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_50_13">Generic_Next</A></span> (<span class="symbol"><A NAME="ref_80_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_50_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_81_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_51_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_80_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_50_13">Generic_Next</A></span> (<span class="symbol"><A NAME="ref_80_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_50_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_81_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_51_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13">Generic_Next</A>);
<span class="comment"><EM>-- This is the generic next Choice_Function for the low-level fieldtype</EM></span>
<span class="comment"><EM>-- representing all the User_Defined_Field_Type derivatives. It routes</EM></span>
<span class="comment"><EM>-- the call to the Next implementation for the type.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_87_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_62_13">Generic_Prev</A></span> (<span class="symbol"><A NAME="ref_87_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_62_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_88_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_63_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_87_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_62_13">Generic_Prev</A></span> (<span class="symbol"><A NAME="ref_87_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_62_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_88_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_63_27">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13">Generic_Prev</A>);
<span class="comment"><EM>-- This is the generic prev Choice_Function for the low-level fieldtype</EM></span>
<span class="comment"><EM>-- representing all the User_Defined_Field_Type derivatives. It routes</EM></span>
<span class="comment"><EM>-- the call to the Previous implementation for the type.</EM></span>
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>.<A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm
index 94ed879fb637..0792f4163f7e 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,100 +52,93 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.21 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/23 00:44:58 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.23 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:31:05 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> System.Address_To_Access_Conversions;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A></span> <b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_50_16" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_61_16">Allocate_Arg</A></span> (<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_61_30">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>'Class)
+ <b>function</b> <span class="symbol"><A NAME="ref_50_16" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_59_16">Allocate_Arg</A></span> (<span class="symbol"><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_59_30">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>'Class)
<b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_53_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_30">Fld</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_53_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_30">Fld</A>;
<span class="symbol"><A NAME="ref_54_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_79_13">C_Generic_Type</A>;
<span class="symbol"><A NAME="ref_55_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>)
- <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_user");
- <span class="symbol"><A NAME="ref_59_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
-
- <b>function</b> <span class="symbol"><A NAME="ref_61_16" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_16">Allocate_Arg</A></span> (<span class="symbol"><A NAME="ref_61_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_30">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>'Class)
+ <b>function</b> <span class="symbol"><A NAME="ref_59_16" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_16">Allocate_Arg</A></span> (<span class="symbol"><A NAME="ref_59_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_30">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>'Class)
<b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_64_10">Ptr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_63_9">Field_Type_Access</A>
+ <span class="symbol"><A NAME="ref_62_10">Ptr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_63_9">Field_Type_Access</A>
:= <b>new</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>'Class'(<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_30">T</A>);
<b>begin</b>
<b>return</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_211_9">Argument</A>'(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A> =&gt; System.Null_Address,
- <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_64_10">Ptr</A>,
+ <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_62_10">Ptr</A>,
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>);
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_16">Allocate_Arg</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_59_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_55_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_16">Allocate_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Typ</A>));
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_59_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_59_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_55_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_16">Allocate_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Typ</A>)));
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_14">Set_Field_Type</A>;
<b>package</b> Argument_Conversions <b>is</b>
<b>new</b> System.Address_To_Access_Conversions (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_211_9">Argument</A>);
- <b>function</b> <span class="symbol"><A NAME="ref_82_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A></span> (<span class="symbol"><A NAME="ref_82_34" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_34">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_83_34" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_77_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A></span> (<span class="symbol"><A NAME="ref_77_34" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_34">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_78_34" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_85_7">Result</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_86_7">Udf</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A> :=
+ <span class="symbol"><A NAME="ref_80_7">Result</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_81_7">Udf</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A> :=
<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A>
(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Usr</A>)).<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A>);
<b>begin</b>
- <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_85_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_56_13">Field_Check</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_34">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_86_7">Udf</A>.<b>all</b>);
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_85_7">Result</A>));
+ <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_80_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_56_13">Field_Check</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_34">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_81_7">Udf</A>.<b>all</b>);
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_80_7">Result</A>));
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_94_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A></span> (<span class="symbol"><A NAME="ref_94_33" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_33">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_95_33" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_89_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A></span> (<span class="symbol"><A NAME="ref_89_33" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_33">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_90_33" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_97_7">Result</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_98_7">Udf</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A> :=
+ <span class="symbol"><A NAME="ref_92_7">Result</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_93_7">Udf</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A> :=
<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_53_9">User_Defined_Field_Type_Access</A>
(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Usr</A>)).<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A>);
<b>begin</b>
- <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_97_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_63_13">Character_Check</A> (Character'Val (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_33">Ch</A>), <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_98_7">Udf</A>.<b>all</b>);
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_97_7">Result</A>));
+ <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_92_7">Result</A> := <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_63_13">Character_Check</A> (Character'Val (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_33">Ch</A>), <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_93_7">Udf</A>.<b>all</b>);
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_92_7">Result</A>));
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A>;
<span class="comment"><EM>-- -----------------------------------------------------------------------</EM></span>
<span class="comment"><EM>--</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_108_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_79_13">C_Generic_Type</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_103_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_79_13">C_Generic_Type</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_110_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
- <span class="symbol"><A NAME="ref_111_7">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+ <span class="symbol"><A NAME="ref_105_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
+ <span class="symbol"><A NAME="ref_106_7">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_141_4">M_Generic_Type</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b>
- <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_111_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A>'<b>Access</b>,
<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A>'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_111_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>else</b>
- <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_110_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_111_7">T</A>,
+ <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_105_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">T</A>,
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_13">Make_Arg</A>'<b>Access</b>,
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A>'<b>Access</b>,
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A>'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_110_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_110_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_105_7">Res</A>);
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_141_4">M_Generic_Type</A> := <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_111_7">T</A>;
+ <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_141_4">M_Generic_Type</A> := <A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_106_7">T</A>;
<b>end</b> <b>if</b>;
<b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_141_4">M_Generic_Type</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>);
<b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_141_4">M_Generic_Type</A>;
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_79_13">C_Generic_Type</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm
index 2b579166b5df..d11be5d7cfd3 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm
@@ -56,11 +56,11 @@
<span class="comment"><EM>-- @Date: 2011/03/19 12:27:21 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_53" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_45_58">User</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>);
- <b>subtype</b> <span class="symbol"><A NAME="ref_46_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<span class="symbol"><A NAME="ref_44_53" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_45_58">User</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>);
+ <b>subtype</b> <span class="symbol"><A NAME="ref_46_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
<b>type</b> <span class="symbol"><A NAME="ref_48_9">User_Defined_Field_Type</A></span> <b>is</b> <b>abstract</b> <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A> <b>with</b> <b>null</b> <b>record</b>;
<span class="comment"><EM>-- This is the root of the mechanism we use to create field types in</EM></span>
@@ -71,7 +71,7 @@
<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>'Class;
<b>function</b> <span class="symbol"><A NAME="ref_56_13">Field_Check</A></span>
- (<span class="symbol"><A NAME="ref_57_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_56_13">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ (<span class="symbol"><A NAME="ref_57_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_56_13">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_56_13">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>) <b>return</b> Boolean
<b>is</b> <b>abstract</b>;
<span class="comment"><EM>-- If True is returned, the field is considered valid, otherwise it is</EM></span>
@@ -84,7 +84,7 @@
<span class="comment"><EM>-- If True is returned, the character is considered as valid for the</EM></span>
<span class="comment"><EM>-- field, otherwise as invalid.</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_70_14" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_70_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_70_14" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_47_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_70_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_47_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_71_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_48_30">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>);
<span class="comment"><EM>-- This should work for all types derived from User_Defined_Field_Type.</EM></span>
<span class="comment"><EM>-- No need to reimplement it for your derived type.</EM></span>
@@ -93,21 +93,21 @@
<span class="comment"><EM>-- | Private Part.</EM></span>
<span class="comment"><EM>-- | Used by the Choice child package.</EM></span>
<b>private</b>
- <b>function</b> <span class="symbol"><A NAME="ref_79_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_108_13">C_Generic_Type</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_79_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_103_13">C_Generic_Type</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_81_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_82_13">Generic_Field_Check</A></span> (<span class="symbol"><A NAME="ref_81_34" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_82_34">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_82_34" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_83_34">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_81_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_77_13">Generic_Field_Check</A></span> (<span class="symbol"><A NAME="ref_81_34" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_77_34">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_82_34" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_78_34">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A>);
<span class="comment"><EM>-- This is the generic Field_Check_Function for the low-level fieldtype</EM></span>
<span class="comment"><EM>-- representing all the User_Defined_Field_Type derivatives. It routes</EM></span>
<span class="comment"><EM>-- the call to the Field_Check implementation for the type.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_88_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_94_13">Generic_Char_Check</A></span> (<span class="symbol"><A NAME="ref_88_33" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_94_33">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_89_33" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_95_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_88_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_89_13">Generic_Char_Check</A></span> (<span class="symbol"><A NAME="ref_88_33" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_89_33">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_89_33" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_90_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A>);
<span class="comment"><EM>-- This is the generic Char_Check_Function for the low-level fieldtype</EM></span>
<span class="comment"><EM>-- representing all the User_Defined_Field_Type derivatives. It routes</EM></span>
<span class="comment"><EM>-- the call to the Character_Check implementation for the type.</EM></span>
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>.<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm
index e12eab6b3d7c..51f90d803068 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,11 +52,11 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.25 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/22 23:22:27 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.28 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/09/13 19:00:47 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
<b>with</b> Ada.Unchecked_Deallocation;
<b>with</b> System.Address_To_Access_Conversions;
@@ -65,17 +65,17 @@
<span class="comment"><EM>-- | man page form_fieldtype.3x</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- |</EM></span>
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<span class="symbol"><A NAME="ref_51_46" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<span class="symbol"><A NAME="ref_51_46" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A></span> <b>is</b>
<b>use</b> <b>type</b> System.Address;
<b>package</b> Argument_Conversions <b>is</b>
<b>new</b> System.Address_To_Access_Conversions (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_211_9">Argument</A>);
- <b>function</b> <span class="symbol"><A NAME="ref_58_13">Get_Fieldtype</A></span> (<span class="symbol"><A NAME="ref_58_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_58_13">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_58_13">Get_Fieldtype</A></span> (<span class="symbol"><A NAME="ref_58_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_58_13">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
<b>pragma</b> Import (C, Get_Fieldtype, "field_type");
- <b>function</b> <span class="symbol"><A NAME="ref_61_13">Get_Arg</A></span> (<span class="symbol"><A NAME="ref_61_22" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_61_13">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> System.Address;
+ <b>function</b> <span class="symbol"><A NAME="ref_61_13">Get_Arg</A></span> (<span class="symbol"><A NAME="ref_61_22" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_61_13">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> System.Address;
<b>pragma</b> Import (C, Get_Arg, "field_arg");
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
@@ -84,7 +84,7 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_70_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_79_13">Get_Type</A></span> (<span class="symbol"><A NAME="ref_70_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_79_23">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_63_9">Field_Type_Access</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_70_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_79_13">Get_Type</A></span> (<span class="symbol"><A NAME="ref_70_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_79_23">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_63_9">Field_Type_Access</A>
<b>is</b>
<span class="symbol"><A NAME="ref_72_7">Low_Level</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_58_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_79_23">Fld</A>);
<span class="symbol"><A NAME="ref_73_7">Arg</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>;
@@ -93,144 +93,141 @@
<b>return</b> <b>null</b>;
<b>else</b>
<b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_72_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Builtin_Router</A> <b>or</b> <b>else</b>
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_72_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_141_4">M_Generic_Type</A> <b>or</b> <b>else</b>
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_72_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Choice_Router</A> <b>or</b> <b>else</b>
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_72_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Choice</A> <b>then</b>
+ <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_72_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_141_4">M_Generic_Type</A> <b>or</b> <b>else</b>
+ <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_72_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Choice_Router</A> <b>or</b> <b>else</b>
+ <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_72_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_142_4">M_Generic_Choice</A>
+ <b>then</b>
<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Arg</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>
(Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_61_13">Get_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_79_23">Fld</A>)));
<b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Arg</A> = <b>null</b> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>else</b>
<b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A>;
<b>end</b> <b>if</b>;
<b>else</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_79_13">Get_Type</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_95_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A></span> (<span class="symbol"><A NAME="ref_95_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_23">Usr</A></span> : System.Address) <b>return</b> System.Address
+ <b>function</b> <span class="symbol"><A NAME="ref_96_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A></span> (<span class="symbol"><A NAME="ref_96_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_23">Usr</A></span> : System.Address) <b>return</b> System.Address
<b>is</b>
<b>begin</b>
<b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_23">Usr</A>;
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_101_14" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A></span> (<span class="symbol"><A NAME="ref_101_24" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_24">Usr</A></span> : System.Address)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_102_14" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A></span> (<span class="symbol"><A NAME="ref_102_24" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_24">Usr</A></span> : System.Address)
<b>is</b>
<b>procedure</b> Free_Type <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>'Class, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_63_9">Field_Type_Access</A>);
<b>procedure</b> Freeargs <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_211_9">Argument</A>, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>);
- <span class="symbol"><A NAME="ref_108_7">To_Be_Free</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>
+ <span class="symbol"><A NAME="ref_109_7">To_Be_Free</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>
:= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_24">Usr</A>));
- <span class="symbol"><A NAME="ref_110_7">Low_Level</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+ <span class="symbol"><A NAME="ref_111_7">Low_Level</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_108_7">To_Be_Free</A> /= <b>null</b> <b>then</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_108_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A> /= System.Null_Address <b>then</b>
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">Low_Level</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_108_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>;
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_126_10">Freearg</A> /= <b>null</b> <b>then</b>
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_110_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_126_10">Freearg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_108_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A> /= <b>null</b> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A> /= System.Null_Address <b>then</b>
+ <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_111_7">Low_Level</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_111_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_126_10">Freearg</A> /= <b>null</b> <b>then</b>
+ <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_111_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_126_10">Freearg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A>);
<b>end</b> <b>if</b>;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_108_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> /= <b>null</b> <b>then</b>
- Free_Type (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_108_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> /= <b>null</b> <b>then</b>
+ Free_Type (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A>);
<b>end</b> <b>if</b>;
- Freeargs (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_108_7">To_Be_Free</A>);
+ Freeargs (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_109_7">To_Be_Free</A>);
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_126_14" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_14">Wrap_Builtin</A></span> (<span class="symbol"><A NAME="ref_126_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_127_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>'Class;
- <span class="symbol"><A NAME="ref_128_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_148_13">C_Builtin_Router</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_127_14" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_14">Wrap_Builtin</A></span> (<span class="symbol"><A NAME="ref_127_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_128_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>'Class;
+ <span class="symbol"><A NAME="ref_129_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_148_13">C_Builtin_Router</A>)
<b>is</b>
- <span class="symbol"><A NAME="ref_130_7">Usr_Arg</A></span> : <b>constant</b> System.Address := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_61_13">Get_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_28">Fld</A>);
- <span class="symbol"><A NAME="ref_131_7">Low_Level</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_58_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_28">Fld</A>);
- <span class="symbol"><A NAME="ref_132_7">Arg</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>;
- <span class="symbol"><A NAME="ref_133_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_134_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_134_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_28">Fld</A>;
+ <span class="symbol"><A NAME="ref_131_7">Usr_Arg</A></span> : <b>constant</b> System.Address := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_61_13">Get_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_28">Fld</A>);
+ <span class="symbol"><A NAME="ref_132_7">Low_Level</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_58_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_28">Fld</A>);
+ <span class="symbol"><A NAME="ref_133_7">Arg</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_134_16">Set_Fld_Type</A></span> (<span class="symbol"><A NAME="ref_134_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_16">F</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_28">Fld</A>;
<span class="symbol"><A NAME="ref_135_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_16">Cf</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Cft</A>;
- <span class="symbol"><A NAME="ref_136_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_136_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_16">Arg1</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Fld_Type, "set_field_type_user");
<b>begin</b>
- <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_131_7">Low_Level</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>);
+ <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Low_Level</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>);
<b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_148_13">C_Builtin_Router</A> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Choice_Router</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>else</b>
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Arg</A> := <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_211_9">Argument</A>'(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A> =&gt; System.Null_Address,
+ <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Arg</A> := <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_211_9">Argument</A>'(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A> =&gt; System.Null_Address,
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> =&gt; <b>new</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>'Class'(<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Typ</A>),
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_58_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_28">Fld</A>));
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_130_7">Usr_Arg</A> /= System.Null_Address <b>then</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_131_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_125_10">Copyarg</A> /= <b>null</b> <b>then</b>
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_131_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_125_10">Copyarg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_130_7">Usr_Arg</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_131_7">Usr_Arg</A> /= System.Null_Address <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_125_10">Copyarg</A> /= <b>null</b> <b>then</b>
+ <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Low_Level</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_125_10">Copyarg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_131_7">Usr_Arg</A>);
<b>else</b>
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_130_7">Usr_Arg</A>;
+ <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_131_7">Usr_Arg</A>;
<b>end</b> <b>if</b>;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_136_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_132_7">Arg</A>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_134_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_136_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_133_7">Arg</A>));
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_14">Wrap_Builtin</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_162_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_13">Field_Check_Router</A></span> (<span class="symbol"><A NAME="ref_162_33" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_163_33" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_159_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_13">Field_Check_Router</A></span> (<span class="symbol"><A NAME="ref_159_33" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_160_33" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_165_7">Arg</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>
+ <span class="symbol"><A NAME="ref_162_7">Arg</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>
:= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_33">Usr</A>));
<b>begin</b>
- <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_165_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_165_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>
- <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_165_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> /= <b>null</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_165_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_127_10">Fcheck</A> /= <b>null</b> <b>then</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_165_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_127_10">Fcheck</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_33">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_165_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A>);
+ <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>
+ <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> /= <b>null</b>);
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_127_10">Fcheck</A> /= <b>null</b> <b>then</b>
+ <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_127_10">Fcheck</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_33">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A>);
<b>else</b>
<b>return</b> 1;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_13">Field_Check_Router</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_177_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_13">Char_Check_Router</A></span> (<span class="symbol"><A NAME="ref_177_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_32">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_178_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_32">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_174_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_13">Char_Check_Router</A></span> (<span class="symbol"><A NAME="ref_174_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_32">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_175_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_32">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_180_7">Arg</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>
+ <span class="symbol"><A NAME="ref_177_7">Arg</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>
:= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_32">Usr</A>));
<b>begin</b>
- <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_180_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_180_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>
- <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_180_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> /= <b>null</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_180_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_128_10">Ccheck</A> /= <b>null</b> <b>then</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_180_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_128_10">Ccheck</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_32">Ch</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_180_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A>);
+ <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>
+ <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> /= <b>null</b>);
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_128_10">Ccheck</A> /= <b>null</b> <b>then</b>
+ <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_128_10">Ccheck</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_32">Ch</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A>);
<b>else</b>
<b>return</b> 1;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_13">Char_Check_Router</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_192_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_13">Next_Router</A></span> (<span class="symbol"><A NAME="ref_192_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_193_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_189_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_13">Next_Router</A></span> (<span class="symbol"><A NAME="ref_189_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_190_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_195_7">Arg</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>
+ <span class="symbol"><A NAME="ref_192_7">Arg</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>
:= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_26">Usr</A>));
<b>begin</b>
- <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_195_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_195_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>
- <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_195_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> /= <b>null</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_195_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_129_10">Next</A> /= <b>null</b> <b>then</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_195_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_129_10">Next</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_26">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_195_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A>);
+ <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>
+ <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> /= <b>null</b>);
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_129_10">Next</A> /= <b>null</b> <b>then</b>
+ <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_129_10">Next</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_26">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A>);
<b>else</b>
<b>return</b> 1;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_13">Next_Router</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_207_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_201_13">Prev_Router</A></span> (<span class="symbol"><A NAME="ref_207_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_201_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_208_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_204_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_201_13">Prev_Router</A></span> (<span class="symbol"><A NAME="ref_204_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_201_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_205_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_210_7">Arg</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> :=
+ <span class="symbol"><A NAME="ref_207_7">Arg</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> :=
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> (Argument_Conversions.To_Pointer (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_26">Usr</A>));
<b>begin</b>
- <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_210_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_210_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>
- <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_210_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> /= <b>null</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_210_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_129_16">Prev</A> /= <b>null</b> <b>then</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_210_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_129_16">Prev</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_201_26">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_210_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A>);
+ <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>
+ <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_212_7">Typ</A> /= <b>null</b>);
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_129_16">Prev</A> /= <b>null</b> <b>then</b>
+ <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_214_7">Cft</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_129_16">Prev</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_201_26">Fld</A>, <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_7">Arg</A>.<b>all</b>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_213_7">Usr</A>);
<b>else</b>
<b>return</b> 1;
<b>end</b> <b>if</b>;
@@ -238,26 +235,22 @@
<span class="comment"><EM>-- -----------------------------------------------------------------------</EM></span>
<span class="comment"><EM>--</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_224_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_148_13">C_Builtin_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_221_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_148_13">C_Builtin_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_226_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
- <span class="symbol"><A NAME="ref_227_7">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+ <span class="symbol"><A NAME="ref_223_7">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Builtin_Router</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b>
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_227_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_13">Field_Check_Router</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_223_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_13">Field_Check_Router</A>'<b>Access</b>,
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_13">Char_Check_Router</A>'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_227_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_223_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>else</b>
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_226_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_227_7">T</A>,
- <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_13">Make_Arg</A>'<b>Access</b>,
- <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A>'<b>Access</b>,
- <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A>'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_226_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_226_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_223_7">T</A>,
+ <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_13">Make_Arg</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A>'<b>Access</b>));
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Builtin_Router</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_227_7">T</A>;
+ <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Builtin_Router</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_223_7">T</A>;
<b>end</b> <b>if</b>;
<b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Builtin_Router</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>);
<b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_143_4">M_Builtin_Router</A>;
@@ -265,37 +258,30 @@
<span class="comment"><EM>-- -----------------------------------------------------------------------</EM></span>
<span class="comment"><EM>--</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_251_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Choice_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_244_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Choice_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_253_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
- <span class="symbol"><A NAME="ref_254_7">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+ <span class="symbol"><A NAME="ref_246_7">T</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Choice_Router</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b>
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_254_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_13">Field_Check_Router</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_246_7">T</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_222_13">New_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_13">Field_Check_Router</A>'<b>Access</b>,
<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_13">Char_Check_Router</A>'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_254_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_246_7">T</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>else</b>
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_253_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_254_7">T</A>,
- <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_13">Make_Arg</A>'<b>Access</b>,
- <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A>'<b>Access</b>,
- <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A>'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_253_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_253_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Set_Fieldtype_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_246_7">T</A>,
+ <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_13">Make_Arg</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A>'<b>Access</b>));
- <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_253_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_234_13">Set_Fieldtype_Choice</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_254_7">T</A>,
- <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_13">Next_Router</A>'<b>Access</b>,
- <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_201_13">Prev_Router</A>'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_253_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_253_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_234_13">Set_Fieldtype_Choice</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_246_7">T</A>,
+ <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_13">Next_Router</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_201_13">Prev_Router</A>'<b>Access</b>));
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Choice_Router</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_254_7">T</A>;
+ <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Choice_Router</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_246_7">T</A>;
<b>end</b> <b>if</b>;
<b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Choice_Router</A> /= <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A>);
<b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_144_4">M_Choice_Router</A>;
<b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Choice_Router</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm
index 00c5798e047d..c4b4525ffb30 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2014,2018 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,15 +52,15 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.17 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.20 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<span class="symbol"><A NAME="ref_43_41" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_51_46">Field_Types</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>);
- <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
- <b>subtype</b> <span class="symbol"><A NAME="ref_46_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<span class="symbol"><A NAME="ref_44_41" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_51_46">Field_Types</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>);
+ <b>subtype</b> <span class="symbol"><A NAME="ref_46_12">C_Int</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_fieldtype.3x.html">form_fieldtype.3x</A></EM></span>
@@ -79,8 +79,8 @@
<b>type</b> <span class="symbol"><A NAME="ref_63_9">Field_Type_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>'Class;
- <span class="comment"><EM>-- #1A NAME="AFU_1"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_66_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_66_30" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_66_14">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_66_14">Set_Field_Type</A></span> (<span class="symbol"><A NAME="ref_66_30" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_66_14">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="symbol"><A NAME="ref_67_30" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_66_14">Fld_Type</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>) <b>is</b> <b>abstract</b>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_fieldtype.3x.html">set_field_type()</A></EM></span>
<span class="comment"><EM>-- But: we hide the vararg mechanism of the C interface. You always</EM></span>
@@ -92,8 +92,8 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/form_field_validation.3x.html">form_field_validation.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_2"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_79_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_70_13">Get_Type</A></span> (<span class="symbol"><A NAME="ref_79_23" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_70_23">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_63_9">Field_Type_Access</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_79_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_70_13">Get_Type</A></span> (<span class="symbol"><A NAME="ref_79_23" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_70_23">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_63_9">Field_Type_Access</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_validation.3x.html">field_type()</A></EM></span>
<span class="comment"><EM>-- AKA: field_arg()</EM></span>
<span class="comment"><EM>-- In Ada95 we can combine these. If you try to retrieve the field type</EM></span>
@@ -106,28 +106,28 @@
<span class="comment"><EM>-- | Most of this is used by the implementations of the child packages.</EM></span>
<span class="comment"><EM>-- |</EM></span>
<b>private</b>
- <b>type</b> <span class="symbol"><A NAME="ref_92_9">Makearg_Function</A></span> <b>is</b> <b>access</b>
- <b>function</b> (<span class="symbol"><A NAME="ref_93_16">Args</A></span> : System.Address) <b>return</b> System.Address;
+ <b>type</b> <span class="symbol"><A NAME="ref_92_9" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Makearg_Function</A></span> <b>is</b> <b>access</b>
+ <b>function</b> (<span class="symbol"><A NAME="ref_93_16" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_92_9">Args</A></span> : System.Address) <b>return</b> System.Address;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_92_9">Makearg_Function</A>);
<b>type</b> <span class="symbol"><A NAME="ref_96_9">Copyarg_Function</A></span> <b>is</b> <b>access</b>
- <b>function</b> (<span class="symbol"><A NAME="ref_97_16">Usr</A></span> : System.Address) <b>return</b> System.Address;
+ <b>function</b> (<span class="symbol"><A NAME="ref_97_16" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_96_9">Usr</A></span> : System.Address) <b>return</b> System.Address;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_96_9">Copyarg_Function</A>);
<b>type</b> <span class="symbol"><A NAME="ref_100_9">Freearg_Function</A></span> <b>is</b> <b>access</b>
- <b>procedure</b> (<span class="symbol"><A NAME="ref_101_17">Usr</A></span> : System.Address);
+ <b>procedure</b> (<span class="symbol"><A NAME="ref_101_17" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_100_9">Usr</A></span> : System.Address);
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_100_9">Freearg_Function</A>);
<b>type</b> <span class="symbol"><A NAME="ref_104_9">Field_Check_Function</A></span> <b>is</b> <b>access</b>
- <b>function</b> (<span class="symbol"><A NAME="ref_105_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>; <span class="symbol"><A NAME="ref_105_29">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> (<span class="symbol"><A NAME="ref_105_16" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_104_9">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>; <span class="symbol"><A NAME="ref_105_29" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_104_9">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_104_9">Field_Check_Function</A>);
<b>type</b> <span class="symbol"><A NAME="ref_108_9">Char_Check_Function</A></span> <b>is</b> <b>access</b>
- <b>function</b> (<span class="symbol"><A NAME="ref_109_16">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>; <span class="symbol"><A NAME="ref_109_28">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> (<span class="symbol"><A NAME="ref_109_16" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_108_9">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>; <span class="symbol"><A NAME="ref_109_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_108_9">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_108_9">Char_Check_Function</A>);
<b>type</b> <span class="symbol"><A NAME="ref_112_9">Choice_Function</A></span> <b>is</b> <b>access</b>
- <b>function</b> (<span class="symbol"><A NAME="ref_113_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>; <span class="symbol"><A NAME="ref_113_29">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> (<span class="symbol"><A NAME="ref_113_16" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_112_9">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>; <span class="symbol"><A NAME="ref_113_29" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_112_9">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_112_9">Choice_Function</A>);
<span class="comment"><EM>-- +----------------------------------------------------------------------</EM></span>
@@ -135,8 +135,8 @@
<span class="comment"><EM>-- |</EM></span>
<b>type</b> <span class="symbol"><A NAME="ref_119_9">Low_Level_Field_Type</A></span> <b>is</b>
<b>record</b>
- <span class="symbol"><A NAME="ref_121_10">Status</A></span> : <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.unsigned_short;
- <span class="symbol"><A NAME="ref_122_10">Ref_Count</A></span> : <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.long;
+ <span class="symbol"><A NAME="ref_121_10">Status</A></span> : <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.unsigned_short;
+ <span class="symbol"><A NAME="ref_122_10">Ref_Count</A></span> : <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.long;
<span class="symbol"><A NAME="ref_123_10">Left</A></span>, <span class="symbol"><A NAME="ref_123_16">Right</A></span> : System.Address;
<span class="symbol"><A NAME="ref_124_10">Makearg</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_92_9">Makearg_Function</A>;
<span class="symbol"><A NAME="ref_125_10">Copyarg</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_96_9">Copyarg_Function</A>;
@@ -162,12 +162,12 @@
<span class="comment"><EM>-- Two wrapper functions to access those low-level fieldtypes defined</EM></span>
<span class="comment"><EM>-- in this package.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_148_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_224_13">C_Builtin_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_149_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_251_13">C_Choice_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_148_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_221_13">C_Builtin_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_149_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_244_13">C_Choice_Router</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_151_14" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_126_14">Wrap_Builtin</A></span> (<span class="symbol"><A NAME="ref_151_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_126_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_152_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_127_28">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>'Class;
- <span class="symbol"><A NAME="ref_153_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_128_28">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_148_13">C_Builtin_Router</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_151_14" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_127_14">Wrap_Builtin</A></span> (<span class="symbol"><A NAME="ref_151_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_127_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_152_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_128_28">Typ</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>'Class;
+ <span class="symbol"><A NAME="ref_153_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_129_28">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_148_13">C_Builtin_Router</A>);
<span class="comment"><EM>-- This procedure has to be called by the Set_Field_Type implementation</EM></span>
<span class="comment"><EM>-- for builtin low-level fieldtypes to replace it by an Ada95</EM></span>
<span class="comment"><EM>-- conformant Field_Type object.</EM></span>
@@ -181,42 +181,42 @@
<span class="comment"><EM>-- This is the Makearg_Function for the internal low-level types</EM></span>
<span class="comment"><EM>-- introduced by this binding.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_167_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_95_13">Copy_Arg</A></span> (<span class="symbol"><A NAME="ref_167_23" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_95_23">Usr</A></span> : System.Address) <b>return</b> System.Address;
+ <b>function</b> <span class="symbol"><A NAME="ref_167_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_96_13">Copy_Arg</A></span> (<span class="symbol"><A NAME="ref_167_23" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_96_23">Usr</A></span> : System.Address) <b>return</b> System.Address;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A>);
<span class="comment"><EM>-- This is the Copyarg_Function for the internal low-level types</EM></span>
<span class="comment"><EM>-- introduced by this binding.</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_172_14" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_101_14">Free_Arg</A></span> (<span class="symbol"><A NAME="ref_172_24" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_101_24">Usr</A></span> : System.Address);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_172_14" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_102_14">Free_Arg</A></span> (<span class="symbol"><A NAME="ref_172_24" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_102_24">Usr</A></span> : System.Address);
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A>);
<span class="comment"><EM>-- This is the Freearg_Function for the internal low-level types</EM></span>
<span class="comment"><EM>-- introduced by this binding.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_177_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_13">Field_Check_Router</A></span> (<span class="symbol"><A NAME="ref_177_33" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_162_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_178_33" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_163_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_177_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_159_13">Field_Check_Router</A></span> (<span class="symbol"><A NAME="ref_177_33" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_159_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_178_33" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_160_33">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_13">Field_Check_Router</A>);
<span class="comment"><EM>-- This is the Field_Check_Function for the internal low-level types</EM></span>
<span class="comment"><EM>-- introduced to wrap the low-level types by a Field_Type derived</EM></span>
<span class="comment"><EM>-- type. It routes the call to the corresponding low-level validation</EM></span>
<span class="comment"><EM>-- function.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_185_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_13">Char_Check_Router</A></span> (<span class="symbol"><A NAME="ref_185_32" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_177_32">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_186_32" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_178_32">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_185_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_174_13">Char_Check_Router</A></span> (<span class="symbol"><A NAME="ref_185_32" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_174_32">Ch</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_186_32" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_175_32">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_13">Char_Check_Router</A>);
<span class="comment"><EM>-- This is the Char_Check_Function for the internal low-level types</EM></span>
<span class="comment"><EM>-- introduced to wrap the low-level types by a Field_Type derived</EM></span>
<span class="comment"><EM>-- type. It routes the call to the corresponding low-level validation</EM></span>
<span class="comment"><EM>-- function.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_193_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_13">Next_Router</A></span> (<span class="symbol"><A NAME="ref_193_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_192_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_194_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_193_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_193_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_189_13">Next_Router</A></span> (<span class="symbol"><A NAME="ref_193_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_189_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_194_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_190_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_13">Next_Router</A>);
<span class="comment"><EM>-- This is the Choice_Function for the internal low-level types</EM></span>
<span class="comment"><EM>-- introduced to wrap the low-level types by a Field_Type derived</EM></span>
<span class="comment"><EM>-- type. It routes the call to the corresponding low-level next_choice</EM></span>
<span class="comment"><EM>-- function.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_201_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_13">Prev_Router</A></span> (<span class="symbol"><A NAME="ref_201_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_202_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_208_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_201_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_204_13">Prev_Router</A></span> (<span class="symbol"><A NAME="ref_201_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_204_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_202_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_205_26">Usr</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_201_13">Prev_Router</A>);
<span class="comment"><EM>-- This is the Choice_Function for the internal low-level types</EM></span>
<span class="comment"><EM>-- introduced to wrap the low-level types by a Field_Type derived</EM></span>
@@ -245,13 +245,13 @@
<span class="symbol"><A NAME="ref_228_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Mak</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_92_9">Makearg_Function</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_13">Make_Arg</A>'<b>Access</b>;
<span class="symbol"><A NAME="ref_229_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Cop</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_96_9">Copyarg_Function</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A>'<b>Access</b>;
<span class="symbol"><A NAME="ref_230_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Fre</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_100_9">Freearg_Function</A> := <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A>'<b>Access</b>)
- <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Fieldtype_Arg, "set_fieldtype_arg");
<b>function</b> <span class="symbol"><A NAME="ref_234_13">Set_Fieldtype_Choice</A></span> (<span class="symbol"><A NAME="ref_234_35" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_234_13">Cft</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
<span class="symbol"><A NAME="ref_235_35" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_234_13">Next</A></span>, <span class="symbol"><A NAME="ref_235_41" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_234_13">Prev</A></span> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_112_9">Choice_Function</A>)
- <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Fieldtype_Choice, "set_fieldtype_choice");
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_44_41">Field_Types</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm
index 677ec93f6e62..5dcf2c805fd2 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2014,2018 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,52 +52,47 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.13 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.16 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_field_userptr.3x</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- |</EM></span>
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<span class="symbol"><A NAME="ref_48_46" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<span class="symbol"><A NAME="ref_48_46" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A></span> <b>is</b>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
-
- <b>procedure</b> <span class="symbol"><A NAME="ref_54_14" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_55_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_52_14" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_52_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_57_16">Set_Field_Userptr</A></span> (<span class="symbol"><A NAME="ref_57_35" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_57_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_58_35" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_57_16">Usr</A></span> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_55_16">Set_Field_Userptr</A></span> (<span class="symbol"><A NAME="ref_55_35" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_55_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_56_35" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_55_16">Usr</A></span> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Field_Userptr, "set_field_userptr");
- <span class="symbol"><A NAME="ref_61_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_57_16">Set_Field_Userptr</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_29">Fld</A>, <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Data</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_61_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_61_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_55_16">Set_Field_Userptr</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_29">Fld</A>, <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Data</A>));
<b>end</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_14">Set_User_Data</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_70_13" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_70_28" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_65_13" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_65_28" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_72_16">Field_Userptr</A></span> (<span class="symbol"><A NAME="ref_72_31" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_72_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_67_16">Field_Userptr</A></span> (<span class="symbol"><A NAME="ref_67_31" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_67_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>;
<b>pragma</b> Import (C, Field_Userptr, "field_userptr");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_72_16">Field_Userptr</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_28">Fld</A>);
+ <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_67_16">Field_Userptr</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_28">Fld</A>);
<b>end</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_13">Get_User_Data</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_78_14" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_78_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_79_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_73_14" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_73_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_74_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>)
<b>is</b>
<b>begin</b>
<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_29">Data</A> := <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_29">Fld</A>);
<b>end</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_14">Get_User_Data</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm b/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm
index 86f55965f2e1..5e5799463fe1 100644
--- a/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm
@@ -59,29 +59,29 @@
<b>generic</b>
<b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">User</A></span> <b>is</b> <b>limited</b> <b>private</b>;
<b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">User_Access</A></span> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_43_9">User</A>;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<span class="symbol"><A NAME="ref_45_41" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_48_46">Field_User_Data</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<span class="symbol"><A NAME="ref_45_41" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_48_46">Field_User_Data</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_field_userptr.3x.html">form_field_userptr.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_1"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_54_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_54_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_55_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_52_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_52_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_53_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_userptr.3x.html">set_field_userptr</A></EM></span>
<b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_14">Set_User_Data</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_2"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_78_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_78_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_79_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_73_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_73_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_74_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_userptr.3x.html">field_userptr</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_3"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_70_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_70_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_65_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_65_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_userptr.3x.html">field_userptr</A></EM></span>
<span class="comment"><EM>-- Sama as function</EM></span>
<b>pragma</b> Inline (Get_User_Data);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm
index 5a48dd913b66..a0ba2f5abf2f 100644
--- a/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2014,2018 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,7 +52,7 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.13 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.16 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- |</EM></span>
@@ -60,45 +60,40 @@
<span class="comment"><EM>-- | man page form__userptr.3x</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- |</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<span class="symbol"><A NAME="ref_48_46" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A></span> <b>is</b>
-
- <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<span class="symbol"><A NAME="ref_48_46" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A></span> <b>is</b>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_55_14" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_55_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_56_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_58_16">Set_Form_Userptr</A></span> (<span class="symbol"><A NAME="ref_58_34" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_58_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_59_34" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_58_16">Data</A></span> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_56_16">Set_Form_Userptr</A></span> (<span class="symbol"><A NAME="ref_56_34" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_56_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_57_34" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_56_16">Data</A></span> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Form_Userptr, "set_form_userptr");
- <span class="symbol"><A NAME="ref_62_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_58_16">Set_Form_Userptr</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_29">Frm</A>, <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Data</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_62_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_62_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_56_16">Set_Form_Userptr</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_29">Frm</A>, <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Data</A>));
<b>end</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_14">Set_User_Data</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_71_13" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_71_28" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_28">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_66_13" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_66_28" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_28">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_73_16">Form_Userptr</A></span> (<span class="symbol"><A NAME="ref_73_30" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_73_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_68_16">Form_Userptr</A></span> (<span class="symbol"><A NAME="ref_68_30" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_68_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>;
<b>pragma</b> Import (C, Form_Userptr, "form_userptr");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_73_16">Form_Userptr</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_28">Frm</A>);
+ <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_68_16">Form_Userptr</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_28">Frm</A>);
<b>end</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_13">Get_User_Data</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_79_14" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_79_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_80_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_74_14" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_74_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_75_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>)
<b>is</b>
<b>begin</b>
<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_29">Data</A> := <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_29">Frm</A>);
<b>end</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_14">Get_User_Data</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm b/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm
index 5817e189acd4..20b19d0b50a9 100644
--- a/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm
@@ -59,29 +59,29 @@
<b>generic</b>
<b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">User</A></span> <b>is</b> <b>limited</b> <b>private</b>;
<b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">User_Access</A></span> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_43_9">User</A>;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<span class="symbol"><A NAME="ref_45_41" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_48_46">Form_User_Data</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<span class="symbol"><A NAME="ref_45_41" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_48_46">Form_User_Data</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_userptr.3x.html">form_userptr.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_1"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_55_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_55_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_56_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_53_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_userptr.3x.html">set_form_userptr</A></EM></span>
<b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_14">Set_User_Data</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_2"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_79_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_79_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_80_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_74_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_74_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_75_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_userptr.3x.html">form_userptr</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_3"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_71_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_71_28">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_66_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_66_28">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_userptr.3x.html">form_userptr</A></EM></span>
<span class="comment"><EM>-- Same as function</EM></span>
<b>pragma</b> Inline (Get_User_Data);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>.<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>.<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms__adb.htm b/doc/html/ada/terminal_interface-curses-forms__adb.htm
index 305ba1765315..8909b3e6b2ee 100644
--- a/doc/html/ada/terminal_interface-curses-forms__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-forms__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,26 +52,25 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.28 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/22 23:37:32 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.32 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:31:05 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> Ada.Unchecked_Deallocation;
-<b>with</b> Ada.Unchecked_Conversion;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Pointers;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Pointers;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_51_40" HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_50_40" HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A></span> <b>is</b>
- <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+ <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
- <b>type</b> C_Field_Array <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>type</b> C_Field_Array <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<b>package</b> F_Array <b>is</b> <b>new</b>
- <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>, C_Field_Array, <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A>);
+ <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>, C_Field_Array, <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>);
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- |</EM></span>
@@ -79,38 +78,22 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- subtype chars_ptr is Interfaces.C.Strings.chars_ptr;</EM></span>
- <b>function</b> FOS_2_CInt <b>is</b> <b>new</b>
- Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>);
-
- <b>function</b> CInt_2_FOS <b>is</b> <b>new</b>
- Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>,
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>);
-
- <b>function</b> FrmOS_2_CInt <b>is</b> <b>new</b>
- Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>);
-
- <b>function</b> CInt_2_FrmOS <b>is</b> <b>new</b>
- Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>,
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>);
-
- <b>procedure</b> <span class="symbol"><A NAME="ref_81_14" HREF="terminal_interface-curses-forms__ads.htm#ref_278_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_81_28" HREF="terminal_interface-curses-forms__ads.htm#ref_278_28">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A>;
- <span class="symbol"><A NAME="ref_82_33" HREF="terminal_interface-curses-forms__ads.htm#ref_279_28">Name</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_64_14" HREF="terminal_interface-curses-forms__ads.htm#ref_277_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-forms__ads.htm#ref_277_28">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A>;
+ <span class="symbol"><A NAME="ref_65_33" HREF="terminal_interface-curses-forms__ads.htm#ref_278_28">Name</A></span> : <b>out</b> String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_84_16">Form_Request_Name</A></span> (<span class="symbol"><A NAME="ref_84_35" HREF="terminal_interface-curses-forms__adb.htm#ref_84_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_67_16">Form_Request_Name</A></span> (<span class="symbol"><A NAME="ref_67_35" HREF="terminal_interface-curses-forms__adb.htm#ref_67_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Form_Request_Name, "form_request_name");
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_84_16">Form_Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_278_28">Key</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#ref_279_28">Name</A>);
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_278_14">Request_Name</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_67_16">Form_Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_277_28">Key</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#ref_278_28">Name</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_277_14">Request_Name</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_90_13" HREF="terminal_interface-curses-forms__ads.htm#ref_281_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_90_27" HREF="terminal_interface-curses-forms__ads.htm#ref_281_28">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A>) <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_73_13" HREF="terminal_interface-curses-forms__ads.htm#ref_280_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_73_27" HREF="terminal_interface-curses-forms__ads.htm#ref_280_28">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A>) <b>return</b> String
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_92_16">Form_Request_Name</A></span> (<span class="symbol"><A NAME="ref_92_35" HREF="terminal_interface-curses-forms__adb.htm#ref_92_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_75_16">Form_Request_Name</A></span> (<span class="symbol"><A NAME="ref_75_35" HREF="terminal_interface-curses-forms__adb.htm#ref_75_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Form_Request_Name, "form_request_name");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_92_16">Form_Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_281_28">Key</A>)));
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_281_14">Request_Name</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_75_16">Form_Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_280_28">Key</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_280_14">Request_Name</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
@@ -122,84 +105,80 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_108_13" HREF="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</A></span> (<span class="symbol"><A NAME="ref_108_21" HREF="terminal_interface-curses-forms__ads.htm#ref_295_21">Height</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_109_21" HREF="terminal_interface-curses-forms__ads.htm#ref_296_21">Width</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_110_21" HREF="terminal_interface-curses-forms__ads.htm#ref_297_21">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_111_21" HREF="terminal_interface-curses-forms__ads.htm#ref_298_21">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_112_21" HREF="terminal_interface-curses-forms__ads.htm#ref_299_21">Off_Screen</A></span> : Natural := 0;
- <span class="symbol"><A NAME="ref_113_21" HREF="terminal_interface-curses-forms__ads.htm#ref_300_21">More_Buffers</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First)
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_91_13" HREF="terminal_interface-curses-forms__ads.htm#ref_294_13">Create</A></span> (<span class="symbol"><A NAME="ref_91_21" HREF="terminal_interface-curses-forms__ads.htm#ref_294_21">Height</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_92_21" HREF="terminal_interface-curses-forms__ads.htm#ref_295_21">Width</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_93_21" HREF="terminal_interface-curses-forms__ads.htm#ref_296_21">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_94_21" HREF="terminal_interface-curses-forms__ads.htm#ref_297_21">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_95_21" HREF="terminal_interface-curses-forms__ads.htm#ref_298_21">Off_Screen</A></span> : Natural := 0;
+ <span class="symbol"><A NAME="ref_96_21" HREF="terminal_interface-curses-forms__ads.htm#ref_299_21">More_Buffers</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First)
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_116_16">Newfield</A></span> (<span class="symbol"><A NAME="ref_116_26" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">H</A></span>, <span class="symbol"><A NAME="ref_116_29" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">W</A></span>, <span class="symbol"><A NAME="ref_116_32" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">T</A></span>, <span class="symbol"><A NAME="ref_116_35" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">L</A></span>, <span class="symbol"><A NAME="ref_116_38" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">O</A></span>, <span class="symbol"><A NAME="ref_116_41" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">M</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_99_16">Newfield</A></span> (<span class="symbol"><A NAME="ref_99_26" HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">H</A></span>, <span class="symbol"><A NAME="ref_99_29" HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">W</A></span>, <span class="symbol"><A NAME="ref_99_32" HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">T</A></span>, <span class="symbol"><A NAME="ref_99_35" HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">L</A></span>, <span class="symbol"><A NAME="ref_99_38" HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">O</A></span>, <span class="symbol"><A NAME="ref_99_41" HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">M</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<b>pragma</b> Import (C, Newfield, "new_field");
- <span class="symbol"><A NAME="ref_118_7">Fld</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">Newfield</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_295_21">Height</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_296_21">Width</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_297_21">Top</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_298_21">Left</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_299_21">Off_Screen</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_300_21">More_Buffers</A>));
+ <span class="symbol"><A NAME="ref_101_7">Fld</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_99_16">Newfield</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_294_21">Height</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_295_21">Width</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_296_21">Top</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_297_21">Left</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_298_21">Off_Screen</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_299_21">More_Buffers</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_118_7">Fld</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_101_7">Fld</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_118_7">Fld</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_101_7">Fld</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_294_13">Create</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_131_14" HREF="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</A></span> (<span class="symbol"><A NAME="ref_131_22" HREF="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_114_14" HREF="terminal_interface-curses-forms__ads.htm#ref_316_14">Delete</A></span> (<span class="symbol"><A NAME="ref_114_22" HREF="terminal_interface-curses-forms__ads.htm#ref_316_22">Fld</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_133_16">Free_Field</A></span> (<span class="symbol"><A NAME="ref_133_28" HREF="terminal_interface-curses-forms__adb.htm#ref_133_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_116_16">Free_Field</A></span> (<span class="symbol"><A NAME="ref_116_28" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Free_Field, "free_field");
- <span class="symbol"><A NAME="ref_136_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_136_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_133_16">Free_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</A>);
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_136_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_136_7">Res</A>);
- <b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_317_22">Fld</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">Free_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_316_22">Fld</A>));
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_316_22">Fld</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_316_14">Delete</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_147_13" HREF="terminal_interface-curses-forms__ads.htm#ref_323_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_147_24" HREF="terminal_interface-curses-forms__ads.htm#ref_323_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_148_24" HREF="terminal_interface-curses-forms__ads.htm#ref_324_24">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_149_24" HREF="terminal_interface-curses-forms__ads.htm#ref_325_24">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_126_13" HREF="terminal_interface-curses-forms__ads.htm#ref_322_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_126_24" HREF="terminal_interface-curses-forms__ads.htm#ref_322_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_127_24" HREF="terminal_interface-curses-forms__ads.htm#ref_323_24">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_128_24" HREF="terminal_interface-curses-forms__ads.htm#ref_324_24">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_151_16">Dup_Field</A></span> (<span class="symbol"><A NAME="ref_151_27" HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_152_27" HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Top</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_153_27" HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Left</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_130_16">Dup_Field</A></span> (<span class="symbol"><A NAME="ref_130_27" HREF="terminal_interface-curses-forms__adb.htm#ref_130_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_131_27" HREF="terminal_interface-curses-forms__adb.htm#ref_130_16">Top</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_132_27" HREF="terminal_interface-curses-forms__adb.htm#ref_130_16">Left</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<b>pragma</b> Import (C, Dup_Field, "dup_field");
- <span class="symbol"><A NAME="ref_156_7">F</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Dup_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_323_24">Fld</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_324_24">Top</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_325_24">Left</A>));
+ <span class="symbol"><A NAME="ref_135_7">F</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_130_16">Dup_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_322_24">Fld</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_323_24">Top</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_324_24">Left</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_156_7">F</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_135_7">F</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_156_7">F</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_323_13">Duplicate</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_135_7">F</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_322_13">Duplicate</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_168_13" HREF="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</A></span> (<span class="symbol"><A NAME="ref_168_19" HREF="terminal_interface-curses-forms__ads.htm#ref_330_19">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_169_19" HREF="terminal_interface-curses-forms__ads.htm#ref_331_19">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_170_19" HREF="terminal_interface-curses-forms__ads.htm#ref_332_19">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_147_13" HREF="terminal_interface-curses-forms__ads.htm#ref_329_13">Link</A></span> (<span class="symbol"><A NAME="ref_147_19" HREF="terminal_interface-curses-forms__ads.htm#ref_329_19">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_148_19" HREF="terminal_interface-curses-forms__ads.htm#ref_330_19">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_149_19" HREF="terminal_interface-curses-forms__ads.htm#ref_331_19">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_172_16">Lnk_Field</A></span> (<span class="symbol"><A NAME="ref_172_27" HREF="terminal_interface-curses-forms__adb.htm#ref_172_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_173_27" HREF="terminal_interface-curses-forms__adb.htm#ref_172_16">Top</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_174_27" HREF="terminal_interface-curses-forms__adb.htm#ref_172_16">Left</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_151_16">Lnk_Field</A></span> (<span class="symbol"><A NAME="ref_151_27" HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_152_27" HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Top</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_153_27" HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Left</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<b>pragma</b> Import (C, Lnk_Field, "link_field");
- <span class="symbol"><A NAME="ref_177_7">F</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_172_16">Lnk_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_330_19">Fld</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_331_19">Top</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_332_19">Left</A>));
+ <span class="symbol"><A NAME="ref_156_7">F</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Lnk_Field</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_329_19">Fld</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_330_19">Top</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_331_19">Left</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_177_7">F</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_156_7">F</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_177_7">F</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_156_7">F</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_329_13">Link</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_field_just.3x</EM></span>
@@ -207,31 +186,27 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_193_14" HREF="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</A></span> (<span class="symbol"><A NAME="ref_193_33" HREF="terminal_interface-curses-forms__ads.htm#ref_341_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_194_33" HREF="terminal_interface-curses-forms__ads.htm#ref_342_33">Just</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Justification</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_33">None</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_172_14" HREF="terminal_interface-curses-forms__ads.htm#ref_340_14">Set_Justification</A></span> (<span class="symbol"><A NAME="ref_172_33" HREF="terminal_interface-curses-forms__ads.htm#ref_340_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_173_33" HREF="terminal_interface-curses-forms__ads.htm#ref_341_33">Just</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Field_Justification</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_33">None</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_196_16">Set_Field_Just</A></span> (<span class="symbol"><A NAME="ref_196_32" HREF="terminal_interface-curses-forms__adb.htm#ref_196_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_197_32" HREF="terminal_interface-curses-forms__adb.htm#ref_196_16">Just</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_175_16">Set_Field_Just</A></span> (<span class="symbol"><A NAME="ref_175_32" HREF="terminal_interface-curses-forms__adb.htm#ref_175_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_176_32" HREF="terminal_interface-curses-forms__adb.htm#ref_175_16">Just</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Field_Just, "set_field_just");
- <span class="symbol"><A NAME="ref_200_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> :=
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_196_16">Set_Field_Just</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_341_33">Fld</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Justification</A>'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_342_33">Just</A>)));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_200_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_200_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_175_16">Set_Field_Just</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_340_33">Fld</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Field_Justification</A>'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_341_33">Just</A>))));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_340_14">Set_Justification</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_211_13" HREF="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</A></span> (<span class="symbol"><A NAME="ref_211_32" HREF="terminal_interface-curses-forms__ads.htm#ref_347_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Justification</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_186_13" HREF="terminal_interface-curses-forms__ads.htm#ref_346_13">Get_Justification</A></span> (<span class="symbol"><A NAME="ref_186_32" HREF="terminal_interface-curses-forms__ads.htm#ref_346_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Field_Justification</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_213_16">Field_Just</A></span> (<span class="symbol"><A NAME="ref_213_28" HREF="terminal_interface-curses-forms__adb.htm#ref_213_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_188_16">Field_Just</A></span> (<span class="symbol"><A NAME="ref_188_28" HREF="terminal_interface-curses-forms__adb.htm#ref_188_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Field_Just, "field_just");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Justification</A>'Val (<A HREF="terminal_interface-curses-forms__adb.htm#ref_213_16">Field_Just</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_347_32">Fld</A>));
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Field_Justification</A>'Val (<A HREF="terminal_interface-curses-forms__adb.htm#ref_188_16">Field_Just</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_346_32">Fld</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_346_13">Get_Justification</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_field_buffer.3x</EM></span>
@@ -239,101 +214,89 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_225_14" HREF="terminal_interface-curses-forms__ads.htm#ref_356_14">Set_Buffer</A></span>
- (<span class="symbol"><A NAME="ref_226_7" HREF="terminal_interface-curses-forms__ads.htm#ref_357_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_227_7" HREF="terminal_interface-curses-forms__ads.htm#ref_358_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First;
- <span class="symbol"><A NAME="ref_228_7" HREF="terminal_interface-curses-forms__ads.htm#ref_359_7">Str</A></span> : String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_200_14" HREF="terminal_interface-curses-forms__ads.htm#ref_355_14">Set_Buffer</A></span>
+ (<span class="symbol"><A NAME="ref_201_7" HREF="terminal_interface-curses-forms__ads.htm#ref_356_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_202_7" HREF="terminal_interface-curses-forms__ads.htm#ref_357_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First;
+ <span class="symbol"><A NAME="ref_203_7" HREF="terminal_interface-curses-forms__ads.htm#ref_358_7">Str</A></span> : String)
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_230_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char;
- <b>function</b> <span class="symbol"><A NAME="ref_231_16">Set_Fld_Buffer</A></span> (<span class="symbol"><A NAME="ref_231_32" HREF="terminal_interface-curses-forms__adb.htm#ref_231_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_232_34" HREF="terminal_interface-curses-forms__adb.htm#ref_231_16">Bufnum</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_233_34" HREF="terminal_interface-curses-forms__adb.htm#ref_231_16">S</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_230_12">Char_Ptr</A>)
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_205_16">Set_Fld_Buffer</A></span> (<span class="symbol"><A NAME="ref_205_32" HREF="terminal_interface-curses-forms__adb.htm#ref_205_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_206_34" HREF="terminal_interface-curses-forms__adb.htm#ref_205_16">Bufnum</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_207_34" HREF="terminal_interface-curses-forms__adb.htm#ref_205_16">S</A></span> : char_array)
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Fld_Buffer, "set_field_buffer");
- <span class="symbol"><A NAME="ref_237_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-forms__ads.htm#ref_359_7">Str</A>'Length);
- <span class="symbol"><A NAME="ref_238_7">Len</A></span> : size_t;
- <span class="symbol"><A NAME="ref_239_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses-forms__ads.htm#ref_359_7">Str</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_237_7">Txt</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_238_7">Len</A>);
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_239_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_231_16">Set_Fld_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_357_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_358_7">Buffer</A>), <A HREF="terminal_interface-curses-forms__adb.htm#ref_237_7">Txt</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_237_7">Txt</A>'First)'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_239_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_239_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_356_14">Set_Buffer</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_205_16">Set_Fld_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_356_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_357_7">Buffer</A>), To_C (<A HREF="terminal_interface-curses-forms__ads.htm#ref_358_7">Str</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_355_14">Set_Buffer</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_250_14" HREF="terminal_interface-curses-forms__ads.htm#ref_364_14">Get_Buffer</A></span>
- (<span class="symbol"><A NAME="ref_251_7" HREF="terminal_interface-curses-forms__ads.htm#ref_365_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_252_7" HREF="terminal_interface-curses-forms__ads.htm#ref_366_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First;
- <span class="symbol"><A NAME="ref_253_7" HREF="terminal_interface-curses-forms__ads.htm#ref_367_7">Str</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_217_14" HREF="terminal_interface-curses-forms__ads.htm#ref_363_14">Get_Buffer</A></span>
+ (<span class="symbol"><A NAME="ref_218_7" HREF="terminal_interface-curses-forms__ads.htm#ref_364_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_219_7" HREF="terminal_interface-curses-forms__ads.htm#ref_365_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First;
+ <span class="symbol"><A NAME="ref_220_7" HREF="terminal_interface-curses-forms__ads.htm#ref_366_7">Str</A></span> : <b>out</b> String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_255_16">Field_Buffer</A></span> (<span class="symbol"><A NAME="ref_255_30" HREF="terminal_interface-curses-forms__adb.htm#ref_255_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_256_30" HREF="terminal_interface-curses-forms__adb.htm#ref_255_16">B</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_222_16">Field_Buffer</A></span> (<span class="symbol"><A NAME="ref_222_30" HREF="terminal_interface-curses-forms__adb.htm#ref_222_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_223_30" HREF="terminal_interface-curses-forms__adb.htm#ref_222_16">B</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Field_Buffer, "field_buffer");
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_255_16">Field_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_365_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_366_7">Buffer</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#ref_367_7">Str</A>);
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_364_14">Get_Buffer</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_222_16">Field_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_364_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_365_7">Buffer</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#ref_366_7">Str</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_363_14">Get_Buffer</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_262_13" HREF="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</A></span>
- (<span class="symbol"><A NAME="ref_263_7" HREF="terminal_interface-curses-forms__ads.htm#ref_371_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_264_7" HREF="terminal_interface-curses-forms__ads.htm#ref_372_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First) <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_229_13" HREF="terminal_interface-curses-forms__ads.htm#ref_369_13">Get_Buffer</A></span>
+ (<span class="symbol"><A NAME="ref_230_7" HREF="terminal_interface-curses-forms__ads.htm#ref_370_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_231_7" HREF="terminal_interface-curses-forms__ads.htm#ref_371_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First) <b>return</b> String
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_266_16">Field_Buffer</A></span> (<span class="symbol"><A NAME="ref_266_30" HREF="terminal_interface-curses-forms__adb.htm#ref_266_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_267_30" HREF="terminal_interface-curses-forms__adb.htm#ref_266_16">B</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_233_16">Field_Buffer</A></span> (<span class="symbol"><A NAME="ref_233_30" HREF="terminal_interface-curses-forms__adb.htm#ref_233_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_234_30" HREF="terminal_interface-curses-forms__adb.htm#ref_233_16">B</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Field_Buffer, "field_buffer");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_266_16">Field_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_371_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_372_7">Buffer</A>)));
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_370_13">Get_Buffer</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_233_16">Field_Buffer</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_370_7">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_371_7">Buffer</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_369_13">Get_Buffer</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_275_14" HREF="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</A></span> (<span class="symbol"><A NAME="ref_275_26" HREF="terminal_interface-curses-forms__ads.htm#ref_378_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_276_26" HREF="terminal_interface-curses-forms__ads.htm#ref_379_26">Status</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_242_14" HREF="terminal_interface-curses-forms__ads.htm#ref_377_14">Set_Status</A></span> (<span class="symbol"><A NAME="ref_242_26" HREF="terminal_interface-curses-forms__ads.htm#ref_377_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_243_26" HREF="terminal_interface-curses-forms__ads.htm#ref_378_26">Status</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_278_16">Set_Fld_Status</A></span> (<span class="symbol"><A NAME="ref_278_32" HREF="terminal_interface-curses-forms__adb.htm#ref_278_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_279_32" HREF="terminal_interface-curses-forms__adb.htm#ref_278_16">St</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_245_16">Set_Fld_Status</A></span> (<span class="symbol"><A NAME="ref_245_32" HREF="terminal_interface-curses-forms__adb.htm#ref_245_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_246_32" HREF="terminal_interface-curses-forms__adb.htm#ref_245_16">St</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Fld_Status, "set_field_status");
- <span class="symbol"><A NAME="ref_282_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_278_16">Set_Fld_Status</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_378_26">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_379_26">Status</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_282_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_245_16">Set_Fld_Status</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_377_26">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_378_26">Status</A>)) /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_84_7">E_Ok</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_377_14">Set_Status</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_291_13" HREF="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</A></span> (<span class="symbol"><A NAME="ref_291_22" HREF="terminal_interface-curses-forms__ads.htm#ref_384_22">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_257_13" HREF="terminal_interface-curses-forms__ads.htm#ref_383_13">Changed</A></span> (<span class="symbol"><A NAME="ref_257_22" HREF="terminal_interface-curses-forms__ads.htm#ref_383_22">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_293_16">Field_Status</A></span> (<span class="symbol"><A NAME="ref_293_30" HREF="terminal_interface-curses-forms__adb.htm#ref_293_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_259_16">Field_Status</A></span> (<span class="symbol"><A NAME="ref_259_30" HREF="terminal_interface-curses-forms__adb.htm#ref_259_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Field_Status, "field_status");
- <span class="symbol"><A NAME="ref_296_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_293_16">Field_Status</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_384_22">Fld</A>);
+ <span class="symbol"><A NAME="ref_262_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_259_16">Field_Status</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_383_22">Fld</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_296_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Curses_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_262_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_383_13">Changed</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_307_14" HREF="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</A></span> (<span class="symbol"><A NAME="ref_307_32" HREF="terminal_interface-curses-forms__ads.htm#ref_389_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_308_32" HREF="terminal_interface-curses-forms__ads.htm#ref_390_32">Max</A></span> : Natural := 0)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_273_14" HREF="terminal_interface-curses-forms__ads.htm#ref_388_14">Set_Maximum_Size</A></span> (<span class="symbol"><A NAME="ref_273_32" HREF="terminal_interface-curses-forms__ads.htm#ref_388_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_274_32" HREF="terminal_interface-curses-forms__ads.htm#ref_389_32">Max</A></span> : Natural := 0)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_310_16">Set_Field_Max</A></span> (<span class="symbol"><A NAME="ref_310_31" HREF="terminal_interface-curses-forms__adb.htm#ref_310_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_311_31" HREF="terminal_interface-curses-forms__adb.htm#ref_310_16">M</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_276_16">Set_Field_Max</A></span> (<span class="symbol"><A NAME="ref_276_31" HREF="terminal_interface-curses-forms__adb.htm#ref_276_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_277_31" HREF="terminal_interface-curses-forms__adb.htm#ref_276_16">M</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Field_Max, "set_max_field");
- <span class="symbol"><A NAME="ref_314_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_310_16">Set_Field_Max</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_389_32">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_390_32">Max</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_314_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_314_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_276_16">Set_Field_Max</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_388_32">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_389_32">Max</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_388_14">Set_Maximum_Size</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_field_opts.3x</EM></span>
@@ -341,71 +304,60 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_327_14" HREF="terminal_interface-curses-forms__ads.htm#ref_399_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_327_27" HREF="terminal_interface-curses-forms__ads.htm#ref_399_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_328_27" HREF="terminal_interface-curses-forms__ads.htm#ref_400_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_290_14" HREF="terminal_interface-curses-forms__ads.htm#ref_398_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_290_27" HREF="terminal_interface-curses-forms__ads.htm#ref_398_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_291_27" HREF="terminal_interface-curses-forms__ads.htm#ref_399_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_330_16">Set_Field_Opts</A></span> (<span class="symbol"><A NAME="ref_330_32" HREF="terminal_interface-curses-forms__adb.htm#ref_330_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_331_32" HREF="terminal_interface-curses-forms__adb.htm#ref_330_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_293_16">Set_Field_Opts</A></span> (<span class="symbol"><A NAME="ref_293_32" HREF="terminal_interface-curses-forms__adb.htm#ref_293_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_294_32" HREF="terminal_interface-curses-forms__adb.htm#ref_293_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Field_Opts, "set_field_opts");
- <span class="symbol"><A NAME="ref_334_7">Opt</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := FOS_2_CInt (<A HREF="terminal_interface-curses-forms__ads.htm#ref_400_27">Options</A>);
- <span class="symbol"><A NAME="ref_335_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_335_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_330_16">Set_Field_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_399_27">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_334_7">Opt</A>);
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_335_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_335_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_399_14">Set_Options</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_293_16">Set_Field_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_398_27">Fld</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_399_27">Options</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_398_14">Set_Options</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_345_14" HREF="terminal_interface-curses-forms__ads.htm#ref_405_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_345_30" HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_346_30" HREF="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>;
- <span class="symbol"><A NAME="ref_347_30" HREF="terminal_interface-curses-forms__ads.htm#ref_407_30">On</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_303_14" HREF="terminal_interface-curses-forms__ads.htm#ref_404_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_303_30" HREF="terminal_interface-curses-forms__ads.htm#ref_404_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_304_30" HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>;
+ <span class="symbol"><A NAME="ref_305_30" HREF="terminal_interface-curses-forms__ads.htm#ref_406_30">On</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_349_16">Field_Opts_On</A></span> (<span class="symbol"><A NAME="ref_349_31" HREF="terminal_interface-curses-forms__adb.htm#ref_349_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_350_31" HREF="terminal_interface-curses-forms__adb.htm#ref_349_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_307_16">Field_Opts_On</A></span> (<span class="symbol"><A NAME="ref_307_31" HREF="terminal_interface-curses-forms__adb.htm#ref_307_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_308_31" HREF="terminal_interface-curses-forms__adb.htm#ref_307_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Field_Opts_On, "field_opts_on");
- <b>function</b> <span class="symbol"><A NAME="ref_352_16">Field_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_352_32" HREF="terminal_interface-curses-forms__adb.htm#ref_352_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_353_32" HREF="terminal_interface-curses-forms__adb.htm#ref_352_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_310_16">Field_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_310_32" HREF="terminal_interface-curses-forms__adb.htm#ref_310_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_311_32" HREF="terminal_interface-curses-forms__adb.htm#ref_310_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Field_Opts_Off, "field_opts_off");
- <span class="symbol"><A NAME="ref_356_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
- <span class="symbol"><A NAME="ref_357_7">Opt</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := FOS_2_CInt (<A HREF="terminal_interface-curses-forms__ads.htm#ref_406_30">Options</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_407_30">On</A> <b>then</b>
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_356_7">Err</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_349_16">Field_Opts_On</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_357_7">Opt</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_406_30">On</A> <b>then</b>
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_307_16">Field_Opts_On</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_404_30">Fld</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">Options</A>));
<b>else</b>
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_356_7">Err</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_352_16">Field_Opts_Off</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_357_7">Opt</A>);
- <b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_356_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_356_7">Err</A>);
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_310_16">Field_Opts_Off</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_404_30">Fld</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">Options</A>));
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_405_14">Switch_Options</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_404_14">Switch_Options</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_371_14" HREF="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_371_27" HREF="terminal_interface-curses-forms__ads.htm#ref_413_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_372_27" HREF="terminal_interface-curses-forms__ads.htm#ref_414_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_324_14" HREF="terminal_interface-curses-forms__ads.htm#ref_412_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_324_27" HREF="terminal_interface-curses-forms__ads.htm#ref_412_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_325_27" HREF="terminal_interface-curses-forms__ads.htm#ref_413_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_374_16">Field_Opts</A></span> (<span class="symbol"><A NAME="ref_374_28" HREF="terminal_interface-curses-forms__adb.htm#ref_374_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_327_16">Field_Opts</A></span> (<span class="symbol"><A NAME="ref_327_28" HREF="terminal_interface-curses-forms__adb.htm#ref_327_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>;
<b>pragma</b> Import (C, Field_Opts, "field_opts");
- <span class="symbol"><A NAME="ref_377_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_374_16">Field_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_413_27">Fld</A>);
<b>begin</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_414_27">Options</A> := CInt_2_FOS (<A HREF="terminal_interface-curses-forms__adb.htm#ref_377_7">Res</A>);
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_413_27">Options</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_327_16">Field_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_412_27">Fld</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_412_14">Get_Options</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_384_13" HREF="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_384_26" HREF="terminal_interface-curses-forms__ads.htm#ref_418_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A>)
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_336_13" HREF="terminal_interface-curses-forms__ads.htm#ref_417_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_336_26" HREF="terminal_interface-curses-forms__ads.htm#ref_417_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>)
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_387_7">Fos</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>;
+ <span class="symbol"><A NAME="ref_339_7">Fos</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_413_14">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_418_26">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_387_7">Fos</A>);
- <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_387_7">Fos</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_412_14">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_417_26">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_339_7">Fos</A>);
+ <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_339_7">Fos</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_417_13">Get_Options</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_field_attributes.3x</EM></span>
@@ -413,119 +365,106 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_399_14" HREF="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</A></span>
- (<span class="symbol"><A NAME="ref_400_7" HREF="terminal_interface-curses-forms__ads.htm#ref_429_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_401_7" HREF="terminal_interface-curses-forms__ads.htm#ref_430_7">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_402_7" HREF="terminal_interface-curses-forms__ads.htm#ref_431_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_351_14" HREF="terminal_interface-curses-forms__ads.htm#ref_427_14">Set_Foreground</A></span>
+ (<span class="symbol"><A NAME="ref_352_7" HREF="terminal_interface-curses-forms__ads.htm#ref_428_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_353_7" HREF="terminal_interface-curses-forms__ads.htm#ref_429_7">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_354_7" HREF="terminal_interface-curses-forms__ads.htm#ref_430_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_404_16">Set_Field_Fore</A></span> (<span class="symbol"><A NAME="ref_404_32" HREF="terminal_interface-curses-forms__adb.htm#ref_404_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_405_32" HREF="terminal_interface-curses-forms__adb.htm#ref_404_16">Attr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_356_16">Set_Field_Fore</A></span> (<span class="symbol"><A NAME="ref_356_32" HREF="terminal_interface-curses-forms__adb.htm#ref_356_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_357_32" HREF="terminal_interface-curses-forms__adb.htm#ref_356_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Field_Fore, "set_field_fore");
- <span class="symbol"><A NAME="ref_408_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; Character'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_431_7">Color</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_430_7">Fore</A>);
- <span class="symbol"><A NAME="ref_411_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> :=
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_404_16">Set_Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_429_7">Fld</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses-forms__adb.htm#ref_408_7">Ch</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_411_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_411_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_356_16">Set_Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_428_7">Fld</A>, (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_430_7">Color</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_429_7">Fore</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_427_14">Set_Foreground</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_421_14" HREF="terminal_interface-curses-forms__ads.htm#ref_436_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_421_26" HREF="terminal_interface-curses-forms__ads.htm#ref_436_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_422_26" HREF="terminal_interface-curses-forms__ads.htm#ref_437_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_368_14" HREF="terminal_interface-curses-forms__ads.htm#ref_435_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_368_26" HREF="terminal_interface-curses-forms__ads.htm#ref_435_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_369_26" HREF="terminal_interface-curses-forms__ads.htm#ref_436_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_424_16">Field_Fore</A></span> (<span class="symbol"><A NAME="ref_424_28" HREF="terminal_interface-curses-forms__adb.htm#ref_424_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_371_16">Field_Fore</A></span> (<span class="symbol"><A NAME="ref_371_28" HREF="terminal_interface-curses-forms__adb.htm#ref_371_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Field_Fore, "field_fore");
<b>begin</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_437_26">Fore</A> := Chtype_To_AttrChar (<A HREF="terminal_interface-curses-forms__adb.htm#ref_424_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_436_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_436_14">Foreground</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_436_26">Fore</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_371_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_435_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_435_14">Foreground</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_430_14" HREF="terminal_interface-curses-forms__ads.htm#ref_441_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_430_26" HREF="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_431_26" HREF="terminal_interface-curses-forms__ads.htm#ref_442_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_432_26" HREF="terminal_interface-curses-forms__ads.htm#ref_443_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_377_14" HREF="terminal_interface-curses-forms__ads.htm#ref_440_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_377_26" HREF="terminal_interface-curses-forms__ads.htm#ref_440_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses-forms__ads.htm#ref_441_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_379_26" HREF="terminal_interface-curses-forms__ads.htm#ref_442_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_434_16">Field_Fore</A></span> (<span class="symbol"><A NAME="ref_434_28" HREF="terminal_interface-curses-forms__adb.htm#ref_434_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_381_16">Field_Fore</A></span> (<span class="symbol"><A NAME="ref_381_28" HREF="terminal_interface-curses-forms__adb.htm#ref_381_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Field_Fore, "field_fore");
<b>begin</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_442_26">Fore</A> := Chtype_To_AttrChar (<A HREF="terminal_interface-curses-forms__adb.htm#ref_434_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_443_26">Color</A> := Chtype_To_AttrChar (<A HREF="terminal_interface-curses-forms__adb.htm#ref_434_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_441_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_441_14">Foreground</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_441_26">Fore</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_381_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_440_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_442_26">Color</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_381_16">Field_Fore</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_440_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_440_14">Foreground</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_443_14" HREF="terminal_interface-curses-forms__ads.htm#ref_448_14">Set_Background</A></span>
- (<span class="symbol"><A NAME="ref_444_7" HREF="terminal_interface-curses-forms__ads.htm#ref_449_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_445_7" HREF="terminal_interface-curses-forms__ads.htm#ref_450_7">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_446_7" HREF="terminal_interface-curses-forms__ads.htm#ref_451_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_390_14" HREF="terminal_interface-curses-forms__ads.htm#ref_447_14">Set_Background</A></span>
+ (<span class="symbol"><A NAME="ref_391_7" HREF="terminal_interface-curses-forms__ads.htm#ref_448_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_392_7" HREF="terminal_interface-curses-forms__ads.htm#ref_449_7">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_393_7" HREF="terminal_interface-curses-forms__ads.htm#ref_450_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_448_16">Set_Field_Back</A></span> (<span class="symbol"><A NAME="ref_448_32" HREF="terminal_interface-curses-forms__adb.htm#ref_448_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_449_32" HREF="terminal_interface-curses-forms__adb.htm#ref_448_16">Attr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_395_16">Set_Field_Back</A></span> (<span class="symbol"><A NAME="ref_395_32" HREF="terminal_interface-curses-forms__adb.htm#ref_395_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_396_32" HREF="terminal_interface-curses-forms__adb.htm#ref_395_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Field_Back, "set_field_back");
- <span class="symbol"><A NAME="ref_452_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; Character'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_451_7">Color</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_450_7">Back</A>);
- <span class="symbol"><A NAME="ref_455_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> :=
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_448_16">Set_Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_449_7">Fld</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses-forms__adb.htm#ref_452_7">Ch</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_455_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_455_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_448_14">Set_Background</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_395_16">Set_Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_448_7">Fld</A>, (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_450_7">Color</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_449_7">Back</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_447_14">Set_Background</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_465_14" HREF="terminal_interface-curses-forms__ads.htm#ref_456_14">Background</A></span> (<span class="symbol"><A NAME="ref_465_26" HREF="terminal_interface-curses-forms__ads.htm#ref_456_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_466_26" HREF="terminal_interface-curses-forms__ads.htm#ref_457_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_407_14" HREF="terminal_interface-curses-forms__ads.htm#ref_455_14">Background</A></span> (<span class="symbol"><A NAME="ref_407_26" HREF="terminal_interface-curses-forms__ads.htm#ref_455_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_408_26" HREF="terminal_interface-curses-forms__ads.htm#ref_456_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_468_16">Field_Back</A></span> (<span class="symbol"><A NAME="ref_468_28" HREF="terminal_interface-curses-forms__adb.htm#ref_468_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_410_16">Field_Back</A></span> (<span class="symbol"><A NAME="ref_410_28" HREF="terminal_interface-curses-forms__adb.htm#ref_410_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Field_Back, "field_back");
<b>begin</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_457_26">Back</A> := Chtype_To_AttrChar (<A HREF="terminal_interface-curses-forms__adb.htm#ref_468_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_456_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_456_14">Background</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_456_26">Back</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_410_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_455_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_455_14">Background</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_474_14" HREF="terminal_interface-curses-forms__ads.htm#ref_461_14">Background</A></span> (<span class="symbol"><A NAME="ref_474_26" HREF="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_475_26" HREF="terminal_interface-curses-forms__ads.htm#ref_462_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_476_26" HREF="terminal_interface-curses-forms__ads.htm#ref_463_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_416_14" HREF="terminal_interface-curses-forms__ads.htm#ref_460_14">Background</A></span> (<span class="symbol"><A NAME="ref_416_26" HREF="terminal_interface-curses-forms__ads.htm#ref_460_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_417_26" HREF="terminal_interface-curses-forms__ads.htm#ref_461_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_418_26" HREF="terminal_interface-curses-forms__ads.htm#ref_462_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_478_16">Field_Back</A></span> (<span class="symbol"><A NAME="ref_478_28" HREF="terminal_interface-curses-forms__adb.htm#ref_478_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_420_16">Field_Back</A></span> (<span class="symbol"><A NAME="ref_420_28" HREF="terminal_interface-curses-forms__adb.htm#ref_420_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Field_Back, "field_back");
<b>begin</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_462_26">Back</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_478_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_463_26">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_478_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_461_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_461_14">Background</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_461_26">Back</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_420_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_460_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_462_26">Color</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_420_16">Field_Back</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_460_26">Fld</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_460_14">Background</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_487_14" HREF="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_487_33" HREF="terminal_interface-curses-forms__ads.htm#ref_468_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_488_33" HREF="terminal_interface-curses-forms__ads.htm#ref_469_33">Pad</A></span> : Character := Space)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_429_14" HREF="terminal_interface-curses-forms__ads.htm#ref_467_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_429_33" HREF="terminal_interface-curses-forms__ads.htm#ref_467_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_430_33" HREF="terminal_interface-curses-forms__ads.htm#ref_468_33">Pad</A></span> : Character := Space)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_490_16">Set_Field_Pad</A></span> (<span class="symbol"><A NAME="ref_490_31" HREF="terminal_interface-curses-forms__adb.htm#ref_490_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_491_31" HREF="terminal_interface-curses-forms__adb.htm#ref_490_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_432_16">Set_Field_Pad</A></span> (<span class="symbol"><A NAME="ref_432_31" HREF="terminal_interface-curses-forms__adb.htm#ref_432_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_433_31" HREF="terminal_interface-curses-forms__adb.htm#ref_432_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Field_Pad, "set_field_pad");
- <span class="symbol"><A NAME="ref_494_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_490_16">Set_Field_Pad</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_468_33">Fld</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_469_33">Pad</A>)));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_494_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_494_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_432_16">Set_Field_Pad</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_467_33">Fld</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_468_33">Pad</A>))));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_467_14">Set_Pad_Character</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_504_14" HREF="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_504_29" HREF="terminal_interface-curses-forms__ads.htm#ref_474_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_505_29" HREF="terminal_interface-curses-forms__ads.htm#ref_475_29">Pad</A></span> : <b>out</b> Character)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_443_14" HREF="terminal_interface-curses-forms__ads.htm#ref_473_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_443_29" HREF="terminal_interface-curses-forms__ads.htm#ref_473_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_444_29" HREF="terminal_interface-curses-forms__ads.htm#ref_474_29">Pad</A></span> : <b>out</b> Character)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_507_16">Field_Pad</A></span> (<span class="symbol"><A NAME="ref_507_27" HREF="terminal_interface-curses-forms__adb.htm#ref_507_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_446_16">Field_Pad</A></span> (<span class="symbol"><A NAME="ref_446_27" HREF="terminal_interface-curses-forms__adb.htm#ref_446_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Field_Pad, "field_pad");
<b>begin</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_475_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-forms__adb.htm#ref_507_16">Field_Pad</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_474_29">Fld</A>));
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_474_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-forms__adb.htm#ref_446_16">Field_Pad</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_473_29">Fld</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_473_14">Pad_Character</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_field_info.3x</EM></span>
@@ -533,62 +472,54 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_519_14" HREF="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</A></span> (<span class="symbol"><A NAME="ref_519_20" HREF="terminal_interface-curses-forms__ads.htm#ref_484_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_520_20" HREF="terminal_interface-curses-forms__ads.htm#ref_485_20">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_521_20" HREF="terminal_interface-curses-forms__ads.htm#ref_486_20">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_522_20" HREF="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Row</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_523_20" HREF="terminal_interface-curses-forms__ads.htm#ref_488_20">First_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_524_20" HREF="terminal_interface-curses-forms__ads.htm#ref_489_20">Off_Screen</A></span> : <b>out</b> Natural;
- <span class="symbol"><A NAME="ref_525_20" HREF="terminal_interface-curses-forms__ads.htm#ref_490_20">Additional_Buffers</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_458_14" HREF="terminal_interface-curses-forms__ads.htm#ref_483_14">Info</A></span> (<span class="symbol"><A NAME="ref_458_20" HREF="terminal_interface-curses-forms__ads.htm#ref_483_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_459_20" HREF="terminal_interface-curses-forms__ads.htm#ref_484_20">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_460_20" HREF="terminal_interface-curses-forms__ads.htm#ref_485_20">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_461_20" HREF="terminal_interface-curses-forms__ads.htm#ref_486_20">First_Row</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_462_20" HREF="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_463_20" HREF="terminal_interface-curses-forms__ads.htm#ref_488_20">Off_Screen</A></span> : <b>out</b> Natural;
+ <span class="symbol"><A NAME="ref_464_20" HREF="terminal_interface-curses-forms__ads.htm#ref_489_20">Additional_Buffers</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>)
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_527_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_528_16">Fld_Info</A></span> (<span class="symbol"><A NAME="ref_528_26" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_529_26" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">L</A></span>, <span class="symbol"><A NAME="ref_529_29" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">C</A></span>, <span class="symbol"><A NAME="ref_529_32" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Fr</A></span>, <span class="symbol"><A NAME="ref_529_36" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Fc</A></span>, <span class="symbol"><A NAME="ref_529_40" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Os</A></span>, <span class="symbol"><A NAME="ref_529_44" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Ab</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_527_12">C_Int_Access</A>)
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>type</b> <span class="symbol"><A NAME="ref_466_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_467_16">Fld_Info</A></span> (<span class="symbol"><A NAME="ref_467_26" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_468_26" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">L</A></span>, <span class="symbol"><A NAME="ref_468_29" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">C</A></span>, <span class="symbol"><A NAME="ref_468_32" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">Fr</A></span>, <span class="symbol"><A NAME="ref_468_36" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">Fc</A></span>, <span class="symbol"><A NAME="ref_468_40" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">Os</A></span>, <span class="symbol"><A NAME="ref_468_44" HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">Ab</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_466_12">C_Int_Access</A>)
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Fld_Info, "field_info");
- <span class="symbol"><A NAME="ref_533_7">L</A></span>, <span class="symbol"><A NAME="ref_533_10">C</A></span>, <span class="symbol"><A NAME="ref_533_13">Fr</A></span>, <span class="symbol"><A NAME="ref_533_17">Fc</A></span>, <span class="symbol"><A NAME="ref_533_21">Os</A></span>, <span class="symbol"><A NAME="ref_533_25">Ab</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_534_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Fld_Info</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_484_20">Fld</A>,
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_533_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_533_10">C</A>'<b>Access</b>,
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_533_13">Fr</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_533_17">Fc</A>'<b>Access</b>,
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_533_21">Os</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_533_25">Ab</A>'<b>Access</b>);
+ <span class="symbol"><A NAME="ref_472_7">L</A></span>, <span class="symbol"><A NAME="ref_472_10">C</A></span>, <span class="symbol"><A NAME="ref_472_13">Fr</A></span>, <span class="symbol"><A NAME="ref_472_17">Fc</A></span>, <span class="symbol"><A NAME="ref_472_21">Os</A></span>, <span class="symbol"><A NAME="ref_472_25">Ab</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_534_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_534_7">Res</A>);
- <b>else</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_485_20">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_533_7">L</A>);
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_486_20">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_533_10">C</A>);
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Row</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_533_13">Fr</A>);
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_488_20">First_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_533_17">Fc</A>);
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_489_20">Off_Screen</A> := Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_533_21">Os</A>);
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_490_20">Additional_Buffers</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_533_25">Ab</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_467_16">Fld_Info</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_483_20">Fld</A>,
+ <A HREF="terminal_interface-curses-forms__adb.htm#ref_472_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_472_10">C</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-forms__adb.htm#ref_472_13">Fr</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_472_17">Fc</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-forms__adb.htm#ref_472_21">Os</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_472_25">Ab</A>'<b>Access</b>));
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_484_20">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_472_7">L</A>);
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_485_20">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_472_10">C</A>);
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_486_20">First_Row</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_472_13">Fr</A>);
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_487_20">First_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_472_17">Fc</A>);
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_488_20">Off_Screen</A> := Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_472_21">Os</A>);
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_489_20">Additional_Buffers</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_472_25">Ab</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_483_14">Info</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_553_14" HREF="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</A></span> (<span class="symbol"><A NAME="ref_553_28" HREF="terminal_interface-curses-forms__ads.htm#ref_495_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_554_28" HREF="terminal_interface-curses-forms__ads.htm#ref_496_28">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_555_28" HREF="terminal_interface-curses-forms__ads.htm#ref_497_28">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_556_28" HREF="terminal_interface-curses-forms__ads.htm#ref_498_28">Max</A></span> : <b>out</b> Natural)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_488_14" HREF="terminal_interface-curses-forms__ads.htm#ref_494_14">Dynamic_Info</A></span> (<span class="symbol"><A NAME="ref_488_28" HREF="terminal_interface-curses-forms__ads.htm#ref_494_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_489_28" HREF="terminal_interface-curses-forms__ads.htm#ref_495_28">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_490_28" HREF="terminal_interface-curses-forms__ads.htm#ref_496_28">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_491_28" HREF="terminal_interface-curses-forms__ads.htm#ref_497_28">Max</A></span> : <b>out</b> Natural)
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_558_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_559_16">Dyn_Info</A></span> (<span class="symbol"><A NAME="ref_559_26" HREF="terminal_interface-curses-forms__adb.htm#ref_559_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>; <span class="symbol"><A NAME="ref_559_39" HREF="terminal_interface-curses-forms__adb.htm#ref_559_16">L</A></span>, <span class="symbol"><A NAME="ref_559_42" HREF="terminal_interface-curses-forms__adb.htm#ref_559_16">C</A></span>, <span class="symbol"><A NAME="ref_559_45" HREF="terminal_interface-curses-forms__adb.htm#ref_559_16">M</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_558_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>type</b> <span class="symbol"><A NAME="ref_493_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_494_16">Dyn_Info</A></span> (<span class="symbol"><A NAME="ref_494_26" HREF="terminal_interface-curses-forms__adb.htm#ref_494_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>; <span class="symbol"><A NAME="ref_494_39" HREF="terminal_interface-curses-forms__adb.htm#ref_494_16">L</A></span>, <span class="symbol"><A NAME="ref_494_42" HREF="terminal_interface-curses-forms__adb.htm#ref_494_16">C</A></span>, <span class="symbol"><A NAME="ref_494_45" HREF="terminal_interface-curses-forms__adb.htm#ref_494_16">M</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_493_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Dyn_Info, "dynamic_field_info");
- <span class="symbol"><A NAME="ref_562_7">L</A></span>, <span class="symbol"><A NAME="ref_562_10">C</A></span>, <span class="symbol"><A NAME="ref_562_13">M</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_563_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_559_16">Dyn_Info</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_495_28">Fld</A>,
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_562_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_562_10">C</A>'<b>Access</b>,
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_562_13">M</A>'<b>Access</b>);
+ <span class="symbol"><A NAME="ref_497_7">L</A></span>, <span class="symbol"><A NAME="ref_497_10">C</A></span>, <span class="symbol"><A NAME="ref_497_13">M</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_563_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_563_7">Res</A>);
- <b>else</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_496_28">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_562_7">L</A>);
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_497_28">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_562_10">C</A>);
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_498_28">Max</A> := Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_562_13">M</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_494_16">Dyn_Info</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_494_28">Fld</A>,
+ <A HREF="terminal_interface-curses-forms__adb.htm#ref_497_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_497_10">C</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-forms__adb.htm#ref_497_13">M</A>'<b>Access</b>));
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_495_28">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_497_7">L</A>);
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_496_28">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_497_10">C</A>);
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_497_28">Max</A> := Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_497_13">M</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_494_14">Dynamic_Info</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_win.3x</EM></span>
@@ -596,79 +527,70 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_582_14" HREF="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_582_26" HREF="terminal_interface-curses-forms__ads.htm#ref_507_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_583_26" HREF="terminal_interface-curses-forms__ads.htm#ref_508_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_513_14" HREF="terminal_interface-curses-forms__ads.htm#ref_506_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_513_26" HREF="terminal_interface-curses-forms__ads.htm#ref_506_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_514_26" HREF="terminal_interface-curses-forms__ads.htm#ref_507_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_585_16">Set_Form_Win</A></span> (<span class="symbol"><A NAME="ref_585_30" HREF="terminal_interface-curses-forms__adb.htm#ref_585_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_586_30" HREF="terminal_interface-curses-forms__adb.htm#ref_585_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_516_16">Set_Form_Win</A></span> (<span class="symbol"><A NAME="ref_516_30" HREF="terminal_interface-curses-forms__adb.htm#ref_516_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_517_30" HREF="terminal_interface-curses-forms__adb.htm#ref_516_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Form_Win, "set_form_win");
- <span class="symbol"><A NAME="ref_589_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_585_16">Set_Form_Win</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_507_26">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_508_26">Win</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_589_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_589_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_516_16">Set_Form_Win</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_506_26">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_507_26">Win</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_506_14">Set_Window</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_598_13" HREF="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_598_25" HREF="terminal_interface-curses-forms__ads.htm#ref_513_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_526_13" HREF="terminal_interface-curses-forms__ads.htm#ref_512_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_526_25" HREF="terminal_interface-curses-forms__ads.htm#ref_512_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_600_16">Form_Win</A></span> (<span class="symbol"><A NAME="ref_600_26" HREF="terminal_interface-curses-forms__adb.htm#ref_600_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_528_16">Form_Win</A></span> (<span class="symbol"><A NAME="ref_528_26" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Form_Win, "form_win");
- <span class="symbol"><A NAME="ref_603_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_600_16">Form_Win</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_513_25">Frm</A>);
+ <span class="symbol"><A NAME="ref_531_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Form_Win</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_512_25">Frm</A>);
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_603_7">W</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_531_7">W</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_512_13">Get_Window</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_610_14" HREF="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_610_30" HREF="terminal_interface-curses-forms__ads.htm#ref_518_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_611_30" HREF="terminal_interface-curses-forms__ads.htm#ref_519_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_538_14" HREF="terminal_interface-curses-forms__ads.htm#ref_517_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_538_30" HREF="terminal_interface-curses-forms__ads.htm#ref_517_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_539_30" HREF="terminal_interface-curses-forms__ads.htm#ref_518_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_613_16">Set_Form_Sub</A></span> (<span class="symbol"><A NAME="ref_613_30" HREF="terminal_interface-curses-forms__adb.htm#ref_613_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_614_30" HREF="terminal_interface-curses-forms__adb.htm#ref_613_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_541_16">Set_Form_Sub</A></span> (<span class="symbol"><A NAME="ref_541_30" HREF="terminal_interface-curses-forms__adb.htm#ref_541_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_542_30" HREF="terminal_interface-curses-forms__adb.htm#ref_541_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Form_Sub, "set_form_sub");
- <span class="symbol"><A NAME="ref_617_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_613_16">Set_Form_Sub</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_518_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_519_30">Win</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_617_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_617_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_541_16">Set_Form_Sub</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_517_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_518_30">Win</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_517_14">Set_Sub_Window</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_626_13" HREF="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_626_29" HREF="terminal_interface-curses-forms__ads.htm#ref_524_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_551_13" HREF="terminal_interface-curses-forms__ads.htm#ref_523_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_551_29" HREF="terminal_interface-curses-forms__ads.htm#ref_523_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_628_16">Form_Sub</A></span> (<span class="symbol"><A NAME="ref_628_26" HREF="terminal_interface-curses-forms__adb.htm#ref_628_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_553_16">Form_Sub</A></span> (<span class="symbol"><A NAME="ref_553_26" HREF="terminal_interface-curses-forms__adb.htm#ref_553_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Form_Sub, "form_sub");
- <span class="symbol"><A NAME="ref_631_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_628_16">Form_Sub</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_524_29">Frm</A>);
+ <span class="symbol"><A NAME="ref_556_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_553_16">Form_Sub</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_523_29">Frm</A>);
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_631_7">W</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_556_7">W</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_523_13">Get_Sub_Window</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_638_14" HREF="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</A></span> (<span class="symbol"><A NAME="ref_638_21" HREF="terminal_interface-curses-forms__ads.htm#ref_529_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_639_21" HREF="terminal_interface-curses-forms__ads.htm#ref_530_21">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_640_21" HREF="terminal_interface-curses-forms__ads.htm#ref_531_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_563_14" HREF="terminal_interface-curses-forms__ads.htm#ref_528_14">Scale</A></span> (<span class="symbol"><A NAME="ref_563_21" HREF="terminal_interface-curses-forms__ads.htm#ref_528_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_564_21" HREF="terminal_interface-curses-forms__ads.htm#ref_529_21">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_565_21" HREF="terminal_interface-curses-forms__ads.htm#ref_530_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_642_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_643_16">M_Scale</A></span> (<span class="symbol"><A NAME="ref_643_25" HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>; <span class="symbol"><A NAME="ref_643_37" HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">Yp</A></span>, <span class="symbol"><A NAME="ref_643_41" HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">Xp</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_642_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>type</b> <span class="symbol"><A NAME="ref_567_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_568_16">M_Scale</A></span> (<span class="symbol"><A NAME="ref_568_25" HREF="terminal_interface-curses-forms__adb.htm#ref_568_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>; <span class="symbol"><A NAME="ref_568_37" HREF="terminal_interface-curses-forms__adb.htm#ref_568_16">Yp</A></span>, <span class="symbol"><A NAME="ref_568_41" HREF="terminal_interface-curses-forms__adb.htm#ref_568_16">Xp</A></span> : <A HREF="terminal_interface-curses-forms__adb.htm#ref_567_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, M_Scale, "scale_form");
- <span class="symbol"><A NAME="ref_646_7">X</A></span>, <span class="symbol"><A NAME="ref_646_10">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_647_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">M_Scale</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_529_21">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_646_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_646_7">X</A>'<b>Access</b>);
+ <span class="symbol"><A NAME="ref_571_7">X</A></span>, <span class="symbol"><A NAME="ref_571_10">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_647_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_647_7">Res</A>);
- <b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_530_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_646_10">Y</A>);
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_531_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_646_7">X</A>);
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_568_16">M_Scale</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_528_21">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_571_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_571_7">X</A>'<b>Access</b>));
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_529_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_571_10">Y</A>);
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_530_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_571_7">X</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_528_14">Scale</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page menu_hook.3x</EM></span>
@@ -676,67 +598,55 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_662_14" HREF="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_662_35" HREF="terminal_interface-curses-forms__ads.htm#ref_543_35">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_663_35" HREF="terminal_interface-curses-forms__ads.htm#ref_544_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_584_14" HREF="terminal_interface-curses-forms__ads.htm#ref_542_14">Set_Field_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_584_35" HREF="terminal_interface-curses-forms__ads.htm#ref_542_35">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_585_35" HREF="terminal_interface-curses-forms__ads.htm#ref_543_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_665_16">Set_Field_Init</A></span> (<span class="symbol"><A NAME="ref_665_32" HREF="terminal_interface-curses-forms__adb.htm#ref_665_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_666_32" HREF="terminal_interface-curses-forms__adb.htm#ref_665_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_587_16">Set_Field_Init</A></span> (<span class="symbol"><A NAME="ref_587_32" HREF="terminal_interface-curses-forms__adb.htm#ref_587_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_588_32" HREF="terminal_interface-curses-forms__adb.htm#ref_587_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Field_Init, "set_field_init");
- <span class="symbol"><A NAME="ref_669_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_665_16">Set_Field_Init</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_543_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_544_35">Proc</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_669_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_669_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_587_16">Set_Field_Init</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_542_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_543_35">Proc</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_542_14">Set_Field_Init_Hook</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_678_14" HREF="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_678_35" HREF="terminal_interface-curses-forms__ads.htm#ref_549_35">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_679_35" HREF="terminal_interface-curses-forms__ads.htm#ref_550_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_597_14" HREF="terminal_interface-curses-forms__ads.htm#ref_548_14">Set_Field_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_597_35" HREF="terminal_interface-curses-forms__ads.htm#ref_548_35">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_598_35" HREF="terminal_interface-curses-forms__ads.htm#ref_549_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_681_16">Set_Field_Term</A></span> (<span class="symbol"><A NAME="ref_681_32" HREF="terminal_interface-curses-forms__adb.htm#ref_681_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_682_32" HREF="terminal_interface-curses-forms__adb.htm#ref_681_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_600_16">Set_Field_Term</A></span> (<span class="symbol"><A NAME="ref_600_32" HREF="terminal_interface-curses-forms__adb.htm#ref_600_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_601_32" HREF="terminal_interface-curses-forms__adb.htm#ref_600_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Field_Term, "set_field_term");
- <span class="symbol"><A NAME="ref_685_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_681_16">Set_Field_Term</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_549_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_550_35">Proc</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_685_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_685_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_600_16">Set_Field_Term</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_548_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_549_35">Proc</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_548_14">Set_Field_Term_Hook</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_694_14" HREF="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_694_34" HREF="terminal_interface-curses-forms__ads.htm#ref_555_34">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_695_34" HREF="terminal_interface-curses-forms__ads.htm#ref_556_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_610_14" HREF="terminal_interface-curses-forms__ads.htm#ref_554_14">Set_Form_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_610_34" HREF="terminal_interface-curses-forms__ads.htm#ref_554_34">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_611_34" HREF="terminal_interface-curses-forms__ads.htm#ref_555_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_697_16">Set_Form_Init</A></span> (<span class="symbol"><A NAME="ref_697_31" HREF="terminal_interface-curses-forms__adb.htm#ref_697_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_698_31" HREF="terminal_interface-curses-forms__adb.htm#ref_697_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_613_16">Set_Form_Init</A></span> (<span class="symbol"><A NAME="ref_613_31" HREF="terminal_interface-curses-forms__adb.htm#ref_613_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_614_31" HREF="terminal_interface-curses-forms__adb.htm#ref_613_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Form_Init, "set_form_init");
- <span class="symbol"><A NAME="ref_701_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_697_16">Set_Form_Init</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_555_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_556_34">Proc</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_701_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_701_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_613_16">Set_Form_Init</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_554_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_555_34">Proc</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_554_14">Set_Form_Init_Hook</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_710_14" HREF="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_710_34" HREF="terminal_interface-curses-forms__ads.htm#ref_561_34">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_711_34" HREF="terminal_interface-curses-forms__ads.htm#ref_562_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_623_14" HREF="terminal_interface-curses-forms__ads.htm#ref_560_14">Set_Form_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_623_34" HREF="terminal_interface-curses-forms__ads.htm#ref_560_34">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_624_34" HREF="terminal_interface-curses-forms__ads.htm#ref_561_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_713_16">Set_Form_Term</A></span> (<span class="symbol"><A NAME="ref_713_31" HREF="terminal_interface-curses-forms__adb.htm#ref_713_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_714_31" HREF="terminal_interface-curses-forms__adb.htm#ref_713_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_626_16">Set_Form_Term</A></span> (<span class="symbol"><A NAME="ref_626_31" HREF="terminal_interface-curses-forms__adb.htm#ref_626_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_627_31" HREF="terminal_interface-curses-forms__adb.htm#ref_626_16">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Form_Term, "set_form_term");
- <span class="symbol"><A NAME="ref_717_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_713_16">Set_Form_Term</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_561_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_562_34">Proc</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_717_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_717_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_626_16">Set_Form_Term</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_560_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_561_34">Proc</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_560_14">Set_Form_Term_Hook</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_fields.3x</EM></span>
@@ -744,71 +654,64 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_730_14" HREF="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_730_24" HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_731_24" HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_640_14" HREF="terminal_interface-curses-forms__ads.htm#ref_590_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_640_24" HREF="terminal_interface-curses-forms__ads.htm#ref_590_24">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_641_24" HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_733_16">Set_Frm_Fields</A></span> (<span class="symbol"><A NAME="ref_733_32" HREF="terminal_interface-curses-forms__adb.htm#ref_733_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_734_32" HREF="terminal_interface-curses-forms__adb.htm#ref_733_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_643_16">Set_Frm_Fields</A></span> (<span class="symbol"><A NAME="ref_643_32" HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_644_32" HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Frm_Fields, "set_form_fields");
- <span class="symbol"><A NAME="ref_737_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A>'Last) = <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A>);
- <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A>'Last) /= <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A>'Last) = <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A>'Last) /= <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>else</b>
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_737_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_733_16">Set_Frm_Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_592_24">Flds</A>'First)'Address);
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_737_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_737_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">Set_Frm_Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_590_24">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_591_24">Flds</A>'First)'Address));
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_590_14">Redefine</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_752_13" HREF="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</A></span> (<span class="symbol"><A NAME="ref_752_21" HREF="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_753_21" HREF="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_658_13" HREF="terminal_interface-curses-forms__ads.htm#ref_602_13">Fields</A></span> (<span class="symbol"><A NAME="ref_658_21" HREF="terminal_interface-curses-forms__ads.htm#ref_602_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_659_21" HREF="terminal_interface-curses-forms__ads.htm#ref_603_21">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>
<b>is</b>
<b>use</b> F_Array;
- <b>function</b> C_Fields (<span class="symbol"><A NAME="ref_757_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Pointer;
+ <b>function</b> C_Fields (<span class="symbol"><A NAME="ref_663_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Pointer;
<b>pragma</b> Import (C, C_Fields, "form_fields");
- P : Pointer := C_Fields (<A HREF="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</A>);
+ P : Pointer := C_Fields (<A HREF="terminal_interface-curses-forms__ads.htm#ref_602_21">Frm</A>);
<b>begin</b>
- <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</A> &gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_603_21">Frm</A>) <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_603_21">Index</A> &gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_608_13">Field_Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_602_21">Frm</A>) <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>else</b>
- P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_604_21">Index</A>) - 1);
+ P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_603_21">Index</A>) - 1);
<b>return</b> P.<b>all</b>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_602_13">Fields</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_772_13" HREF="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</A></span> (<span class="symbol"><A NAME="ref_772_26" HREF="terminal_interface-curses-forms__ads.htm#ref_609_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Natural
+ <b>function</b> <span class="symbol"><A NAME="ref_678_13" HREF="terminal_interface-curses-forms__ads.htm#ref_608_13">Field_Count</A></span> (<span class="symbol"><A NAME="ref_678_26" HREF="terminal_interface-curses-forms__ads.htm#ref_608_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Natural
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_774_16">Count</A></span> (<span class="symbol"><A NAME="ref_774_23" HREF="terminal_interface-curses-forms__adb.htm#ref_774_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_680_16">Count</A></span> (<span class="symbol"><A NAME="ref_680_23" HREF="terminal_interface-curses-forms__adb.htm#ref_680_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Count, "field_count");
<b>begin</b>
- <b>return</b> Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_774_16">Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_609_26">Frm</A>));
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</A>;
+ <b>return</b> Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_680_16">Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_608_26">Frm</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_608_13">Field_Count</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_782_14" HREF="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</A></span> (<span class="symbol"><A NAME="ref_782_20" HREF="terminal_interface-curses-forms__ads.htm#ref_614_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_783_20" HREF="terminal_interface-curses-forms__ads.htm#ref_615_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_784_20" HREF="terminal_interface-curses-forms__ads.htm#ref_616_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_688_14" HREF="terminal_interface-curses-forms__ads.htm#ref_613_14">Move</A></span> (<span class="symbol"><A NAME="ref_688_20" HREF="terminal_interface-curses-forms__ads.htm#ref_613_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_689_20" HREF="terminal_interface-curses-forms__ads.htm#ref_614_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_690_20" HREF="terminal_interface-curses-forms__ads.htm#ref_615_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_786_16">Move</A></span> (<span class="symbol"><A NAME="ref_786_22" HREF="terminal_interface-curses-forms__adb.htm#ref_786_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>; <span class="symbol"><A NAME="ref_786_35" HREF="terminal_interface-curses-forms__adb.htm#ref_786_16">L</A></span>, <span class="symbol"><A NAME="ref_786_38" HREF="terminal_interface-curses-forms__adb.htm#ref_786_16">C</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_692_16">Move</A></span> (<span class="symbol"><A NAME="ref_692_22" HREF="terminal_interface-curses-forms__adb.htm#ref_692_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>; <span class="symbol"><A NAME="ref_692_35" HREF="terminal_interface-curses-forms__adb.htm#ref_692_16">L</A></span>, <span class="symbol"><A NAME="ref_692_38" HREF="terminal_interface-curses-forms__adb.htm#ref_692_16">C</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Move, "move_field");
- <span class="symbol"><A NAME="ref_789_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_786_16">Move</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_614_20">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_615_20">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_616_20">Column</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_789_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_789_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_692_16">Move</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_613_20">Fld</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_614_20">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_615_20">Column</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_613_14">Move</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_new.3x</EM></span>
@@ -816,39 +719,36 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_802_13" HREF="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</A></span> (<span class="symbol"><A NAME="ref_802_21" HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_705_13" HREF="terminal_interface-curses-forms__ads.htm#ref_624_13">Create</A></span> (<span class="symbol"><A NAME="ref_705_21" HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_804_16">NewForm</A></span> (<span class="symbol"><A NAME="ref_804_25" HREF="terminal_interface-curses-forms__adb.htm#ref_804_16">Fields</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_707_16">NewForm</A></span> (<span class="symbol"><A NAME="ref_707_25" HREF="terminal_interface-curses-forms__adb.htm#ref_707_16">Fields</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
<b>pragma</b> Import (C, NewForm, "new_form");
- <span class="symbol"><A NAME="ref_807_7">M</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+ <span class="symbol"><A NAME="ref_710_7">M</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
<b>begin</b>
- <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A>'Last) = <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A>);
- <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A>'Last) /= <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A>'Last) = <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A>'Last) /= <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>else</b>
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_807_7">M</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_804_16">NewForm</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_625_21">Fields</A>'First)'Address);
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_807_7">M</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_60_4">Null_Form</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <A HREF="terminal_interface-curses-forms__adb.htm#ref_710_7">M</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_707_16">NewForm</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_624_21">Fields</A>'First)'Address);
+ <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_710_7">M</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Form</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_807_7">M</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_710_7">M</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_624_13">Create</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_823_14" HREF="terminal_interface-curses-forms__ads.htm#ref_636_14">Delete</A></span> (<span class="symbol"><A NAME="ref_823_22" HREF="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_726_14" HREF="terminal_interface-curses-forms__ads.htm#ref_635_14">Delete</A></span> (<span class="symbol"><A NAME="ref_726_22" HREF="terminal_interface-curses-forms__ads.htm#ref_635_22">Frm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_825_16">Free</A></span> (<span class="symbol"><A NAME="ref_825_22" HREF="terminal_interface-curses-forms__adb.htm#ref_825_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_728_16">Free</A></span> (<span class="symbol"><A NAME="ref_728_22" HREF="terminal_interface-curses-forms__adb.htm#ref_728_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Free, "free_form");
- <span class="symbol"><A NAME="ref_828_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_825_16">Free</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_828_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_828_7">Res</A>);
- <b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_636_22">Frm</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_60_4">Null_Form</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_636_14">Delete</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_728_16">Free</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_635_22">Frm</A>));
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_635_22">Frm</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Form</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_635_14">Delete</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_opts.3x</EM></span>
@@ -856,70 +756,59 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_842_14" HREF="terminal_interface-curses-forms__ads.htm#ref_646_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_842_27" HREF="terminal_interface-curses-forms__ads.htm#ref_646_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_843_27" HREF="terminal_interface-curses-forms__ads.htm#ref_647_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_742_14" HREF="terminal_interface-curses-forms__ads.htm#ref_645_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_742_27" HREF="terminal_interface-curses-forms__ads.htm#ref_645_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_743_27" HREF="terminal_interface-curses-forms__ads.htm#ref_646_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_845_16">Set_Form_Opts</A></span> (<span class="symbol"><A NAME="ref_845_31" HREF="terminal_interface-curses-forms__adb.htm#ref_845_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_846_31" HREF="terminal_interface-curses-forms__adb.htm#ref_845_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_745_16">Set_Form_Opts</A></span> (<span class="symbol"><A NAME="ref_745_31" HREF="terminal_interface-curses-forms__adb.htm#ref_745_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_746_31" HREF="terminal_interface-curses-forms__adb.htm#ref_745_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Form_Opts, "set_form_opts");
- <span class="symbol"><A NAME="ref_849_7">Opt</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := FrmOS_2_CInt (<A HREF="terminal_interface-curses-forms__ads.htm#ref_647_27">Options</A>);
- <span class="symbol"><A NAME="ref_850_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_850_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_845_16">Set_Form_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_646_27">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_849_7">Opt</A>);
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_850_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_850_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_646_14">Set_Options</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_745_16">Set_Form_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_645_27">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_646_27">Options</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_645_14">Set_Options</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_860_14" HREF="terminal_interface-curses-forms__ads.htm#ref_652_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_860_30" HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_861_30" HREF="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
- <span class="symbol"><A NAME="ref_862_30" HREF="terminal_interface-curses-forms__ads.htm#ref_654_30">On</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_755_14" HREF="terminal_interface-curses-forms__ads.htm#ref_651_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_755_30" HREF="terminal_interface-curses-forms__ads.htm#ref_651_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_756_30" HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
+ <span class="symbol"><A NAME="ref_757_30" HREF="terminal_interface-curses-forms__ads.htm#ref_653_30">On</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_864_16">Form_Opts_On</A></span> (<span class="symbol"><A NAME="ref_864_30" HREF="terminal_interface-curses-forms__adb.htm#ref_864_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_865_30" HREF="terminal_interface-curses-forms__adb.htm#ref_864_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_759_16">Form_Opts_On</A></span> (<span class="symbol"><A NAME="ref_759_30" HREF="terminal_interface-curses-forms__adb.htm#ref_759_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_760_30" HREF="terminal_interface-curses-forms__adb.htm#ref_759_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Form_Opts_On, "form_opts_on");
- <b>function</b> <span class="symbol"><A NAME="ref_867_16">Form_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_867_31" HREF="terminal_interface-curses-forms__adb.htm#ref_867_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_868_31" HREF="terminal_interface-curses-forms__adb.htm#ref_867_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_762_16">Form_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_762_31" HREF="terminal_interface-curses-forms__adb.htm#ref_762_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_763_31" HREF="terminal_interface-curses-forms__adb.htm#ref_762_16">Opt</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Form_Opts_Off, "form_opts_off");
- <span class="symbol"><A NAME="ref_871_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
- <span class="symbol"><A NAME="ref_872_7">Opt</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := FrmOS_2_CInt (<A HREF="terminal_interface-curses-forms__ads.htm#ref_653_30">Options</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_654_30">On</A> <b>then</b>
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_871_7">Err</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_864_16">Form_Opts_On</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_872_7">Opt</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_653_30">On</A> <b>then</b>
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_759_16">Form_Opts_On</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_651_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">Options</A>));
<b>else</b>
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_871_7">Err</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_867_16">Form_Opts_Off</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_872_7">Opt</A>);
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_762_16">Form_Opts_Off</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_651_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">Options</A>));
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_871_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_871_7">Err</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_652_14">Switch_Options</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_651_14">Switch_Options</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_886_14" HREF="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_886_27" HREF="terminal_interface-curses-forms__ads.htm#ref_660_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_887_27" HREF="terminal_interface-curses-forms__ads.htm#ref_661_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_776_14" HREF="terminal_interface-curses-forms__ads.htm#ref_659_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_776_27" HREF="terminal_interface-curses-forms__ads.htm#ref_659_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_777_27" HREF="terminal_interface-curses-forms__ads.htm#ref_660_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_889_16">Form_Opts</A></span> (<span class="symbol"><A NAME="ref_889_27" HREF="terminal_interface-curses-forms__adb.htm#ref_889_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_779_16">Form_Opts</A></span> (<span class="symbol"><A NAME="ref_779_27" HREF="terminal_interface-curses-forms__adb.htm#ref_779_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
<b>pragma</b> Import (C, Form_Opts, "form_opts");
- <span class="symbol"><A NAME="ref_892_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_889_16">Form_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_660_27">Frm</A>);
<b>begin</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_661_27">Options</A> := CInt_2_FrmOS (<A HREF="terminal_interface-curses-forms__adb.htm#ref_892_7">Res</A>);
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_660_27">Options</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_779_16">Form_Opts</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_659_27">Frm</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_659_14">Get_Options</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_899_13" HREF="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_899_26" HREF="terminal_interface-curses-forms__ads.htm#ref_665_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_60_4">Null_Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_788_13" HREF="terminal_interface-curses-forms__ads.htm#ref_664_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_788_26" HREF="terminal_interface-curses-forms__ads.htm#ref_664_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_901_7">Fos</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
+ <span class="symbol"><A NAME="ref_790_7">Fos</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_660_14">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_665_26">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_901_7">Fos</A>);
- <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_901_7">Fos</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_659_14">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_664_26">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_790_7">Fos</A>);
+ <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_790_7">Fos</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_664_13">Get_Options</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_post.3x</EM></span>
@@ -927,25 +816,21 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_913_14" HREF="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</A></span> (<span class="symbol"><A NAME="ref_913_20" HREF="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_914_20" HREF="terminal_interface-curses-forms__ads.htm#ref_675_20">Post</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_802_14" HREF="terminal_interface-curses-forms__ads.htm#ref_673_14">Post</A></span> (<span class="symbol"><A NAME="ref_802_20" HREF="terminal_interface-curses-forms__ads.htm#ref_673_20">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_803_20" HREF="terminal_interface-curses-forms__ads.htm#ref_674_20">Post</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_916_16">M_Post</A></span> (<span class="symbol"><A NAME="ref_916_24" HREF="terminal_interface-curses-forms__adb.htm#ref_916_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_805_16">M_Post</A></span> (<span class="symbol"><A NAME="ref_805_24" HREF="terminal_interface-curses-forms__adb.htm#ref_805_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, M_Post, "post_form");
- <b>function</b> <span class="symbol"><A NAME="ref_918_16">M_Unpost</A></span> (<span class="symbol"><A NAME="ref_918_26" HREF="terminal_interface-curses-forms__adb.htm#ref_918_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_807_16">M_Unpost</A></span> (<span class="symbol"><A NAME="ref_807_26" HREF="terminal_interface-curses-forms__adb.htm#ref_807_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, M_Unpost, "unpost_form");
- <span class="symbol"><A NAME="ref_921_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_675_20">Post</A> <b>then</b>
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_921_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_916_16">M_Post</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_674_20">Post</A> <b>then</b>
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_805_16">M_Post</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_673_20">Frm</A>));
<b>else</b>
- <A HREF="terminal_interface-curses-forms__adb.htm#ref_921_7">Res</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_918_16">M_Unpost</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_674_20">Frm</A>);
- <b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_921_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_921_7">Res</A>);
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_807_16">M_Unpost</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_673_20">Frm</A>));
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_673_14">Post</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_cursor.3x</EM></span>
@@ -953,17 +838,14 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_939_14" HREF="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_939_31" HREF="terminal_interface-curses-forms__ads.htm#ref_685_31">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_824_14" HREF="terminal_interface-curses-forms__ads.htm#ref_684_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_824_31" HREF="terminal_interface-curses-forms__ads.htm#ref_684_31">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_941_16">Pos_Form_Cursor</A></span> (<span class="symbol"><A NAME="ref_941_33" HREF="terminal_interface-curses-forms__adb.htm#ref_941_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_826_16">Pos_Form_Cursor</A></span> (<span class="symbol"><A NAME="ref_826_33" HREF="terminal_interface-curses-forms__adb.htm#ref_826_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Pos_Form_Cursor, "pos_form_cursor");
- <span class="symbol"><A NAME="ref_944_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_941_16">Pos_Form_Cursor</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_685_31">Frm</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_944_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_944_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_826_16">Pos_Form_Cursor</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_684_31">Frm</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_684_14">Position_Cursor</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_data.3x</EM></span>
@@ -971,35 +853,35 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_957_13" HREF="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</A></span> (<span class="symbol"><A NAME="ref_957_25" HREF="terminal_interface-curses-forms__ads.htm#ref_694_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_839_13" HREF="terminal_interface-curses-forms__ads.htm#ref_693_13">Data_Ahead</A></span> (<span class="symbol"><A NAME="ref_839_25" HREF="terminal_interface-curses-forms__ads.htm#ref_693_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_959_16">Ahead</A></span> (<span class="symbol"><A NAME="ref_959_23" HREF="terminal_interface-curses-forms__adb.htm#ref_959_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_841_16">Ahead</A></span> (<span class="symbol"><A NAME="ref_841_23" HREF="terminal_interface-curses-forms__adb.htm#ref_841_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Ahead, "data_ahead");
- <span class="symbol"><A NAME="ref_962_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_959_16">Ahead</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_694_25">Frm</A>);
+ <span class="symbol"><A NAME="ref_844_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_841_16">Ahead</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_693_25">Frm</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_962_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Curses_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_844_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_693_13">Data_Ahead</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_973_13" HREF="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</A></span> (<span class="symbol"><A NAME="ref_973_26" HREF="terminal_interface-curses-forms__ads.htm#ref_699_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_855_13" HREF="terminal_interface-curses-forms__ads.htm#ref_698_13">Data_Behind</A></span> (<span class="symbol"><A NAME="ref_855_26" HREF="terminal_interface-curses-forms__ads.htm#ref_698_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_975_16">Behind</A></span> (<span class="symbol"><A NAME="ref_975_24" HREF="terminal_interface-curses-forms__adb.htm#ref_975_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_857_16">Behind</A></span> (<span class="symbol"><A NAME="ref_857_24" HREF="terminal_interface-curses-forms__adb.htm#ref_857_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Behind, "data_behind");
- <span class="symbol"><A NAME="ref_978_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_975_16">Behind</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_699_26">Frm</A>);
+ <span class="symbol"><A NAME="ref_860_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_857_16">Behind</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_698_26">Frm</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_978_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Curses_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_860_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_698_13">Data_Behind</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_driver.3x</EM></span>
@@ -1007,29 +889,26 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_993_13" HREF="terminal_interface-curses-forms__ads.htm#ref_713_13">Driver</A></span> (<span class="symbol"><A NAME="ref_993_21" HREF="terminal_interface-curses-forms__ads.htm#ref_713_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_994_21" HREF="terminal_interface-curses-forms__ads.htm#ref_714_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_68_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_707_9">Driver_Result</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_875_13" HREF="terminal_interface-curses-forms__ads.htm#ref_712_13">Driver</A></span> (<span class="symbol"><A NAME="ref_875_21" HREF="terminal_interface-curses-forms__ads.htm#ref_712_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_876_21" HREF="terminal_interface-curses-forms__ads.htm#ref_713_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_706_9">Driver_Result</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_996_16">Frm_Driver</A></span> (<span class="symbol"><A NAME="ref_996_28" HREF="terminal_interface-curses-forms__adb.htm#ref_996_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>; <span class="symbol"><A NAME="ref_996_40" HREF="terminal_interface-curses-forms__adb.htm#ref_996_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_878_16">Frm_Driver</A></span> (<span class="symbol"><A NAME="ref_878_28" HREF="terminal_interface-curses-forms__adb.htm#ref_878_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>; <span class="symbol"><A NAME="ref_878_40" HREF="terminal_interface-curses-forms__adb.htm#ref_878_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Frm_Driver, "form_driver");
- <span class="symbol"><A NAME="ref_999_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_996_16">Frm_Driver</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_713_21">Frm</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_714_21">Key</A>));
+ <span class="symbol"><A NAME="ref_881_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_878_16">Frm_Driver</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_712_21">Frm</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_713_21">Key</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_999_7">R</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_999_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_4">E_Unknown_Command</A> <b>then</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_709_27">Unknown_Request</A>;
- <b>elsif</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_999_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_93_4">E_Invalid_Field</A> <b>then</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_710_27">Invalid_Field</A>;
- <b>elsif</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_999_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_4">E_Request_Denied</A> <b>then</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_708_27">Request_Denied</A>;
- <b>else</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_999_7">R</A>);
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_707_27">Form_Ok</A>;
- <b>end</b> <b>if</b>;
- <b>else</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_707_27">Form_Ok</A>;
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_713_13">Driver</A>;
+ <b>case</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_881_7">R</A> <b>is</b>
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_76_7">E_Unknown_Command</A> =&gt;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_708_27">Unknown_Request</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_7">E_Invalid_Field</A> =&gt;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_709_27">Invalid_Field</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Request_Denied</A> =&gt;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_707_27">Request_Denied</A>;
+ <b>when</b> <b>others</b> =&gt;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_881_7">R</A>);
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_706_27">Form_Ok</A>;
+ <b>end</b> <b>case</b>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_712_13">Driver</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | man page form_page.3x</EM></span>
@@ -1037,77 +916,71 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1023_14" HREF="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_1023_27" HREF="terminal_interface-curses-forms__ads.htm#ref_725_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_1024_27" HREF="terminal_interface-curses-forms__ads.htm#ref_726_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_902_14" HREF="terminal_interface-curses-forms__ads.htm#ref_724_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_902_27" HREF="terminal_interface-curses-forms__ads.htm#ref_724_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_903_27" HREF="terminal_interface-curses-forms__ads.htm#ref_725_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1026_16">Set_Current_Fld</A></span> (<span class="symbol"><A NAME="ref_1026_33" HREF="terminal_interface-curses-forms__adb.htm#ref_1026_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>; <span class="symbol"><A NAME="ref_1026_45" HREF="terminal_interface-curses-forms__adb.htm#ref_1026_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_905_16">Set_Current_Fld</A></span> (<span class="symbol"><A NAME="ref_905_33" HREF="terminal_interface-curses-forms__adb.htm#ref_905_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>; <span class="symbol"><A NAME="ref_905_45" HREF="terminal_interface-curses-forms__adb.htm#ref_905_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Current_Fld, "set_current_field");
- <span class="symbol"><A NAME="ref_1029_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_1026_16">Set_Current_Fld</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_725_27">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_726_27">Fld</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_1029_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1029_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_905_16">Set_Current_Fld</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_724_27">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_725_27">Fld</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_724_14">Set_Current</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1038_13" HREF="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</A></span> (<span class="symbol"><A NAME="ref_1038_22" HREF="terminal_interface-curses-forms__ads.htm#ref_731_22">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_914_13" HREF="terminal_interface-curses-forms__ads.htm#ref_730_13">Current</A></span> (<span class="symbol"><A NAME="ref_914_22" HREF="terminal_interface-curses-forms__ads.htm#ref_730_22">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1040_16">Current_Fld</A></span> (<span class="symbol"><A NAME="ref_1040_29" HREF="terminal_interface-curses-forms__adb.htm#ref_1040_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_916_16">Current_Fld</A></span> (<span class="symbol"><A NAME="ref_916_29" HREF="terminal_interface-curses-forms__adb.htm#ref_916_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<b>pragma</b> Import (C, Current_Fld, "current_field");
- <span class="symbol"><A NAME="ref_1043_7">Fld</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_1040_16">Current_Fld</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_731_22">Frm</A>);
+ <span class="symbol"><A NAME="ref_919_7">Fld</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_916_16">Current_Fld</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_730_22">Frm</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_1043_7">Fld</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_919_7">Fld</A> = <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_1043_7">Fld</A>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_919_7">Fld</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_730_13">Current</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1053_14" HREF="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</A></span> (<span class="symbol"><A NAME="ref_1053_24" HREF="terminal_interface-curses-forms__ads.htm#ref_736_24">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_1054_24" HREF="terminal_interface-curses-forms__ads.htm#ref_737_24">Page</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A>'First)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_929_14" HREF="terminal_interface-curses-forms__ads.htm#ref_735_14">Set_Page</A></span> (<span class="symbol"><A NAME="ref_929_24" HREF="terminal_interface-curses-forms__ads.htm#ref_735_24">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_930_24" HREF="terminal_interface-curses-forms__ads.htm#ref_736_24">Page</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A>'First)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1056_16">Set_Frm_Page</A></span> (<span class="symbol"><A NAME="ref_1056_30" HREF="terminal_interface-curses-forms__adb.htm#ref_1056_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>; <span class="symbol"><A NAME="ref_1056_42" HREF="terminal_interface-curses-forms__adb.htm#ref_1056_16">Pg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_932_16">Set_Frm_Page</A></span> (<span class="symbol"><A NAME="ref_932_30" HREF="terminal_interface-curses-forms__adb.htm#ref_932_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>; <span class="symbol"><A NAME="ref_932_42" HREF="terminal_interface-curses-forms__adb.htm#ref_932_16">Pg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Frm_Page, "set_form_page");
- <span class="symbol"><A NAME="ref_1059_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_1056_16">Set_Frm_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_736_24">Frm</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_737_24">Page</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_1059_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1059_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_932_16">Set_Frm_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_735_24">Frm</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_736_24">Page</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_735_14">Set_Page</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1068_13" HREF="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</A></span> (<span class="symbol"><A NAME="ref_1068_19" HREF="terminal_interface-curses-forms__ads.htm#ref_742_19">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_941_13" HREF="terminal_interface-curses-forms__ads.htm#ref_741_13">Page</A></span> (<span class="symbol"><A NAME="ref_941_19" HREF="terminal_interface-curses-forms__ads.htm#ref_741_19">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1070_16">Get_Page</A></span> (<span class="symbol"><A NAME="ref_1070_26" HREF="terminal_interface-curses-forms__adb.htm#ref_1070_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_943_16">Get_Page</A></span> (<span class="symbol"><A NAME="ref_943_26" HREF="terminal_interface-curses-forms__adb.htm#ref_943_16">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Get_Page, "form_page");
- <span class="symbol"><A NAME="ref_1073_7">P</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_1070_16">Get_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_742_19">Frm</A>);
+ <span class="symbol"><A NAME="ref_946_7">P</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_943_16">Get_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_741_19">Frm</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_1073_7">P</A> &lt; 0 <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_946_7">P</A> &lt; 0 <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>else</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1073_7">P</A>);
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_946_7">P</A>);
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_741_13">Page</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_1082_13" HREF="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_1082_24" HREF="terminal_interface-curses-forms__ads.htm#ref_747_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> Positive
+ <b>function</b> <span class="symbol"><A NAME="ref_955_13" HREF="terminal_interface-curses-forms__ads.htm#ref_746_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_955_24" HREF="terminal_interface-curses-forms__ads.htm#ref_746_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> Positive
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1084_16">Get_Fieldindex</A></span> (<span class="symbol"><A NAME="ref_1084_32" HREF="terminal_interface-curses-forms__adb.htm#ref_1084_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_957_16">Get_Fieldindex</A></span> (<span class="symbol"><A NAME="ref_957_32" HREF="terminal_interface-curses-forms__adb.htm#ref_957_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Get_Fieldindex, "field_index");
- <span class="symbol"><A NAME="ref_1087_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_1084_16">Get_Fieldindex</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_747_24">Fld</A>);
+ <span class="symbol"><A NAME="ref_960_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_957_16">Get_Fieldindex</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_746_24">Fld</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_1087_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_288_4">Form_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_960_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_287_4">Form_Exception</A>;
<b>end</b> <b>if</b>;
- <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1087_7">Res</A>) + Positive'First);
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</A>;
+ <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-forms__adb.htm#ref_960_7">Res</A>) + Positive'First);
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_746_13">Get_Index</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
@@ -1116,64 +989,61 @@
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1102_14" HREF="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</A></span> (<span class="symbol"><A NAME="ref_1102_28" HREF="terminal_interface-curses-forms__ads.htm#ref_759_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_1103_28" HREF="terminal_interface-curses-forms__ads.htm#ref_760_28">New_Page</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_975_14" HREF="terminal_interface-curses-forms__ads.htm#ref_758_14">Set_New_Page</A></span> (<span class="symbol"><A NAME="ref_975_28" HREF="terminal_interface-curses-forms__ads.htm#ref_758_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_976_28" HREF="terminal_interface-curses-forms__ads.htm#ref_759_28">New_Page</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1105_16">Set_Page</A></span> (<span class="symbol"><A NAME="ref_1105_26" HREF="terminal_interface-curses-forms__adb.htm#ref_1105_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>; <span class="symbol"><A NAME="ref_1105_39" HREF="terminal_interface-curses-forms__adb.htm#ref_1105_16">Flg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_978_16">Set_Page</A></span> (<span class="symbol"><A NAME="ref_978_26" HREF="terminal_interface-curses-forms__adb.htm#ref_978_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>; <span class="symbol"><A NAME="ref_978_39" HREF="terminal_interface-curses-forms__adb.htm#ref_978_16">Flg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Page, "set_new_page");
- <span class="symbol"><A NAME="ref_1108_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_1105_16">Set_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_759_28">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_760_28">New_Page</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_1108_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1108_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_978_16">Set_Page</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_758_28">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_759_28">New_Page</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_758_14">Set_New_Page</A>;
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1117_13" HREF="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</A></span> (<span class="symbol"><A NAME="ref_1117_26" HREF="terminal_interface-curses-forms__ads.htm#ref_765_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_987_13" HREF="terminal_interface-curses-forms__ads.htm#ref_764_13">Is_New_Page</A></span> (<span class="symbol"><A NAME="ref_987_26" HREF="terminal_interface-curses-forms__ads.htm#ref_764_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1119_16">Is_New</A></span> (<span class="symbol"><A NAME="ref_1119_24" HREF="terminal_interface-curses-forms__adb.htm#ref_1119_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_989_16">Is_New</A></span> (<span class="symbol"><A NAME="ref_989_24" HREF="terminal_interface-curses-forms__adb.htm#ref_989_16">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Is_New, "new_page");
- <span class="symbol"><A NAME="ref_1122_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_1119_16">Is_New</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_765_26">Fld</A>);
+ <span class="symbol"><A NAME="ref_992_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-forms__adb.htm#ref_989_16">Is_New</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_764_26">Fld</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_1122_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Curses_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-forms__adb.htm#ref_992_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_764_13">Is_New_Page</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1131_14" HREF="terminal_interface-curses-forms__ads.htm#ref_138_14">Free</A></span> (<span class="symbol"><A NAME="ref_1131_20" HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>;
- <span class="symbol"><A NAME="ref_1132_20" HREF="terminal_interface-curses-forms__ads.htm#ref_139_20">Free_Fields</A></span> : Boolean := False)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1001_14" HREF="terminal_interface-curses-forms__ads.htm#ref_137_14">Free</A></span> (<span class="symbol"><A NAME="ref_1001_20" HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>;
+ <span class="symbol"><A NAME="ref_1002_20" HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">Free_Fields</A></span> : Boolean := False)
<b>is</b>
<b>procedure</b> Release <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
- (Field_Array, <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>);
+ (Field_Array, <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_139_20">Free_Fields</A> <b>then</b>
- <b>for</b> <span class="symbol"><A NAME="ref_1138_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A>'First .. (<A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A>'Last - 1) <b>loop</b>
- <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1138_14">I</A>) /= <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A> <b>then</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_317_14">Delete</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1138_14">I</A>));
+ <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">Free_Fields</A> <b>then</b>
+ <b>for</b> <span class="symbol"><A NAME="ref_1008_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A>'First .. (<A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A>'Last - 1) <b>loop</b>
+ <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1008_14">I</A>) /= <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> <b>then</b>
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_316_14">Delete</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A>.<b>all</b> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1008_14">I</A>));
<b>end</b> <b>if</b>;
<b>end</b> <b>loop</b>;
<b>end</b> <b>if</b>;
- Release (<A HREF="terminal_interface-curses-forms__ads.htm#ref_138_20">FA</A>);
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_138_14">Free</A>;
+ Release (<A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">FA</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_137_14">Free</A>;
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1149_13" HREF="terminal_interface-curses-forms__ads.htm#ref_103_13">Default_Field_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_1019_13" HREF="terminal_interface-curses-forms__ads.htm#ref_104_13">Default_Field_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>
<b>is</b>
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_418_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A>);
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_103_13">Default_Field_Options</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_417_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_104_13">Default_Field_Options</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_1155_13" HREF="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_1025_13" HREF="terminal_interface-curses-forms__ads.htm#ref_126_13">Default_Form_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>
<b>is</b>
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_665_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_60_4">Null_Form</A>);
- <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_664_13">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Form</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_126_13">Default_Form_Options</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-forms__ads.htm b/doc/html/ada/terminal_interface-curses-forms__ads.htm
index 2a244ab7cdd1..2053855972ee 100644
--- a/doc/html/ada/terminal_interface-curses-forms__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-forms__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,388 +52,387 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.30 @</EM></span>
-<span class="comment"><EM>-- @Date: 2009/12/26 17:31:35 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.33 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:31:57 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- form binding.</EM></span>
-<span class="comment"><EM>-- This module is generated. Please don't change it manually!</EM></span>
-<span class="comment"><EM>-- Run the generator instead.</EM></span>
-<span class="comment"><EM>-- |</EM></span>
<b>with</b> System;
<b>with</b> Ada.Characters.Latin_1;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_49_35" HREF="terminal_interface-curses-forms__adb.htm#ref_51_40">Forms</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>);
- <b>pragma</b> Linker_Options ("-lform");
- <b>pragma</b> Linker_Options ("-lncurses");
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_45_35" HREF="terminal_interface-curses-forms__adb.htm#ref_50_40">Forms</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>);
+ <b>pragma</b> Linker_Options ("-lform" &amp; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</A>);
Space : Character <b>renames</b> Ada.Characters.Latin_1.Space;
- <b>type</b> <span class="symbol"><A NAME="ref_56_9">Field</A></span> <b>is</b> <b>private</b>;
- <b>type</b> <span class="symbol"><A NAME="ref_57_9">Form</A></span> <b>is</b> <b>private</b>;
+ <b>type</b> <span class="symbol"><A NAME="ref_51_9">Field</A></span> <b>is</b> <b>private</b>;
+ <b>type</b> <span class="symbol"><A NAME="ref_52_9">Form</A></span> <b>is</b> <b>private</b>;
- <span class="symbol"><A NAME="ref_59_4">Null_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_60_4">Null_Form</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+ <span class="symbol"><A NAME="ref_54_4">Null_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_55_4">Null_Form</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
- <b>type</b> <span class="symbol"><A NAME="ref_62_9">Field_Justification</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_62_33">None</A></span>,
- <span class="symbol"><A NAME="ref_63_33">Left</A></span>,
- <span class="symbol"><A NAME="ref_64_33">Center</A></span>,
- <span class="symbol"><A NAME="ref_65_33">Right</A></span>);
+ <b>type</b> <span class="symbol"><A NAME="ref_57_9">Field_Justification</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_57_33">None</A></span>,
+ <span class="symbol"><A NAME="ref_58_33">Left</A></span>,
+ <span class="symbol"><A NAME="ref_59_33">Center</A></span>,
+ <span class="symbol"><A NAME="ref_60_33">Right</A></span>);
- <b>pragma</b> Warnings (Off);
- <b>type</b> <span class="symbol"><A NAME="ref_68_9">Field_Option_Set</A></span> <b>is</b>
+ <b>type</b> <span class="symbol"><A NAME="ref_62_9">Field_Option_Set</A></span> <b>is</b>
<b>record</b>
- <span class="symbol"><A NAME="ref_70_10">Visible</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_71_10">Active</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_72_10">Public</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_73_10">Edit</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_74_10">Wrap</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_75_10">Blank</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_76_10">Auto_Skip</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_77_10">Null_Ok</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_78_10">Pass_Ok</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_79_10">Static</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_64_10">Visible</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_65_10">Active</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_66_10">Public</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_67_10">Edit</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_68_10">Wrap</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_69_10">Blank</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_70_10">Auto_Skip</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_71_10">Null_Ok</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_72_10">Pass_Ok</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_73_10">Static</A></span> : Boolean;
<b>end</b> <b>record</b>;
- <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>);
+ <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>);
- <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A> <b>use</b>
+ <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A> <b>use</b>
<b>record</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_70_10">Visible</A> <b>at</b> 0 <b>range</b> 0 .. 0;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_71_10">Active</A> <b>at</b> 0 <b>range</b> 1 .. 1;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_72_10">Public</A> <b>at</b> 0 <b>range</b> 2 .. 2;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_73_10">Edit</A> <b>at</b> 0 <b>range</b> 3 .. 3;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_74_10">Wrap</A> <b>at</b> 0 <b>range</b> 4 .. 4;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_75_10">Blank</A> <b>at</b> 0 <b>range</b> 5 .. 5;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_76_10">Auto_Skip</A> <b>at</b> 0 <b>range</b> 6 .. 6;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_77_10">Null_Ok</A> <b>at</b> 0 <b>range</b> 7 .. 7;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_78_10">Pass_Ok</A> <b>at</b> 0 <b>range</b> 8 .. 8;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_79_10">Static</A> <b>at</b> 0 <b>range</b> 9 .. 9;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_64_10">Visible</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_279_4">O_VISIBLE_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_280_4">O_VISIBLE_Last</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_65_10">Active</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_281_4">O_ACTIVE_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_282_4">O_ACTIVE_Last</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_66_10">Public</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_283_4">O_PUBLIC_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_284_4">O_PUBLIC_Last</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_67_10">Edit</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_285_4">O_EDIT_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_286_4">O_EDIT_Last</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_10">Wrap</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_287_4">O_WRAP_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_288_4">O_WRAP_Last</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_69_10">Blank</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_289_4">O_BLANK_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_290_4">O_BLANK_Last</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_70_10">Auto_Skip</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_291_4">O_AUTOSKIP_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_292_4">O_AUTOSKIP_Last</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_71_10">Null_Ok</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_293_4">O_NULLOK_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_294_4">O_NULLOK_Last</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_72_10">Pass_Ok</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_295_4">O_PASSOK_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_296_4">O_PASSOK_Last</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_73_10">Static</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_297_4">O_STATIC_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_298_4">O_STATIC_Last</A>;
<b>end</b> <b>record</b>;
- <b>pragma</b> Warnings (Off); <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>'Size <b>use</b> 32;
- <b>pragma</b> Warnings (On);
- <span class="comment"><EM>-- Please note: this rep. clause is generated and may be</EM></span>
- <span class="comment"><EM>-- different on your system.Dnl</EM></span>
-
+ <b>pragma</b> Warnings (Off);
+ <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_299_4">Field_Options_Size</A>;
<b>pragma</b> Warnings (On);
- <b>function</b> <span class="symbol"><A NAME="ref_103_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1149_13">Default_Field_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_104_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1019_13">Default_Field_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>;
<span class="comment"><EM>-- The initial defaults for the field options.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_103_13">Default_Field_Options</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_104_13">Default_Field_Options</A>);
- <b>pragma</b> Warnings (Off);
<b>type</b> <span class="symbol"><A NAME="ref_108_9">Form_Option_Set</A></span> <b>is</b>
<b>record</b>
<span class="symbol"><A NAME="ref_110_10">NL_Overload</A></span> : Boolean;
<span class="symbol"><A NAME="ref_111_10">BS_Overload</A></span> : Boolean;
<b>end</b> <b>record</b>;
- <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>);
+ <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>);
<b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A> <b>use</b>
<b>record</b>
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_110_10">NL_Overload</A> <b>at</b> 0 <b>range</b> 0 .. 0;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_111_10">BS_Overload</A> <b>at</b> 0 <b>range</b> 1 .. 1;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_110_10">NL_Overload</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_303_4">O_NL_OVERLOAD_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_304_4">O_NL_OVERLOAD_Last</A>;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_111_10">BS_Overload</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_305_4">O_BS_OVERLOAD_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_306_4">O_BS_OVERLOAD_Last</A>;
<b>end</b> <b>record</b>;
- <b>pragma</b> Warnings (Off); <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>'Size <b>use</b> 32;
- <b>pragma</b> Warnings (On);
- <span class="comment"><EM>-- Please note: this rep. clause is generated and may be</EM></span>
- <span class="comment"><EM>-- different on your system.Dnl</EM></span>
-
+ <b>pragma</b> Warnings (Off);
+ <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_299_4">Field_Options_Size</A>;
<b>pragma</b> Warnings (On);
- <b>function</b> <span class="symbol"><A NAME="ref_127_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1155_13">Default_Form_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_126_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1025_13">Default_Form_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
<span class="comment"><EM>-- The initial defaults for the form options.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_127_13">Default_Form_Options</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_126_13">Default_Form_Options</A>);
- <b>type</b> <span class="symbol"><A NAME="ref_131_9">Buffer_Number</A></span> <b>is</b> <b>new</b> Natural;
+ <b>type</b> <span class="symbol"><A NAME="ref_130_9">Buffer_Number</A></span> <b>is</b> <b>new</b> Natural;
- <b>type</b> Field_Array <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <b>type</b> Field_Array <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<b>pragma</b> Convention (C, Field_Array);
- <b>type</b> <span class="symbol"><A NAME="ref_136_9">Field_Array_Access</A></span> <b>is</b> <b>access</b> Field_Array;
+ <b>type</b> <span class="symbol"><A NAME="ref_135_9">Field_Array_Access</A></span> <b>is</b> <b>access</b> Field_Array;
- <b>procedure</b> <span class="symbol"><A NAME="ref_138_14" HREF="terminal_interface-curses-forms__adb.htm#ref_1131_14">Free</A></span> (<span class="symbol"><A NAME="ref_138_20" HREF="terminal_interface-curses-forms__adb.htm#ref_1131_20">FA</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>;
- <span class="symbol"><A NAME="ref_139_20" HREF="terminal_interface-curses-forms__adb.htm#ref_1132_20">Free_Fields</A></span> : Boolean := False);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_137_14" HREF="terminal_interface-curses-forms__adb.htm#ref_1001_14">Free</A></span> (<span class="symbol"><A NAME="ref_137_20" HREF="terminal_interface-curses-forms__adb.htm#ref_1001_20">FA</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>;
+ <span class="symbol"><A NAME="ref_138_20" HREF="terminal_interface-curses-forms__adb.htm#ref_1002_20">Free_Fields</A></span> : Boolean := False);
<span class="comment"><EM>-- Release the memory for an allocated field array</EM></span>
<span class="comment"><EM>-- If Free_Fields is True, call Delete() for all the fields in</EM></span>
<span class="comment"><EM>-- the array.</EM></span>
- <b>subtype</b> <span class="symbol"><A NAME="ref_144_12">Form_Request_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_68_9">Key_Code</A> <b>range</b> (<A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 1) .. (<A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 57);
+ <b>subtype</b> <span class="symbol"><A NAME="ref_143_12">Form_Request_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A> <b>range</b> (<A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 1) .. (<A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 57);
<span class="comment"><EM>-- The prefix F_ stands for "Form Request"</EM></span>
- <span class="symbol"><A NAME="ref_147_4">F_Next_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 1;
- <span class="symbol"><A NAME="ref_148_4">F_Previous_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 2;
- <span class="symbol"><A NAME="ref_149_4">F_First_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 3;
- <span class="symbol"><A NAME="ref_150_4">F_Last_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 4;
-
- <span class="symbol"><A NAME="ref_152_4">F_Next_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 5;
- <span class="symbol"><A NAME="ref_153_4">F_Previous_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 6;
- <span class="symbol"><A NAME="ref_154_4">F_First_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 7;
- <span class="symbol"><A NAME="ref_155_4">F_Last_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 8;
- <span class="symbol"><A NAME="ref_156_4">F_Sorted_Next_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 9;
- <span class="symbol"><A NAME="ref_157_4">F_Sorted_Previous_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 10;
- <span class="symbol"><A NAME="ref_158_4">F_Sorted_First_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 11;
- <span class="symbol"><A NAME="ref_159_4">F_Sorted_Last_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 12;
- <span class="symbol"><A NAME="ref_160_4">F_Left_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 13;
- <span class="symbol"><A NAME="ref_161_4">F_Right_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 14;
- <span class="symbol"><A NAME="ref_162_4">F_Up_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 15;
- <span class="symbol"><A NAME="ref_163_4">F_Down_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 16;
-
- <span class="symbol"><A NAME="ref_165_4">F_Next_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 17;
- <span class="symbol"><A NAME="ref_166_4">F_Previous_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 18;
- <span class="symbol"><A NAME="ref_167_4">F_Next_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 19;
- <span class="symbol"><A NAME="ref_168_4">F_Previous_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 20;
- <span class="symbol"><A NAME="ref_169_4">F_Next_Word</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 21;
- <span class="symbol"><A NAME="ref_170_4">F_Previous_Word</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 22;
- <span class="symbol"><A NAME="ref_171_4">F_Begin_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 23;
- <span class="symbol"><A NAME="ref_172_4">F_End_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 24;
- <span class="symbol"><A NAME="ref_173_4">F_Begin_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 25;
- <span class="symbol"><A NAME="ref_174_4">F_End_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 26;
- <span class="symbol"><A NAME="ref_175_4">F_Left_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 27;
- <span class="symbol"><A NAME="ref_176_4">F_Right_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 28;
- <span class="symbol"><A NAME="ref_177_4">F_Up_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 29;
- <span class="symbol"><A NAME="ref_178_4">F_Down_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 30;
-
- <span class="symbol"><A NAME="ref_180_4">F_New_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 31;
- <span class="symbol"><A NAME="ref_181_4">F_Insert_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 32;
- <span class="symbol"><A NAME="ref_182_4">F_Insert_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 33;
- <span class="symbol"><A NAME="ref_183_4">F_Delete_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 34;
- <span class="symbol"><A NAME="ref_184_4">F_Delete_Previous</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 35;
- <span class="symbol"><A NAME="ref_185_4">F_Delete_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 36;
- <span class="symbol"><A NAME="ref_186_4">F_Delete_Word</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 37;
- <span class="symbol"><A NAME="ref_187_4">F_Clear_EOL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 38;
- <span class="symbol"><A NAME="ref_188_4">F_Clear_EOF</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 39;
- <span class="symbol"><A NAME="ref_189_4">F_Clear_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 40;
- <span class="symbol"><A NAME="ref_190_4">F_Overlay_Mode</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 41;
- <span class="symbol"><A NAME="ref_191_4">F_Insert_Mode</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 42;
+ <span class="symbol"><A NAME="ref_146_4">F_Next_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 1;
+ <span class="symbol"><A NAME="ref_147_4">F_Previous_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 2;
+ <span class="symbol"><A NAME="ref_148_4">F_First_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 3;
+ <span class="symbol"><A NAME="ref_149_4">F_Last_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 4;
+
+ <span class="symbol"><A NAME="ref_151_4">F_Next_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 5;
+ <span class="symbol"><A NAME="ref_152_4">F_Previous_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 6;
+ <span class="symbol"><A NAME="ref_153_4">F_First_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 7;
+ <span class="symbol"><A NAME="ref_154_4">F_Last_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 8;
+ <span class="symbol"><A NAME="ref_155_4">F_Sorted_Next_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 9;
+ <span class="symbol"><A NAME="ref_156_4">F_Sorted_Previous_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 10;
+ <span class="symbol"><A NAME="ref_157_4">F_Sorted_First_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 11;
+ <span class="symbol"><A NAME="ref_158_4">F_Sorted_Last_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 12;
+ <span class="symbol"><A NAME="ref_159_4">F_Left_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 13;
+ <span class="symbol"><A NAME="ref_160_4">F_Right_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 14;
+ <span class="symbol"><A NAME="ref_161_4">F_Up_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 15;
+ <span class="symbol"><A NAME="ref_162_4">F_Down_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 16;
+
+ <span class="symbol"><A NAME="ref_164_4">F_Next_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 17;
+ <span class="symbol"><A NAME="ref_165_4">F_Previous_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 18;
+ <span class="symbol"><A NAME="ref_166_4">F_Next_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 19;
+ <span class="symbol"><A NAME="ref_167_4">F_Previous_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 20;
+ <span class="symbol"><A NAME="ref_168_4">F_Next_Word</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 21;
+ <span class="symbol"><A NAME="ref_169_4">F_Previous_Word</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 22;
+ <span class="symbol"><A NAME="ref_170_4">F_Begin_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 23;
+ <span class="symbol"><A NAME="ref_171_4">F_End_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 24;
+ <span class="symbol"><A NAME="ref_172_4">F_Begin_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 25;
+ <span class="symbol"><A NAME="ref_173_4">F_End_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 26;
+ <span class="symbol"><A NAME="ref_174_4">F_Left_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 27;
+ <span class="symbol"><A NAME="ref_175_4">F_Right_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 28;
+ <span class="symbol"><A NAME="ref_176_4">F_Up_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 29;
+ <span class="symbol"><A NAME="ref_177_4">F_Down_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 30;
+
+ <span class="symbol"><A NAME="ref_179_4">F_New_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 31;
+ <span class="symbol"><A NAME="ref_180_4">F_Insert_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 32;
+ <span class="symbol"><A NAME="ref_181_4">F_Insert_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 33;
+ <span class="symbol"><A NAME="ref_182_4">F_Delete_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 34;
+ <span class="symbol"><A NAME="ref_183_4">F_Delete_Previous</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 35;
+ <span class="symbol"><A NAME="ref_184_4">F_Delete_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 36;
+ <span class="symbol"><A NAME="ref_185_4">F_Delete_Word</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 37;
+ <span class="symbol"><A NAME="ref_186_4">F_Clear_EOL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 38;
+ <span class="symbol"><A NAME="ref_187_4">F_Clear_EOF</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 39;
+ <span class="symbol"><A NAME="ref_188_4">F_Clear_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 40;
+ <span class="symbol"><A NAME="ref_189_4">F_Overlay_Mode</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 41;
+ <span class="symbol"><A NAME="ref_190_4">F_Insert_Mode</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 42;
<span class="comment"><EM>-- Vertical Scrolling</EM></span>
- <span class="symbol"><A NAME="ref_194_4">F_ScrollForward_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 43;
- <span class="symbol"><A NAME="ref_195_4">F_ScrollBackward_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 44;
- <span class="symbol"><A NAME="ref_196_4">F_ScrollForward_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 45;
- <span class="symbol"><A NAME="ref_197_4">F_ScrollBackward_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 46;
- <span class="symbol"><A NAME="ref_198_4">F_ScrollForward_HalfPage</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 47;
- <span class="symbol"><A NAME="ref_199_4">F_ScrollBackward_HalfPage</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 48;
+ <span class="symbol"><A NAME="ref_193_4">F_ScrollForward_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 43;
+ <span class="symbol"><A NAME="ref_194_4">F_ScrollBackward_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 44;
+ <span class="symbol"><A NAME="ref_195_4">F_ScrollForward_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 45;
+ <span class="symbol"><A NAME="ref_196_4">F_ScrollBackward_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 46;
+ <span class="symbol"><A NAME="ref_197_4">F_ScrollForward_HalfPage</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 47;
+ <span class="symbol"><A NAME="ref_198_4">F_ScrollBackward_HalfPage</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 48;
<span class="comment"><EM>-- Horizontal Scrolling</EM></span>
- <span class="symbol"><A NAME="ref_202_4">F_HScrollForward_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 49;
- <span class="symbol"><A NAME="ref_203_4">F_HScrollBackward_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 50;
- <span class="symbol"><A NAME="ref_204_4">F_HScrollForward_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 51;
- <span class="symbol"><A NAME="ref_205_4">F_HScrollBackward_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 52;
- <span class="symbol"><A NAME="ref_206_4">F_HScrollForward_HalfLine</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 53;
- <span class="symbol"><A NAME="ref_207_4">F_HScrollBackward_HalfLine</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 54;
+ <span class="symbol"><A NAME="ref_201_4">F_HScrollForward_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 49;
+ <span class="symbol"><A NAME="ref_202_4">F_HScrollBackward_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 50;
+ <span class="symbol"><A NAME="ref_203_4">F_HScrollForward_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 51;
+ <span class="symbol"><A NAME="ref_204_4">F_HScrollBackward_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 52;
+ <span class="symbol"><A NAME="ref_205_4">F_HScrollForward_HalfLine</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 53;
+ <span class="symbol"><A NAME="ref_206_4">F_HScrollBackward_HalfLine</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 54;
- <span class="symbol"><A NAME="ref_209_4">F_Validate_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 55;
- <span class="symbol"><A NAME="ref_210_4">F_Next_Choice</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 56;
- <span class="symbol"><A NAME="ref_211_4">F_Previous_Choice</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 57;
+ <span class="symbol"><A NAME="ref_208_4">F_Validate_Field</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 55;
+ <span class="symbol"><A NAME="ref_209_4">F_Next_Choice</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 56;
+ <span class="symbol"><A NAME="ref_210_4">F_Previous_Choice</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 57;
<span class="comment"><EM>-- For those who like the old 'C' style request names</EM></span>
- REQ_NEXT_PAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_147_4">F_Next_Page</A>;
- REQ_PREV_PAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_148_4">F_Previous_Page</A>;
- REQ_FIRST_PAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_149_4">F_First_Page</A>;
- REQ_LAST_PAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_150_4">F_Last_Page</A>;
-
- REQ_NEXT_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_152_4">F_Next_Field</A>;
- REQ_PREV_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_153_4">F_Previous_Field</A>;
- REQ_FIRST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_154_4">F_First_Field</A>;
- REQ_LAST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_155_4">F_Last_Field</A>;
- REQ_SNEXT_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_156_4">F_Sorted_Next_Field</A>;
- REQ_SPREV_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_157_4">F_Sorted_Previous_Field</A>;
- REQ_SFIRST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_158_4">F_Sorted_First_Field</A>;
- REQ_SLAST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_159_4">F_Sorted_Last_Field</A>;
- REQ_LEFT_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_160_4">F_Left_Field</A>;
- REQ_RIGHT_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_161_4">F_Right_Field</A>;
- REQ_UP_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_162_4">F_Up_Field</A>;
- REQ_DOWN_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_163_4">F_Down_Field</A>;
-
- REQ_NEXT_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_165_4">F_Next_Char</A>;
- REQ_PREV_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_166_4">F_Previous_Char</A>;
- REQ_NEXT_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_167_4">F_Next_Line</A>;
- REQ_PREV_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_168_4">F_Previous_Line</A>;
- REQ_NEXT_WORD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_169_4">F_Next_Word</A>;
- REQ_PREV_WORD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_170_4">F_Previous_Word</A>;
- REQ_BEG_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_171_4">F_Begin_Field</A>;
- REQ_END_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_172_4">F_End_Field</A>;
- REQ_BEG_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_173_4">F_Begin_Line</A>;
- REQ_END_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_174_4">F_End_Line</A>;
- REQ_LEFT_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_175_4">F_Left_Char</A>;
- REQ_RIGHT_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_176_4">F_Right_Char</A>;
- REQ_UP_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_177_4">F_Up_Char</A>;
- REQ_DOWN_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_178_4">F_Down_Char</A>;
-
- REQ_NEW_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_180_4">F_New_Line</A>;
- REQ_INS_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_181_4">F_Insert_Char</A>;
- REQ_INS_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_182_4">F_Insert_Line</A>;
- REQ_DEL_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_183_4">F_Delete_Char</A>;
- REQ_DEL_PREV : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_184_4">F_Delete_Previous</A>;
- REQ_DEL_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_185_4">F_Delete_Line</A>;
- REQ_DEL_WORD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_186_4">F_Delete_Word</A>;
- REQ_CLR_EOL : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_187_4">F_Clear_EOL</A>;
- REQ_CLR_EOF : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_188_4">F_Clear_EOF</A>;
- REQ_CLR_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_189_4">F_Clear_Field</A>;
- REQ_OVL_MODE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_190_4">F_Overlay_Mode</A>;
- REQ_INS_MODE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_191_4">F_Insert_Mode</A>;
-
- REQ_SCR_FLINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_194_4">F_ScrollForward_Line</A>;
- REQ_SCR_BLINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_195_4">F_ScrollBackward_Line</A>;
- REQ_SCR_FPAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_196_4">F_ScrollForward_Page</A>;
- REQ_SCR_BPAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_197_4">F_ScrollBackward_Page</A>;
- REQ_SCR_FHPAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_198_4">F_ScrollForward_HalfPage</A>;
- REQ_SCR_BHPAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_199_4">F_ScrollBackward_HalfPage</A>;
-
- REQ_SCR_FCHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_202_4">F_HScrollForward_Char</A>;
- REQ_SCR_BCHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_203_4">F_HScrollBackward_Char</A>;
- REQ_SCR_HFLINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_204_4">F_HScrollForward_Line</A>;
- REQ_SCR_HBLINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_205_4">F_HScrollBackward_Line</A>;
- REQ_SCR_HFHALF : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_206_4">F_HScrollForward_HalfLine</A>;
- REQ_SCR_HBHALF : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_207_4">F_HScrollBackward_HalfLine</A>;
-
- REQ_VALIDATION : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_209_4">F_Validate_Field</A>;
- REQ_NEXT_CHOICE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_210_4">F_Next_Choice</A>;
- REQ_PREV_CHOICE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_211_4">F_Previous_Choice</A>;
-
- <b>procedure</b> <span class="symbol"><A NAME="ref_278_14" HREF="terminal_interface-curses-forms__adb.htm#ref_81_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_278_28" HREF="terminal_interface-curses-forms__adb.htm#ref_81_28">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A>;
- <span class="symbol"><A NAME="ref_279_28" HREF="terminal_interface-curses-forms__adb.htm#ref_82_33">Name</A></span> : <b>out</b> String);
-
- <b>function</b> <span class="symbol"><A NAME="ref_281_14" HREF="terminal_interface-curses-forms__adb.htm#ref_90_13">Request_Name</A></span> (<span class="symbol"><A NAME="ref_281_28" HREF="terminal_interface-curses-forms__adb.htm#ref_90_27">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_144_12">Form_Request_Code</A>) <b>return</b> String;
+ REQ_NEXT_PAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_146_4">F_Next_Page</A>;
+ REQ_PREV_PAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_147_4">F_Previous_Page</A>;
+ REQ_FIRST_PAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_148_4">F_First_Page</A>;
+ REQ_LAST_PAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_149_4">F_Last_Page</A>;
+
+ REQ_NEXT_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_151_4">F_Next_Field</A>;
+ REQ_PREV_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_152_4">F_Previous_Field</A>;
+ REQ_FIRST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_153_4">F_First_Field</A>;
+ REQ_LAST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_154_4">F_Last_Field</A>;
+ REQ_SNEXT_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_155_4">F_Sorted_Next_Field</A>;
+ REQ_SPREV_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_156_4">F_Sorted_Previous_Field</A>;
+ REQ_SFIRST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_157_4">F_Sorted_First_Field</A>;
+ REQ_SLAST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_158_4">F_Sorted_Last_Field</A>;
+ REQ_LEFT_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_159_4">F_Left_Field</A>;
+ REQ_RIGHT_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_160_4">F_Right_Field</A>;
+ REQ_UP_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_161_4">F_Up_Field</A>;
+ REQ_DOWN_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_162_4">F_Down_Field</A>;
+
+ REQ_NEXT_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_164_4">F_Next_Char</A>;
+ REQ_PREV_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_165_4">F_Previous_Char</A>;
+ REQ_NEXT_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_166_4">F_Next_Line</A>;
+ REQ_PREV_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_167_4">F_Previous_Line</A>;
+ REQ_NEXT_WORD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_168_4">F_Next_Word</A>;
+ REQ_PREV_WORD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_169_4">F_Previous_Word</A>;
+ REQ_BEG_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_170_4">F_Begin_Field</A>;
+ REQ_END_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_171_4">F_End_Field</A>;
+ REQ_BEG_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_172_4">F_Begin_Line</A>;
+ REQ_END_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_173_4">F_End_Line</A>;
+ REQ_LEFT_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_174_4">F_Left_Char</A>;
+ REQ_RIGHT_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_175_4">F_Right_Char</A>;
+ REQ_UP_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_176_4">F_Up_Char</A>;
+ REQ_DOWN_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_177_4">F_Down_Char</A>;
+
+ REQ_NEW_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_179_4">F_New_Line</A>;
+ REQ_INS_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_180_4">F_Insert_Char</A>;
+ REQ_INS_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_181_4">F_Insert_Line</A>;
+ REQ_DEL_CHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_182_4">F_Delete_Char</A>;
+ REQ_DEL_PREV : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_183_4">F_Delete_Previous</A>;
+ REQ_DEL_LINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_184_4">F_Delete_Line</A>;
+ REQ_DEL_WORD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_185_4">F_Delete_Word</A>;
+ REQ_CLR_EOL : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_186_4">F_Clear_EOL</A>;
+ REQ_CLR_EOF : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_187_4">F_Clear_EOF</A>;
+ REQ_CLR_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_188_4">F_Clear_Field</A>;
+ REQ_OVL_MODE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_189_4">F_Overlay_Mode</A>;
+ REQ_INS_MODE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_190_4">F_Insert_Mode</A>;
+
+ REQ_SCR_FLINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_193_4">F_ScrollForward_Line</A>;
+ REQ_SCR_BLINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_194_4">F_ScrollBackward_Line</A>;
+ REQ_SCR_FPAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_195_4">F_ScrollForward_Page</A>;
+ REQ_SCR_BPAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_196_4">F_ScrollBackward_Page</A>;
+ REQ_SCR_FHPAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_197_4">F_ScrollForward_HalfPage</A>;
+ REQ_SCR_BHPAGE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_198_4">F_ScrollBackward_HalfPage</A>;
+
+ REQ_SCR_FCHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_201_4">F_HScrollForward_Char</A>;
+ REQ_SCR_BCHAR : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_202_4">F_HScrollBackward_Char</A>;
+ REQ_SCR_HFLINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_203_4">F_HScrollForward_Line</A>;
+ REQ_SCR_HBLINE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_204_4">F_HScrollBackward_Line</A>;
+ REQ_SCR_HFHALF : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_205_4">F_HScrollForward_HalfLine</A>;
+ REQ_SCR_HBHALF : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_206_4">F_HScrollBackward_HalfLine</A>;
+
+ REQ_VALIDATION : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_208_4">F_Validate_Field</A>;
+ REQ_NEXT_CHOICE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_209_4">F_Next_Choice</A>;
+ REQ_PREV_CHOICE : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_210_4">F_Previous_Choice</A>;
+
+ <b>procedure</b> <span class="symbol"><A NAME="ref_277_14" HREF="terminal_interface-curses-forms__adb.htm#ref_64_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_277_28" HREF="terminal_interface-curses-forms__adb.htm#ref_64_28">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A>;
+ <span class="symbol"><A NAME="ref_278_28" HREF="terminal_interface-curses-forms__adb.htm#ref_65_33">Name</A></span> : <b>out</b> String);
+
+ <b>function</b> <span class="symbol"><A NAME="ref_280_14" HREF="terminal_interface-curses-forms__adb.htm#ref_73_13">Request_Name</A></span> (<span class="symbol"><A NAME="ref_280_28" HREF="terminal_interface-curses-forms__adb.htm#ref_73_27">Key</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_143_12">Form_Request_Code</A>) <b>return</b> String;
<span class="comment"><EM>-- Same as function</EM></span>
<b>pragma</b> Inline (Request_Name);
<span class="comment"><EM>------------------</EM></span>
<span class="comment"><EM>-- Exceptions --</EM></span>
<span class="comment"><EM>------------------</EM></span>
- <span class="symbol"><A NAME="ref_288_4">Form_Exception</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_287_4">Form_Exception</A></span> : <b>exception</b>;
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_1"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_295_13" HREF="terminal_interface-curses-forms__adb.htm#ref_108_13">Create</A></span> (<span class="symbol"><A NAME="ref_295_21" HREF="terminal_interface-curses-forms__adb.htm#ref_108_21">Height</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_296_21" HREF="terminal_interface-curses-forms__adb.htm#ref_109_21">Width</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_297_21" HREF="terminal_interface-curses-forms__adb.htm#ref_110_21">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_298_21" HREF="terminal_interface-curses-forms__adb.htm#ref_111_21">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_299_21" HREF="terminal_interface-curses-forms__adb.htm#ref_112_21">Off_Screen</A></span> : Natural := 0;
- <span class="symbol"><A NAME="ref_300_21" HREF="terminal_interface-curses-forms__adb.htm#ref_113_21">More_Buffers</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First)
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_294_13" HREF="terminal_interface-curses-forms__adb.htm#ref_91_13">Create</A></span> (<span class="symbol"><A NAME="ref_294_21" HREF="terminal_interface-curses-forms__adb.htm#ref_91_21">Height</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_295_21" HREF="terminal_interface-curses-forms__adb.htm#ref_92_21">Width</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_296_21" HREF="terminal_interface-curses-forms__adb.htm#ref_93_21">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_297_21" HREF="terminal_interface-curses-forms__adb.htm#ref_94_21">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_298_21" HREF="terminal_interface-curses-forms__adb.htm#ref_95_21">Off_Screen</A></span> : Natural := 0;
+ <span class="symbol"><A NAME="ref_299_21" HREF="terminal_interface-curses-forms__adb.htm#ref_96_21">More_Buffers</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First)
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></EM></span>
<span class="comment"><EM>-- An overloaded Create is defined later. Pragma Inline appears there.</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_2"#2|</EM></span>
- <b>function</b> New_Field (<span class="symbol"><A NAME="ref_306_24">Height</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_307_24">Width</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_308_24">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_309_24">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_310_24">Off_Screen</A></span> : Natural := 0;
- <span class="symbol"><A NAME="ref_311_24">More_Buffers</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First)
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_295_13">Create</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span>
+ <b>function</b> New_Field (<span class="symbol"><A NAME="ref_305_24">Height</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_306_24">Width</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_307_24">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_308_24">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_309_24">Off_Screen</A></span> : Natural := 0;
+ <span class="symbol"><A NAME="ref_310_24">More_Buffers</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First)
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_294_13">Create</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></EM></span>
<b>pragma</b> Inline (New_Field);
- <span class="comment"><EM>-- #1A NAME="AFU_3"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_317_14" HREF="terminal_interface-curses-forms__adb.htm#ref_131_14">Delete</A></span> (<span class="symbol"><A NAME="ref_317_22" HREF="terminal_interface-curses-forms__adb.htm#ref_131_22">Fld</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_316_14" HREF="terminal_interface-curses-forms__adb.htm#ref_114_14">Delete</A></span> (<span class="symbol"><A NAME="ref_316_22" HREF="terminal_interface-curses-forms__adb.htm#ref_114_22">Fld</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_new.3x.html">free_field()</A></EM></span>
<span class="comment"><EM>-- Reset Fld to Null_Field</EM></span>
<span class="comment"><EM>-- An overloaded Delete is defined later. Pragma Inline appears there.</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_4"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_323_13" HREF="terminal_interface-curses-forms__adb.htm#ref_147_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_323_24" HREF="terminal_interface-curses-forms__adb.htm#ref_147_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_324_24" HREF="terminal_interface-curses-forms__adb.htm#ref_148_24">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_325_24" HREF="terminal_interface-curses-forms__adb.htm#ref_149_24">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_4">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_322_13" HREF="terminal_interface-curses-forms__adb.htm#ref_126_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_322_24" HREF="terminal_interface-curses-forms__adb.htm#ref_126_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_323_24" HREF="terminal_interface-curses-forms__adb.htm#ref_127_24">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_324_24" HREF="terminal_interface-curses-forms__adb.htm#ref_128_24">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_new.3x.html">dup_field()</A></EM></span>
<b>pragma</b> Inline (Duplicate);
- <span class="comment"><EM>-- #1A NAME="AFU_5"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_330_13" HREF="terminal_interface-curses-forms__adb.htm#ref_168_13">Link</A></span> (<span class="symbol"><A NAME="ref_330_19" HREF="terminal_interface-curses-forms__adb.htm#ref_168_19">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_331_19" HREF="terminal_interface-curses-forms__adb.htm#ref_169_19">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_332_19" HREF="terminal_interface-curses-forms__adb.htm#ref_170_19">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_5">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_329_13" HREF="terminal_interface-curses-forms__adb.htm#ref_147_13">Link</A></span> (<span class="symbol"><A NAME="ref_329_19" HREF="terminal_interface-curses-forms__adb.htm#ref_147_19">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_330_19" HREF="terminal_interface-curses-forms__adb.htm#ref_148_19">Top</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_331_19" HREF="terminal_interface-curses-forms__adb.htm#ref_149_19">Left</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_new.3x.html">link_field()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_330_13">Link</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_329_13">Link</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_field_just.3x.html">form_field_just.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_6"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_341_14" HREF="terminal_interface-curses-forms__adb.htm#ref_193_14">Set_Justification</A></span> (<span class="symbol"><A NAME="ref_341_33" HREF="terminal_interface-curses-forms__adb.htm#ref_193_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_342_33" HREF="terminal_interface-curses-forms__adb.htm#ref_194_33">Just</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Justification</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_33">None</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_6">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_340_14" HREF="terminal_interface-curses-forms__adb.htm#ref_172_14">Set_Justification</A></span> (<span class="symbol"><A NAME="ref_340_33" HREF="terminal_interface-curses-forms__adb.htm#ref_172_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_341_33" HREF="terminal_interface-curses-forms__adb.htm#ref_173_33">Just</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Field_Justification</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_33">None</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_just.3x.html">set_field_just()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_341_14">Set_Justification</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_340_14">Set_Justification</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_7"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_347_13" HREF="terminal_interface-curses-forms__adb.htm#ref_211_13">Get_Justification</A></span> (<span class="symbol"><A NAME="ref_347_32" HREF="terminal_interface-curses-forms__adb.htm#ref_211_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Justification</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_7">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_346_13" HREF="terminal_interface-curses-forms__adb.htm#ref_186_13">Get_Justification</A></span> (<span class="symbol"><A NAME="ref_346_32" HREF="terminal_interface-curses-forms__adb.htm#ref_186_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Field_Justification</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_just.3x.html">field_just()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_347_13">Get_Justification</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_346_13">Get_Justification</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_8"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_356_14" HREF="terminal_interface-curses-forms__adb.htm#ref_225_14">Set_Buffer</A></span>
- (<span class="symbol"><A NAME="ref_357_7" HREF="terminal_interface-curses-forms__adb.htm#ref_226_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_358_7" HREF="terminal_interface-curses-forms__adb.htm#ref_227_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First;
- <span class="symbol"><A NAME="ref_359_7" HREF="terminal_interface-curses-forms__adb.htm#ref_228_7">Str</A></span> : String);
+ <span class="comment"><EM>-- <A NAME="AFU_8">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_355_14" HREF="terminal_interface-curses-forms__adb.htm#ref_200_14">Set_Buffer</A></span>
+ (<span class="symbol"><A NAME="ref_356_7" HREF="terminal_interface-curses-forms__adb.htm#ref_201_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_357_7" HREF="terminal_interface-curses-forms__adb.htm#ref_202_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First;
+ <span class="symbol"><A NAME="ref_358_7" HREF="terminal_interface-curses-forms__adb.htm#ref_203_7">Str</A></span> : String);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_buffer()</A></EM></span>
<span class="comment"><EM>-- Not inlined</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_9"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_364_14" HREF="terminal_interface-curses-forms__adb.htm#ref_250_14">Get_Buffer</A></span>
- (<span class="symbol"><A NAME="ref_365_7" HREF="terminal_interface-curses-forms__adb.htm#ref_251_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_366_7" HREF="terminal_interface-curses-forms__adb.htm#ref_252_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First;
- <span class="symbol"><A NAME="ref_367_7" HREF="terminal_interface-curses-forms__adb.htm#ref_253_7">Str</A></span> : <b>out</b> String);
+ <span class="comment"><EM>-- <A NAME="AFU_9">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_363_14" HREF="terminal_interface-curses-forms__adb.htm#ref_217_14">Get_Buffer</A></span>
+ (<span class="symbol"><A NAME="ref_364_7" HREF="terminal_interface-curses-forms__adb.htm#ref_218_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_365_7" HREF="terminal_interface-curses-forms__adb.htm#ref_219_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First;
+ <span class="symbol"><A NAME="ref_366_7" HREF="terminal_interface-curses-forms__adb.htm#ref_220_7">Str</A></span> : <b>out</b> String);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_370_13" HREF="terminal_interface-curses-forms__adb.htm#ref_262_13">Get_Buffer</A></span>
- (<span class="symbol"><A NAME="ref_371_7" HREF="terminal_interface-curses-forms__adb.htm#ref_263_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_372_7" HREF="terminal_interface-curses-forms__adb.htm#ref_264_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>'First) <b>return</b> String;
+ <b>function</b> <span class="symbol"><A NAME="ref_369_13" HREF="terminal_interface-curses-forms__adb.htm#ref_229_13">Get_Buffer</A></span>
+ (<span class="symbol"><A NAME="ref_370_7" HREF="terminal_interface-curses-forms__adb.htm#ref_230_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_371_7" HREF="terminal_interface-curses-forms__adb.htm#ref_231_7">Buffer</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>'First) <b>return</b> String;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></EM></span>
<span class="comment"><EM>-- Same but as function</EM></span>
<b>pragma</b> Inline (Get_Buffer);
- <span class="comment"><EM>-- #1A NAME="AFU_10"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_378_14" HREF="terminal_interface-curses-forms__adb.htm#ref_275_14">Set_Status</A></span> (<span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses-forms__adb.htm#ref_275_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_379_26" HREF="terminal_interface-curses-forms__adb.htm#ref_276_26">Status</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_10">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_377_14" HREF="terminal_interface-curses-forms__adb.htm#ref_242_14">Set_Status</A></span> (<span class="symbol"><A NAME="ref_377_26" HREF="terminal_interface-curses-forms__adb.htm#ref_242_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses-forms__adb.htm#ref_243_26">Status</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_status()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_378_14">Set_Status</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_377_14">Set_Status</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_11"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_384_13" HREF="terminal_interface-curses-forms__adb.htm#ref_291_13">Changed</A></span> (<span class="symbol"><A NAME="ref_384_22" HREF="terminal_interface-curses-forms__adb.htm#ref_291_22">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_11">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_383_13" HREF="terminal_interface-curses-forms__adb.htm#ref_257_13">Changed</A></span> (<span class="symbol"><A NAME="ref_383_22" HREF="terminal_interface-curses-forms__adb.htm#ref_257_22">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_buffer.3x.html">field_status()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_384_13">Changed</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_383_13">Changed</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_12"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_389_14" HREF="terminal_interface-curses-forms__adb.htm#ref_307_14">Set_Maximum_Size</A></span> (<span class="symbol"><A NAME="ref_389_32" HREF="terminal_interface-curses-forms__adb.htm#ref_307_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_390_32" HREF="terminal_interface-curses-forms__adb.htm#ref_308_32">Max</A></span> : Natural := 0);
+ <span class="comment"><EM>-- <A NAME="AFU_12">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_388_14" HREF="terminal_interface-curses-forms__adb.htm#ref_273_14">Set_Maximum_Size</A></span> (<span class="symbol"><A NAME="ref_388_32" HREF="terminal_interface-curses-forms__adb.htm#ref_273_32">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_389_32" HREF="terminal_interface-curses-forms__adb.htm#ref_274_32">Max</A></span> : Natural := 0);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_max()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_389_14">Set_Maximum_Size</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_388_14">Set_Maximum_Size</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_13"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_399_14" HREF="terminal_interface-curses-forms__adb.htm#ref_327_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_399_27" HREF="terminal_interface-curses-forms__adb.htm#ref_327_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_400_27" HREF="terminal_interface-curses-forms__adb.htm#ref_328_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_13">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_398_14" HREF="terminal_interface-curses-forms__adb.htm#ref_290_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_398_27" HREF="terminal_interface-curses-forms__adb.htm#ref_290_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_399_27" HREF="terminal_interface-curses-forms__adb.htm#ref_291_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_opts.3x.html">set_field_opts()</A></EM></span>
<span class="comment"><EM>-- An overloaded version is defined later. Pragma Inline appears there</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_14"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_405_14" HREF="terminal_interface-curses-forms__adb.htm#ref_345_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_405_30" HREF="terminal_interface-curses-forms__adb.htm#ref_345_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_406_30" HREF="terminal_interface-curses-forms__adb.htm#ref_346_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>;
- <span class="symbol"><A NAME="ref_407_30" HREF="terminal_interface-curses-forms__adb.htm#ref_347_30">On</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_14">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_404_14" HREF="terminal_interface-curses-forms__adb.htm#ref_303_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_404_30" HREF="terminal_interface-curses-forms__adb.htm#ref_303_30">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_405_30" HREF="terminal_interface-curses-forms__adb.htm#ref_304_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>;
+ <span class="symbol"><A NAME="ref_406_30" HREF="terminal_interface-curses-forms__adb.htm#ref_305_30">On</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_opts.3x.html">field_opts_on()</A></EM></span>
<span class="comment"><EM>-- AKA: field_opts_off()</EM></span>
<span class="comment"><EM>-- An overloaded version is defined later. Pragma Inline appears there</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_15"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_413_14" HREF="terminal_interface-curses-forms__adb.htm#ref_371_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_413_27" HREF="terminal_interface-curses-forms__adb.htm#ref_371_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_414_27" HREF="terminal_interface-curses-forms__adb.htm#ref_372_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_15">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_412_14" HREF="terminal_interface-curses-forms__adb.htm#ref_324_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_412_27" HREF="terminal_interface-curses-forms__adb.htm#ref_324_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_413_27" HREF="terminal_interface-curses-forms__adb.htm#ref_325_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_16"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_418_13" HREF="terminal_interface-curses-forms__adb.htm#ref_384_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_418_26" HREF="terminal_interface-curses-forms__adb.htm#ref_384_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A>)
- <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_16">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_417_13" HREF="terminal_interface-curses-forms__adb.htm#ref_336_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_417_26" HREF="terminal_interface-curses-forms__adb.htm#ref_336_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A>)
+ <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_62_9">Field_Option_Set</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></EM></span>
<span class="comment"><EM>-- An overloaded version is defined later. Pragma Inline appears there</EM></span>
@@ -441,162 +440,162 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_17"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_428_14" HREF="terminal_interface-curses-forms__adb.htm#ref_399_14">Set_Foreground</A></span>
- (<span class="symbol"><A NAME="ref_429_7" HREF="terminal_interface-curses-forms__adb.htm#ref_400_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_430_7" HREF="terminal_interface-curses-forms__adb.htm#ref_401_7">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_431_7" HREF="terminal_interface-curses-forms__adb.htm#ref_402_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First);
+ <span class="comment"><EM>-- <A NAME="AFU_17">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_427_14" HREF="terminal_interface-curses-forms__adb.htm#ref_351_14">Set_Foreground</A></span>
+ (<span class="symbol"><A NAME="ref_428_7" HREF="terminal_interface-curses-forms__adb.htm#ref_352_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_429_7" HREF="terminal_interface-curses-forms__adb.htm#ref_353_7">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_430_7" HREF="terminal_interface-curses-forms__adb.htm#ref_354_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_fore()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_428_14">Set_Foreground</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_427_14">Set_Foreground</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_18"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_436_14" HREF="terminal_interface-curses-forms__adb.htm#ref_421_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_436_26" HREF="terminal_interface-curses-forms__adb.htm#ref_421_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_437_26" HREF="terminal_interface-curses-forms__adb.htm#ref_422_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_18">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_435_14" HREF="terminal_interface-curses-forms__adb.htm#ref_368_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_435_26" HREF="terminal_interface-curses-forms__adb.htm#ref_368_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_436_26" HREF="terminal_interface-curses-forms__adb.htm#ref_369_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_19"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_441_14" HREF="terminal_interface-curses-forms__adb.htm#ref_430_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_441_26" HREF="terminal_interface-curses-forms__adb.htm#ref_430_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_442_26" HREF="terminal_interface-curses-forms__adb.htm#ref_431_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_443_26" HREF="terminal_interface-curses-forms__adb.htm#ref_432_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_19">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_440_14" HREF="terminal_interface-curses-forms__adb.htm#ref_377_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_440_26" HREF="terminal_interface-curses-forms__adb.htm#ref_377_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_441_26" HREF="terminal_interface-curses-forms__adb.htm#ref_378_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_442_26" HREF="terminal_interface-curses-forms__adb.htm#ref_379_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></EM></span>
<b>pragma</b> Inline (Foreground);
- <span class="comment"><EM>-- #1A NAME="AFU_20"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_448_14" HREF="terminal_interface-curses-forms__adb.htm#ref_443_14">Set_Background</A></span>
- (<span class="symbol"><A NAME="ref_449_7" HREF="terminal_interface-curses-forms__adb.htm#ref_444_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_450_7" HREF="terminal_interface-curses-forms__adb.htm#ref_445_7">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_451_7" HREF="terminal_interface-curses-forms__adb.htm#ref_446_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First);
+ <span class="comment"><EM>-- <A NAME="AFU_20">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_447_14" HREF="terminal_interface-curses-forms__adb.htm#ref_390_14">Set_Background</A></span>
+ (<span class="symbol"><A NAME="ref_448_7" HREF="terminal_interface-curses-forms__adb.htm#ref_391_7">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_449_7" HREF="terminal_interface-curses-forms__adb.htm#ref_392_7">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_450_7" HREF="terminal_interface-curses-forms__adb.htm#ref_393_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_back()</A></EM></span>
<b>pragma</b> Inline (Set_Background);
- <span class="comment"><EM>-- #1A NAME="AFU_21"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_456_14" HREF="terminal_interface-curses-forms__adb.htm#ref_465_14">Background</A></span> (<span class="symbol"><A NAME="ref_456_26" HREF="terminal_interface-curses-forms__adb.htm#ref_465_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_457_26" HREF="terminal_interface-curses-forms__adb.htm#ref_466_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_21">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_455_14" HREF="terminal_interface-curses-forms__adb.htm#ref_407_14">Background</A></span> (<span class="symbol"><A NAME="ref_455_26" HREF="terminal_interface-curses-forms__adb.htm#ref_407_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_456_26" HREF="terminal_interface-curses-forms__adb.htm#ref_408_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_22"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_461_14" HREF="terminal_interface-curses-forms__adb.htm#ref_474_14">Background</A></span> (<span class="symbol"><A NAME="ref_461_26" HREF="terminal_interface-curses-forms__adb.htm#ref_474_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_462_26" HREF="terminal_interface-curses-forms__adb.htm#ref_475_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_463_26" HREF="terminal_interface-curses-forms__adb.htm#ref_476_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_22">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_460_14" HREF="terminal_interface-curses-forms__adb.htm#ref_416_14">Background</A></span> (<span class="symbol"><A NAME="ref_460_26" HREF="terminal_interface-curses-forms__adb.htm#ref_416_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_461_26" HREF="terminal_interface-curses-forms__adb.htm#ref_417_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_462_26" HREF="terminal_interface-curses-forms__adb.htm#ref_418_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></EM></span>
<b>pragma</b> Inline (Background);
- <span class="comment"><EM>-- #1A NAME="AFU_23"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_468_14" HREF="terminal_interface-curses-forms__adb.htm#ref_487_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_468_33" HREF="terminal_interface-curses-forms__adb.htm#ref_487_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_469_33" HREF="terminal_interface-curses-forms__adb.htm#ref_488_33">Pad</A></span> : Character := Space);
+ <span class="comment"><EM>-- <A NAME="AFU_23">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_467_14" HREF="terminal_interface-curses-forms__adb.htm#ref_429_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_467_33" HREF="terminal_interface-curses-forms__adb.htm#ref_429_33">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_468_33" HREF="terminal_interface-curses-forms__adb.htm#ref_430_33">Pad</A></span> : Character := Space);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_pad()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_468_14">Set_Pad_Character</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_467_14">Set_Pad_Character</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_24"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_474_14" HREF="terminal_interface-curses-forms__adb.htm#ref_504_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_474_29" HREF="terminal_interface-curses-forms__adb.htm#ref_504_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_475_29" HREF="terminal_interface-curses-forms__adb.htm#ref_505_29">Pad</A></span> : <b>out</b> Character);
+ <span class="comment"><EM>-- <A NAME="AFU_24">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_473_14" HREF="terminal_interface-curses-forms__adb.htm#ref_443_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_473_29" HREF="terminal_interface-curses-forms__adb.htm#ref_443_29">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_474_29" HREF="terminal_interface-curses-forms__adb.htm#ref_444_29">Pad</A></span> : <b>out</b> Character);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_attributes.3x.html">field_pad()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_474_14">Pad_Character</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_473_14">Pad_Character</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_field_info.3x.html">form_field_info.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_25"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_484_14" HREF="terminal_interface-curses-forms__adb.htm#ref_519_14">Info</A></span> (<span class="symbol"><A NAME="ref_484_20" HREF="terminal_interface-curses-forms__adb.htm#ref_519_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_485_20" HREF="terminal_interface-curses-forms__adb.htm#ref_520_20">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_486_20" HREF="terminal_interface-curses-forms__adb.htm#ref_521_20">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_487_20" HREF="terminal_interface-curses-forms__adb.htm#ref_522_20">First_Row</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_488_20" HREF="terminal_interface-curses-forms__adb.htm#ref_523_20">First_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_489_20" HREF="terminal_interface-curses-forms__adb.htm#ref_524_20">Off_Screen</A></span> : <b>out</b> Natural;
- <span class="symbol"><A NAME="ref_490_20" HREF="terminal_interface-curses-forms__adb.htm#ref_525_20">Additional_Buffers</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_131_9">Buffer_Number</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_25">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_483_14" HREF="terminal_interface-curses-forms__adb.htm#ref_458_14">Info</A></span> (<span class="symbol"><A NAME="ref_483_20" HREF="terminal_interface-curses-forms__adb.htm#ref_458_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_484_20" HREF="terminal_interface-curses-forms__adb.htm#ref_459_20">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_485_20" HREF="terminal_interface-curses-forms__adb.htm#ref_460_20">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_486_20" HREF="terminal_interface-curses-forms__adb.htm#ref_461_20">First_Row</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_487_20" HREF="terminal_interface-curses-forms__adb.htm#ref_462_20">First_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_488_20" HREF="terminal_interface-curses-forms__adb.htm#ref_463_20">Off_Screen</A></span> : <b>out</b> Natural;
+ <span class="symbol"><A NAME="ref_489_20" HREF="terminal_interface-curses-forms__adb.htm#ref_464_20">Additional_Buffers</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_130_9">Buffer_Number</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_info.3x.html">field_info()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_484_14">Info</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_483_14">Info</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_26"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_495_14" HREF="terminal_interface-curses-forms__adb.htm#ref_553_14">Dynamic_Info</A></span> (<span class="symbol"><A NAME="ref_495_28" HREF="terminal_interface-curses-forms__adb.htm#ref_553_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_496_28" HREF="terminal_interface-curses-forms__adb.htm#ref_554_28">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_497_28" HREF="terminal_interface-curses-forms__adb.htm#ref_555_28">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_498_28" HREF="terminal_interface-curses-forms__adb.htm#ref_556_28">Max</A></span> : <b>out</b> Natural);
+ <span class="comment"><EM>-- <A NAME="AFU_26">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_494_14" HREF="terminal_interface-curses-forms__adb.htm#ref_488_14">Dynamic_Info</A></span> (<span class="symbol"><A NAME="ref_494_28" HREF="terminal_interface-curses-forms__adb.htm#ref_488_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_495_28" HREF="terminal_interface-curses-forms__adb.htm#ref_489_28">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_496_28" HREF="terminal_interface-curses-forms__adb.htm#ref_490_28">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_497_28" HREF="terminal_interface-curses-forms__adb.htm#ref_491_28">Max</A></span> : <b>out</b> Natural);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field_info.3x.html">dynamic_field_info()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_495_14">Dynamic_Info</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_494_14">Dynamic_Info</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_win.3x.html">form_win.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_27"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_507_14" HREF="terminal_interface-curses-forms__adb.htm#ref_582_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_507_26" HREF="terminal_interface-curses-forms__adb.htm#ref_582_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_508_26" HREF="terminal_interface-curses-forms__adb.htm#ref_583_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_27">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_506_14" HREF="terminal_interface-curses-forms__adb.htm#ref_513_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_506_26" HREF="terminal_interface-curses-forms__adb.htm#ref_513_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_507_26" HREF="terminal_interface-curses-forms__adb.htm#ref_514_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_win.3x.html">set_form_win()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_507_14">Set_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_506_14">Set_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_28"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_513_13" HREF="terminal_interface-curses-forms__adb.htm#ref_598_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_513_25" HREF="terminal_interface-curses-forms__adb.htm#ref_598_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_28">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_512_13" HREF="terminal_interface-curses-forms__adb.htm#ref_526_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_512_25" HREF="terminal_interface-curses-forms__adb.htm#ref_526_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_win.3x.html">form_win()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_513_13">Get_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_512_13">Get_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_29"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_518_14" HREF="terminal_interface-curses-forms__adb.htm#ref_610_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_518_30" HREF="terminal_interface-curses-forms__adb.htm#ref_610_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_519_30" HREF="terminal_interface-curses-forms__adb.htm#ref_611_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_29">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_517_14" HREF="terminal_interface-curses-forms__adb.htm#ref_538_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_517_30" HREF="terminal_interface-curses-forms__adb.htm#ref_538_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_518_30" HREF="terminal_interface-curses-forms__adb.htm#ref_539_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_win.3x.html">set_form_sub()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_518_14">Set_Sub_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_517_14">Set_Sub_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_30"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_524_13" HREF="terminal_interface-curses-forms__adb.htm#ref_626_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_524_29" HREF="terminal_interface-curses-forms__adb.htm#ref_626_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_30">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_523_13" HREF="terminal_interface-curses-forms__adb.htm#ref_551_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_523_29" HREF="terminal_interface-curses-forms__adb.htm#ref_551_29">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_win.3x.html">form_sub()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_524_13">Get_Sub_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_523_13">Get_Sub_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_31"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_529_14" HREF="terminal_interface-curses-forms__adb.htm#ref_638_14">Scale</A></span> (<span class="symbol"><A NAME="ref_529_21" HREF="terminal_interface-curses-forms__adb.htm#ref_638_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_530_21" HREF="terminal_interface-curses-forms__adb.htm#ref_639_21">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_531_21" HREF="terminal_interface-curses-forms__adb.htm#ref_640_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_31">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_528_14" HREF="terminal_interface-curses-forms__adb.htm#ref_563_14">Scale</A></span> (<span class="symbol"><A NAME="ref_528_21" HREF="terminal_interface-curses-forms__adb.htm#ref_563_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_529_21" HREF="terminal_interface-curses-forms__adb.htm#ref_564_21">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_530_21" HREF="terminal_interface-curses-forms__adb.htm#ref_565_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_win.3x.html">scale_form()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_529_14">Scale</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_528_14">Scale</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_hook.3x.html">form_hook.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_539_9">Form_Hook_Function</A></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><A NAME="ref_539_49">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>);
- <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>);
+ <b>type</b> <span class="symbol"><A NAME="ref_538_9">Form_Hook_Function</A></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><A NAME="ref_538_49" HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>);
+ <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_32"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_543_14" HREF="terminal_interface-curses-forms__adb.htm#ref_662_14">Set_Field_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_543_35" HREF="terminal_interface-curses-forms__adb.htm#ref_662_35">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_544_35" HREF="terminal_interface-curses-forms__adb.htm#ref_663_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_32">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_542_14" HREF="terminal_interface-curses-forms__adb.htm#ref_584_14">Set_Field_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_542_35" HREF="terminal_interface-curses-forms__adb.htm#ref_584_35">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_543_35" HREF="terminal_interface-curses-forms__adb.htm#ref_585_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">set_field_init()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_543_14">Set_Field_Init_Hook</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_542_14">Set_Field_Init_Hook</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_33"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_549_14" HREF="terminal_interface-curses-forms__adb.htm#ref_678_14">Set_Field_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_549_35" HREF="terminal_interface-curses-forms__adb.htm#ref_678_35">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_550_35" HREF="terminal_interface-curses-forms__adb.htm#ref_679_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_33">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_548_14" HREF="terminal_interface-curses-forms__adb.htm#ref_597_14">Set_Field_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_548_35" HREF="terminal_interface-curses-forms__adb.htm#ref_597_35">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_549_35" HREF="terminal_interface-curses-forms__adb.htm#ref_598_35">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">set_field_term()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_549_14">Set_Field_Term_Hook</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_548_14">Set_Field_Term_Hook</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_34"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_555_14" HREF="terminal_interface-curses-forms__adb.htm#ref_694_14">Set_Form_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_555_34" HREF="terminal_interface-curses-forms__adb.htm#ref_694_34">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_556_34" HREF="terminal_interface-curses-forms__adb.htm#ref_695_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_34">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_554_14" HREF="terminal_interface-curses-forms__adb.htm#ref_610_14">Set_Form_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_554_34" HREF="terminal_interface-curses-forms__adb.htm#ref_610_34">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_555_34" HREF="terminal_interface-curses-forms__adb.htm#ref_611_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">set_form_init()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_555_14">Set_Form_Init_Hook</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_554_14">Set_Form_Init_Hook</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_35"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_561_14" HREF="terminal_interface-curses-forms__adb.htm#ref_710_14">Set_Form_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_561_34" HREF="terminal_interface-curses-forms__adb.htm#ref_710_34">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_562_34" HREF="terminal_interface-curses-forms__adb.htm#ref_711_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_35">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_560_14" HREF="terminal_interface-curses-forms__adb.htm#ref_623_14">Set_Form_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_560_34" HREF="terminal_interface-curses-forms__adb.htm#ref_623_34">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_561_34" HREF="terminal_interface-curses-forms__adb.htm#ref_624_34">Proc</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">set_form_term()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_561_14">Set_Form_Term_Hook</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_560_14">Set_Form_Term_Hook</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_36"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_567_13">Get_Field_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_567_34" HREF="terminal_interface-curses-forms__ads.htm#ref_567_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_36">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_566_13">Get_Field_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_566_34" HREF="terminal_interface-curses-forms__ads.htm#ref_566_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">field_init()</A></EM></span>
<b>pragma</b> Import (C, Get_Field_Init_Hook, "field_init");
- <span class="comment"><EM>-- #1A NAME="AFU_37"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_572_13">Get_Field_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_572_34" HREF="terminal_interface-curses-forms__ads.htm#ref_572_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_37">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_571_13">Get_Field_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_571_34" HREF="terminal_interface-curses-forms__ads.htm#ref_571_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">field_term()</A></EM></span>
<b>pragma</b> Import (C, Get_Field_Term_Hook, "field_term");
- <span class="comment"><EM>-- #1A NAME="AFU_38"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_577_13">Get_Form_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_577_33" HREF="terminal_interface-curses-forms__ads.htm#ref_577_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_38">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_576_13">Get_Form_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_576_33" HREF="terminal_interface-curses-forms__ads.htm#ref_576_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">form_init()</A></EM></span>
<b>pragma</b> Import (C, Get_Form_Init_Hook, "form_init");
- <span class="comment"><EM>-- #1A NAME="AFU_39"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_582_13">Get_Form_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_582_33" HREF="terminal_interface-curses-forms__ads.htm#ref_582_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_539_9">Form_Hook_Function</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_39">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_581_13">Get_Form_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_581_33" HREF="terminal_interface-curses-forms__ads.htm#ref_581_13">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_538_9">Form_Hook_Function</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_hook.3x.html">form_term()</A></EM></span>
<b>pragma</b> Import (C, Get_Form_Term_Hook, "form_term");
@@ -604,53 +603,53 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/form_field.3x.html">form_field.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_40"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_591_14" HREF="terminal_interface-curses-forms__adb.htm#ref_730_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_591_24" HREF="terminal_interface-curses-forms__adb.htm#ref_730_24">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_592_24" HREF="terminal_interface-curses-forms__adb.htm#ref_731_24">Flds</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_40">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_590_14" HREF="terminal_interface-curses-forms__adb.htm#ref_640_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_590_24" HREF="terminal_interface-curses-forms__adb.htm#ref_640_24">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_591_24" HREF="terminal_interface-curses-forms__adb.htm#ref_641_24">Flds</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_590_14">Redefine</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_41"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_597_14">Set_Fields</A></span> (<span class="symbol"><A NAME="ref_597_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_598_26">Flds</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>) <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_591_14">Redefine</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_41">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_596_14">Set_Fields</A></span> (<span class="symbol"><A NAME="ref_596_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_597_26">Flds</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>) <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_590_14">Redefine</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></EM></span>
<span class="comment"><EM>-- pragma Inline (Set_Fields);</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_42"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_603_13" HREF="terminal_interface-curses-forms__adb.htm#ref_752_13">Fields</A></span> (<span class="symbol"><A NAME="ref_603_21" HREF="terminal_interface-curses-forms__adb.htm#ref_752_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_604_21" HREF="terminal_interface-curses-forms__adb.htm#ref_753_21">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_42">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_602_13" HREF="terminal_interface-curses-forms__adb.htm#ref_658_13">Fields</A></span> (<span class="symbol"><A NAME="ref_602_21" HREF="terminal_interface-curses-forms__adb.htm#ref_658_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_603_21" HREF="terminal_interface-curses-forms__adb.htm#ref_659_21">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field.3x.html">form_fields()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_603_13">Fields</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_602_13">Fields</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_43"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_609_13" HREF="terminal_interface-curses-forms__adb.htm#ref_772_13">Field_Count</A></span> (<span class="symbol"><A NAME="ref_609_26" HREF="terminal_interface-curses-forms__adb.htm#ref_772_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Natural;
+ <span class="comment"><EM>-- <A NAME="AFU_43">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_608_13" HREF="terminal_interface-curses-forms__adb.htm#ref_678_13">Field_Count</A></span> (<span class="symbol"><A NAME="ref_608_26" HREF="terminal_interface-curses-forms__adb.htm#ref_678_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Natural;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field.3x.html">field_count()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_609_13">Field_Count</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_608_13">Field_Count</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_44"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_614_14" HREF="terminal_interface-curses-forms__adb.htm#ref_782_14">Move</A></span> (<span class="symbol"><A NAME="ref_614_20" HREF="terminal_interface-curses-forms__adb.htm#ref_782_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_615_20" HREF="terminal_interface-curses-forms__adb.htm#ref_783_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_616_20" HREF="terminal_interface-curses-forms__adb.htm#ref_784_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_44">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_613_14" HREF="terminal_interface-curses-forms__adb.htm#ref_688_14">Move</A></span> (<span class="symbol"><A NAME="ref_613_20" HREF="terminal_interface-curses-forms__adb.htm#ref_688_20">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_614_20" HREF="terminal_interface-curses-forms__adb.htm#ref_689_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_615_20" HREF="terminal_interface-curses-forms__adb.htm#ref_690_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_field.3x.html">move_field()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_614_14">Move</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_613_14">Move</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_new.3x.html">form_new.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_45"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_625_13" HREF="terminal_interface-curses-forms__adb.htm#ref_802_13">Create</A></span> (<span class="symbol"><A NAME="ref_625_21" HREF="terminal_interface-curses-forms__adb.htm#ref_802_21">Fields</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_45">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_624_13" HREF="terminal_interface-curses-forms__adb.htm#ref_705_13">Create</A></span> (<span class="symbol"><A NAME="ref_624_21" HREF="terminal_interface-curses-forms__adb.htm#ref_705_21">Fields</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_new.3x.html">new_form()</A></EM></span>
<b>pragma</b> Inline (Create);
- <span class="comment"><EM>-- #1A NAME="AFU_46"#2|</EM></span>
- <b>function</b> New_Form (<span class="symbol"><A NAME="ref_630_23">Fields</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>
- <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_625_13">Create</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_46">|</A></EM></span>
+ <b>function</b> New_Form (<span class="symbol"><A NAME="ref_629_23">Fields</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_135_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>
+ <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_624_13">Create</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_new.3x.html">new_form()</A></EM></span>
<span class="comment"><EM>-- pragma Inline (New_Form);</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_47"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_636_14" HREF="terminal_interface-curses-forms__adb.htm#ref_823_14">Delete</A></span> (<span class="symbol"><A NAME="ref_636_22" HREF="terminal_interface-curses-forms__adb.htm#ref_823_22">Frm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_47">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_635_14" HREF="terminal_interface-curses-forms__adb.htm#ref_726_14">Delete</A></span> (<span class="symbol"><A NAME="ref_635_22" HREF="terminal_interface-curses-forms__adb.htm#ref_726_22">Frm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_new.3x.html">free_form()</A></EM></span>
<span class="comment"><EM>-- Reset Frm to Null_Form</EM></span>
<b>pragma</b> Inline (Delete);
@@ -659,27 +658,27 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/form_opts.3x.html">form_opts.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_48"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_646_14" HREF="terminal_interface-curses-forms__adb.htm#ref_842_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_646_27" HREF="terminal_interface-curses-forms__adb.htm#ref_842_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_647_27" HREF="terminal_interface-curses-forms__adb.htm#ref_843_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_48">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_645_14" HREF="terminal_interface-curses-forms__adb.htm#ref_742_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_645_27" HREF="terminal_interface-curses-forms__adb.htm#ref_742_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_646_27" HREF="terminal_interface-curses-forms__adb.htm#ref_743_27">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_opts.3x.html">set_form_opts()</A></EM></span>
<b>pragma</b> Inline (Set_Options);
- <span class="comment"><EM>-- #1A NAME="AFU_49"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_652_14" HREF="terminal_interface-curses-forms__adb.htm#ref_860_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_652_30" HREF="terminal_interface-curses-forms__adb.htm#ref_860_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_653_30" HREF="terminal_interface-curses-forms__adb.htm#ref_861_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
- <span class="symbol"><A NAME="ref_654_30" HREF="terminal_interface-curses-forms__adb.htm#ref_862_30">On</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_49">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_651_14" HREF="terminal_interface-curses-forms__adb.htm#ref_755_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_651_30" HREF="terminal_interface-curses-forms__adb.htm#ref_755_30">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_652_30" HREF="terminal_interface-curses-forms__adb.htm#ref_756_30">Options</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
+ <span class="symbol"><A NAME="ref_653_30" HREF="terminal_interface-curses-forms__adb.htm#ref_757_30">On</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_opts.3x.html">form_opts_on()</A></EM></span>
<span class="comment"><EM>-- AKA: form_opts_off()</EM></span>
<b>pragma</b> Inline (Switch_Options);
- <span class="comment"><EM>-- #1A NAME="AFU_50"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_660_14" HREF="terminal_interface-curses-forms__adb.htm#ref_886_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_660_27" HREF="terminal_interface-curses-forms__adb.htm#ref_886_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_661_27" HREF="terminal_interface-curses-forms__adb.htm#ref_887_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_50">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_659_14" HREF="terminal_interface-curses-forms__adb.htm#ref_776_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_659_27" HREF="terminal_interface-curses-forms__adb.htm#ref_776_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_660_27" HREF="terminal_interface-curses-forms__adb.htm#ref_777_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_51"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_665_13" HREF="terminal_interface-curses-forms__adb.htm#ref_899_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_665_26" HREF="terminal_interface-curses-forms__adb.htm#ref_899_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_60_4">Null_Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_51">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_664_13" HREF="terminal_interface-curses-forms__adb.htm#ref_788_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_664_26" HREF="terminal_interface-curses-forms__adb.htm#ref_788_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_108_9">Form_Option_Set</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></EM></span>
<b>pragma</b> Inline (Get_Options);
@@ -687,48 +686,48 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/form_post.3x.html">form_post.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_52"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_674_14" HREF="terminal_interface-curses-forms__adb.htm#ref_913_14">Post</A></span> (<span class="symbol"><A NAME="ref_674_20" HREF="terminal_interface-curses-forms__adb.htm#ref_913_20">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_675_20" HREF="terminal_interface-curses-forms__adb.htm#ref_914_20">Post</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_52">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_673_14" HREF="terminal_interface-curses-forms__adb.htm#ref_802_14">Post</A></span> (<span class="symbol"><A NAME="ref_673_20" HREF="terminal_interface-curses-forms__adb.htm#ref_802_20">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_674_20" HREF="terminal_interface-curses-forms__adb.htm#ref_803_20">Post</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_post.3x.html">post_form()</A></EM></span>
<span class="comment"><EM>-- AKA: unpost_form()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_674_14">Post</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_673_14">Post</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_cursor.3x.html">form_cursor.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_53"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_685_14" HREF="terminal_interface-curses-forms__adb.htm#ref_939_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_685_31" HREF="terminal_interface-curses-forms__adb.htm#ref_939_31">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_53">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_684_14" HREF="terminal_interface-curses-forms__adb.htm#ref_824_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_684_31" HREF="terminal_interface-curses-forms__adb.htm#ref_824_31">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_cursor.3x.html">pos_form_cursor()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_685_14">Position_Cursor</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_684_14">Position_Cursor</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_data.3x.html">form_data.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_54"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_694_13" HREF="terminal_interface-curses-forms__adb.htm#ref_957_13">Data_Ahead</A></span> (<span class="symbol"><A NAME="ref_694_25" HREF="terminal_interface-curses-forms__adb.htm#ref_957_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_54">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_693_13" HREF="terminal_interface-curses-forms__adb.htm#ref_839_13">Data_Ahead</A></span> (<span class="symbol"><A NAME="ref_693_25" HREF="terminal_interface-curses-forms__adb.htm#ref_839_25">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_data.3x.html">data_ahead()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_694_13">Data_Ahead</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_693_13">Data_Ahead</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_55"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_699_13" HREF="terminal_interface-curses-forms__adb.htm#ref_973_13">Data_Behind</A></span> (<span class="symbol"><A NAME="ref_699_26" HREF="terminal_interface-curses-forms__adb.htm#ref_973_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_55">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_698_13" HREF="terminal_interface-curses-forms__adb.htm#ref_855_13">Data_Behind</A></span> (<span class="symbol"><A NAME="ref_698_26" HREF="terminal_interface-curses-forms__adb.htm#ref_855_26">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_data.3x.html">data_behind()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_699_13">Data_Behind</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_698_13">Data_Behind</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_driver.3x.html">form_driver.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_707_9">Driver_Result</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_707_27">Form_Ok</A></span>,
- <span class="symbol"><A NAME="ref_708_27">Request_Denied</A></span>,
- <span class="symbol"><A NAME="ref_709_27">Unknown_Request</A></span>,
- <span class="symbol"><A NAME="ref_710_27">Invalid_Field</A></span>);
+ <b>type</b> <span class="symbol"><A NAME="ref_706_9">Driver_Result</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_706_27">Form_Ok</A></span>,
+ <span class="symbol"><A NAME="ref_707_27">Request_Denied</A></span>,
+ <span class="symbol"><A NAME="ref_708_27">Unknown_Request</A></span>,
+ <span class="symbol"><A NAME="ref_709_27">Invalid_Field</A></span>);
- <span class="comment"><EM>-- #1A NAME="AFU_56"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_713_13" HREF="terminal_interface-curses-forms__adb.htm#ref_993_13">Driver</A></span> (<span class="symbol"><A NAME="ref_713_21" HREF="terminal_interface-curses-forms__adb.htm#ref_993_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_714_21" HREF="terminal_interface-curses-forms__adb.htm#ref_994_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_68_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_707_9">Driver_Result</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_56">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_712_13" HREF="terminal_interface-curses-forms__adb.htm#ref_875_13">Driver</A></span> (<span class="symbol"><A NAME="ref_712_21" HREF="terminal_interface-curses-forms__adb.htm#ref_875_21">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_713_21" HREF="terminal_interface-curses-forms__adb.htm#ref_876_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_706_9">Driver_Result</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_driver.3x.html">form_driver()</A></EM></span>
<span class="comment"><EM>-- Driver not inlined</EM></span>
@@ -736,52 +735,52 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/form_page.3x.html">form_page.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_722_9">Page_Number</A></span> <b>is</b> <b>new</b> Natural;
+ <b>type</b> <span class="symbol"><A NAME="ref_721_9">Page_Number</A></span> <b>is</b> <b>new</b> Natural;
- <span class="comment"><EM>-- #1A NAME="AFU_57"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_725_14" HREF="terminal_interface-curses-forms__adb.htm#ref_1023_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_725_27" HREF="terminal_interface-curses-forms__adb.htm#ref_1023_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_726_27" HREF="terminal_interface-curses-forms__adb.htm#ref_1024_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_57">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_724_14" HREF="terminal_interface-curses-forms__adb.htm#ref_902_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_724_27" HREF="terminal_interface-curses-forms__adb.htm#ref_902_27">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_725_27" HREF="terminal_interface-curses-forms__adb.htm#ref_903_27">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_page.3x.html">set_current_field()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_725_14">Set_Current</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_724_14">Set_Current</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_58"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_731_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1038_13">Current</A></span> (<span class="symbol"><A NAME="ref_731_22" HREF="terminal_interface-curses-forms__adb.htm#ref_1038_22">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_58">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_730_13" HREF="terminal_interface-curses-forms__adb.htm#ref_914_13">Current</A></span> (<span class="symbol"><A NAME="ref_730_22" HREF="terminal_interface-curses-forms__adb.htm#ref_914_22">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_page.3x.html">current_field()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_731_13">Current</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_730_13">Current</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_59"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_736_14" HREF="terminal_interface-curses-forms__adb.htm#ref_1053_14">Set_Page</A></span> (<span class="symbol"><A NAME="ref_736_24" HREF="terminal_interface-curses-forms__adb.htm#ref_1053_24">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
- <span class="symbol"><A NAME="ref_737_24" HREF="terminal_interface-curses-forms__adb.htm#ref_1054_24">Page</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A>'First);
+ <span class="comment"><EM>-- <A NAME="AFU_59">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_735_14" HREF="terminal_interface-curses-forms__adb.htm#ref_929_14">Set_Page</A></span> (<span class="symbol"><A NAME="ref_735_24" HREF="terminal_interface-curses-forms__adb.htm#ref_929_24">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>;
+ <span class="symbol"><A NAME="ref_736_24" HREF="terminal_interface-curses-forms__adb.htm#ref_930_24">Page</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A>'First);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_page.3x.html">set_form_page()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_736_14">Set_Page</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_735_14">Set_Page</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_60"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_742_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1068_13">Page</A></span> (<span class="symbol"><A NAME="ref_742_19" HREF="terminal_interface-curses-forms__adb.htm#ref_1068_19">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_722_9">Page_Number</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_60">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_741_13" HREF="terminal_interface-curses-forms__adb.htm#ref_941_13">Page</A></span> (<span class="symbol"><A NAME="ref_741_19" HREF="terminal_interface-curses-forms__adb.htm#ref_941_19">Frm</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_721_9">Page_Number</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_page.3x.html">form_page()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_742_13">Page</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_741_13">Page</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_61"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_747_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1082_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_747_24" HREF="terminal_interface-curses-forms__adb.htm#ref_1082_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> Positive;
+ <span class="comment"><EM>-- <A NAME="AFU_61">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_746_13" HREF="terminal_interface-curses-forms__adb.htm#ref_955_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_746_24" HREF="terminal_interface-curses-forms__adb.htm#ref_955_24">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> Positive;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_page.3x.html">field_index()</A></EM></span>
<span class="comment"><EM>-- Please note that in this binding we start the numbering of fields</EM></span>
<span class="comment"><EM>-- with 1. So this is number is one more than you get from the low</EM></span>
<span class="comment"><EM>-- level call.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_747_13">Get_Index</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_746_13">Get_Index</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_new_page.3x.html">form_new_page.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_62"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_759_14" HREF="terminal_interface-curses-forms__adb.htm#ref_1102_14">Set_New_Page</A></span> (<span class="symbol"><A NAME="ref_759_28" HREF="terminal_interface-curses-forms__adb.htm#ref_1102_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
- <span class="symbol"><A NAME="ref_760_28" HREF="terminal_interface-curses-forms__adb.htm#ref_1103_28">New_Page</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_62">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_758_14" HREF="terminal_interface-curses-forms__adb.htm#ref_975_14">Set_New_Page</A></span> (<span class="symbol"><A NAME="ref_758_28" HREF="terminal_interface-curses-forms__adb.htm#ref_975_28">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>;
+ <span class="symbol"><A NAME="ref_759_28" HREF="terminal_interface-curses-forms__adb.htm#ref_976_28">New_Page</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/form_new_page.3x.html">set_new_page()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_759_14">Set_New_Page</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_758_14">Set_New_Page</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_63"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_765_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1117_13">Is_New_Page</A></span> (<span class="symbol"><A NAME="ref_765_26" HREF="terminal_interface-curses-forms__adb.htm#ref_1117_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_63">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_764_13" HREF="terminal_interface-curses-forms__adb.htm#ref_987_13">Is_New_Page</A></span> (<span class="symbol"><A NAME="ref_764_26" HREF="terminal_interface-curses-forms__adb.htm#ref_987_26">Fld</A></span> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/form_new_page.3x.html">new_page()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_765_13">Is_New_Page</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_764_13">Is_New_Page</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/form_requestname.3x.html">form_requestname.3x</A></EM></span>
@@ -790,11 +789,11 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>private</b>
- <b>type</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
- <b>type</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+ <b>type</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+ <b>type</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_59_4">Null_Field</A> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A> := 0;
- <A HREF="terminal_interface-curses-forms__ads.htm#ref_60_4">Null_Form</A> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A> := 0;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_54_4">Null_Field</A> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_51_9">Field</A> := 0;
+ <A HREF="terminal_interface-curses-forms__ads.htm#ref_55_4">Null_Form</A> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_52_9">Form</A> := 0;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-forms__ads.htm#ref_45_35">Forms</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm
index 703e8afef3c1..4c89bb00ee42 100644
--- a/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2014,2018 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,44 +52,38 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.12 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.15 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>.<span class="symbol"><A NAME="ref_44_46" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<span class="symbol"><A NAME="ref_43_46" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A></span> <b>is</b>
- <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
-
- <b>procedure</b> <span class="symbol"><A NAME="ref_48_14" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_48_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_29">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_49_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_45_14" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_45_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_29">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_46_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_51_16">Set_Item_Userptr</A></span> (<span class="symbol"><A NAME="ref_51_34" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_51_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_52_34" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_51_16">Addr</A></span> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_48_16">Set_Item_Userptr</A></span> (<span class="symbol"><A NAME="ref_48_34" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_48_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_49_34" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_48_16">Addr</A></span> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Item_Userptr, "set_item_userptr");
- <span class="symbol"><A NAME="ref_55_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_51_16">Set_Item_Userptr</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_29">Itm</A>, <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Data</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_55_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_55_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_48_16">Set_Item_Userptr</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_29">Itm</A>, <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Data</A>));
<b>end</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_14">Set_User_Data</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_62_28" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_28">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_56_13" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_56_28" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_28">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_64_16">Item_Userptr</A></span> (<span class="symbol"><A NAME="ref_64_30" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_64_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_58_16">Item_Userptr</A></span> (<span class="symbol"><A NAME="ref_58_30" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_58_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>;
<b>pragma</b> Import (C, Item_Userptr, "item_userptr");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_64_16">Item_Userptr</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_28">Itm</A>);
+ <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_58_16">Item_Userptr</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_28">Itm</A>);
<b>end</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_13">Get_User_Data</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_70_14" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_70_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_29">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_71_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_64_14" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_29">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_65_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>)
<b>is</b>
<b>begin</b>
<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_29">Data</A> := <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_29">Itm</A>);
<b>end</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_14">Get_User_Data</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>.<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm b/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm
index b58396318991..0352ffad1737 100644
--- a/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm
@@ -60,8 +60,8 @@
<b>generic</b>
<b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">User</A></span> <b>is</b> <b>limited</b> <b>private</b>;
<b>type</b> <span class="symbol"><A NAME="ref_45_9" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">User_Access</A></span> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_44_9">User</A>;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>.<span class="symbol"><A NAME="ref_46_41" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_44_46">Item_User_Data</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>.<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<span class="symbol"><A NAME="ref_46_41" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_43_46">Item_User_Data</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A>);
<span class="comment"><EM>-- The binding uses the same user pointer for menu items</EM></span>
<span class="comment"><EM>-- as the low level C implementation. So you can safely</EM></span>
@@ -71,22 +71,22 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_1"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_58_14" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_48_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_58_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_48_29">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_49_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_58_14" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_45_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_58_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_45_29">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_46_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_userptr.3x.html">set_item_userptr</A></EM></span>
<b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_14">Set_User_Data</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_2"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_64_14" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_70_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_70_29">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_65_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_71_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_64_14" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_64_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_64_29">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_65_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_65_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_userptr.3x.html">item_userptr</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_3"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_69_13" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_62_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_69_28" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_62_28">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_69_13" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_56_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_69_28" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_56_28">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_userptr.3x.html">item_userptr</A></EM></span>
<span class="comment"><EM>-- Same as function</EM></span>
<b>pragma</b> Inline (Get_User_Data);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>.<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm
index 50be1edbfb14..8ce5da84cbc3 100644
--- a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2003,2009 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2014,2018 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,43 +52,39 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.13 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.16 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>.<span class="symbol"><A NAME="ref_43_46" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<span class="symbol"><A NAME="ref_43_46" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A></span> <b>is</b>
- <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
-
- <b>procedure</b> <span class="symbol"><A NAME="ref_47_14" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_47_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_48_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_45_14" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_45_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_46_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_50_16">Set_Menu_Userptr</A></span> (<span class="symbol"><A NAME="ref_50_34" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_50_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_51_34" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_50_16">Data</A></span> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_48_16">Set_Menu_Userptr</A></span> (<span class="symbol"><A NAME="ref_48_34" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_48_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_49_34" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_48_16">Data</A></span> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Menu_Userptr, "set_menu_userptr");
- <span class="symbol"><A NAME="ref_54_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_50_16">Set_Menu_Userptr</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_29">Men</A>, <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Data</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_54_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_54_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_48_16">Set_Menu_Userptr</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_29">Men</A>, <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Data</A>));
+
<b>end</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_14">Set_User_Data</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_61_13" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_61_28" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_28">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_57_13" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_57_28" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_28">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_63_16">Menu_Userptr</A></span> (<span class="symbol"><A NAME="ref_63_30" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_63_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_59_16">Menu_Userptr</A></span> (<span class="symbol"><A NAME="ref_59_30" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_59_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>;
<b>pragma</b> Import (C, Menu_Userptr, "menu_userptr");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_63_16">Menu_Userptr</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_28">Men</A>);
+ <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_59_16">Menu_Userptr</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_28">Men</A>);
<b>end</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_13">Get_User_Data</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_69_14" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_69_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_70_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_65_14" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_65_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_66_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>)
<b>is</b>
<b>begin</b>
<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_29">Data</A> := <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_29">Men</A>);
<b>end</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_14">Get_User_Data</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>.<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm
index 3cb525a0db79..36277030a424 100644
--- a/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm
@@ -59,29 +59,29 @@
<b>generic</b>
<b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">User</A></span> <b>is</b> <b>limited</b> <b>private</b>;
<b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">User_Access</A></span> <b>is</b> <b>access</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_43_9">User</A>;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>.<span class="symbol"><A NAME="ref_45_41" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_43_46">Menu_User_Data</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>.<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<span class="symbol"><A NAME="ref_45_41" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_43_46">Menu_User_Data</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_userptr.3x.html">menu_userptr.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_1"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_47_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_47_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_48_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_45_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_45_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_46_29">Data</A></span> : <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_userptr.3x.html">set_menu_userptr</A></EM></span>
<b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_14">Set_User_Data</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_2"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_69_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_69_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_70_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_65_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_65_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_66_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_userptr.3x.html">menu_userptr</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_3"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_61_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_61_28">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_57_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_57_28">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_userptr.3x.html">menu_userptr</A></EM></span>
<span class="comment"><EM>-- Same as function</EM></span>
<b>pragma</b> Inline (Get_User_Data);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>.<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>.<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-menus__adb.htm b/doc/html/ada/terminal_interface-curses-menus__adb.htm
index 6da134e31ab4..73f79cea87e4 100644
--- a/doc/html/ada/terminal_interface-curses-menus__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-menus__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2014,2018 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,989 +52,870 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.28 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/22 23:38:12 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.33 @</EM></span>
+<span class="comment"><EM>-- @Date: 2018/07/07 23:36:44 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> Ada.Unchecked_Deallocation;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Pointers;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Pointers;
-<b>with</b> Ada.Unchecked_Conversion;
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_49_40" HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A></span> <b>is</b>
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_51_40" HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A></span> <b>is</b>
-
- <b>type</b> C_Item_Array <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+ <b>type</b> C_Item_Array <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
<b>package</b> I_Array <b>is</b> <b>new</b>
- <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>, C_Item_Array, <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>);
-
- <b>use</b> <b>type</b> System.Bit_Order;
- <b>subtype</b> <span class="symbol"><A NAME="ref_58_12">chars_ptr</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.chars_ptr;
-
- <b>function</b> MOS_2_CInt <b>is</b> <b>new</b>
- Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>);
-
- <b>function</b> CInt_2_MOS <b>is</b> <b>new</b>
- Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>,
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>);
+ <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>, C_Item_Array, <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>);
- <b>function</b> IOS_2_CInt <b>is</b> <b>new</b>
- Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>);
-
- <b>function</b> CInt_2_IOS <b>is</b> <b>new</b>
- Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>,
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>);
+ <b>subtype</b> <span class="symbol"><A NAME="ref_55_12">chars_ptr</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.chars_ptr;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_77_14" HREF="terminal_interface-curses-menus__ads.htm#ref_106_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_77_28" HREF="terminal_interface-curses-menus__ads.htm#ref_106_28">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A>;
- <span class="symbol"><A NAME="ref_78_28" HREF="terminal_interface-curses-menus__ads.htm#ref_107_28">Name</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_58_14" HREF="terminal_interface-curses-menus__ads.htm#ref_101_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_58_28" HREF="terminal_interface-curses-menus__ads.htm#ref_101_28">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A>;
+ <span class="symbol"><A NAME="ref_59_28" HREF="terminal_interface-curses-menus__ads.htm#ref_102_28">Name</A></span> : <b>out</b> String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_80_16">Request_Name</A></span> (<span class="symbol"><A NAME="ref_80_30" HREF="terminal_interface-curses-menus__adb.htm#ref_80_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_61_16">Request_Name</A></span> (<span class="symbol"><A NAME="ref_61_30" HREF="terminal_interface-curses-menus__adb.htm#ref_61_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
<b>pragma</b> Import (C, Request_Name, "menu_request_name");
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_80_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_106_28">Key</A>)), <A HREF="terminal_interface-curses-menus__ads.htm#ref_107_28">Name</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_106_14">Request_Name</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_61_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_101_28">Key</A>)), <A HREF="terminal_interface-curses-menus__ads.htm#ref_102_28">Name</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_101_14">Request_Name</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_86_13" HREF="terminal_interface-curses-menus__ads.htm#ref_109_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_86_27" HREF="terminal_interface-curses-menus__ads.htm#ref_109_28">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A>) <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_67_13" HREF="terminal_interface-curses-menus__ads.htm#ref_104_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_67_27" HREF="terminal_interface-curses-menus__ads.htm#ref_104_28">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A>) <b>return</b> String
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_88_16">Request_Name</A></span> (<span class="symbol"><A NAME="ref_88_30" HREF="terminal_interface-curses-menus__adb.htm#ref_88_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_69_16">Request_Name</A></span> (<span class="symbol"><A NAME="ref_69_30" HREF="terminal_interface-curses-menus__adb.htm#ref_69_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
<b>pragma</b> Import (C, Request_Name, "menu_request_name");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_88_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_109_28">Key</A>)));
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_109_14">Request_Name</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_69_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_104_28">Key</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_104_14">Request_Name</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_94_13" HREF="terminal_interface-curses-menus__ads.htm#ref_193_13">Create</A></span> (<span class="symbol"><A NAME="ref_94_21" HREF="terminal_interface-curses-menus__ads.htm#ref_193_21">Name</A></span> : String;
- <span class="symbol"><A NAME="ref_95_21" HREF="terminal_interface-curses-menus__ads.htm#ref_194_21">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_75_13" HREF="terminal_interface-curses-menus__ads.htm#ref_189_13">Create</A></span> (<span class="symbol"><A NAME="ref_75_21" HREF="terminal_interface-curses-menus__ads.htm#ref_189_21">Name</A></span> : String;
+ <span class="symbol"><A NAME="ref_76_21" HREF="terminal_interface-curses-menus__ads.htm#ref_190_21">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_97_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char;
- <b>function</b> <span class="symbol"><A NAME="ref_98_16">Newitem</A></span> (<span class="symbol"><A NAME="ref_98_25" HREF="terminal_interface-curses-menus__adb.htm#ref_98_16">Name</A></span>, <span class="symbol"><A NAME="ref_98_31" HREF="terminal_interface-curses-menus__adb.htm#ref_98_16">Desc</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_97_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+ <b>type</b> <span class="symbol"><A NAME="ref_78_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char;
+ <b>function</b> <span class="symbol"><A NAME="ref_79_16">Newitem</A></span> (<span class="symbol"><A NAME="ref_79_25" HREF="terminal_interface-curses-menus__adb.htm#ref_79_16">Name</A></span>, <span class="symbol"><A NAME="ref_79_31" HREF="terminal_interface-curses-menus__adb.htm#ref_79_16">Desc</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_78_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
<b>pragma</b> Import (C, Newitem, "new_item");
- <b>type</b> Name_String <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_193_21">Name</A>'Length);
- <b>type</b> <span class="symbol"><A NAME="ref_102_12">Name_String_Ptr</A></span> <b>is</b> <b>access</b> Name_String;
- <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#ref_102_12">Name_String_Ptr</A>);
-
- <b>type</b> Desc_String <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_194_21">Description</A>'Length);
- <b>type</b> <span class="symbol"><A NAME="ref_106_12">Desc_String_Ptr</A></span> <b>is</b> <b>access</b> Desc_String;
- <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#ref_106_12">Desc_String_Ptr</A>);
-
- <span class="symbol"><A NAME="ref_109_7">Name_Str</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_102_12">Name_String_Ptr</A> := <b>new</b> Name_String;
- <span class="symbol"><A NAME="ref_110_7">Desc_Str</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_106_12">Desc_String_Ptr</A> := <b>new</b> Desc_String;
- <span class="symbol"><A NAME="ref_111_7">Name_Len</A></span>, <span class="symbol"><A NAME="ref_111_17">Desc_Len</A></span> : size_t;
- <span class="symbol"><A NAME="ref_112_7">Result</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <b>begin</b>
- To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_193_21">Name</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_109_7">Name_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_111_7">Name_Len</A>);
- To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_194_21">Description</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_110_7">Desc_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_111_17">Desc_Len</A>);
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_112_7">Result</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_98_16">Newitem</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_109_7">Name_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_109_7">Name_Str</A>.<b>all</b>'First)'<b>Access</b>,
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_110_7">Desc_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_110_7">Desc_Str</A>.<b>all</b>'First)'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_112_7">Result</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_4">Eti_System_Error</A>;
+ <b>type</b> Name_String <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_189_21">Name</A>'Length);
+ <b>type</b> <span class="symbol"><A NAME="ref_83_12">Name_String_Ptr</A></span> <b>is</b> <b>access</b> Name_String;
+ <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#ref_83_12">Name_String_Ptr</A>);
+
+ <b>type</b> Desc_String <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_190_21">Description</A>'Length);
+ <b>type</b> <span class="symbol"><A NAME="ref_87_12">Desc_String_Ptr</A></span> <b>is</b> <b>access</b> Desc_String;
+ <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#ref_87_12">Desc_String_Ptr</A>);
+
+ <span class="symbol"><A NAME="ref_90_7">Name_Str</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_83_12">Name_String_Ptr</A> := <b>new</b> Name_String;
+ <span class="symbol"><A NAME="ref_91_7">Desc_Str</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_87_12">Desc_String_Ptr</A> := <b>new</b> Desc_String;
+ <span class="symbol"><A NAME="ref_92_7">Name_Len</A></span>, <span class="symbol"><A NAME="ref_92_17">Desc_Len</A></span> : size_t;
+ <span class="symbol"><A NAME="ref_93_7">Result</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <b>begin</b>
+ To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_189_21">Name</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_90_7">Name_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_92_7">Name_Len</A>);
+ To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_190_21">Description</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_91_7">Desc_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_92_17">Desc_Len</A>);
+ <A HREF="terminal_interface-curses-menus__adb.htm#ref_93_7">Result</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_79_16">Newitem</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_90_7">Name_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_90_7">Name_Str</A>.<b>all</b>'First)'<b>Access</b>,
+ <A HREF="terminal_interface-curses-menus__adb.htm#ref_91_7">Desc_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_91_7">Desc_Str</A>.<b>all</b>'First)'<b>Access</b>);
+ <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_93_7">Result</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_527_4">Eti_System_Error</A>;
<b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_112_7">Result</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_193_13">Create</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_93_7">Result</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_189_13">Create</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_124_14" HREF="terminal_interface-curses-menus__ads.htm#ref_205_14">Delete</A></span> (<span class="symbol"><A NAME="ref_124_22" HREF="terminal_interface-curses-menus__ads.htm#ref_205_22">Itm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_105_14" HREF="terminal_interface-curses-menus__ads.htm#ref_201_14">Delete</A></span> (<span class="symbol"><A NAME="ref_105_22" HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_126_16">Descname</A></span> (<span class="symbol"><A NAME="ref_126_26" HREF="terminal_interface-curses-menus__adb.htm#ref_126_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_107_16">Descname</A></span> (<span class="symbol"><A NAME="ref_107_26" HREF="terminal_interface-curses-menus__adb.htm#ref_107_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
<b>pragma</b> Import (C, Descname, "item_description");
- <b>function</b> <span class="symbol"><A NAME="ref_128_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_128_26" HREF="terminal_interface-curses-menus__adb.htm#ref_128_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_109_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_109_26" HREF="terminal_interface-curses-menus__adb.htm#ref_109_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
<b>pragma</b> Import (C, Itemname, "item_name");
- <b>function</b> <span class="symbol"><A NAME="ref_131_16">Freeitem</A></span> (<span class="symbol"><A NAME="ref_131_26" HREF="terminal_interface-curses-menus__adb.htm#ref_131_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_112_16">Freeitem</A></span> (<span class="symbol"><A NAME="ref_112_26" HREF="terminal_interface-curses-menus__adb.htm#ref_112_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Freeitem, "free_item");
- <span class="symbol"><A NAME="ref_134_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
- <span class="symbol"><A NAME="ref_135_7">Ptr</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
+ <span class="symbol"><A NAME="ref_115_7">Ptr</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_135_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_126_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_205_22">Itm</A>);
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_135_7">Ptr</A> /= Null_Ptr <b>then</b>
- <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#ref_135_7">Ptr</A>);
- <b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_135_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_128_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_205_22">Itm</A>);
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_135_7">Ptr</A> /= Null_Ptr <b>then</b>
- <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#ref_135_7">Ptr</A>);
+ <A HREF="terminal_interface-curses-menus__adb.htm#ref_115_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_107_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_115_7">Ptr</A> /= Null_Ptr <b>then</b>
+ <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#ref_115_7">Ptr</A>);
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_134_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_131_16">Freeitem</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_205_22">Itm</A>);
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_134_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_134_7">Res</A>);
+ <A HREF="terminal_interface-curses-menus__adb.htm#ref_115_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_109_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_115_7">Ptr</A> /= Null_Ptr <b>then</b>
+ <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#ref_115_7">Ptr</A>);
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_205_22">Itm</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_205_14">Delete</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_112_16">Freeitem</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A>));
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_201_22">Itm</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_201_14">Delete</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_152_14" HREF="terminal_interface-curses-menus__ads.htm#ref_214_14">Set_Value</A></span> (<span class="symbol"><A NAME="ref_152_25" HREF="terminal_interface-curses-menus__ads.htm#ref_214_25">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_153_25" HREF="terminal_interface-curses-menus__ads.htm#ref_215_25">Value</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_129_14" HREF="terminal_interface-curses-menus__ads.htm#ref_210_14">Set_Value</A></span> (<span class="symbol"><A NAME="ref_129_25" HREF="terminal_interface-curses-menus__ads.htm#ref_210_25">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_130_25" HREF="terminal_interface-curses-menus__ads.htm#ref_211_25">Value</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_155_16">Set_Item_Val</A></span> (<span class="symbol"><A NAME="ref_155_30" HREF="terminal_interface-curses-menus__adb.htm#ref_155_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_156_30" HREF="terminal_interface-curses-menus__adb.htm#ref_155_16">Val</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_132_16">Set_Item_Val</A></span> (<span class="symbol"><A NAME="ref_132_30" HREF="terminal_interface-curses-menus__adb.htm#ref_132_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_133_30" HREF="terminal_interface-curses-menus__adb.htm#ref_132_16">Val</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Item_Val, "set_item_value");
- <span class="symbol"><A NAME="ref_159_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_155_16">Set_Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_214_25">Itm</A>, Boolean'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_215_25">Value</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_159_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_159_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_214_14">Set_Value</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_132_16">Set_Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_210_25">Itm</A>, Boolean'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_211_25">Value</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_210_14">Set_Value</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_166_13" HREF="terminal_interface-curses-menus__ads.htm#ref_220_13">Value</A></span> (<span class="symbol"><A NAME="ref_166_20" HREF="terminal_interface-curses-menus__ads.htm#ref_220_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_140_13" HREF="terminal_interface-curses-menus__ads.htm#ref_216_13">Value</A></span> (<span class="symbol"><A NAME="ref_140_20" HREF="terminal_interface-curses-menus__ads.htm#ref_216_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_168_16">Item_Val</A></span> (<span class="symbol"><A NAME="ref_168_26" HREF="terminal_interface-curses-menus__adb.htm#ref_168_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_142_16">Item_Val</A></span> (<span class="symbol"><A NAME="ref_142_26" HREF="terminal_interface-curses-menus__adb.htm#ref_142_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Item_Val, "item_value");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_168_16">Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_220_20">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Curses_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_142_16">Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_216_20">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_220_13">Value</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_216_13">Value</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_179_13" HREF="terminal_interface-curses-menus__ads.htm#ref_229_13">Visible</A></span> (<span class="symbol"><A NAME="ref_179_22" HREF="terminal_interface-curses-menus__ads.htm#ref_229_22">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_153_13" HREF="terminal_interface-curses-menus__ads.htm#ref_225_13">Visible</A></span> (<span class="symbol"><A NAME="ref_153_22" HREF="terminal_interface-curses-menus__ads.htm#ref_225_22">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_181_16">Item_Vis</A></span> (<span class="symbol"><A NAME="ref_181_26" HREF="terminal_interface-curses-menus__adb.htm#ref_181_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_155_16">Item_Vis</A></span> (<span class="symbol"><A NAME="ref_155_26" HREF="terminal_interface-curses-menus__adb.htm#ref_155_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Item_Vis, "item_visible");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_181_16">Item_Vis</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_229_22">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Curses_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_155_16">Item_Vis</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_225_22">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_229_13">Visible</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_225_13">Visible</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_191_14" HREF="terminal_interface-curses-menus__ads.htm#ref_238_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_191_27" HREF="terminal_interface-curses-menus__ads.htm#ref_238_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_192_27" HREF="terminal_interface-curses-menus__ads.htm#ref_239_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_165_14" HREF="terminal_interface-curses-menus__ads.htm#ref_234_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_165_27" HREF="terminal_interface-curses-menus__ads.htm#ref_234_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_166_27" HREF="terminal_interface-curses-menus__ads.htm#ref_235_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_194_16">Set_Item_Opts</A></span> (<span class="symbol"><A NAME="ref_194_31" HREF="terminal_interface-curses-menus__adb.htm#ref_194_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_195_31" HREF="terminal_interface-curses-menus__adb.htm#ref_194_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_168_16">Set_Item_Opts</A></span> (<span class="symbol"><A NAME="ref_168_31" HREF="terminal_interface-curses-menus__adb.htm#ref_168_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_169_31" HREF="terminal_interface-curses-menus__adb.htm#ref_168_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Item_Opts, "set_item_opts");
- <span class="symbol"><A NAME="ref_198_7">Opt</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := IOS_2_CInt (<A HREF="terminal_interface-curses-menus__ads.htm#ref_239_27">Options</A>);
- <span class="symbol"><A NAME="ref_199_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_199_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_194_16">Set_Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_238_27">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_198_7">Opt</A>);
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_199_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_199_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_238_14">Set_Options</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_168_16">Set_Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_234_27">Itm</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_235_27">Options</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_234_14">Set_Options</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_207_14" HREF="terminal_interface-curses-menus__ads.htm#ref_244_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_207_30" HREF="terminal_interface-curses-menus__ads.htm#ref_244_30">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_208_30" HREF="terminal_interface-curses-menus__ads.htm#ref_245_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>;
- <span class="symbol"><A NAME="ref_209_30" HREF="terminal_interface-curses-menus__ads.htm#ref_246_30">On</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_176_14" HREF="terminal_interface-curses-menus__ads.htm#ref_240_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_176_30" HREF="terminal_interface-curses-menus__ads.htm#ref_240_30">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_177_30" HREF="terminal_interface-curses-menus__ads.htm#ref_241_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
+ <span class="symbol"><A NAME="ref_178_30" HREF="terminal_interface-curses-menus__ads.htm#ref_242_30">On</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_211_16">Item_Opts_On</A></span> (<span class="symbol"><A NAME="ref_211_30" HREF="terminal_interface-curses-menus__adb.htm#ref_211_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_212_30" HREF="terminal_interface-curses-menus__adb.htm#ref_211_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_180_16">Item_Opts_On</A></span> (<span class="symbol"><A NAME="ref_180_30" HREF="terminal_interface-curses-menus__adb.htm#ref_180_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_181_30" HREF="terminal_interface-curses-menus__adb.htm#ref_180_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Item_Opts_On, "item_opts_on");
- <b>function</b> <span class="symbol"><A NAME="ref_214_16">Item_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_214_31" HREF="terminal_interface-curses-menus__adb.htm#ref_214_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_215_31" HREF="terminal_interface-curses-menus__adb.htm#ref_214_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_183_16">Item_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_183_31" HREF="terminal_interface-curses-menus__adb.htm#ref_183_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_184_31" HREF="terminal_interface-curses-menus__adb.htm#ref_183_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Item_Opts_Off, "item_opts_off");
- <span class="symbol"><A NAME="ref_218_7">Opt</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := IOS_2_CInt (<A HREF="terminal_interface-curses-menus__ads.htm#ref_245_30">Options</A>);
- <span class="symbol"><A NAME="ref_219_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_246_30">On</A> <b>then</b>
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_219_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_211_16">Item_Opts_On</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_244_30">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_218_7">Opt</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_242_30">On</A> <b>then</b>
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_180_16">Item_Opts_On</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_240_30">Itm</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_241_30">Options</A>));
<b>else</b>
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_219_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_214_16">Item_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_244_30">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_218_7">Opt</A>);
- <b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_219_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_219_7">Err</A>);
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_183_16">Item_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_240_30">Itm</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_241_30">Options</A>));
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_244_14">Switch_Options</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_240_14">Switch_Options</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_231_14" HREF="terminal_interface-curses-menus__ads.htm#ref_253_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_231_27" HREF="terminal_interface-curses-menus__ads.htm#ref_253_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_232_27" HREF="terminal_interface-curses-menus__ads.htm#ref_254_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_195_14" HREF="terminal_interface-curses-menus__ads.htm#ref_249_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_195_27" HREF="terminal_interface-curses-menus__ads.htm#ref_249_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_196_27" HREF="terminal_interface-curses-menus__ads.htm#ref_250_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_234_16">Item_Opts</A></span> (<span class="symbol"><A NAME="ref_234_27" HREF="terminal_interface-curses-menus__adb.htm#ref_234_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_198_16">Item_Opts</A></span> (<span class="symbol"><A NAME="ref_198_27" HREF="terminal_interface-curses-menus__adb.htm#ref_198_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
<b>pragma</b> Import (C, Item_Opts, "item_opts");
- <span class="symbol"><A NAME="ref_237_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_234_16">Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_253_27">Itm</A>);
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_254_27">Options</A> := CInt_2_IOS (<A HREF="terminal_interface-curses-menus__adb.htm#ref_237_7">Res</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_253_14">Get_Options</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_250_27">Options</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_198_16">Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_249_27">Itm</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_249_14">Get_Options</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_242_13" HREF="terminal_interface-curses-menus__ads.htm#ref_258_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_242_26" HREF="terminal_interface-curses-menus__ads.htm#ref_258_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_205_13" HREF="terminal_interface-curses-menus__ads.htm#ref_254_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_205_26" HREF="terminal_interface-curses-menus__ads.htm#ref_254_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_244_7">Ios</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>;
+ <span class="symbol"><A NAME="ref_207_7">Ios</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_253_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_258_26">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_244_7">Ios</A>);
- <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_244_7">Ios</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_258_13">Get_Options</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_249_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_254_26">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_207_7">Ios</A>);
+ <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_207_7">Ios</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_254_13">Get_Options</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_250_14" HREF="terminal_interface-curses-menus__ads.htm#ref_267_14">Name</A></span> (<span class="symbol"><A NAME="ref_250_20" HREF="terminal_interface-curses-menus__ads.htm#ref_267_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_251_20" HREF="terminal_interface-curses-menus__ads.htm#ref_268_20">Name</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_213_14" HREF="terminal_interface-curses-menus__ads.htm#ref_263_14">Name</A></span> (<span class="symbol"><A NAME="ref_213_20" HREF="terminal_interface-curses-menus__ads.htm#ref_263_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_214_20" HREF="terminal_interface-curses-menus__ads.htm#ref_264_20">Name</A></span> : <b>out</b> String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_253_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_253_26" HREF="terminal_interface-curses-menus__adb.htm#ref_253_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_216_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_216_26" HREF="terminal_interface-curses-menus__adb.htm#ref_216_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
<b>pragma</b> Import (C, Itemname, "item_name");
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_253_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_267_20">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_268_20">Name</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_267_14">Name</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_216_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_263_20">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_264_20">Name</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_263_14">Name</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_259_13" HREF="terminal_interface-curses-menus__ads.htm#ref_270_14">Name</A></span> (<span class="symbol"><A NAME="ref_259_19" HREF="terminal_interface-curses-menus__ads.htm#ref_270_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_222_13" HREF="terminal_interface-curses-menus__ads.htm#ref_266_14">Name</A></span> (<span class="symbol"><A NAME="ref_222_19" HREF="terminal_interface-curses-menus__ads.htm#ref_266_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> String
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_261_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_261_26" HREF="terminal_interface-curses-menus__adb.htm#ref_261_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_224_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_224_26" HREF="terminal_interface-curses-menus__adb.htm#ref_224_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
<b>pragma</b> Import (C, Itemname, "item_name");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_261_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_270_20">Itm</A>));
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_270_14">Name</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_224_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_266_20">Itm</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_266_14">Name</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_267_14" HREF="terminal_interface-curses-menus__ads.htm#ref_276_14">Description</A></span> (<span class="symbol"><A NAME="ref_267_27" HREF="terminal_interface-curses-menus__ads.htm#ref_276_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_268_27" HREF="terminal_interface-curses-menus__ads.htm#ref_277_27">Description</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_230_14" HREF="terminal_interface-curses-menus__ads.htm#ref_272_14">Description</A></span> (<span class="symbol"><A NAME="ref_230_27" HREF="terminal_interface-curses-menus__ads.htm#ref_272_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_231_27" HREF="terminal_interface-curses-menus__ads.htm#ref_273_27">Description</A></span> : <b>out</b> String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_270_16">Descname</A></span> (<span class="symbol"><A NAME="ref_270_26" HREF="terminal_interface-curses-menus__adb.htm#ref_270_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_233_16">Descname</A></span> (<span class="symbol"><A NAME="ref_233_26" HREF="terminal_interface-curses-menus__adb.htm#ref_233_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
<b>pragma</b> Import (C, Descname, "item_description");
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_270_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_276_27">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_277_27">Description</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_276_14">Description</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_233_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_272_27">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_273_27">Description</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_272_14">Description</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_276_13" HREF="terminal_interface-curses-menus__ads.htm#ref_280_14">Description</A></span> (<span class="symbol"><A NAME="ref_276_26" HREF="terminal_interface-curses-menus__ads.htm#ref_280_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_239_13" HREF="terminal_interface-curses-menus__ads.htm#ref_276_14">Description</A></span> (<span class="symbol"><A NAME="ref_239_26" HREF="terminal_interface-curses-menus__ads.htm#ref_276_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> String
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_278_16">Descname</A></span> (<span class="symbol"><A NAME="ref_278_26" HREF="terminal_interface-curses-menus__adb.htm#ref_278_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_241_16">Descname</A></span> (<span class="symbol"><A NAME="ref_241_26" HREF="terminal_interface-curses-menus__adb.htm#ref_241_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
<b>pragma</b> Import (C, Descname, "item_description");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_278_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_280_27">Itm</A>));
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_280_14">Description</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_241_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_276_27">Itm</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_276_14">Description</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_284_14" HREF="terminal_interface-curses-menus__ads.htm#ref_290_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_284_27" HREF="terminal_interface-curses-menus__ads.htm#ref_290_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_285_27" HREF="terminal_interface-curses-menus__ads.htm#ref_291_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_247_14" HREF="terminal_interface-curses-menus__ads.htm#ref_286_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_247_27" HREF="terminal_interface-curses-menus__ads.htm#ref_286_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_248_27" HREF="terminal_interface-curses-menus__ads.htm#ref_287_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_287_16">Set_Curr_Item</A></span> (<span class="symbol"><A NAME="ref_287_31" HREF="terminal_interface-curses-menus__adb.htm#ref_287_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_288_31" HREF="terminal_interface-curses-menus__adb.htm#ref_287_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_250_16">Set_Curr_Item</A></span> (<span class="symbol"><A NAME="ref_250_31" HREF="terminal_interface-curses-menus__adb.htm#ref_250_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_251_31" HREF="terminal_interface-curses-menus__adb.htm#ref_250_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Curr_Item, "set_current_item");
- <span class="symbol"><A NAME="ref_291_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_287_16">Set_Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_290_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_291_27">Itm</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_291_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_291_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_290_14">Set_Current</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_250_16">Set_Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_286_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_287_27">Itm</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_286_14">Set_Current</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_298_13" HREF="terminal_interface-curses-menus__ads.htm#ref_296_13">Current</A></span> (<span class="symbol"><A NAME="ref_298_22" HREF="terminal_interface-curses-menus__ads.htm#ref_296_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_258_13" HREF="terminal_interface-curses-menus__ads.htm#ref_292_13">Current</A></span> (<span class="symbol"><A NAME="ref_258_22" HREF="terminal_interface-curses-menus__ads.htm#ref_292_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_300_16">Curr_Item</A></span> (<span class="symbol"><A NAME="ref_300_27" HREF="terminal_interface-curses-menus__adb.htm#ref_300_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_260_16">Curr_Item</A></span> (<span class="symbol"><A NAME="ref_260_27" HREF="terminal_interface-curses-menus__adb.htm#ref_260_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
<b>pragma</b> Import (C, Curr_Item, "current_item");
- <span class="symbol"><A NAME="ref_303_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_300_16">Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_296_22">Men</A>);
+ <span class="symbol"><A NAME="ref_263_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_260_16">Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_292_22">Men</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_303_7">Res</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_263_7">Res</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
<b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_303_7">Res</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_296_13">Current</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_263_7">Res</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_292_13">Current</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_311_14" HREF="terminal_interface-curses-menus__ads.htm#ref_301_14">Set_Top_Row</A></span> (<span class="symbol"><A NAME="ref_311_27" HREF="terminal_interface-curses-menus__ads.htm#ref_301_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_312_27" HREF="terminal_interface-curses-menus__ads.htm#ref_302_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_271_14" HREF="terminal_interface-curses-menus__ads.htm#ref_297_14">Set_Top_Row</A></span> (<span class="symbol"><A NAME="ref_271_27" HREF="terminal_interface-curses-menus__ads.htm#ref_297_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_272_27" HREF="terminal_interface-curses-menus__ads.htm#ref_298_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_314_16">Set_Toprow</A></span> (<span class="symbol"><A NAME="ref_314_28" HREF="terminal_interface-curses-menus__adb.htm#ref_314_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_315_28" HREF="terminal_interface-curses-menus__adb.htm#ref_314_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_274_16">Set_Toprow</A></span> (<span class="symbol"><A NAME="ref_274_28" HREF="terminal_interface-curses-menus__adb.htm#ref_274_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_275_28" HREF="terminal_interface-curses-menus__adb.htm#ref_274_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Toprow, "set_top_row");
- <span class="symbol"><A NAME="ref_318_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_314_16">Set_Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_301_27">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_302_27">Line</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_318_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_318_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_301_14">Set_Top_Row</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_274_16">Set_Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_297_27">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_298_27">Line</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_297_14">Set_Top_Row</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_325_13" HREF="terminal_interface-curses-menus__ads.htm#ref_307_13">Top_Row</A></span> (<span class="symbol"><A NAME="ref_325_22" HREF="terminal_interface-curses-menus__ads.htm#ref_307_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_282_13" HREF="terminal_interface-curses-menus__ads.htm#ref_303_13">Top_Row</A></span> (<span class="symbol"><A NAME="ref_282_22" HREF="terminal_interface-curses-menus__ads.htm#ref_303_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_327_16">Toprow</A></span> (<span class="symbol"><A NAME="ref_327_24" HREF="terminal_interface-curses-menus__adb.htm#ref_327_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_284_16">Toprow</A></span> (<span class="symbol"><A NAME="ref_284_24" HREF="terminal_interface-curses-menus__adb.htm#ref_284_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Toprow, "top_row");
- <span class="symbol"><A NAME="ref_330_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_327_16">Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_307_22">Men</A>);
+ <span class="symbol"><A NAME="ref_287_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_284_16">Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_303_22">Men</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_330_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_287_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
<b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_330_7">Res</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_307_13">Top_Row</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_287_7">Res</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_303_13">Top_Row</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_338_13" HREF="terminal_interface-curses-menus__ads.htm#ref_312_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_338_24" HREF="terminal_interface-curses-menus__ads.htm#ref_312_24">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Positive
+ <b>function</b> <span class="symbol"><A NAME="ref_295_13" HREF="terminal_interface-curses-menus__ads.htm#ref_308_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_295_24" HREF="terminal_interface-curses-menus__ads.htm#ref_308_24">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Positive
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_340_16">Get_Itemindex</A></span> (<span class="symbol"><A NAME="ref_340_31" HREF="terminal_interface-curses-menus__adb.htm#ref_340_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_297_16">Get_Itemindex</A></span> (<span class="symbol"><A NAME="ref_297_31" HREF="terminal_interface-curses-menus__adb.htm#ref_297_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Get_Itemindex, "item_index");
- <span class="symbol"><A NAME="ref_343_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_340_16">Get_Itemindex</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_312_24">Itm</A>);
+ <span class="symbol"><A NAME="ref_300_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_297_16">Get_Itemindex</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_308_24">Itm</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_343_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_300_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
<b>end</b> <b>if</b>;
- <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-menus__adb.htm#ref_343_7">Res</A>) + Positive'First);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_312_13">Get_Index</A>;
+ <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-menus__adb.htm#ref_300_7">Res</A>) + Positive'First);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_308_13">Get_Index</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_351_14" HREF="terminal_interface-curses-menus__ads.htm#ref_324_14">Post</A></span> (<span class="symbol"><A NAME="ref_351_20" HREF="terminal_interface-curses-menus__ads.htm#ref_324_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_352_20" HREF="terminal_interface-curses-menus__ads.htm#ref_325_20">Post</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_308_14" HREF="terminal_interface-curses-menus__ads.htm#ref_320_14">Post</A></span> (<span class="symbol"><A NAME="ref_308_20" HREF="terminal_interface-curses-menus__ads.htm#ref_320_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_309_20" HREF="terminal_interface-curses-menus__ads.htm#ref_321_20">Post</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_354_16">M_Post</A></span> (<span class="symbol"><A NAME="ref_354_24" HREF="terminal_interface-curses-menus__adb.htm#ref_354_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_311_16">M_Post</A></span> (<span class="symbol"><A NAME="ref_311_24" HREF="terminal_interface-curses-menus__adb.htm#ref_311_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, M_Post, "post_menu");
- <b>function</b> <span class="symbol"><A NAME="ref_356_16">M_Unpost</A></span> (<span class="symbol"><A NAME="ref_356_26" HREF="terminal_interface-curses-menus__adb.htm#ref_356_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_313_16">M_Unpost</A></span> (<span class="symbol"><A NAME="ref_313_26" HREF="terminal_interface-curses-menus__adb.htm#ref_313_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, M_Unpost, "unpost_menu");
- <span class="symbol"><A NAME="ref_359_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_325_20">Post</A> <b>then</b>
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_359_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_354_16">M_Post</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_324_20">Men</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_321_20">Post</A> <b>then</b>
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_311_16">M_Post</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_320_20">Men</A>));
<b>else</b>
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_359_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_356_16">M_Unpost</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_324_20">Men</A>);
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_313_16">M_Unpost</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_320_20">Men</A>));
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_359_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_359_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_324_14">Post</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_320_14">Post</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_371_14" HREF="terminal_interface-curses-menus__ads.htm#ref_335_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_371_27" HREF="terminal_interface-curses-menus__ads.htm#ref_335_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_372_27" HREF="terminal_interface-curses-menus__ads.htm#ref_336_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_324_14" HREF="terminal_interface-curses-menus__ads.htm#ref_331_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_324_27" HREF="terminal_interface-curses-menus__ads.htm#ref_331_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_325_27" HREF="terminal_interface-curses-menus__ads.htm#ref_332_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_374_16">Set_Menu_Opts</A></span> (<span class="symbol"><A NAME="ref_374_31" HREF="terminal_interface-curses-menus__adb.htm#ref_374_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_375_31" HREF="terminal_interface-curses-menus__adb.htm#ref_374_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_327_16">Set_Menu_Opts</A></span> (<span class="symbol"><A NAME="ref_327_31" HREF="terminal_interface-curses-menus__adb.htm#ref_327_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_328_31" HREF="terminal_interface-curses-menus__adb.htm#ref_327_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Menu_Opts, "set_menu_opts");
- <span class="symbol"><A NAME="ref_378_7">Opt</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := MOS_2_CInt (<A HREF="terminal_interface-curses-menus__ads.htm#ref_336_27">Options</A>);
- <span class="symbol"><A NAME="ref_379_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_379_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_374_16">Set_Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_335_27">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_378_7">Opt</A>);
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_379_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_379_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_335_14">Set_Options</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_327_16">Set_Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_331_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_332_27">Options</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_331_14">Set_Options</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_387_14" HREF="terminal_interface-curses-menus__ads.htm#ref_341_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_387_30" HREF="terminal_interface-curses-menus__ads.htm#ref_341_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_388_30" HREF="terminal_interface-curses-menus__ads.htm#ref_342_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>;
- <span class="symbol"><A NAME="ref_389_30" HREF="terminal_interface-curses-menus__ads.htm#ref_343_30">On</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_335_14" HREF="terminal_interface-curses-menus__ads.htm#ref_337_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_335_30" HREF="terminal_interface-curses-menus__ads.htm#ref_337_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_336_30" HREF="terminal_interface-curses-menus__ads.htm#ref_338_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
+ <span class="symbol"><A NAME="ref_337_30" HREF="terminal_interface-curses-menus__ads.htm#ref_339_30">On</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_391_16">Menu_Opts_On</A></span> (<span class="symbol"><A NAME="ref_391_30" HREF="terminal_interface-curses-menus__adb.htm#ref_391_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_392_30" HREF="terminal_interface-curses-menus__adb.htm#ref_391_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_339_16">Menu_Opts_On</A></span> (<span class="symbol"><A NAME="ref_339_30" HREF="terminal_interface-curses-menus__adb.htm#ref_339_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_340_30" HREF="terminal_interface-curses-menus__adb.htm#ref_339_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Menu_Opts_On, "menu_opts_on");
- <b>function</b> <span class="symbol"><A NAME="ref_394_16">Menu_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_394_31" HREF="terminal_interface-curses-menus__adb.htm#ref_394_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_395_31" HREF="terminal_interface-curses-menus__adb.htm#ref_394_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_342_16">Menu_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_342_31" HREF="terminal_interface-curses-menus__adb.htm#ref_342_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_343_31" HREF="terminal_interface-curses-menus__adb.htm#ref_342_16">Opt</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Menu_Opts_Off, "menu_opts_off");
- <span class="symbol"><A NAME="ref_398_7">Opt</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := MOS_2_CInt (<A HREF="terminal_interface-curses-menus__ads.htm#ref_342_30">Options</A>);
- <span class="symbol"><A NAME="ref_399_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_343_30">On</A> <b>then</b>
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_399_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_391_16">Menu_Opts_On</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_341_30">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_398_7">Opt</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_339_30">On</A> <b>then</b>
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_339_16">Menu_Opts_On</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_337_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_338_30">Options</A>));
<b>else</b>
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_399_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_394_16">Menu_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_341_30">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_398_7">Opt</A>);
- <b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_399_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_399_7">Err</A>);
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_342_16">Menu_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_337_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_338_30">Options</A>));
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_341_14">Switch_Options</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_337_14">Switch_Options</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_411_14" HREF="terminal_interface-curses-menus__ads.htm#ref_349_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_411_27" HREF="terminal_interface-curses-menus__ads.htm#ref_349_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_412_27" HREF="terminal_interface-curses-menus__ads.htm#ref_350_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_354_14" HREF="terminal_interface-curses-menus__ads.htm#ref_345_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_354_27" HREF="terminal_interface-curses-menus__ads.htm#ref_345_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_355_27" HREF="terminal_interface-curses-menus__ads.htm#ref_346_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_414_16">Menu_Opts</A></span> (<span class="symbol"><A NAME="ref_414_27" HREF="terminal_interface-curses-menus__adb.htm#ref_414_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_357_16">Menu_Opts</A></span> (<span class="symbol"><A NAME="ref_357_27" HREF="terminal_interface-curses-menus__adb.htm#ref_357_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
<b>pragma</b> Import (C, Menu_Opts, "menu_opts");
- <span class="symbol"><A NAME="ref_417_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_414_16">Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_349_27">Men</A>);
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_350_27">Options</A> := CInt_2_MOS (<A HREF="terminal_interface-curses-menus__adb.htm#ref_417_7">Res</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_349_14">Get_Options</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_346_27">Options</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_357_16">Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_345_27">Men</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_345_14">Get_Options</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_422_13" HREF="terminal_interface-curses-menus__ads.htm#ref_354_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_422_26" HREF="terminal_interface-curses-menus__ads.htm#ref_354_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_63_4">Null_Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_364_13" HREF="terminal_interface-curses-menus__ads.htm#ref_350_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_364_26" HREF="terminal_interface-curses-menus__ads.htm#ref_350_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_424_7">Mos</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>;
+ <span class="symbol"><A NAME="ref_366_7">Mos</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_349_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_354_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_424_7">Mos</A>);
- <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_424_7">Mos</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_354_13">Get_Options</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_345_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_350_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_366_7">Mos</A>);
+ <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_366_7">Mos</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_350_13">Get_Options</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_430_14" HREF="terminal_interface-curses-menus__ads.htm#ref_363_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_430_26" HREF="terminal_interface-curses-menus__ads.htm#ref_363_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_431_26" HREF="terminal_interface-curses-menus__ads.htm#ref_364_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_372_14" HREF="terminal_interface-curses-menus__ads.htm#ref_359_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_372_26" HREF="terminal_interface-curses-menus__ads.htm#ref_359_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_373_26" HREF="terminal_interface-curses-menus__ads.htm#ref_360_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_433_16">Set_Menu_Win</A></span> (<span class="symbol"><A NAME="ref_433_30" HREF="terminal_interface-curses-menus__adb.htm#ref_433_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_434_30" HREF="terminal_interface-curses-menus__adb.htm#ref_433_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_375_16">Set_Menu_Win</A></span> (<span class="symbol"><A NAME="ref_375_30" HREF="terminal_interface-curses-menus__adb.htm#ref_375_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_376_30" HREF="terminal_interface-curses-menus__adb.htm#ref_375_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Menu_Win, "set_menu_win");
- <span class="symbol"><A NAME="ref_437_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_433_16">Set_Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_363_26">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_364_26">Win</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_437_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_437_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_363_14">Set_Window</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_375_16">Set_Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_359_26">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_360_26">Win</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_359_14">Set_Window</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_444_13" HREF="terminal_interface-curses-menus__ads.htm#ref_369_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_444_25" HREF="terminal_interface-curses-menus__ads.htm#ref_369_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_383_13" HREF="terminal_interface-curses-menus__ads.htm#ref_365_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_383_25" HREF="terminal_interface-curses-menus__ads.htm#ref_365_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_446_16">Menu_Win</A></span> (<span class="symbol"><A NAME="ref_446_26" HREF="terminal_interface-curses-menus__adb.htm#ref_446_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_385_16">Menu_Win</A></span> (<span class="symbol"><A NAME="ref_385_26" HREF="terminal_interface-curses-menus__adb.htm#ref_385_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Menu_Win, "menu_win");
- <span class="symbol"><A NAME="ref_449_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_446_16">Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_369_25">Men</A>);
+ <span class="symbol"><A NAME="ref_388_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_385_16">Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_365_25">Men</A>);
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_449_7">W</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_369_13">Get_Window</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_388_7">W</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_365_13">Get_Window</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_454_14" HREF="terminal_interface-curses-menus__ads.htm#ref_374_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_454_30" HREF="terminal_interface-curses-menus__ads.htm#ref_374_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_455_30" HREF="terminal_interface-curses-menus__ads.htm#ref_375_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_393_14" HREF="terminal_interface-curses-menus__ads.htm#ref_370_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_393_30" HREF="terminal_interface-curses-menus__ads.htm#ref_370_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_394_30" HREF="terminal_interface-curses-menus__ads.htm#ref_371_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_457_16">Set_Menu_Sub</A></span> (<span class="symbol"><A NAME="ref_457_30" HREF="terminal_interface-curses-menus__adb.htm#ref_457_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_458_30" HREF="terminal_interface-curses-menus__adb.htm#ref_457_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_396_16">Set_Menu_Sub</A></span> (<span class="symbol"><A NAME="ref_396_30" HREF="terminal_interface-curses-menus__adb.htm#ref_396_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_397_30" HREF="terminal_interface-curses-menus__adb.htm#ref_396_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Menu_Sub, "set_menu_sub");
- <span class="symbol"><A NAME="ref_461_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_457_16">Set_Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_374_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_375_30">Win</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_461_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_461_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_374_14">Set_Sub_Window</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_396_16">Set_Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_370_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_371_30">Win</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_370_14">Set_Sub_Window</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_468_13" HREF="terminal_interface-curses-menus__ads.htm#ref_380_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_468_29" HREF="terminal_interface-curses-menus__ads.htm#ref_380_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_404_13" HREF="terminal_interface-curses-menus__ads.htm#ref_376_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_404_29" HREF="terminal_interface-curses-menus__ads.htm#ref_376_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_470_16">Menu_Sub</A></span> (<span class="symbol"><A NAME="ref_470_26" HREF="terminal_interface-curses-menus__adb.htm#ref_470_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_406_16">Menu_Sub</A></span> (<span class="symbol"><A NAME="ref_406_26" HREF="terminal_interface-curses-menus__adb.htm#ref_406_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Menu_Sub, "menu_sub");
- <span class="symbol"><A NAME="ref_473_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_470_16">Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_380_29">Men</A>);
+ <span class="symbol"><A NAME="ref_409_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_406_16">Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_376_29">Men</A>);
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_473_7">W</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_380_13">Get_Sub_Window</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_409_7">W</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_376_13">Get_Sub_Window</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_478_14" HREF="terminal_interface-curses-menus__ads.htm#ref_385_14">Scale</A></span> (<span class="symbol"><A NAME="ref_478_21" HREF="terminal_interface-curses-menus__ads.htm#ref_385_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_479_21" HREF="terminal_interface-curses-menus__ads.htm#ref_386_21">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_480_21" HREF="terminal_interface-curses-menus__ads.htm#ref_387_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_414_14" HREF="terminal_interface-curses-menus__ads.htm#ref_381_14">Scale</A></span> (<span class="symbol"><A NAME="ref_414_21" HREF="terminal_interface-curses-menus__ads.htm#ref_381_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_415_21" HREF="terminal_interface-curses-menus__ads.htm#ref_382_21">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_416_21" HREF="terminal_interface-curses-menus__ads.htm#ref_383_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_482_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_483_16">M_Scale</A></span> (<span class="symbol"><A NAME="ref_483_25" HREF="terminal_interface-curses-menus__adb.htm#ref_483_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_484_25" HREF="terminal_interface-curses-menus__adb.htm#ref_483_16">Yp</A></span>, <span class="symbol"><A NAME="ref_484_29" HREF="terminal_interface-curses-menus__adb.htm#ref_483_16">Xp</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_482_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>type</b> <span class="symbol"><A NAME="ref_418_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_419_16">M_Scale</A></span> (<span class="symbol"><A NAME="ref_419_25" HREF="terminal_interface-curses-menus__adb.htm#ref_419_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_420_25" HREF="terminal_interface-curses-menus__adb.htm#ref_419_16">Yp</A></span>, <span class="symbol"><A NAME="ref_420_29" HREF="terminal_interface-curses-menus__adb.htm#ref_419_16">Xp</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_418_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, M_Scale, "scale_menu");
- <span class="symbol"><A NAME="ref_487_7">X</A></span>, <span class="symbol"><A NAME="ref_487_10">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_488_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_483_16">M_Scale</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_385_21">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_487_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_487_7">X</A>'<b>Access</b>);
+ <span class="symbol"><A NAME="ref_423_7">X</A></span>, <span class="symbol"><A NAME="ref_423_10">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_488_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_488_7">Res</A>);
- <b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_386_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_487_10">Y</A>);
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_387_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_487_7">X</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_385_14">Scale</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_419_16">M_Scale</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_381_21">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_423_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_423_7">X</A>'<b>Access</b>));
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_382_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_423_10">Y</A>);
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_383_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_423_7">X</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_381_14">Scale</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_497_14" HREF="terminal_interface-curses-menus__ads.htm#ref_396_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_497_31" HREF="terminal_interface-curses-menus__ads.htm#ref_396_31">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_430_14" HREF="terminal_interface-curses-menus__ads.htm#ref_392_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_430_31" HREF="terminal_interface-curses-menus__ads.htm#ref_392_31">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_499_16">Pos_Menu_Cursor</A></span> (<span class="symbol"><A NAME="ref_499_33" HREF="terminal_interface-curses-menus__adb.htm#ref_499_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_432_16">Pos_Menu_Cursor</A></span> (<span class="symbol"><A NAME="ref_432_33" HREF="terminal_interface-curses-menus__adb.htm#ref_432_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Pos_Menu_Cursor, "pos_menu_cursor");
- <span class="symbol"><A NAME="ref_502_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_499_16">Pos_Menu_Cursor</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_396_31">Men</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_502_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_502_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_396_14">Position_Cursor</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_432_16">Pos_Menu_Cursor</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_392_31">Men</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_392_14">Position_Cursor</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_510_14" HREF="terminal_interface-curses-menus__ads.htm#ref_405_14">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_510_24" HREF="terminal_interface-curses-menus__ads.htm#ref_405_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_511_24" HREF="terminal_interface-curses-menus__ads.htm#ref_406_24">Mark</A></span> : String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_440_14" HREF="terminal_interface-curses-menus__ads.htm#ref_401_14">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_440_24" HREF="terminal_interface-curses-menus__ads.htm#ref_401_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_441_24" HREF="terminal_interface-curses-menus__ads.htm#ref_402_24">Mark</A></span> : String)
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_513_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char;
- <b>function</b> <span class="symbol"><A NAME="ref_514_16">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_514_26" HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_515_26" HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Mark</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_513_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>type</b> <span class="symbol"><A NAME="ref_443_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char;
+ <b>function</b> <span class="symbol"><A NAME="ref_444_16">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_444_26" HREF="terminal_interface-curses-menus__adb.htm#ref_444_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_445_26" HREF="terminal_interface-curses-menus__adb.htm#ref_444_16">Mark</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_443_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Mark, "set_menu_mark");
- <span class="symbol"><A NAME="ref_518_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_406_24">Mark</A>'Length);
- <span class="symbol"><A NAME="ref_519_7">Len</A></span> : size_t;
- <span class="symbol"><A NAME="ref_520_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+ <span class="symbol"><A NAME="ref_448_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_402_24">Mark</A>'Length);
+ <span class="symbol"><A NAME="ref_449_7">Len</A></span> : size_t;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_406_24">Mark</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_518_7">Txt</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_519_7">Len</A>);
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_520_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Set_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_405_24">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_518_7">Txt</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_518_7">Txt</A>'First)'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_520_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_520_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_405_14">Set_Mark</A>;
+ To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_402_24">Mark</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_448_7">Txt</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_449_7">Len</A>);
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_444_16">Set_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_401_24">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_448_7">Txt</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_448_7">Txt</A>'First)'<b>Access</b>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_401_14">Set_Mark</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_529_14" HREF="terminal_interface-curses-menus__ads.htm#ref_411_14">Mark</A></span> (<span class="symbol"><A NAME="ref_529_20" HREF="terminal_interface-curses-menus__ads.htm#ref_411_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_530_20" HREF="terminal_interface-curses-menus__ads.htm#ref_412_20">Mark</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_455_14" HREF="terminal_interface-curses-menus__ads.htm#ref_407_14">Mark</A></span> (<span class="symbol"><A NAME="ref_455_20" HREF="terminal_interface-curses-menus__ads.htm#ref_407_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_456_20" HREF="terminal_interface-curses-menus__ads.htm#ref_408_20">Mark</A></span> : <b>out</b> String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_532_16">Get_Menu_Mark</A></span> (<span class="symbol"><A NAME="ref_532_31" HREF="terminal_interface-curses-menus__adb.htm#ref_532_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_458_16">Get_Menu_Mark</A></span> (<span class="symbol"><A NAME="ref_458_31" HREF="terminal_interface-curses-menus__adb.htm#ref_458_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
<b>pragma</b> Import (C, Get_Menu_Mark, "menu_mark");
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_532_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_411_20">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_412_20">Mark</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_411_14">Mark</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_458_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_407_20">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_408_20">Mark</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_407_14">Mark</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_538_13" HREF="terminal_interface-curses-menus__ads.htm#ref_415_14">Mark</A></span> (<span class="symbol"><A NAME="ref_538_19" HREF="terminal_interface-curses-menus__ads.htm#ref_415_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_464_13" HREF="terminal_interface-curses-menus__ads.htm#ref_411_14">Mark</A></span> (<span class="symbol"><A NAME="ref_464_19" HREF="terminal_interface-curses-menus__ads.htm#ref_411_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> String
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_540_16">Get_Menu_Mark</A></span> (<span class="symbol"><A NAME="ref_540_31" HREF="terminal_interface-curses-menus__adb.htm#ref_540_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_466_16">Get_Menu_Mark</A></span> (<span class="symbol"><A NAME="ref_466_31" HREF="terminal_interface-curses-menus__adb.htm#ref_466_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
<b>pragma</b> Import (C, Get_Menu_Mark, "menu_mark");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_540_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_415_20">Men</A>));
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_415_14">Mark</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_466_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_411_20">Men</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_411_14">Mark</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_547_14" HREF="terminal_interface-curses-menus__ads.htm#ref_425_14">Set_Foreground</A></span>
- (<span class="symbol"><A NAME="ref_548_7" HREF="terminal_interface-curses-menus__ads.htm#ref_426_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_549_7" HREF="terminal_interface-curses-menus__ads.htm#ref_427_7">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_550_7" HREF="terminal_interface-curses-menus__ads.htm#ref_428_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_473_14" HREF="terminal_interface-curses-menus__ads.htm#ref_421_14">Set_Foreground</A></span>
+ (<span class="symbol"><A NAME="ref_474_7" HREF="terminal_interface-curses-menus__ads.htm#ref_422_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_475_7" HREF="terminal_interface-curses-menus__ads.htm#ref_423_7">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses-menus__ads.htm#ref_424_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_552_16">Set_Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_552_31" HREF="terminal_interface-curses-menus__adb.htm#ref_552_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_553_31" HREF="terminal_interface-curses-menus__adb.htm#ref_552_16">Attr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_478_16">Set_Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_478_31" HREF="terminal_interface-curses-menus__adb.htm#ref_478_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_479_31" HREF="terminal_interface-curses-menus__adb.htm#ref_478_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Menu_Fore, "set_menu_fore");
- <span class="symbol"><A NAME="ref_556_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; Character'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_428_7">Color</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_427_7">Fore</A>);
- <span class="symbol"><A NAME="ref_559_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_552_16">Set_Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_426_7">Men</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses-menus__adb.htm#ref_556_7">Ch</A>));
+ <span class="symbol"><A NAME="ref_482_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_424_7">Color</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_423_7">Fore</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_559_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_559_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_425_14">Set_Foreground</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_478_16">Set_Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_422_7">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_482_7">Ch</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_421_14">Set_Foreground</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_566_14" HREF="terminal_interface-curses-menus__ads.htm#ref_433_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_566_26" HREF="terminal_interface-curses-menus__ads.htm#ref_433_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_567_26" HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_489_14" HREF="terminal_interface-curses-menus__ads.htm#ref_429_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_489_26" HREF="terminal_interface-curses-menus__ads.htm#ref_429_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_490_26" HREF="terminal_interface-curses-menus__ads.htm#ref_430_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_569_16">Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_569_27" HREF="terminal_interface-curses-menus__adb.htm#ref_569_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_492_16">Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_492_27" HREF="terminal_interface-curses-menus__adb.htm#ref_492_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Menu_Fore, "menu_fore");
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Fore</A> := Chtype_To_AttrChar (<A HREF="terminal_interface-curses-menus__adb.htm#ref_569_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_433_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_433_14">Foreground</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_430_26">Fore</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_492_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_429_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_429_14">Foreground</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_575_14" HREF="terminal_interface-curses-menus__ads.htm#ref_438_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_575_26" HREF="terminal_interface-curses-menus__ads.htm#ref_438_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_576_26" HREF="terminal_interface-curses-menus__ads.htm#ref_439_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_577_26" HREF="terminal_interface-curses-menus__ads.htm#ref_440_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_498_14" HREF="terminal_interface-curses-menus__ads.htm#ref_434_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_498_26" HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_499_26" HREF="terminal_interface-curses-menus__ads.htm#ref_435_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_500_26" HREF="terminal_interface-curses-menus__ads.htm#ref_436_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_579_16">Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_579_27" HREF="terminal_interface-curses-menus__adb.htm#ref_579_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_502_16">Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_502_27" HREF="terminal_interface-curses-menus__adb.htm#ref_502_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Menu_Fore, "menu_fore");
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_439_26">Fore</A> := Chtype_To_AttrChar (<A HREF="terminal_interface-curses-menus__adb.htm#ref_579_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_438_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_440_26">Color</A> := Chtype_To_AttrChar (<A HREF="terminal_interface-curses-menus__adb.htm#ref_579_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_438_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_438_14">Foreground</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_435_26">Fore</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_502_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_436_26">Color</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_502_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_434_14">Foreground</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_586_14" HREF="terminal_interface-curses-menus__ads.htm#ref_445_14">Set_Background</A></span>
- (<span class="symbol"><A NAME="ref_587_7" HREF="terminal_interface-curses-menus__ads.htm#ref_446_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_588_7" HREF="terminal_interface-curses-menus__ads.htm#ref_447_7">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_589_7" HREF="terminal_interface-curses-menus__ads.htm#ref_448_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_509_14" HREF="terminal_interface-curses-menus__ads.htm#ref_441_14">Set_Background</A></span>
+ (<span class="symbol"><A NAME="ref_510_7" HREF="terminal_interface-curses-menus__ads.htm#ref_442_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_511_7" HREF="terminal_interface-curses-menus__ads.htm#ref_443_7">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_512_7" HREF="terminal_interface-curses-menus__ads.htm#ref_444_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_591_16">Set_Menu_Back</A></span> (<span class="symbol"><A NAME="ref_591_31" HREF="terminal_interface-curses-menus__adb.htm#ref_591_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_592_31" HREF="terminal_interface-curses-menus__adb.htm#ref_591_16">Attr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_514_16">Set_Menu_Back</A></span> (<span class="symbol"><A NAME="ref_514_31" HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_515_31" HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Menu_Back, "set_menu_back");
- <span class="symbol"><A NAME="ref_595_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; Character'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_448_7">Color</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_447_7">Back</A>);
- <span class="symbol"><A NAME="ref_598_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_591_16">Set_Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_446_7">Men</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses-menus__adb.htm#ref_595_7">Ch</A>));
+ <span class="symbol"><A NAME="ref_518_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_444_7">Color</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_443_7">Back</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_598_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_598_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_445_14">Set_Background</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Set_Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_442_7">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_518_7">Ch</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_441_14">Set_Background</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_605_14" HREF="terminal_interface-curses-menus__ads.htm#ref_453_14">Background</A></span> (<span class="symbol"><A NAME="ref_605_26" HREF="terminal_interface-curses-menus__ads.htm#ref_453_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_606_26" HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_525_14" HREF="terminal_interface-curses-menus__ads.htm#ref_449_14">Background</A></span> (<span class="symbol"><A NAME="ref_525_26" HREF="terminal_interface-curses-menus__ads.htm#ref_449_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_526_26" HREF="terminal_interface-curses-menus__ads.htm#ref_450_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_608_16">Menu_Back</A></span> (<span class="symbol"><A NAME="ref_608_27" HREF="terminal_interface-curses-menus__adb.htm#ref_608_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_528_16">Menu_Back</A></span> (<span class="symbol"><A NAME="ref_528_27" HREF="terminal_interface-curses-menus__adb.htm#ref_528_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Menu_Back, "menu_back");
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Back</A> := Chtype_To_AttrChar (<A HREF="terminal_interface-curses-menus__adb.htm#ref_608_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_453_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_453_14">Background</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_450_26">Back</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_528_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_449_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_449_14">Background</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_614_14" HREF="terminal_interface-curses-menus__ads.htm#ref_458_14">Background</A></span> (<span class="symbol"><A NAME="ref_614_26" HREF="terminal_interface-curses-menus__ads.htm#ref_458_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_615_26" HREF="terminal_interface-curses-menus__ads.htm#ref_459_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_616_26" HREF="terminal_interface-curses-menus__ads.htm#ref_460_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_534_14" HREF="terminal_interface-curses-menus__ads.htm#ref_454_14">Background</A></span> (<span class="symbol"><A NAME="ref_534_26" HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_535_26" HREF="terminal_interface-curses-menus__ads.htm#ref_455_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_536_26" HREF="terminal_interface-curses-menus__ads.htm#ref_456_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_618_16">Menu_Back</A></span> (<span class="symbol"><A NAME="ref_618_27" HREF="terminal_interface-curses-menus__adb.htm#ref_618_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_538_16">Menu_Back</A></span> (<span class="symbol"><A NAME="ref_538_27" HREF="terminal_interface-curses-menus__adb.htm#ref_538_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Menu_Back, "menu_back");
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_459_26">Back</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_618_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_458_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_460_26">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_618_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_458_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_458_14">Background</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_455_26">Back</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_538_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_456_26">Color</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_538_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_454_14">Background</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_625_14" HREF="terminal_interface-curses-menus__ads.htm#ref_465_14">Set_Grey</A></span> (<span class="symbol"><A NAME="ref_625_24" HREF="terminal_interface-curses-menus__ads.htm#ref_466_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_626_24" HREF="terminal_interface-curses-menus__ads.htm#ref_467_7">Grey</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_627_24" HREF="terminal_interface-curses-menus__ads.htm#ref_468_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_545_14" HREF="terminal_interface-curses-menus__ads.htm#ref_461_14">Set_Grey</A></span> (<span class="symbol"><A NAME="ref_545_24" HREF="terminal_interface-curses-menus__ads.htm#ref_462_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_546_24" HREF="terminal_interface-curses-menus__ads.htm#ref_463_7">Grey</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_547_24" HREF="terminal_interface-curses-menus__ads.htm#ref_464_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_629_16">Set_Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_629_31" HREF="terminal_interface-curses-menus__adb.htm#ref_629_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_630_31" HREF="terminal_interface-curses-menus__adb.htm#ref_629_16">Attr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_549_16">Set_Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_549_31" HREF="terminal_interface-curses-menus__adb.htm#ref_549_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_550_31" HREF="terminal_interface-curses-menus__adb.htm#ref_549_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Menu_Grey, "set_menu_grey");
- <span class="symbol"><A NAME="ref_633_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; Character'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_468_7">Color</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_467_7">Grey</A>);
+ <span class="symbol"><A NAME="ref_553_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_464_7">Color</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_463_7">Grey</A>);
- <span class="symbol"><A NAME="ref_637_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_629_16">Set_Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_466_7">Men</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses-menus__adb.htm#ref_633_7">Ch</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_637_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_637_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_465_14">Set_Grey</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_549_16">Set_Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_462_7">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_553_7">Ch</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_461_14">Set_Grey</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_644_14" HREF="terminal_interface-curses-menus__ads.htm#ref_473_14">Grey</A></span> (<span class="symbol"><A NAME="ref_644_20" HREF="terminal_interface-curses-menus__ads.htm#ref_473_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_645_20" HREF="terminal_interface-curses-menus__ads.htm#ref_474_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_561_14" HREF="terminal_interface-curses-menus__ads.htm#ref_469_14">Grey</A></span> (<span class="symbol"><A NAME="ref_561_20" HREF="terminal_interface-curses-menus__ads.htm#ref_469_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_562_20" HREF="terminal_interface-curses-menus__ads.htm#ref_470_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_647_16">Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_647_27" HREF="terminal_interface-curses-menus__adb.htm#ref_647_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_564_16">Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_564_27" HREF="terminal_interface-curses-menus__adb.htm#ref_564_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Menu_Grey, "menu_grey");
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_474_20">Grey</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_647_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_473_20">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_473_14">Grey</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_470_20">Grey</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_564_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_469_20">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_469_14">Grey</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_653_14" HREF="terminal_interface-curses-menus__ads.htm#ref_478_14">Grey</A></span> (<span class="symbol"><A NAME="ref_653_20" HREF="terminal_interface-curses-menus__ads.htm#ref_479_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_654_20" HREF="terminal_interface-curses-menus__ads.htm#ref_480_7">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_655_20" HREF="terminal_interface-curses-menus__ads.htm#ref_481_7">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_570_14" HREF="terminal_interface-curses-menus__ads.htm#ref_474_14">Grey</A></span> (<span class="symbol"><A NAME="ref_570_20" HREF="terminal_interface-curses-menus__ads.htm#ref_475_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_571_20" HREF="terminal_interface-curses-menus__ads.htm#ref_476_7">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_572_20" HREF="terminal_interface-curses-menus__ads.htm#ref_477_7">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_657_16">Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_657_27" HREF="terminal_interface-curses-menus__adb.htm#ref_657_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_574_16">Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_574_27" HREF="terminal_interface-curses-menus__adb.htm#ref_574_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Menu_Grey, "menu_grey");
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_480_7">Grey</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_657_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_479_7">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_481_7">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_657_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_479_7">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_478_14">Grey</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_476_7">Grey</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_574_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_475_7">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_477_7">Color</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_574_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_475_7">Men</A>).<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_474_14">Grey</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_664_14" HREF="terminal_interface-curses-menus__ads.htm#ref_486_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_664_33" HREF="terminal_interface-curses-menus__ads.htm#ref_486_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_665_33" HREF="terminal_interface-curses-menus__ads.htm#ref_487_33">Pad</A></span> : Character := Space)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_581_14" HREF="terminal_interface-curses-menus__ads.htm#ref_482_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_581_33" HREF="terminal_interface-curses-menus__ads.htm#ref_482_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_582_33" HREF="terminal_interface-curses-menus__ads.htm#ref_483_33">Pad</A></span> : Character := Space)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_667_16">Set_Menu_Pad</A></span> (<span class="symbol"><A NAME="ref_667_30" HREF="terminal_interface-curses-menus__adb.htm#ref_667_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_668_30" HREF="terminal_interface-curses-menus__adb.htm#ref_667_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_584_16">Set_Menu_Pad</A></span> (<span class="symbol"><A NAME="ref_584_30" HREF="terminal_interface-curses-menus__adb.htm#ref_584_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_585_30" HREF="terminal_interface-curses-menus__adb.htm#ref_584_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Menu_Pad, "set_menu_pad");
- <span class="symbol"><A NAME="ref_671_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_667_16">Set_Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_486_33">Men</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_487_33">Pad</A>)));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_671_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_671_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_486_14">Set_Pad_Character</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_584_16">Set_Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_482_33">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_483_33">Pad</A>))));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_482_14">Set_Pad_Character</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_679_14" HREF="terminal_interface-curses-menus__ads.htm#ref_492_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_679_29" HREF="terminal_interface-curses-menus__ads.htm#ref_492_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_680_29" HREF="terminal_interface-curses-menus__ads.htm#ref_493_29">Pad</A></span> : <b>out</b> Character)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_592_14" HREF="terminal_interface-curses-menus__ads.htm#ref_488_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_592_29" HREF="terminal_interface-curses-menus__ads.htm#ref_488_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_593_29" HREF="terminal_interface-curses-menus__ads.htm#ref_489_29">Pad</A></span> : <b>out</b> Character)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_682_16">Menu_Pad</A></span> (<span class="symbol"><A NAME="ref_682_26" HREF="terminal_interface-curses-menus__adb.htm#ref_682_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_595_16">Menu_Pad</A></span> (<span class="symbol"><A NAME="ref_595_26" HREF="terminal_interface-curses-menus__adb.htm#ref_595_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Menu_Pad, "menu_pad");
<b>begin</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_493_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-menus__adb.htm#ref_682_16">Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_492_29">Men</A>));
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_492_14">Pad_Character</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_489_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-menus__adb.htm#ref_595_16">Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_488_29">Men</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_488_14">Pad_Character</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_688_14" HREF="terminal_interface-curses-menus__ads.htm#ref_502_14">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_688_27" HREF="terminal_interface-curses-menus__ads.htm#ref_502_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_689_27" HREF="terminal_interface-curses-menus__ads.htm#ref_503_27">Descr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := 0;
- <span class="symbol"><A NAME="ref_690_27" HREF="terminal_interface-curses-menus__ads.htm#ref_504_27">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> := 0;
- <span class="symbol"><A NAME="ref_691_27" HREF="terminal_interface-curses-menus__ads.htm#ref_505_27">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := 0)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_601_14" HREF="terminal_interface-curses-menus__ads.htm#ref_498_14">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_601_27" HREF="terminal_interface-curses-menus__ads.htm#ref_498_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_602_27" HREF="terminal_interface-curses-menus__ads.htm#ref_499_27">Descr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := 0;
+ <span class="symbol"><A NAME="ref_603_27" HREF="terminal_interface-curses-menus__ads.htm#ref_500_27">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> := 0;
+ <span class="symbol"><A NAME="ref_604_27" HREF="terminal_interface-curses-menus__ads.htm#ref_501_27">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := 0)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_693_16">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_693_29" HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_694_29" HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">D</A></span>, <span class="symbol"><A NAME="ref_694_32" HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">R</A></span>, <span class="symbol"><A NAME="ref_694_35" HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">C</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_606_16">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_606_29" HREF="terminal_interface-curses-menus__adb.htm#ref_606_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_607_29" HREF="terminal_interface-curses-menus__adb.htm#ref_606_16">D</A></span>, <span class="symbol"><A NAME="ref_607_32" HREF="terminal_interface-curses-menus__adb.htm#ref_606_16">R</A></span>, <span class="symbol"><A NAME="ref_607_35" HREF="terminal_interface-curses-menus__adb.htm#ref_606_16">C</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Spacing, "set_menu_spacing");
- <span class="symbol"><A NAME="ref_697_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">Set_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_502_27">Men</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_503_27">Descr</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_504_27">Row</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_505_27">Col</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_697_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_697_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_502_14">Set_Spacing</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_606_16">Set_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_498_27">Men</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_499_27">Descr</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_500_27">Row</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_501_27">Col</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_498_14">Set_Spacing</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_707_14" HREF="terminal_interface-curses-menus__ads.htm#ref_510_14">Spacing</A></span> (<span class="symbol"><A NAME="ref_707_23" HREF="terminal_interface-curses-menus__ads.htm#ref_510_23">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_708_23" HREF="terminal_interface-curses-menus__ads.htm#ref_511_23">Descr</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_709_23" HREF="terminal_interface-curses-menus__ads.htm#ref_512_23">Row</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_710_23" HREF="terminal_interface-curses-menus__ads.htm#ref_513_23">Col</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_617_14" HREF="terminal_interface-curses-menus__ads.htm#ref_506_14">Spacing</A></span> (<span class="symbol"><A NAME="ref_617_23" HREF="terminal_interface-curses-menus__ads.htm#ref_506_23">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_618_23" HREF="terminal_interface-curses-menus__ads.htm#ref_507_23">Descr</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_619_23" HREF="terminal_interface-curses-menus__ads.htm#ref_508_23">Row</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_620_23" HREF="terminal_interface-curses-menus__ads.htm#ref_509_23">Col</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_712_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_713_16">Get_Spacing</A></span> (<span class="symbol"><A NAME="ref_713_29" HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_714_29" HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">D</A></span>, <span class="symbol"><A NAME="ref_714_32" HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">R</A></span>, <span class="symbol"><A NAME="ref_714_35" HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">C</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_712_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>type</b> <span class="symbol"><A NAME="ref_622_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_623_16">Get_Spacing</A></span> (<span class="symbol"><A NAME="ref_623_29" HREF="terminal_interface-curses-menus__adb.htm#ref_623_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_624_29" HREF="terminal_interface-curses-menus__adb.htm#ref_623_16">D</A></span>, <span class="symbol"><A NAME="ref_624_32" HREF="terminal_interface-curses-menus__adb.htm#ref_623_16">R</A></span>, <span class="symbol"><A NAME="ref_624_35" HREF="terminal_interface-curses-menus__adb.htm#ref_623_16">C</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_622_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Get_Spacing, "menu_spacing");
- <span class="symbol"><A NAME="ref_717_7">D</A></span>, <span class="symbol"><A NAME="ref_717_10">R</A></span>, <span class="symbol"><A NAME="ref_717_13">C</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_718_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">Get_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_510_23">Men</A>,
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_717_7">D</A>'<b>Access</b>,
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_717_10">R</A>'<b>Access</b>,
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_717_13">C</A>'<b>Access</b>);
+ <span class="symbol"><A NAME="ref_627_7">D</A></span>, <span class="symbol"><A NAME="ref_627_10">R</A></span>, <span class="symbol"><A NAME="ref_627_13">C</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_718_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_718_7">Res</A>);
- <b>else</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_511_23">Descr</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_717_7">D</A>);
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_512_23">Row</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_717_10">R</A>);
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_513_23">Col</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_717_13">C</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_510_14">Spacing</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_623_16">Get_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_506_23">Men</A>,
+ <A HREF="terminal_interface-curses-menus__adb.htm#ref_627_7">D</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-menus__adb.htm#ref_627_10">R</A>'<b>Access</b>,
+ <A HREF="terminal_interface-curses-menus__adb.htm#ref_627_13">C</A>'<b>Access</b>));
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_507_23">Descr</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_627_7">D</A>);
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_508_23">Row</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_627_10">R</A>);
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_509_23">Col</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_627_13">C</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_506_14">Spacing</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_732_13" HREF="terminal_interface-curses-menus__ads.htm#ref_522_13">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_732_26" HREF="terminal_interface-curses-menus__ads.htm#ref_522_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_733_26" HREF="terminal_interface-curses-menus__ads.htm#ref_523_26">Text</A></span> : String) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_638_13" HREF="terminal_interface-curses-menus__ads.htm#ref_518_13">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_638_26" HREF="terminal_interface-curses-menus__ads.htm#ref_518_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_639_26" HREF="terminal_interface-curses-menus__ads.htm#ref_519_26">Text</A></span> : String) <b>return</b> Boolean
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_735_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char;
- <b>function</b> <span class="symbol"><A NAME="ref_736_16">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_736_29" HREF="terminal_interface-curses-menus__adb.htm#ref_736_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_737_29" HREF="terminal_interface-curses-menus__adb.htm#ref_736_16">Pattern</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_735_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>type</b> <span class="symbol"><A NAME="ref_641_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char;
+ <b>function</b> <span class="symbol"><A NAME="ref_642_16">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_642_29" HREF="terminal_interface-curses-menus__adb.htm#ref_642_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_643_29" HREF="terminal_interface-curses-menus__adb.htm#ref_642_16">Pattern</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_641_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Pattern, "set_menu_pattern");
- <span class="symbol"><A NAME="ref_740_7">S</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_523_26">Text</A>'Length);
- <span class="symbol"><A NAME="ref_741_7">L</A></span> : size_t;
- <span class="symbol"><A NAME="ref_742_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+ <span class="symbol"><A NAME="ref_646_7">S</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_519_26">Text</A>'Length);
+ <span class="symbol"><A NAME="ref_647_7">L</A></span> : size_t;
+ <span class="symbol"><A NAME="ref_648_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_523_26">Text</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_740_7">S</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_741_7">L</A>);
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_742_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_736_16">Set_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_522_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_740_7">S</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_740_7">S</A>'First)'<b>Access</b>);
- <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_742_7">Res</A> <b>is</b>
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_89_4">E_No_Match</A> =&gt; <b>return</b> False;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> =&gt; <b>return</b> True;
- <b>when</b> <b>others</b> =&gt;
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_742_7">Res</A>);
+ To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_519_26">Text</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_646_7">S</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_647_7">L</A>);
+ <A HREF="terminal_interface-curses-menus__adb.htm#ref_648_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_642_16">Set_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_518_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_646_7">S</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_646_7">S</A>'First)'<b>Access</b>);
+ <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_648_7">Res</A> <b>is</b>
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_7">E_No_Match</A> =&gt;
<b>return</b> False;
+ <b>when</b> <b>others</b> =&gt;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_648_7">Res</A>);
+ <b>return</b> True;
<b>end</b> <b>case</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_522_13">Set_Pattern</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_518_13">Set_Pattern</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_755_14" HREF="terminal_interface-curses-menus__ads.htm#ref_529_14">Pattern</A></span> (<span class="symbol"><A NAME="ref_755_23" HREF="terminal_interface-curses-menus__ads.htm#ref_529_23">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_756_23" HREF="terminal_interface-curses-menus__ads.htm#ref_530_23">Text</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_661_14" HREF="terminal_interface-curses-menus__ads.htm#ref_525_14">Pattern</A></span> (<span class="symbol"><A NAME="ref_661_23" HREF="terminal_interface-curses-menus__ads.htm#ref_525_23">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_662_23" HREF="terminal_interface-curses-menus__ads.htm#ref_526_23">Text</A></span> : <b>out</b> String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_758_16">Get_Pattern</A></span> (<span class="symbol"><A NAME="ref_758_29" HREF="terminal_interface-curses-menus__adb.htm#ref_758_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_664_16">Get_Pattern</A></span> (<span class="symbol"><A NAME="ref_664_29" HREF="terminal_interface-curses-menus__adb.htm#ref_664_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_55_12">chars_ptr</A>;
<b>pragma</b> Import (C, Get_Pattern, "menu_pattern");
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_758_16">Get_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_529_23">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_530_23">Text</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_529_14">Pattern</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_664_16">Get_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_525_23">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_526_23">Text</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_525_14">Pattern</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_764_14" HREF="terminal_interface-curses-menus__ads.htm#ref_539_14">Set_Format</A></span> (<span class="symbol"><A NAME="ref_764_26" HREF="terminal_interface-curses-menus__ads.htm#ref_539_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_765_26" HREF="terminal_interface-curses-menus__ads.htm#ref_540_26">Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_766_26" HREF="terminal_interface-curses-menus__ads.htm#ref_541_26">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_670_14" HREF="terminal_interface-curses-menus__ads.htm#ref_535_14">Set_Format</A></span> (<span class="symbol"><A NAME="ref_670_26" HREF="terminal_interface-curses-menus__ads.htm#ref_535_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_671_26" HREF="terminal_interface-curses-menus__ads.htm#ref_536_26">Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_672_26" HREF="terminal_interface-curses-menus__ads.htm#ref_537_26">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_768_16">Set_Menu_Fmt</A></span> (<span class="symbol"><A NAME="ref_768_30" HREF="terminal_interface-curses-menus__adb.htm#ref_768_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_769_30" HREF="terminal_interface-curses-menus__adb.htm#ref_768_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_770_30" HREF="terminal_interface-curses-menus__adb.htm#ref_768_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_674_16">Set_Menu_Fmt</A></span> (<span class="symbol"><A NAME="ref_674_30" HREF="terminal_interface-curses-menus__adb.htm#ref_674_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_675_30" HREF="terminal_interface-curses-menus__adb.htm#ref_674_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_676_30" HREF="terminal_interface-curses-menus__adb.htm#ref_674_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Menu_Fmt, "set_menu_format");
- <span class="symbol"><A NAME="ref_773_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_768_16">Set_Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_539_26">Men</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_540_26">Lines</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_541_26">Columns</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_773_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_773_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_539_14">Set_Format</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_674_16">Set_Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_535_26">Men</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_536_26">Lines</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_537_26">Columns</A>)));
+
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_535_14">Set_Format</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_782_14" HREF="terminal_interface-curses-menus__ads.htm#ref_553_14">Format</A></span> (<span class="symbol"><A NAME="ref_782_22" HREF="terminal_interface-curses-menus__ads.htm#ref_553_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_783_22" HREF="terminal_interface-curses-menus__ads.htm#ref_554_22">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_784_22" HREF="terminal_interface-curses-menus__ads.htm#ref_555_22">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_686_14" HREF="terminal_interface-curses-menus__ads.htm#ref_549_14">Format</A></span> (<span class="symbol"><A NAME="ref_686_22" HREF="terminal_interface-curses-menus__ads.htm#ref_549_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_687_22" HREF="terminal_interface-curses-menus__ads.htm#ref_550_22">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_688_22" HREF="terminal_interface-curses-menus__ads.htm#ref_551_22">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_786_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_787_16">Menu_Fmt</A></span> (<span class="symbol"><A NAME="ref_787_26" HREF="terminal_interface-curses-menus__adb.htm#ref_787_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_788_26" HREF="terminal_interface-curses-menus__adb.htm#ref_787_16">Y</A></span>, <span class="symbol"><A NAME="ref_788_29" HREF="terminal_interface-curses-menus__adb.htm#ref_787_16">X</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_786_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>type</b> <span class="symbol"><A NAME="ref_690_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_691_16">Menu_Fmt</A></span> (<span class="symbol"><A NAME="ref_691_26" HREF="terminal_interface-curses-menus__adb.htm#ref_691_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_692_26" HREF="terminal_interface-curses-menus__adb.htm#ref_691_16">Y</A></span>, <span class="symbol"><A NAME="ref_692_29" HREF="terminal_interface-curses-menus__adb.htm#ref_691_16">X</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_690_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Menu_Fmt, "menu_format");
- <span class="symbol"><A NAME="ref_791_7">L</A></span>, <span class="symbol"><A NAME="ref_791_10">C</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_792_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_787_16">Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_553_22">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_791_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_791_10">C</A>'<b>Access</b>);
+ <span class="symbol"><A NAME="ref_695_7">L</A></span>, <span class="symbol"><A NAME="ref_695_10">C</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_792_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_792_7">Res</A>);
- <b>else</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_554_22">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_791_7">L</A>);
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_555_22">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_791_10">C</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_553_14">Format</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_691_16">Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_549_22">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_695_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_695_10">C</A>'<b>Access</b>));
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_550_22">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_695_7">L</A>);
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_551_22">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_695_10">C</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_549_14">Format</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_802_14" HREF="terminal_interface-curses-menus__ads.htm#ref_567_14">Set_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_802_34" HREF="terminal_interface-curses-menus__ads.htm#ref_567_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_803_34" HREF="terminal_interface-curses-menus__ads.htm#ref_568_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_702_14" HREF="terminal_interface-curses-menus__ads.htm#ref_563_14">Set_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_702_34" HREF="terminal_interface-curses-menus__ads.htm#ref_563_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_703_34" HREF="terminal_interface-curses-menus__ads.htm#ref_564_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_805_16">Set_Item_Init</A></span> (<span class="symbol"><A NAME="ref_805_31" HREF="terminal_interface-curses-menus__adb.htm#ref_805_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_806_31" HREF="terminal_interface-curses-menus__adb.htm#ref_805_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_705_16">Set_Item_Init</A></span> (<span class="symbol"><A NAME="ref_705_31" HREF="terminal_interface-curses-menus__adb.htm#ref_705_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_706_31" HREF="terminal_interface-curses-menus__adb.htm#ref_705_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Item_Init, "set_item_init");
- <span class="symbol"><A NAME="ref_809_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_805_16">Set_Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_567_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_568_34">Proc</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_809_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_809_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_567_14">Set_Item_Init_Hook</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_705_16">Set_Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_563_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_564_34">Proc</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_14">Set_Item_Init_Hook</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_816_14" HREF="terminal_interface-curses-menus__ads.htm#ref_573_14">Set_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_816_34" HREF="terminal_interface-curses-menus__ads.htm#ref_573_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_817_34" HREF="terminal_interface-curses-menus__ads.htm#ref_574_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_713_14" HREF="terminal_interface-curses-menus__ads.htm#ref_569_14">Set_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_713_34" HREF="terminal_interface-curses-menus__ads.htm#ref_569_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_714_34" HREF="terminal_interface-curses-menus__ads.htm#ref_570_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_819_16">Set_Item_Term</A></span> (<span class="symbol"><A NAME="ref_819_31" HREF="terminal_interface-curses-menus__adb.htm#ref_819_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_820_31" HREF="terminal_interface-curses-menus__adb.htm#ref_819_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_716_16">Set_Item_Term</A></span> (<span class="symbol"><A NAME="ref_716_31" HREF="terminal_interface-curses-menus__adb.htm#ref_716_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_717_31" HREF="terminal_interface-curses-menus__adb.htm#ref_716_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Item_Term, "set_item_term");
- <span class="symbol"><A NAME="ref_823_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_819_16">Set_Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_573_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_574_34">Proc</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_823_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_823_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_573_14">Set_Item_Term_Hook</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_716_16">Set_Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_569_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_570_34">Proc</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_569_14">Set_Item_Term_Hook</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_830_14" HREF="terminal_interface-curses-menus__ads.htm#ref_579_14">Set_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_830_34" HREF="terminal_interface-curses-menus__ads.htm#ref_579_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_831_34" HREF="terminal_interface-curses-menus__ads.htm#ref_580_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_724_14" HREF="terminal_interface-curses-menus__ads.htm#ref_575_14">Set_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_724_34" HREF="terminal_interface-curses-menus__ads.htm#ref_575_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_725_34" HREF="terminal_interface-curses-menus__ads.htm#ref_576_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_833_16">Set_Menu_Init</A></span> (<span class="symbol"><A NAME="ref_833_31" HREF="terminal_interface-curses-menus__adb.htm#ref_833_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_834_31" HREF="terminal_interface-curses-menus__adb.htm#ref_833_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_727_16">Set_Menu_Init</A></span> (<span class="symbol"><A NAME="ref_727_31" HREF="terminal_interface-curses-menus__adb.htm#ref_727_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_728_31" HREF="terminal_interface-curses-menus__adb.htm#ref_727_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Menu_Init, "set_menu_init");
- <span class="symbol"><A NAME="ref_837_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_833_16">Set_Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_579_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_580_34">Proc</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_837_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_837_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_579_14">Set_Menu_Init_Hook</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_727_16">Set_Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_575_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_576_34">Proc</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_575_14">Set_Menu_Init_Hook</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_844_14" HREF="terminal_interface-curses-menus__ads.htm#ref_585_14">Set_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_844_34" HREF="terminal_interface-curses-menus__ads.htm#ref_585_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_845_34" HREF="terminal_interface-curses-menus__ads.htm#ref_586_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_735_14" HREF="terminal_interface-curses-menus__ads.htm#ref_581_14">Set_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_735_34" HREF="terminal_interface-curses-menus__ads.htm#ref_581_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_736_34" HREF="terminal_interface-curses-menus__ads.htm#ref_582_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_847_16">Set_Menu_Term</A></span> (<span class="symbol"><A NAME="ref_847_31" HREF="terminal_interface-curses-menus__adb.htm#ref_847_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_848_31" HREF="terminal_interface-curses-menus__adb.htm#ref_847_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_738_16">Set_Menu_Term</A></span> (<span class="symbol"><A NAME="ref_738_31" HREF="terminal_interface-curses-menus__adb.htm#ref_738_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_739_31" HREF="terminal_interface-curses-menus__adb.htm#ref_738_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Menu_Term, "set_menu_term");
- <span class="symbol"><A NAME="ref_851_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_847_16">Set_Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_585_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_586_34">Proc</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_851_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_851_7">Res</A>);
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_585_14">Set_Menu_Term_Hook</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_738_16">Set_Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_581_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_582_34">Proc</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_581_14">Set_Menu_Term_Hook</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_858_13" HREF="terminal_interface-curses-menus__ads.htm#ref_591_13">Get_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_858_33" HREF="terminal_interface-curses-menus__ads.htm#ref_591_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_746_13" HREF="terminal_interface-curses-menus__ads.htm#ref_587_13">Get_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_746_33" HREF="terminal_interface-curses-menus__ads.htm#ref_587_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_860_16">Item_Init</A></span> (<span class="symbol"><A NAME="ref_860_27" HREF="terminal_interface-curses-menus__adb.htm#ref_860_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_748_16">Item_Init</A></span> (<span class="symbol"><A NAME="ref_748_27" HREF="terminal_interface-curses-menus__adb.htm#ref_748_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
<b>pragma</b> Import (C, Item_Init, "item_init");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_860_16">Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_591_33">Men</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_591_13">Get_Item_Init_Hook</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_748_16">Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_587_33">Men</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_587_13">Get_Item_Init_Hook</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_866_13" HREF="terminal_interface-curses-menus__ads.htm#ref_596_13">Get_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_866_33" HREF="terminal_interface-curses-menus__ads.htm#ref_596_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_754_13" HREF="terminal_interface-curses-menus__ads.htm#ref_592_13">Get_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_754_33" HREF="terminal_interface-curses-menus__ads.htm#ref_592_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_868_16">Item_Term</A></span> (<span class="symbol"><A NAME="ref_868_27" HREF="terminal_interface-curses-menus__adb.htm#ref_868_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_756_16">Item_Term</A></span> (<span class="symbol"><A NAME="ref_756_27" HREF="terminal_interface-curses-menus__adb.htm#ref_756_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
<b>pragma</b> Import (C, Item_Term, "item_term");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_868_16">Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_596_33">Men</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_596_13">Get_Item_Term_Hook</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_756_16">Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_592_33">Men</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_592_13">Get_Item_Term_Hook</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_874_13" HREF="terminal_interface-curses-menus__ads.htm#ref_601_13">Get_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_874_33" HREF="terminal_interface-curses-menus__ads.htm#ref_601_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_762_13" HREF="terminal_interface-curses-menus__ads.htm#ref_597_13">Get_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_762_33" HREF="terminal_interface-curses-menus__ads.htm#ref_597_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_876_16">Menu_Init</A></span> (<span class="symbol"><A NAME="ref_876_27" HREF="terminal_interface-curses-menus__adb.htm#ref_876_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_764_16">Menu_Init</A></span> (<span class="symbol"><A NAME="ref_764_27" HREF="terminal_interface-curses-menus__adb.htm#ref_764_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
<b>pragma</b> Import (C, Menu_Init, "menu_init");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_876_16">Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_601_33">Men</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_601_13">Get_Menu_Init_Hook</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_764_16">Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_597_33">Men</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_597_13">Get_Menu_Init_Hook</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_882_13" HREF="terminal_interface-curses-menus__ads.htm#ref_606_13">Get_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_882_33" HREF="terminal_interface-curses-menus__ads.htm#ref_606_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_770_13" HREF="terminal_interface-curses-menus__ads.htm#ref_602_13">Get_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_770_33" HREF="terminal_interface-curses-menus__ads.htm#ref_602_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_884_16">Menu_Term</A></span> (<span class="symbol"><A NAME="ref_884_27" HREF="terminal_interface-curses-menus__adb.htm#ref_884_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_772_16">Menu_Term</A></span> (<span class="symbol"><A NAME="ref_772_27" HREF="terminal_interface-curses-menus__adb.htm#ref_772_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
<b>pragma</b> Import (C, Menu_Term, "menu_term");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_884_16">Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_606_33">Men</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_606_13">Get_Menu_Term_Hook</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_772_16">Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_602_33">Men</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_602_13">Get_Menu_Term_Hook</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_890_14" HREF="terminal_interface-curses-menus__ads.htm#ref_615_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_890_24" HREF="terminal_interface-curses-menus__ads.htm#ref_615_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_891_24" HREF="terminal_interface-curses-menus__ads.htm#ref_616_24">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_778_14" HREF="terminal_interface-curses-menus__ads.htm#ref_611_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_778_24" HREF="terminal_interface-curses-menus__ads.htm#ref_611_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_779_24" HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_893_16">Set_Items</A></span> (<span class="symbol"><A NAME="ref_893_27" HREF="terminal_interface-curses-menus__adb.htm#ref_893_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_894_27" HREF="terminal_interface-curses-menus__adb.htm#ref_893_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_781_16">Set_Items</A></span> (<span class="symbol"><A NAME="ref_781_27" HREF="terminal_interface-curses-menus__adb.htm#ref_781_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_782_27" HREF="terminal_interface-curses-menus__adb.htm#ref_781_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Set_Items, "set_menu_items");
- <span class="symbol"><A NAME="ref_897_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
<b>begin</b>
- <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_616_24">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_616_24">Items</A>'Last) = <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>);
- <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_616_24">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_616_24">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
+ <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>'Last) = <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
<b>else</b>
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_897_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_893_16">Set_Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_615_24">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_616_24">Items</A>.<b>all</b>'Address);
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_897_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_897_7">Res</A>);
- <b>end</b> <b>if</b>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_781_16">Set_Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_611_24">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_612_24">Items</A>.<b>all</b>'Address));
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_615_14">Redefine</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_611_14">Redefine</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_910_13" HREF="terminal_interface-curses-menus__ads.htm#ref_631_13">Item_Count</A></span> (<span class="symbol"><A NAME="ref_910_25" HREF="terminal_interface-curses-menus__ads.htm#ref_631_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> Natural
+ <b>function</b> <span class="symbol"><A NAME="ref_794_13" HREF="terminal_interface-curses-menus__ads.htm#ref_627_13">Item_Count</A></span> (<span class="symbol"><A NAME="ref_794_25" HREF="terminal_interface-curses-menus__ads.htm#ref_627_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> Natural
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_912_16">Count</A></span> (<span class="symbol"><A NAME="ref_912_23" HREF="terminal_interface-curses-menus__adb.htm#ref_912_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_796_16">Count</A></span> (<span class="symbol"><A NAME="ref_796_23" HREF="terminal_interface-curses-menus__adb.htm#ref_796_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Count, "item_count");
<b>begin</b>
- <b>return</b> Natural (<A HREF="terminal_interface-curses-menus__adb.htm#ref_912_16">Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_631_25">Men</A>));
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_631_13">Item_Count</A>;
+ <b>return</b> Natural (<A HREF="terminal_interface-curses-menus__adb.htm#ref_796_16">Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_627_25">Men</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_627_13">Item_Count</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_918_13" HREF="terminal_interface-curses-menus__ads.htm#ref_625_13">Items</A></span> (<span class="symbol"><A NAME="ref_918_20" HREF="terminal_interface-curses-menus__ads.htm#ref_625_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_919_20" HREF="terminal_interface-curses-menus__ads.htm#ref_626_20">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_802_13" HREF="terminal_interface-curses-menus__ads.htm#ref_621_13">Items</A></span> (<span class="symbol"><A NAME="ref_802_20" HREF="terminal_interface-curses-menus__ads.htm#ref_621_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_803_20" HREF="terminal_interface-curses-menus__ads.htm#ref_622_20">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>
<b>is</b>
<b>use</b> I_Array;
- <b>function</b> C_Mitems (<span class="symbol"><A NAME="ref_923_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> Pointer;
+ <b>function</b> C_Mitems (<span class="symbol"><A NAME="ref_807_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> Pointer;
<b>pragma</b> Import (C, C_Mitems, "menu_items");
- P : Pointer := C_Mitems (<A HREF="terminal_interface-curses-menus__ads.htm#ref_625_20">Men</A>);
+ P : Pointer := C_Mitems (<A HREF="terminal_interface-curses-menus__ads.htm#ref_621_20">Men</A>);
<b>begin</b>
- <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_626_20">Index</A> &gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_631_13">Item_Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_625_20">Men</A>) <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
+ <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_622_20">Index</A> &gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_627_13">Item_Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_621_20">Men</A>) <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
<b>else</b>
- P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_626_20">Index</A>) - 1);
+ P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_622_20">Index</A>) - 1);
<b>return</b> P.<b>all</b>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_625_13">Items</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_621_13">Items</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_937_13" HREF="terminal_interface-curses-menus__ads.htm#ref_640_13">Create</A></span> (<span class="symbol"><A NAME="ref_937_21" HREF="terminal_interface-curses-menus__ads.htm#ref_640_21">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_821_13" HREF="terminal_interface-curses-menus__ads.htm#ref_636_13">Create</A></span> (<span class="symbol"><A NAME="ref_821_21" HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_939_16">Newmenu</A></span> (<span class="symbol"><A NAME="ref_939_25" HREF="terminal_interface-curses-menus__adb.htm#ref_939_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_823_16">Newmenu</A></span> (<span class="symbol"><A NAME="ref_823_25" HREF="terminal_interface-curses-menus__adb.htm#ref_823_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
<b>pragma</b> Import (C, Newmenu, "new_menu");
- <span class="symbol"><A NAME="ref_942_7">M</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_826_7">M</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
<b>begin</b>
- <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_640_21">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_640_21">Items</A>'Last) = <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>);
- <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_640_21">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_640_21">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
+ <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>'Last) = <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
<b>else</b>
- <A HREF="terminal_interface-curses-menus__adb.htm#ref_942_7">M</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_939_16">Newmenu</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_640_21">Items</A>.<b>all</b>'Address);
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_942_7">M</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_63_4">Null_Menu</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
+ <A HREF="terminal_interface-curses-menus__adb.htm#ref_826_7">M</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_823_16">Newmenu</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_636_21">Items</A>.<b>all</b>'Address);
+ <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_826_7">M</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_111_4">Menu_Exception</A>;
<b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_942_7">M</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_826_7">M</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_640_13">Create</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_636_13">Create</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_956_14" HREF="terminal_interface-curses-menus__ads.htm#ref_647_14">Delete</A></span> (<span class="symbol"><A NAME="ref_956_22" HREF="terminal_interface-curses-menus__ads.htm#ref_647_22">Men</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_840_14" HREF="terminal_interface-curses-menus__ads.htm#ref_643_14">Delete</A></span> (<span class="symbol"><A NAME="ref_840_22" HREF="terminal_interface-curses-menus__ads.htm#ref_643_22">Men</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_958_16">Free</A></span> (<span class="symbol"><A NAME="ref_958_22" HREF="terminal_interface-curses-menus__adb.htm#ref_958_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_842_16">Free</A></span> (<span class="symbol"><A NAME="ref_842_22" HREF="terminal_interface-curses-menus__adb.htm#ref_842_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Free, "free_menu");
- <span class="symbol"><A NAME="ref_961_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_958_16">Free</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_647_22">Men</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_961_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_961_7">Res</A>);
- <b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_647_22">Men</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_63_4">Null_Menu</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_647_14">Delete</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_842_16">Free</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_643_22">Men</A>));
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_643_22">Men</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_643_14">Delete</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_970_13" HREF="terminal_interface-curses-menus__ads.htm#ref_662_13">Driver</A></span> (<span class="symbol"><A NAME="ref_970_21" HREF="terminal_interface-curses-menus__ads.htm#ref_662_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_971_21" HREF="terminal_interface-curses-menus__ads.htm#ref_663_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_68_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_656_9">Driver_Result</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_851_13" HREF="terminal_interface-curses-menus__ads.htm#ref_658_13">Driver</A></span> (<span class="symbol"><A NAME="ref_851_21" HREF="terminal_interface-curses-menus__ads.htm#ref_658_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_852_21" HREF="terminal_interface-curses-menus__ads.htm#ref_659_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_652_9">Driver_Result</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_973_16">Driver</A></span> (<span class="symbol"><A NAME="ref_973_24" HREF="terminal_interface-curses-menus__adb.htm#ref_973_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_974_24" HREF="terminal_interface-curses-menus__adb.htm#ref_973_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_854_16">Driver</A></span> (<span class="symbol"><A NAME="ref_854_24" HREF="terminal_interface-curses-menus__adb.htm#ref_854_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_855_24" HREF="terminal_interface-curses-menus__adb.htm#ref_854_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A>;
<b>pragma</b> Import (C, Driver, "menu_driver");
- <span class="symbol"><A NAME="ref_977_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_973_16">Driver</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_662_21">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_663_21">Key</A>));
- <b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_977_7">R</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
- <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_977_7">R</A> <b>is</b>
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_4">E_Unknown_Command</A> =&gt; <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_658_27">Unknown_Request</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_89_4">E_No_Match</A> =&gt; <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_659_27">No_Match</A>;
- <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_4">E_Request_Denied</A> |
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_4">E_Not_Selectable</A> =&gt; <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_657_27">Request_Denied</A>;
- <b>when</b> <b>others</b> =&gt;
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_977_7">R</A>);
- <b>end</b> <b>case</b>;
- <b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_656_27">Menu_Ok</A>;
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_662_13">Driver</A>;
+ <span class="symbol"><A NAME="ref_858_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_69_9">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_854_16">Driver</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_658_21">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_659_21">Key</A>));
+ <b>begin</b>
+ <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_858_7">R</A> <b>is</b>
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_76_7">E_Unknown_Command</A> =&gt;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_654_27">Unknown_Request</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_7">E_No_Match</A> =&gt;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_655_27">No_Match</A>;
+ <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_7">E_Request_Denied</A> | <A HREF="terminal_interface-curses-aux__ads.htm#ref_74_7">E_Not_Selectable</A> =&gt;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_653_27">Request_Denied</A>;
+ <b>when</b> <b>others</b> =&gt;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_86_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_858_7">R</A>);
+ <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_652_27">Menu_Ok</A>;
+ <b>end</b> <b>case</b>;
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_658_13">Driver</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_992_14" HREF="terminal_interface-curses-menus__ads.htm#ref_182_14">Free</A></span> (<span class="symbol"><A NAME="ref_992_20" HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>;
- <span class="symbol"><A NAME="ref_993_20" HREF="terminal_interface-curses-menus__ads.htm#ref_183_20">Free_Items</A></span> : Boolean := False)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_873_14" HREF="terminal_interface-curses-menus__ads.htm#ref_178_14">Free</A></span> (<span class="symbol"><A NAME="ref_873_20" HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>;
+ <span class="symbol"><A NAME="ref_874_20" HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">Free_Items</A></span> : Boolean := False)
<b>is</b>
<b>procedure</b> Release <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
- (Item_Array, <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>);
+ (Item_Array, <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_183_20">Free_Items</A> <b>then</b>
- <b>for</b> <span class="symbol"><A NAME="ref_999_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A>'First .. (<A HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A>'Last - 1) <b>loop</b>
- <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_999_14">I</A>) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A> <b>then</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_205_14">Delete</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_999_14">I</A>));
+ <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_179_20">Free_Items</A> <b>then</b>
+ <b>for</b> <span class="symbol"><A NAME="ref_880_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>'First .. (<A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>'Last - 1) <b>loop</b>
+ <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_880_14">I</A>) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> <b>then</b>
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_201_14">Delete</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_880_14">I</A>));
<b>end</b> <b>if</b>;
<b>end</b> <b>loop</b>;
<b>end</b> <b>if</b>;
- Release (<A HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_182_14">Free</A>;
+ Release (<A HREF="terminal_interface-curses-menus__ads.htm#ref_178_20">IA</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_14">Free</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1009_13" HREF="terminal_interface-curses-menus__ads.htm#ref_147_13">Default_Menu_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_890_13" HREF="terminal_interface-curses-menus__ads.htm#ref_145_13">Default_Menu_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>
<b>is</b>
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_354_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_63_4">Null_Menu</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_147_13">Default_Menu_Options</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_350_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_145_13">Default_Menu_Options</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_1015_13" HREF="terminal_interface-curses-menus__ads.htm#ref_170_13">Default_Item_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_896_13" HREF="terminal_interface-curses-menus__ads.htm#ref_166_13">Default_Item_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>
<b>is</b>
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_258_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>);
- <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_170_13">Default_Item_Options</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_254_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_166_13">Default_Item_Options</A>;
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-menus__ads.htm b/doc/html/ada/terminal_interface-curses-menus__ads.htm
index 7be457b20bad..a8d9253a6d08 100644
--- a/doc/html/ada/terminal_interface-curses-menus__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-menus__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,152 +52,148 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.28 @</EM></span>
-<span class="comment"><EM>-- @Date: 2009/12/26 18:35:22 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.31 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:31:57 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- menu binding.</EM></span>
-<span class="comment"><EM>-- This module is generated. Please don't change it manually!</EM></span>
-<span class="comment"><EM>-- Run the generator instead.</EM></span>
-<span class="comment"><EM>-- |</EM></span>
<b>with</b> System;
<b>with</b> Ada.Characters.Latin_1;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_49_35" HREF="terminal_interface-curses-menus__adb.htm#ref_51_40">Menus</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>);
- <b>pragma</b> Linker_Options ("-lmenu");
- <b>pragma</b> Linker_Options ("-lncurses");
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_45_35" HREF="terminal_interface-curses-menus__adb.htm#ref_49_40">Menus</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>);
+ <b>pragma</b> Linker_Options ("-lmenu" &amp; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</A>);
Space : Character <b>renames</b> Ada.Characters.Latin_1.Space;
- <b>type</b> <span class="symbol"><A NAME="ref_56_9">Item</A></span> <b>is</b> <b>private</b>;
- <b>type</b> <span class="symbol"><A NAME="ref_57_9">Menu</A></span> <b>is</b> <b>private</b>;
+ <b>type</b> <span class="symbol"><A NAME="ref_51_9">Item</A></span> <b>is</b> <b>private</b>;
+ <b>type</b> <span class="symbol"><A NAME="ref_52_9">Menu</A></span> <b>is</b> <b>private</b>;
<span class="comment"><EM>---------------------------</EM></span>
<span class="comment"><EM>-- Interface constants --</EM></span>
<span class="comment"><EM>---------------------------</EM></span>
- <span class="symbol"><A NAME="ref_62_4">Null_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_63_4">Null_Menu</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_57_4">Null_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_58_4">Null_Menu</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
- <b>subtype</b> <span class="symbol"><A NAME="ref_65_12">Menu_Request_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_68_9">Key_Code</A>
- <b>range</b> (<A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 1) .. (<A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 17);
+ <b>subtype</b> <span class="symbol"><A NAME="ref_60_12">Menu_Request_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>
+ <b>range</b> (<A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 1) .. (<A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 17);
<span class="comment"><EM>-- The prefix M_ stands for "Menu Request"</EM></span>
- <span class="symbol"><A NAME="ref_69_4">M_Left_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 1;
- <span class="symbol"><A NAME="ref_70_4">M_Right_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 2;
- <span class="symbol"><A NAME="ref_71_4">M_Up_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 3;
- <span class="symbol"><A NAME="ref_72_4">M_Down_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 4;
- <span class="symbol"><A NAME="ref_73_4">M_ScrollUp_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 5;
- <span class="symbol"><A NAME="ref_74_4">M_ScrollDown_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 6;
- <span class="symbol"><A NAME="ref_75_4">M_ScrollDown_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 7;
- <span class="symbol"><A NAME="ref_76_4">M_ScrollUp_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 8;
- <span class="symbol"><A NAME="ref_77_4">M_First_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 9;
- <span class="symbol"><A NAME="ref_78_4">M_Last_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 10;
- <span class="symbol"><A NAME="ref_79_4">M_Next_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 11;
- <span class="symbol"><A NAME="ref_80_4">M_Previous_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 12;
- <span class="symbol"><A NAME="ref_81_4">M_Toggle_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 13;
- <span class="symbol"><A NAME="ref_82_4">M_Clear_Pattern</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 14;
- <span class="symbol"><A NAME="ref_83_4">M_Back_Pattern</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 15;
- <span class="symbol"><A NAME="ref_84_4">M_Next_Match</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 16;
- <span class="symbol"><A NAME="ref_85_4">M_Previous_Match</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 17;
+ <span class="symbol"><A NAME="ref_64_4">M_Left_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 1;
+ <span class="symbol"><A NAME="ref_65_4">M_Right_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 2;
+ <span class="symbol"><A NAME="ref_66_4">M_Up_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 3;
+ <span class="symbol"><A NAME="ref_67_4">M_Down_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 4;
+ <span class="symbol"><A NAME="ref_68_4">M_ScrollUp_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 5;
+ <span class="symbol"><A NAME="ref_69_4">M_ScrollDown_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 6;
+ <span class="symbol"><A NAME="ref_70_4">M_ScrollDown_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 7;
+ <span class="symbol"><A NAME="ref_71_4">M_ScrollUp_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 8;
+ <span class="symbol"><A NAME="ref_72_4">M_First_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 9;
+ <span class="symbol"><A NAME="ref_73_4">M_Last_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 10;
+ <span class="symbol"><A NAME="ref_74_4">M_Next_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 11;
+ <span class="symbol"><A NAME="ref_75_4">M_Previous_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 12;
+ <span class="symbol"><A NAME="ref_76_4">M_Toggle_Item</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 13;
+ <span class="symbol"><A NAME="ref_77_4">M_Clear_Pattern</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 14;
+ <span class="symbol"><A NAME="ref_78_4">M_Back_Pattern</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 15;
+ <span class="symbol"><A NAME="ref_79_4">M_Next_Match</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 16;
+ <span class="symbol"><A NAME="ref_80_4">M_Previous_Match</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 17;
<span class="comment"><EM>-- For those who like the old 'C' names for the request codes</EM></span>
- REQ_LEFT_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_69_4">M_Left_Item</A>;
- REQ_RIGHT_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_70_4">M_Right_Item</A>;
- REQ_UP_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_71_4">M_Up_Item</A>;
- REQ_DOWN_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_72_4">M_Down_Item</A>;
- REQ_SCR_ULINE : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_73_4">M_ScrollUp_Line</A>;
- REQ_SCR_DLINE : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_74_4">M_ScrollDown_Line</A>;
- REQ_SCR_DPAGE : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_75_4">M_ScrollDown_Page</A>;
- REQ_SCR_UPAGE : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_76_4">M_ScrollUp_Page</A>;
- REQ_FIRST_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_77_4">M_First_Item</A>;
- REQ_LAST_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_78_4">M_Last_Item</A>;
- REQ_NEXT_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_79_4">M_Next_Item</A>;
- REQ_PREV_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_80_4">M_Previous_Item</A>;
- REQ_TOGGLE_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_81_4">M_Toggle_Item</A>;
- REQ_CLEAR_PATTERN : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_82_4">M_Clear_Pattern</A>;
- REQ_BACK_PATTERN : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_83_4">M_Back_Pattern</A>;
- REQ_NEXT_MATCH : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_84_4">M_Next_Match</A>;
- REQ_PREV_MATCH : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_85_4">M_Previous_Match</A>;
-
- <b>procedure</b> <span class="symbol"><A NAME="ref_106_14" HREF="terminal_interface-curses-menus__adb.htm#ref_77_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_106_28" HREF="terminal_interface-curses-menus__adb.htm#ref_77_28">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A>;
- <span class="symbol"><A NAME="ref_107_28" HREF="terminal_interface-curses-menus__adb.htm#ref_78_28">Name</A></span> : <b>out</b> String);
-
- <b>function</b> <span class="symbol"><A NAME="ref_109_14" HREF="terminal_interface-curses-menus__adb.htm#ref_86_13">Request_Name</A></span> (<span class="symbol"><A NAME="ref_109_28" HREF="terminal_interface-curses-menus__adb.htm#ref_86_27">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A>) <b>return</b> String;
+ REQ_LEFT_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_64_4">M_Left_Item</A>;
+ REQ_RIGHT_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_4">M_Right_Item</A>;
+ REQ_UP_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_66_4">M_Up_Item</A>;
+ REQ_DOWN_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_67_4">M_Down_Item</A>;
+ REQ_SCR_ULINE : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_68_4">M_ScrollUp_Line</A>;
+ REQ_SCR_DLINE : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_69_4">M_ScrollDown_Line</A>;
+ REQ_SCR_DPAGE : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_70_4">M_ScrollDown_Page</A>;
+ REQ_SCR_UPAGE : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_71_4">M_ScrollUp_Page</A>;
+ REQ_FIRST_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_72_4">M_First_Item</A>;
+ REQ_LAST_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_73_4">M_Last_Item</A>;
+ REQ_NEXT_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_74_4">M_Next_Item</A>;
+ REQ_PREV_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_75_4">M_Previous_Item</A>;
+ REQ_TOGGLE_ITEM : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_76_4">M_Toggle_Item</A>;
+ REQ_CLEAR_PATTERN : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_77_4">M_Clear_Pattern</A>;
+ REQ_BACK_PATTERN : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_78_4">M_Back_Pattern</A>;
+ REQ_NEXT_MATCH : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_79_4">M_Next_Match</A>;
+ REQ_PREV_MATCH : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_80_4">M_Previous_Match</A>;
+
+ <b>procedure</b> <span class="symbol"><A NAME="ref_101_14" HREF="terminal_interface-curses-menus__adb.htm#ref_58_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_101_28" HREF="terminal_interface-curses-menus__adb.htm#ref_58_28">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A>;
+ <span class="symbol"><A NAME="ref_102_28" HREF="terminal_interface-curses-menus__adb.htm#ref_59_28">Name</A></span> : <b>out</b> String);
+
+ <b>function</b> <span class="symbol"><A NAME="ref_104_14" HREF="terminal_interface-curses-menus__adb.htm#ref_67_13">Request_Name</A></span> (<span class="symbol"><A NAME="ref_104_28" HREF="terminal_interface-curses-menus__adb.htm#ref_67_27">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_60_12">Menu_Request_Code</A>) <b>return</b> String;
<span class="comment"><EM>-- Same as function</EM></span>
<span class="comment"><EM>------------------</EM></span>
<span class="comment"><EM>-- Exceptions --</EM></span>
<span class="comment"><EM>------------------</EM></span>
- <span class="symbol"><A NAME="ref_116_4">Menu_Exception</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_111_4">Menu_Exception</A></span> : <b>exception</b>;
<span class="comment"><EM>--</EM></span>
<span class="comment"><EM>-- Menu options</EM></span>
<span class="comment"><EM>--</EM></span>
- <b>pragma</b> Warnings (Off);
- <b>type</b> <span class="symbol"><A NAME="ref_121_9">Menu_Option_Set</A></span> <b>is</b>
+ <b>type</b> <span class="symbol"><A NAME="ref_115_9">Menu_Option_Set</A></span> <b>is</b>
<b>record</b>
- <span class="symbol"><A NAME="ref_123_10">One_Valued</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_124_10">Show_Descriptions</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_125_10">Row_Major_Order</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_126_10">Ignore_Case</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_127_10">Show_Matches</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_128_10">Non_Cyclic</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_117_10">One_Valued</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_118_10">Show_Descriptions</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_119_10">Row_Major_Order</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_120_10">Ignore_Case</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_121_10">Show_Matches</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_122_10">Non_Cyclic</A></span> : Boolean;
<b>end</b> <b>record</b>;
- <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>);
+ <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>);
- <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A> <b>use</b>
+ <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A> <b>use</b>
<b>record</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_123_10">One_Valued</A> <b>at</b> 0 <b>range</b> 0 .. 0;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_124_10">Show_Descriptions</A> <b>at</b> 0 <b>range</b> 1 .. 1;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_125_10">Row_Major_Order</A> <b>at</b> 0 <b>range</b> 2 .. 2;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_126_10">Ignore_Case</A> <b>at</b> 0 <b>range</b> 3 .. 3;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_127_10">Show_Matches</A> <b>at</b> 0 <b>range</b> 4 .. 4;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_128_10">Non_Cyclic</A> <b>at</b> 0 <b>range</b> 5 .. 5;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_117_10">One_Valued</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_257_4">O_ONEVALUE_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_258_4">O_ONEVALUE_Last</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_118_10">Show_Descriptions</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_259_4">O_SHOWDESC_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_260_4">O_SHOWDESC_Last</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_119_10">Row_Major_Order</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_261_4">O_ROWMAJOR_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_262_4">O_ROWMAJOR_Last</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_120_10">Ignore_Case</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_263_4">O_IGNORECASE_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_264_4">O_IGNORECASE_Last</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_10">Show_Matches</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_265_4">O_SHOWMATCH_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_266_4">O_SHOWMATCH_Last</A>;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_122_10">Non_Cyclic</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_267_4">O_NONCYCLIC_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_268_4">O_NONCYCLIC_Last</A>;
<b>end</b> <b>record</b>;
- <b>pragma</b> Warnings (Off); <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>'Size <b>use</b> 32;
- <b>pragma</b> Warnings (On);
- <span class="comment"><EM>-- Please note: this rep. clause is generated and may be</EM></span>
- <span class="comment"><EM>-- different on your system.</EM></span>
+ <b>pragma</b> Warnings (Off);
+ <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_269_4">Menu_Options_Size</A>;
<b>pragma</b> Warnings (On);
- <b>function</b> <span class="symbol"><A NAME="ref_147_13" HREF="terminal_interface-curses-menus__adb.htm#ref_1009_13">Default_Menu_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_145_13" HREF="terminal_interface-curses-menus__adb.htm#ref_890_13">Default_Menu_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
<span class="comment"><EM>-- Initial default options for a menu.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_147_13">Default_Menu_Options</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_145_13">Default_Menu_Options</A>);
<span class="comment"><EM>--</EM></span>
<span class="comment"><EM>-- Item options</EM></span>
<span class="comment"><EM>--</EM></span>
- <b>pragma</b> Warnings (Off);
- <b>type</b> <span class="symbol"><A NAME="ref_154_9">Item_Option_Set</A></span> <b>is</b>
+ <b>type</b> <span class="symbol"><A NAME="ref_151_9">Item_Option_Set</A></span> <b>is</b>
<b>record</b>
- <span class="symbol"><A NAME="ref_156_10">Selectable</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_153_10">Selectable</A></span> : Boolean;
<b>end</b> <b>record</b>;
- <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>);
+ <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>);
- <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A> <b>use</b>
+ <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A> <b>use</b>
<b>record</b>
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_156_10">Selectable</A> <b>at</b> 0 <b>range</b> 0 .. 0;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_10">Selectable</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_273_4">O_SELECTABLE_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_274_4">O_SELECTABLE_Last</A>;
<b>end</b> <b>record</b>;
- <b>pragma</b> Warnings (Off); <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>'Size <b>use</b> 32;
- <b>pragma</b> Warnings (On);
- <span class="comment"><EM>-- Please note: this rep. clause is generated and may be</EM></span>
- <span class="comment"><EM>-- different on your system.</EM></span>
+ <b>pragma</b> Warnings (Off);
+ <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_275_4">Item_Options_Size</A>;
<b>pragma</b> Warnings (On);
- <b>function</b> <span class="symbol"><A NAME="ref_170_13" HREF="terminal_interface-curses-menus__adb.htm#ref_1015_13">Default_Item_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_166_13" HREF="terminal_interface-curses-menus__adb.htm#ref_896_13">Default_Item_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
<span class="comment"><EM>-- Initial default options for an item.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_170_13">Default_Item_Options</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_166_13">Default_Item_Options</A>);
<span class="comment"><EM>--</EM></span>
<span class="comment"><EM>-- Item Array</EM></span>
<span class="comment"><EM>--</EM></span>
- <b>type</b> Item_Array <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+ <b>type</b> Item_Array <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
<b>pragma</b> Convention (C, Item_Array);
- <b>type</b> <span class="symbol"><A NAME="ref_180_9">Item_Array_Access</A></span> <b>is</b> <b>access</b> Item_Array;
+ <b>type</b> <span class="symbol"><A NAME="ref_176_9">Item_Array_Access</A></span> <b>is</b> <b>access</b> Item_Array;
- <b>procedure</b> <span class="symbol"><A NAME="ref_182_14" HREF="terminal_interface-curses-menus__adb.htm#ref_992_14">Free</A></span> (<span class="symbol"><A NAME="ref_182_20" HREF="terminal_interface-curses-menus__adb.htm#ref_992_20">IA</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>;
- <span class="symbol"><A NAME="ref_183_20" HREF="terminal_interface-curses-menus__adb.htm#ref_993_20">Free_Items</A></span> : Boolean := False);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_178_14" HREF="terminal_interface-curses-menus__adb.htm#ref_873_14">Free</A></span> (<span class="symbol"><A NAME="ref_178_20" HREF="terminal_interface-curses-menus__adb.htm#ref_873_20">IA</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>;
+ <span class="symbol"><A NAME="ref_179_20" HREF="terminal_interface-curses-menus__adb.htm#ref_874_20">Free_Items</A></span> : Boolean := False);
<span class="comment"><EM>-- Release the memory for an allocated item array</EM></span>
<span class="comment"><EM>-- If Free_Items is True, call Delete() for all the items in</EM></span>
<span class="comment"><EM>-- the array.</EM></span>
@@ -206,20 +202,20 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_1"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_193_13" HREF="terminal_interface-curses-menus__adb.htm#ref_94_13">Create</A></span> (<span class="symbol"><A NAME="ref_193_21" HREF="terminal_interface-curses-menus__adb.htm#ref_94_21">Name</A></span> : String;
- <span class="symbol"><A NAME="ref_194_21" HREF="terminal_interface-curses-menus__adb.htm#ref_95_21">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_189_13" HREF="terminal_interface-curses-menus__adb.htm#ref_75_13">Create</A></span> (<span class="symbol"><A NAME="ref_189_21" HREF="terminal_interface-curses-menus__adb.htm#ref_75_21">Name</A></span> : String;
+ <span class="symbol"><A NAME="ref_190_21" HREF="terminal_interface-curses-menus__adb.htm#ref_76_21">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></EM></span>
<span class="comment"><EM>-- Not inlined.</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_2"#2|</EM></span>
- <b>function</b> New_Item (<span class="symbol"><A NAME="ref_199_23">Name</A></span> : String;
- <span class="symbol"><A NAME="ref_200_23">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>
- <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_193_13">Create</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span>
+ <b>function</b> New_Item (<span class="symbol"><A NAME="ref_195_23">Name</A></span> : String;
+ <span class="symbol"><A NAME="ref_196_23">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>
+ <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_189_13">Create</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_3"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_205_14" HREF="terminal_interface-curses-menus__adb.htm#ref_124_14">Delete</A></span> (<span class="symbol"><A NAME="ref_205_22" HREF="terminal_interface-curses-menus__adb.htm#ref_124_22">Itm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_201_14" HREF="terminal_interface-curses-menus__adb.htm#ref_105_14">Delete</A></span> (<span class="symbol"><A NAME="ref_201_22" HREF="terminal_interface-curses-menus__adb.htm#ref_105_22">Itm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_new.3x.html">free_item()</A></EM></span>
<span class="comment"><EM>-- Resets Itm to Null_Item</EM></span>
@@ -227,52 +223,52 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/mitem_value.3x.html">mitem_value.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_4"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_214_14" HREF="terminal_interface-curses-menus__adb.htm#ref_152_14">Set_Value</A></span> (<span class="symbol"><A NAME="ref_214_25" HREF="terminal_interface-curses-menus__adb.htm#ref_152_25">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_215_25" HREF="terminal_interface-curses-menus__adb.htm#ref_153_25">Value</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_4">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_210_14" HREF="terminal_interface-curses-menus__adb.htm#ref_129_14">Set_Value</A></span> (<span class="symbol"><A NAME="ref_210_25" HREF="terminal_interface-curses-menus__adb.htm#ref_129_25">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_211_25" HREF="terminal_interface-curses-menus__adb.htm#ref_130_25">Value</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_value.3x.html">set_item_value()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_214_14">Set_Value</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_210_14">Set_Value</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_5"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_220_13" HREF="terminal_interface-curses-menus__adb.htm#ref_166_13">Value</A></span> (<span class="symbol"><A NAME="ref_220_20" HREF="terminal_interface-curses-menus__adb.htm#ref_166_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_5">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_216_13" HREF="terminal_interface-curses-menus__adb.htm#ref_140_13">Value</A></span> (<span class="symbol"><A NAME="ref_216_20" HREF="terminal_interface-curses-menus__adb.htm#ref_140_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_value.3x.html">item_value()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_220_13">Value</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_216_13">Value</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/mitem_visible.3x.html">mitem_visible.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_6"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_229_13" HREF="terminal_interface-curses-menus__adb.htm#ref_179_13">Visible</A></span> (<span class="symbol"><A NAME="ref_229_22" HREF="terminal_interface-curses-menus__adb.htm#ref_179_22">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_6">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_225_13" HREF="terminal_interface-curses-menus__adb.htm#ref_153_13">Visible</A></span> (<span class="symbol"><A NAME="ref_225_22" HREF="terminal_interface-curses-menus__adb.htm#ref_153_22">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_visible.3x.html">item_visible()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_229_13">Visible</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_225_13">Visible</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_7"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_238_14" HREF="terminal_interface-curses-menus__adb.htm#ref_191_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_238_27" HREF="terminal_interface-curses-menus__adb.htm#ref_191_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_239_27" HREF="terminal_interface-curses-menus__adb.htm#ref_192_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_7">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_234_14" HREF="terminal_interface-curses-menus__adb.htm#ref_165_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_234_27" HREF="terminal_interface-curses-menus__adb.htm#ref_165_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_235_27" HREF="terminal_interface-curses-menus__adb.htm#ref_166_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_opts.3x.html">set_item_opts()</A></EM></span>
<span class="comment"><EM>-- An overloaded Set_Options is defined later. Pragma Inline appears there</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_8"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_244_14" HREF="terminal_interface-curses-menus__adb.htm#ref_207_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_244_30" HREF="terminal_interface-curses-menus__adb.htm#ref_207_30">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_245_30" HREF="terminal_interface-curses-menus__adb.htm#ref_208_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>;
- <span class="symbol"><A NAME="ref_246_30" HREF="terminal_interface-curses-menus__adb.htm#ref_209_30">On</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_8">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_240_14" HREF="terminal_interface-curses-menus__adb.htm#ref_176_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_240_30" HREF="terminal_interface-curses-menus__adb.htm#ref_176_30">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_241_30" HREF="terminal_interface-curses-menus__adb.htm#ref_177_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
+ <span class="symbol"><A NAME="ref_242_30" HREF="terminal_interface-curses-menus__adb.htm#ref_178_30">On</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_opts.3x.html">item_opts_on()</A></EM></span>
<span class="comment"><EM>-- AKA: item_opts_off()</EM></span>
<span class="comment"><EM>-- An overloaded Switch_Options is defined later.</EM></span>
<span class="comment"><EM>-- Pragma Inline appears there</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_9"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_253_14" HREF="terminal_interface-curses-menus__adb.htm#ref_231_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_253_27" HREF="terminal_interface-curses-menus__adb.htm#ref_231_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_254_27" HREF="terminal_interface-curses-menus__adb.htm#ref_232_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_9">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_249_14" HREF="terminal_interface-curses-menus__adb.htm#ref_195_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_249_27" HREF="terminal_interface-curses-menus__adb.htm#ref_195_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_250_27" HREF="terminal_interface-curses-menus__adb.htm#ref_196_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_10"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_258_13" HREF="terminal_interface-curses-menus__adb.htm#ref_242_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_258_26" HREF="terminal_interface-curses-menus__adb.htm#ref_242_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_10">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_254_13" HREF="terminal_interface-curses-menus__adb.htm#ref_205_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_254_26" HREF="terminal_interface-curses-menus__adb.htm#ref_205_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_151_9">Item_Option_Set</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></EM></span>
<span class="comment"><EM>-- An overloaded Get_Options is defined later. Pragma Inline appears there</EM></span>
@@ -280,21 +276,21 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_11"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_267_14" HREF="terminal_interface-curses-menus__adb.htm#ref_250_14">Name</A></span> (<span class="symbol"><A NAME="ref_267_20" HREF="terminal_interface-curses-menus__adb.htm#ref_250_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_268_20" HREF="terminal_interface-curses-menus__adb.htm#ref_251_20">Name</A></span> : <b>out</b> String);
+ <span class="comment"><EM>-- <A NAME="AFU_11">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_263_14" HREF="terminal_interface-curses-menus__adb.htm#ref_213_14">Name</A></span> (<span class="symbol"><A NAME="ref_263_20" HREF="terminal_interface-curses-menus__adb.htm#ref_213_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_264_20" HREF="terminal_interface-curses-menus__adb.htm#ref_214_20">Name</A></span> : <b>out</b> String);
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_270_14" HREF="terminal_interface-curses-menus__adb.htm#ref_259_13">Name</A></span> (<span class="symbol"><A NAME="ref_270_20" HREF="terminal_interface-curses-menus__adb.htm#ref_259_19">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> String;
+ <b>function</b> <span class="symbol"><A NAME="ref_266_14" HREF="terminal_interface-curses-menus__adb.htm#ref_222_13">Name</A></span> (<span class="symbol"><A NAME="ref_266_20" HREF="terminal_interface-curses-menus__adb.htm#ref_222_19">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> String;
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></EM></span>
<span class="comment"><EM>-- Implemented as function</EM></span>
<b>pragma</b> Inline (Name);
- <span class="comment"><EM>-- #1A NAME="AFU_12"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_276_14" HREF="terminal_interface-curses-menus__adb.htm#ref_267_14">Description</A></span> (<span class="symbol"><A NAME="ref_276_27" HREF="terminal_interface-curses-menus__adb.htm#ref_267_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
- <span class="symbol"><A NAME="ref_277_27" HREF="terminal_interface-curses-menus__adb.htm#ref_268_27">Description</A></span> : <b>out</b> String);
+ <span class="comment"><EM>-- <A NAME="AFU_12">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_272_14" HREF="terminal_interface-curses-menus__adb.htm#ref_230_14">Description</A></span> (<span class="symbol"><A NAME="ref_272_27" HREF="terminal_interface-curses-menus__adb.htm#ref_230_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
+ <span class="symbol"><A NAME="ref_273_27" HREF="terminal_interface-curses-menus__adb.htm#ref_231_27">Description</A></span> : <b>out</b> String);
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_280_14" HREF="terminal_interface-curses-menus__adb.htm#ref_276_13">Description</A></span> (<span class="symbol"><A NAME="ref_280_27" HREF="terminal_interface-curses-menus__adb.htm#ref_276_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> String;
+ <b>function</b> <span class="symbol"><A NAME="ref_276_14" HREF="terminal_interface-curses-menus__adb.htm#ref_239_13">Description</A></span> (<span class="symbol"><A NAME="ref_276_27" HREF="terminal_interface-curses-menus__adb.htm#ref_239_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> String;
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></EM></span>
<span class="comment"><EM>-- Implemented as function</EM></span>
<b>pragma</b> Inline (Description);
@@ -303,72 +299,72 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_13"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_290_14" HREF="terminal_interface-curses-menus__adb.htm#ref_284_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_290_27" HREF="terminal_interface-curses-menus__adb.htm#ref_284_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_291_27" HREF="terminal_interface-curses-menus__adb.htm#ref_285_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_13">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_286_14" HREF="terminal_interface-curses-menus__adb.htm#ref_247_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_286_27" HREF="terminal_interface-curses-menus__adb.htm#ref_247_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_287_27" HREF="terminal_interface-curses-menus__adb.htm#ref_248_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_current.3x.html">set_current_item()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_290_14">Set_Current</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_286_14">Set_Current</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_14"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_296_13" HREF="terminal_interface-curses-menus__adb.htm#ref_298_13">Current</A></span> (<span class="symbol"><A NAME="ref_296_22" HREF="terminal_interface-curses-menus__adb.htm#ref_298_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_14">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_292_13" HREF="terminal_interface-curses-menus__adb.htm#ref_258_13">Current</A></span> (<span class="symbol"><A NAME="ref_292_22" HREF="terminal_interface-curses-menus__adb.htm#ref_258_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_current.3x.html">current_item()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_296_13">Current</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_292_13">Current</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_15"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_301_14" HREF="terminal_interface-curses-menus__adb.htm#ref_311_14">Set_Top_Row</A></span> (<span class="symbol"><A NAME="ref_301_27" HREF="terminal_interface-curses-menus__adb.htm#ref_311_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_302_27" HREF="terminal_interface-curses-menus__adb.htm#ref_312_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_15">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_297_14" HREF="terminal_interface-curses-menus__adb.htm#ref_271_14">Set_Top_Row</A></span> (<span class="symbol"><A NAME="ref_297_27" HREF="terminal_interface-curses-menus__adb.htm#ref_271_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_298_27" HREF="terminal_interface-curses-menus__adb.htm#ref_272_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_current.3x.html">set_top_row()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_301_14">Set_Top_Row</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_297_14">Set_Top_Row</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_16"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_307_13" HREF="terminal_interface-curses-menus__adb.htm#ref_325_13">Top_Row</A></span> (<span class="symbol"><A NAME="ref_307_22" HREF="terminal_interface-curses-menus__adb.htm#ref_325_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_16">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_303_13" HREF="terminal_interface-curses-menus__adb.htm#ref_282_13">Top_Row</A></span> (<span class="symbol"><A NAME="ref_303_22" HREF="terminal_interface-curses-menus__adb.htm#ref_282_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_current.3x.html">top_row()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_307_13">Top_Row</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_303_13">Top_Row</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_17"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_312_13" HREF="terminal_interface-curses-menus__adb.htm#ref_338_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_312_24" HREF="terminal_interface-curses-menus__adb.htm#ref_338_24">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Positive;
+ <span class="comment"><EM>-- <A NAME="AFU_17">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_308_13" HREF="terminal_interface-curses-menus__adb.htm#ref_295_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_308_24" HREF="terminal_interface-curses-menus__adb.htm#ref_295_24">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>) <b>return</b> Positive;
<span class="comment"><EM>-- AKA: <A HREF="../man/mitem_current.3x.html">item_index()</A></EM></span>
<span class="comment"><EM>-- Please note that in this binding we start the numbering of items</EM></span>
<span class="comment"><EM>-- with 1. So this is number is one more than you get from the low</EM></span>
<span class="comment"><EM>-- level call.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_312_13">Get_Index</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_308_13">Get_Index</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_post.3x.html">menu_post.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_18"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_324_14" HREF="terminal_interface-curses-menus__adb.htm#ref_351_14">Post</A></span> (<span class="symbol"><A NAME="ref_324_20" HREF="terminal_interface-curses-menus__adb.htm#ref_351_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_325_20" HREF="terminal_interface-curses-menus__adb.htm#ref_352_20">Post</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_18">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_320_14" HREF="terminal_interface-curses-menus__adb.htm#ref_308_14">Post</A></span> (<span class="symbol"><A NAME="ref_320_20" HREF="terminal_interface-curses-menus__adb.htm#ref_308_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_321_20" HREF="terminal_interface-curses-menus__adb.htm#ref_309_20">Post</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_post.3x.html">post_menu()</A></EM></span>
<span class="comment"><EM>-- AKA: unpost_menu()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_324_14">Post</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_320_14">Post</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_19"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_335_14" HREF="terminal_interface-curses-menus__adb.htm#ref_371_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_335_27" HREF="terminal_interface-curses-menus__adb.htm#ref_371_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_336_27" HREF="terminal_interface-curses-menus__adb.htm#ref_372_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_19">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_331_14" HREF="terminal_interface-curses-menus__adb.htm#ref_324_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_331_27" HREF="terminal_interface-curses-menus__adb.htm#ref_324_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_332_27" HREF="terminal_interface-curses-menus__adb.htm#ref_325_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_opts.3x.html">set_menu_opts()</A></EM></span>
<b>pragma</b> Inline (Set_Options);
- <span class="comment"><EM>-- #1A NAME="AFU_20"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_341_14" HREF="terminal_interface-curses-menus__adb.htm#ref_387_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_341_30" HREF="terminal_interface-curses-menus__adb.htm#ref_387_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_342_30" HREF="terminal_interface-curses-menus__adb.htm#ref_388_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>;
- <span class="symbol"><A NAME="ref_343_30" HREF="terminal_interface-curses-menus__adb.htm#ref_389_30">On</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_20">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_337_14" HREF="terminal_interface-curses-menus__adb.htm#ref_335_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_337_30" HREF="terminal_interface-curses-menus__adb.htm#ref_335_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_338_30" HREF="terminal_interface-curses-menus__adb.htm#ref_336_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
+ <span class="symbol"><A NAME="ref_339_30" HREF="terminal_interface-curses-menus__adb.htm#ref_337_30">On</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_opts.3x.html">menu_opts_on()</A></EM></span>
<span class="comment"><EM>-- AKA: menu_opts_off()</EM></span>
<b>pragma</b> Inline (Switch_Options);
- <span class="comment"><EM>-- #1A NAME="AFU_21"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_349_14" HREF="terminal_interface-curses-menus__adb.htm#ref_411_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_349_27" HREF="terminal_interface-curses-menus__adb.htm#ref_411_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_350_27" HREF="terminal_interface-curses-menus__adb.htm#ref_412_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_21">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_345_14" HREF="terminal_interface-curses-menus__adb.htm#ref_354_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_345_27" HREF="terminal_interface-curses-menus__adb.htm#ref_354_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_346_27" HREF="terminal_interface-curses-menus__adb.htm#ref_355_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_22"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_354_13" HREF="terminal_interface-curses-menus__adb.htm#ref_422_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_354_26" HREF="terminal_interface-curses-menus__adb.htm#ref_422_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_63_4">Null_Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_22">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_350_13" HREF="terminal_interface-curses-menus__adb.htm#ref_364_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_350_26" HREF="terminal_interface-curses-menus__adb.htm#ref_364_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_115_9">Menu_Option_Set</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></EM></span>
<b>pragma</b> Inline (Get_Options);
@@ -376,60 +372,60 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_win.3x.html">menu_win.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_23"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_363_14" HREF="terminal_interface-curses-menus__adb.htm#ref_430_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_363_26" HREF="terminal_interface-curses-menus__adb.htm#ref_430_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_364_26" HREF="terminal_interface-curses-menus__adb.htm#ref_431_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_23">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_359_14" HREF="terminal_interface-curses-menus__adb.htm#ref_372_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_359_26" HREF="terminal_interface-curses-menus__adb.htm#ref_372_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_360_26" HREF="terminal_interface-curses-menus__adb.htm#ref_373_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_win.3x.html">set_menu_win()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_363_14">Set_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_359_14">Set_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_24"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_369_13" HREF="terminal_interface-curses-menus__adb.htm#ref_444_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_369_25" HREF="terminal_interface-curses-menus__adb.htm#ref_444_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_24">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_365_13" HREF="terminal_interface-curses-menus__adb.htm#ref_383_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_365_25" HREF="terminal_interface-curses-menus__adb.htm#ref_383_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_win.3x.html">menu_win()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_369_13">Get_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_365_13">Get_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_25"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_374_14" HREF="terminal_interface-curses-menus__adb.htm#ref_454_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_374_30" HREF="terminal_interface-curses-menus__adb.htm#ref_454_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_375_30" HREF="terminal_interface-curses-menus__adb.htm#ref_455_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_25">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_370_14" HREF="terminal_interface-curses-menus__adb.htm#ref_393_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_370_30" HREF="terminal_interface-curses-menus__adb.htm#ref_393_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_371_30" HREF="terminal_interface-curses-menus__adb.htm#ref_394_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_win.3x.html">set_menu_sub()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_374_14">Set_Sub_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_370_14">Set_Sub_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_26"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_380_13" HREF="terminal_interface-curses-menus__adb.htm#ref_468_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_380_29" HREF="terminal_interface-curses-menus__adb.htm#ref_468_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_26">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_376_13" HREF="terminal_interface-curses-menus__adb.htm#ref_404_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_376_29" HREF="terminal_interface-curses-menus__adb.htm#ref_404_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_win.3x.html">menu_sub()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_380_13">Get_Sub_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_376_13">Get_Sub_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_27"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_385_14" HREF="terminal_interface-curses-menus__adb.htm#ref_478_14">Scale</A></span> (<span class="symbol"><A NAME="ref_385_21" HREF="terminal_interface-curses-menus__adb.htm#ref_478_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_386_21" HREF="terminal_interface-curses-menus__adb.htm#ref_479_21">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_387_21" HREF="terminal_interface-curses-menus__adb.htm#ref_480_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_27">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_381_14" HREF="terminal_interface-curses-menus__adb.htm#ref_414_14">Scale</A></span> (<span class="symbol"><A NAME="ref_381_21" HREF="terminal_interface-curses-menus__adb.htm#ref_414_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_382_21" HREF="terminal_interface-curses-menus__adb.htm#ref_415_21">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_383_21" HREF="terminal_interface-curses-menus__adb.htm#ref_416_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_win.3x.html">scale_menu()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_385_14">Scale</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_381_14">Scale</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_cursor.3x.html">menu_cursor.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_28"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_396_14" HREF="terminal_interface-curses-menus__adb.htm#ref_497_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_396_31" HREF="terminal_interface-curses-menus__adb.htm#ref_497_31">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_28">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_392_14" HREF="terminal_interface-curses-menus__adb.htm#ref_430_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_392_31" HREF="terminal_interface-curses-menus__adb.htm#ref_430_31">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_cursor.3x.html">pos_menu_cursor()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_396_14">Position_Cursor</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_392_14">Position_Cursor</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_29"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_405_14" HREF="terminal_interface-curses-menus__adb.htm#ref_510_14">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_405_24" HREF="terminal_interface-curses-menus__adb.htm#ref_510_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_406_24" HREF="terminal_interface-curses-menus__adb.htm#ref_511_24">Mark</A></span> : String);
+ <span class="comment"><EM>-- <A NAME="AFU_29">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_401_14" HREF="terminal_interface-curses-menus__adb.htm#ref_440_14">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_401_24" HREF="terminal_interface-curses-menus__adb.htm#ref_440_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_402_24" HREF="terminal_interface-curses-menus__adb.htm#ref_441_24">Mark</A></span> : String);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_mark.3x.html">set_menu_mark()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_405_14">Set_Mark</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_401_14">Set_Mark</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_30"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_411_14" HREF="terminal_interface-curses-menus__adb.htm#ref_529_14">Mark</A></span> (<span class="symbol"><A NAME="ref_411_20" HREF="terminal_interface-curses-menus__adb.htm#ref_529_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_412_20" HREF="terminal_interface-curses-menus__adb.htm#ref_530_20">Mark</A></span> : <b>out</b> String);
+ <span class="comment"><EM>-- <A NAME="AFU_30">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_407_14" HREF="terminal_interface-curses-menus__adb.htm#ref_455_14">Mark</A></span> (<span class="symbol"><A NAME="ref_407_20" HREF="terminal_interface-curses-menus__adb.htm#ref_455_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_408_20" HREF="terminal_interface-curses-menus__adb.htm#ref_456_20">Mark</A></span> : <b>out</b> String);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_415_14" HREF="terminal_interface-curses-menus__adb.htm#ref_538_13">Mark</A></span> (<span class="symbol"><A NAME="ref_415_20" HREF="terminal_interface-curses-menus__adb.htm#ref_538_19">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> String;
+ <b>function</b> <span class="symbol"><A NAME="ref_411_14" HREF="terminal_interface-curses-menus__adb.htm#ref_464_13">Mark</A></span> (<span class="symbol"><A NAME="ref_411_20" HREF="terminal_interface-curses-menus__adb.htm#ref_464_19">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> String;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></EM></span>
<span class="comment"><EM>-- Implemented as function</EM></span>
<b>pragma</b> Inline (Mark);
@@ -438,124 +434,124 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_31"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_425_14" HREF="terminal_interface-curses-menus__adb.htm#ref_547_14">Set_Foreground</A></span>
- (<span class="symbol"><A NAME="ref_426_7" HREF="terminal_interface-curses-menus__adb.htm#ref_548_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_427_7" HREF="terminal_interface-curses-menus__adb.htm#ref_549_7">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_428_7" HREF="terminal_interface-curses-menus__adb.htm#ref_550_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First);
+ <span class="comment"><EM>-- <A NAME="AFU_31">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_421_14" HREF="terminal_interface-curses-menus__adb.htm#ref_473_14">Set_Foreground</A></span>
+ (<span class="symbol"><A NAME="ref_422_7" HREF="terminal_interface-curses-menus__adb.htm#ref_474_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_423_7" HREF="terminal_interface-curses-menus__adb.htm#ref_475_7">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_424_7" HREF="terminal_interface-curses-menus__adb.htm#ref_476_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_fore()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_425_14">Set_Foreground</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_421_14">Set_Foreground</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_32"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_433_14" HREF="terminal_interface-curses-menus__adb.htm#ref_566_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_433_26" HREF="terminal_interface-curses-menus__adb.htm#ref_566_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_434_26" HREF="terminal_interface-curses-menus__adb.htm#ref_567_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_32">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_429_14" HREF="terminal_interface-curses-menus__adb.htm#ref_489_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_429_26" HREF="terminal_interface-curses-menus__adb.htm#ref_489_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_430_26" HREF="terminal_interface-curses-menus__adb.htm#ref_490_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_33"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_438_14" HREF="terminal_interface-curses-menus__adb.htm#ref_575_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_438_26" HREF="terminal_interface-curses-menus__adb.htm#ref_575_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_439_26" HREF="terminal_interface-curses-menus__adb.htm#ref_576_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_440_26" HREF="terminal_interface-curses-menus__adb.htm#ref_577_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_33">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_434_14" HREF="terminal_interface-curses-menus__adb.htm#ref_498_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_434_26" HREF="terminal_interface-curses-menus__adb.htm#ref_498_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_435_26" HREF="terminal_interface-curses-menus__adb.htm#ref_499_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_436_26" HREF="terminal_interface-curses-menus__adb.htm#ref_500_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></EM></span>
<b>pragma</b> Inline (Foreground);
- <span class="comment"><EM>-- #1A NAME="AFU_34"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_445_14" HREF="terminal_interface-curses-menus__adb.htm#ref_586_14">Set_Background</A></span>
- (<span class="symbol"><A NAME="ref_446_7" HREF="terminal_interface-curses-menus__adb.htm#ref_587_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_447_7" HREF="terminal_interface-curses-menus__adb.htm#ref_588_7">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_448_7" HREF="terminal_interface-curses-menus__adb.htm#ref_589_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First);
+ <span class="comment"><EM>-- <A NAME="AFU_34">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_441_14" HREF="terminal_interface-curses-menus__adb.htm#ref_509_14">Set_Background</A></span>
+ (<span class="symbol"><A NAME="ref_442_7" HREF="terminal_interface-curses-menus__adb.htm#ref_510_7">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_443_7" HREF="terminal_interface-curses-menus__adb.htm#ref_511_7">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_444_7" HREF="terminal_interface-curses-menus__adb.htm#ref_512_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_back()</A></EM></span>
<b>pragma</b> Inline (Set_Background);
- <span class="comment"><EM>-- #1A NAME="AFU_35"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_453_14" HREF="terminal_interface-curses-menus__adb.htm#ref_605_14">Background</A></span> (<span class="symbol"><A NAME="ref_453_26" HREF="terminal_interface-curses-menus__adb.htm#ref_605_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_454_26" HREF="terminal_interface-curses-menus__adb.htm#ref_606_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_35">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_449_14" HREF="terminal_interface-curses-menus__adb.htm#ref_525_14">Background</A></span> (<span class="symbol"><A NAME="ref_449_26" HREF="terminal_interface-curses-menus__adb.htm#ref_525_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_450_26" HREF="terminal_interface-curses-menus__adb.htm#ref_526_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_36"#2|</EM></span>
+ <span class="comment"><EM>-- <A NAME="AFU_36">|</A></EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_458_14" HREF="terminal_interface-curses-menus__adb.htm#ref_614_14">Background</A></span> (<span class="symbol"><A NAME="ref_458_26" HREF="terminal_interface-curses-menus__adb.htm#ref_614_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_459_26" HREF="terminal_interface-curses-menus__adb.htm#ref_615_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_460_26" HREF="terminal_interface-curses-menus__adb.htm#ref_616_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_454_14" HREF="terminal_interface-curses-menus__adb.htm#ref_534_14">Background</A></span> (<span class="symbol"><A NAME="ref_454_26" HREF="terminal_interface-curses-menus__adb.htm#ref_534_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_455_26" HREF="terminal_interface-curses-menus__adb.htm#ref_535_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_456_26" HREF="terminal_interface-curses-menus__adb.htm#ref_536_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></EM></span>
<b>pragma</b> Inline (Background);
- <span class="comment"><EM>-- #1A NAME="AFU_37"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_465_14" HREF="terminal_interface-curses-menus__adb.htm#ref_625_14">Set_Grey</A></span>
- (<span class="symbol"><A NAME="ref_466_7" HREF="terminal_interface-curses-menus__adb.htm#ref_625_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_467_7" HREF="terminal_interface-curses-menus__adb.htm#ref_626_24">Grey</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_468_7" HREF="terminal_interface-curses-menus__adb.htm#ref_627_24">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First);
+ <span class="comment"><EM>-- <A NAME="AFU_37">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_461_14" HREF="terminal_interface-curses-menus__adb.htm#ref_545_14">Set_Grey</A></span>
+ (<span class="symbol"><A NAME="ref_462_7" HREF="terminal_interface-curses-menus__adb.htm#ref_545_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_463_7" HREF="terminal_interface-curses-menus__adb.htm#ref_546_24">Grey</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_464_7" HREF="terminal_interface-curses-menus__adb.htm#ref_547_24">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_grey()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_465_14">Set_Grey</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_461_14">Set_Grey</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_38"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_473_14" HREF="terminal_interface-curses-menus__adb.htm#ref_644_14">Grey</A></span> (<span class="symbol"><A NAME="ref_473_20" HREF="terminal_interface-curses-menus__adb.htm#ref_644_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_474_20" HREF="terminal_interface-curses-menus__adb.htm#ref_645_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_38">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_469_14" HREF="terminal_interface-curses-menus__adb.htm#ref_561_14">Grey</A></span> (<span class="symbol"><A NAME="ref_469_20" HREF="terminal_interface-curses-menus__adb.htm#ref_561_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_470_20" HREF="terminal_interface-curses-menus__adb.htm#ref_562_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_39"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_478_14" HREF="terminal_interface-curses-menus__adb.htm#ref_653_14">Grey</A></span>
- (<span class="symbol"><A NAME="ref_479_7" HREF="terminal_interface-curses-menus__adb.htm#ref_653_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_480_7" HREF="terminal_interface-curses-menus__adb.htm#ref_654_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_481_7" HREF="terminal_interface-curses-menus__adb.htm#ref_655_20">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_39">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_474_14" HREF="terminal_interface-curses-menus__adb.htm#ref_570_14">Grey</A></span>
+ (<span class="symbol"><A NAME="ref_475_7" HREF="terminal_interface-curses-menus__adb.htm#ref_570_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses-menus__adb.htm#ref_571_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_477_7" HREF="terminal_interface-curses-menus__adb.htm#ref_572_20">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></EM></span>
<b>pragma</b> Inline (Grey);
- <span class="comment"><EM>-- #1A NAME="AFU_40"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_486_14" HREF="terminal_interface-curses-menus__adb.htm#ref_664_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_486_33" HREF="terminal_interface-curses-menus__adb.htm#ref_664_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_487_33" HREF="terminal_interface-curses-menus__adb.htm#ref_665_33">Pad</A></span> : Character := Space);
+ <span class="comment"><EM>-- <A NAME="AFU_40">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_482_14" HREF="terminal_interface-curses-menus__adb.htm#ref_581_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_482_33" HREF="terminal_interface-curses-menus__adb.htm#ref_581_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_483_33" HREF="terminal_interface-curses-menus__adb.htm#ref_582_33">Pad</A></span> : Character := Space);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_pad()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_486_14">Set_Pad_Character</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_482_14">Set_Pad_Character</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_41"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_492_14" HREF="terminal_interface-curses-menus__adb.htm#ref_679_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_492_29" HREF="terminal_interface-curses-menus__adb.htm#ref_679_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_493_29" HREF="terminal_interface-curses-menus__adb.htm#ref_680_29">Pad</A></span> : <b>out</b> Character);
+ <span class="comment"><EM>-- <A NAME="AFU_41">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_488_14" HREF="terminal_interface-curses-menus__adb.htm#ref_592_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_488_29" HREF="terminal_interface-curses-menus__adb.htm#ref_592_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_489_29" HREF="terminal_interface-curses-menus__adb.htm#ref_593_29">Pad</A></span> : <b>out</b> Character);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_attributes.3x.html">menu_pad()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_492_14">Pad_Character</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_488_14">Pad_Character</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_spacing.3x.html">menu_spacing.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_42"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_502_14" HREF="terminal_interface-curses-menus__adb.htm#ref_688_14">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_502_27" HREF="terminal_interface-curses-menus__adb.htm#ref_688_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_503_27" HREF="terminal_interface-curses-menus__adb.htm#ref_689_27">Descr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := 0;
- <span class="symbol"><A NAME="ref_504_27" HREF="terminal_interface-curses-menus__adb.htm#ref_690_27">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> := 0;
- <span class="symbol"><A NAME="ref_505_27" HREF="terminal_interface-curses-menus__adb.htm#ref_691_27">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := 0);
+ <span class="comment"><EM>-- <A NAME="AFU_42">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_498_14" HREF="terminal_interface-curses-menus__adb.htm#ref_601_14">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_498_27" HREF="terminal_interface-curses-menus__adb.htm#ref_601_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_499_27" HREF="terminal_interface-curses-menus__adb.htm#ref_602_27">Descr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := 0;
+ <span class="symbol"><A NAME="ref_500_27" HREF="terminal_interface-curses-menus__adb.htm#ref_603_27">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> := 0;
+ <span class="symbol"><A NAME="ref_501_27" HREF="terminal_interface-curses-menus__adb.htm#ref_604_27">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := 0);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_spacing.3x.html">set_menu_spacing()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_502_14">Set_Spacing</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_498_14">Set_Spacing</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_43"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_510_14" HREF="terminal_interface-curses-menus__adb.htm#ref_707_14">Spacing</A></span> (<span class="symbol"><A NAME="ref_510_23" HREF="terminal_interface-curses-menus__adb.htm#ref_707_23">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_511_23" HREF="terminal_interface-curses-menus__adb.htm#ref_708_23">Descr</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_512_23" HREF="terminal_interface-curses-menus__adb.htm#ref_709_23">Row</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_513_23" HREF="terminal_interface-curses-menus__adb.htm#ref_710_23">Col</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_43">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_506_14" HREF="terminal_interface-curses-menus__adb.htm#ref_617_14">Spacing</A></span> (<span class="symbol"><A NAME="ref_506_23" HREF="terminal_interface-curses-menus__adb.htm#ref_617_23">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_507_23" HREF="terminal_interface-curses-menus__adb.htm#ref_618_23">Descr</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_508_23" HREF="terminal_interface-curses-menus__adb.htm#ref_619_23">Row</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_509_23" HREF="terminal_interface-curses-menus__adb.htm#ref_620_23">Col</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_spacing.3x.html">menu_spacing()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_510_14">Spacing</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_506_14">Spacing</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_44"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_522_13" HREF="terminal_interface-curses-menus__adb.htm#ref_732_13">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_522_26" HREF="terminal_interface-curses-menus__adb.htm#ref_732_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_523_26" HREF="terminal_interface-curses-menus__adb.htm#ref_733_26">Text</A></span> : String) <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_44">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_518_13" HREF="terminal_interface-curses-menus__adb.htm#ref_638_13">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_518_26" HREF="terminal_interface-curses-menus__adb.htm#ref_638_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_519_26" HREF="terminal_interface-curses-menus__adb.htm#ref_639_26">Text</A></span> : String) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_pattern.3x.html">set_menu_pattern()</A></EM></span>
<span class="comment"><EM>-- Return TRUE if the pattern matches, FALSE otherwise</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_522_13">Set_Pattern</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_518_13">Set_Pattern</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_45"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_529_14" HREF="terminal_interface-curses-menus__adb.htm#ref_755_14">Pattern</A></span> (<span class="symbol"><A NAME="ref_529_23" HREF="terminal_interface-curses-menus__adb.htm#ref_755_23">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_530_23" HREF="terminal_interface-curses-menus__adb.htm#ref_756_23">Text</A></span> : <b>out</b> String);
+ <span class="comment"><EM>-- <A NAME="AFU_45">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_525_14" HREF="terminal_interface-curses-menus__adb.htm#ref_661_14">Pattern</A></span> (<span class="symbol"><A NAME="ref_525_23" HREF="terminal_interface-curses-menus__adb.htm#ref_661_23">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_526_23" HREF="terminal_interface-curses-menus__adb.htm#ref_662_23">Text</A></span> : <b>out</b> String);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_pattern.3x.html">menu_pattern()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_529_14">Pattern</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_525_14">Pattern</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_format.3x.html">menu_format.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_46"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_539_14" HREF="terminal_interface-curses-menus__adb.htm#ref_764_14">Set_Format</A></span> (<span class="symbol"><A NAME="ref_539_26" HREF="terminal_interface-curses-menus__adb.htm#ref_764_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_540_26" HREF="terminal_interface-curses-menus__adb.htm#ref_765_26">Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_541_26" HREF="terminal_interface-curses-menus__adb.htm#ref_766_26">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_46">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_535_14" HREF="terminal_interface-curses-menus__adb.htm#ref_670_14">Set_Format</A></span> (<span class="symbol"><A NAME="ref_535_26" HREF="terminal_interface-curses-menus__adb.htm#ref_670_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_536_26" HREF="terminal_interface-curses-menus__adb.htm#ref_671_26">Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_537_26" HREF="terminal_interface-curses-menus__adb.htm#ref_672_26">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>);
<span class="comment"><EM>-- Not implemented: 0 argument for Lines or Columns;</EM></span>
<span class="comment"><EM>-- instead use Format to get the current sizes</EM></span>
<span class="comment"><EM>-- The default format is 16 rows, 1 column. Calling</EM></span>
@@ -564,104 +560,104 @@
<span class="comment"><EM>-- is interpreted as a request not to change the current</EM></span>
<span class="comment"><EM>-- value.</EM></span>
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_format.3x.html">set_menu_format()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_539_14">Set_Format</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_535_14">Set_Format</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_47"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_553_14" HREF="terminal_interface-curses-menus__adb.htm#ref_782_14">Format</A></span> (<span class="symbol"><A NAME="ref_553_22" HREF="terminal_interface-curses-menus__adb.htm#ref_782_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_554_22" HREF="terminal_interface-curses-menus__adb.htm#ref_783_22">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_555_22" HREF="terminal_interface-curses-menus__adb.htm#ref_784_22">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_47">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_549_14" HREF="terminal_interface-curses-menus__adb.htm#ref_686_14">Format</A></span> (<span class="symbol"><A NAME="ref_549_22" HREF="terminal_interface-curses-menus__adb.htm#ref_686_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_550_22" HREF="terminal_interface-curses-menus__adb.htm#ref_687_22">Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_551_22" HREF="terminal_interface-curses-menus__adb.htm#ref_688_22">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_format.3x.html">menu_format()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_553_14">Format</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_549_14">Format</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_563_9">Menu_Hook_Function</A></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><A NAME="ref_563_49">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>);
- <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>);
+ <b>type</b> <span class="symbol"><A NAME="ref_559_9">Menu_Hook_Function</A></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><A NAME="ref_559_49" HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>);
+ <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_48"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_567_14" HREF="terminal_interface-curses-menus__adb.htm#ref_802_14">Set_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_567_34" HREF="terminal_interface-curses-menus__adb.htm#ref_802_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_568_34" HREF="terminal_interface-curses-menus__adb.htm#ref_803_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_48">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_563_14" HREF="terminal_interface-curses-menus__adb.htm#ref_702_14">Set_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_563_34" HREF="terminal_interface-curses-menus__adb.htm#ref_702_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_564_34" HREF="terminal_interface-curses-menus__adb.htm#ref_703_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">set_item_init()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_567_14">Set_Item_Init_Hook</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_563_14">Set_Item_Init_Hook</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_49"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_573_14" HREF="terminal_interface-curses-menus__adb.htm#ref_816_14">Set_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_573_34" HREF="terminal_interface-curses-menus__adb.htm#ref_816_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_574_34" HREF="terminal_interface-curses-menus__adb.htm#ref_817_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_49">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_569_14" HREF="terminal_interface-curses-menus__adb.htm#ref_713_14">Set_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_569_34" HREF="terminal_interface-curses-menus__adb.htm#ref_713_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_570_34" HREF="terminal_interface-curses-menus__adb.htm#ref_714_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">set_item_term()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_573_14">Set_Item_Term_Hook</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_569_14">Set_Item_Term_Hook</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_50"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_579_14" HREF="terminal_interface-curses-menus__adb.htm#ref_830_14">Set_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_579_34" HREF="terminal_interface-curses-menus__adb.htm#ref_830_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_580_34" HREF="terminal_interface-curses-menus__adb.htm#ref_831_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_50">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_575_14" HREF="terminal_interface-curses-menus__adb.htm#ref_724_14">Set_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_575_34" HREF="terminal_interface-curses-menus__adb.htm#ref_724_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_576_34" HREF="terminal_interface-curses-menus__adb.htm#ref_725_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">set_menu_init()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_579_14">Set_Menu_Init_Hook</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_575_14">Set_Menu_Init_Hook</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_51"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_585_14" HREF="terminal_interface-curses-menus__adb.htm#ref_844_14">Set_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_585_34" HREF="terminal_interface-curses-menus__adb.htm#ref_844_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_586_34" HREF="terminal_interface-curses-menus__adb.htm#ref_845_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_51">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_581_14" HREF="terminal_interface-curses-menus__adb.htm#ref_735_14">Set_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_581_34" HREF="terminal_interface-curses-menus__adb.htm#ref_735_34">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_582_34" HREF="terminal_interface-curses-menus__adb.htm#ref_736_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">set_menu_term()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_585_14">Set_Menu_Term_Hook</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_581_14">Set_Menu_Term_Hook</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_52"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_591_13" HREF="terminal_interface-curses-menus__adb.htm#ref_858_13">Get_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_591_33" HREF="terminal_interface-curses-menus__adb.htm#ref_858_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_52">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_587_13" HREF="terminal_interface-curses-menus__adb.htm#ref_746_13">Get_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_587_33" HREF="terminal_interface-curses-menus__adb.htm#ref_746_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">item_init()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_591_13">Get_Item_Init_Hook</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_587_13">Get_Item_Init_Hook</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_53"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_596_13" HREF="terminal_interface-curses-menus__adb.htm#ref_866_13">Get_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_596_33" HREF="terminal_interface-curses-menus__adb.htm#ref_866_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_53">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_592_13" HREF="terminal_interface-curses-menus__adb.htm#ref_754_13">Get_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_592_33" HREF="terminal_interface-curses-menus__adb.htm#ref_754_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">item_term()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_596_13">Get_Item_Term_Hook</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_592_13">Get_Item_Term_Hook</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_54"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_601_13" HREF="terminal_interface-curses-menus__adb.htm#ref_874_13">Get_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_601_33" HREF="terminal_interface-curses-menus__adb.htm#ref_874_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_54">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_597_13" HREF="terminal_interface-curses-menus__adb.htm#ref_762_13">Get_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_597_33" HREF="terminal_interface-curses-menus__adb.htm#ref_762_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">menu_init()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_601_13">Get_Menu_Init_Hook</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_597_13">Get_Menu_Init_Hook</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_55"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_606_13" HREF="terminal_interface-curses-menus__adb.htm#ref_882_13">Get_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_606_33" HREF="terminal_interface-curses-menus__adb.htm#ref_882_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_55">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_602_13" HREF="terminal_interface-curses-menus__adb.htm#ref_770_13">Get_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_602_33" HREF="terminal_interface-curses-menus__adb.htm#ref_770_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_559_9">Menu_Hook_Function</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_hook.3x.html">menu_term()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_606_13">Get_Menu_Term_Hook</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_602_13">Get_Menu_Term_Hook</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_items.3x.html">menu_items.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_56"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_615_14" HREF="terminal_interface-curses-menus__adb.htm#ref_890_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_615_24" HREF="terminal_interface-curses-menus__adb.htm#ref_890_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_616_24" HREF="terminal_interface-curses-menus__adb.htm#ref_891_24">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_56">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_611_14" HREF="terminal_interface-curses-menus__adb.htm#ref_778_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_611_24" HREF="terminal_interface-curses-menus__adb.htm#ref_778_24">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_612_24" HREF="terminal_interface-curses-menus__adb.htm#ref_779_24">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_items.3x.html">set_menu_items()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_615_14">Redefine</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_611_14">Redefine</A>);
- <b>procedure</b> <span class="symbol"><A NAME="ref_620_14">Set_Items</A></span> (<span class="symbol"><A NAME="ref_620_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_621_25">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>) <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_615_14">Redefine</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_616_14">Set_Items</A></span> (<span class="symbol"><A NAME="ref_616_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_617_25">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>) <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_611_14">Redefine</A>;
<span class="comment"><EM>-- pragma Inline (Set_Items);</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_57"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_625_13" HREF="terminal_interface-curses-menus__adb.htm#ref_918_13">Items</A></span> (<span class="symbol"><A NAME="ref_625_20" HREF="terminal_interface-curses-menus__adb.htm#ref_918_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_626_20" HREF="terminal_interface-curses-menus__adb.htm#ref_919_20">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_57">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_621_13" HREF="terminal_interface-curses-menus__adb.htm#ref_802_13">Items</A></span> (<span class="symbol"><A NAME="ref_621_20" HREF="terminal_interface-curses-menus__adb.htm#ref_802_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_622_20" HREF="terminal_interface-curses-menus__adb.htm#ref_803_20">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_items.3x.html">menu_items()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_625_13">Items</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_621_13">Items</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_58"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_631_13" HREF="terminal_interface-curses-menus__adb.htm#ref_910_13">Item_Count</A></span> (<span class="symbol"><A NAME="ref_631_25" HREF="terminal_interface-curses-menus__adb.htm#ref_910_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> Natural;
+ <span class="comment"><EM>-- <A NAME="AFU_58">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_627_13" HREF="terminal_interface-curses-menus__adb.htm#ref_794_13">Item_Count</A></span> (<span class="symbol"><A NAME="ref_627_25" HREF="terminal_interface-curses-menus__adb.htm#ref_794_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>) <b>return</b> Natural;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_items.3x.html">item_count()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_631_13">Item_Count</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_627_13">Item_Count</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_new.3x.html">menu_new.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_59"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_640_13" HREF="terminal_interface-curses-menus__adb.htm#ref_937_13">Create</A></span> (<span class="symbol"><A NAME="ref_640_21" HREF="terminal_interface-curses-menus__adb.htm#ref_937_21">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_59">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_636_13" HREF="terminal_interface-curses-menus__adb.htm#ref_821_13">Create</A></span> (<span class="symbol"><A NAME="ref_636_21" HREF="terminal_interface-curses-menus__adb.htm#ref_821_21">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_new.3x.html">new_menu()</A></EM></span>
<span class="comment"><EM>-- Not inlined</EM></span>
- <b>function</b> New_Menu (<span class="symbol"><A NAME="ref_644_23">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_640_13">Create</A>;
+ <b>function</b> New_Menu (<span class="symbol"><A NAME="ref_640_23">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_176_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A> <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_636_13">Create</A>;
- <span class="comment"><EM>-- #1A NAME="AFU_60"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_647_14" HREF="terminal_interface-curses-menus__adb.htm#ref_956_14">Delete</A></span> (<span class="symbol"><A NAME="ref_647_22" HREF="terminal_interface-curses-menus__adb.htm#ref_956_22">Men</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_60">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_643_14" HREF="terminal_interface-curses-menus__adb.htm#ref_840_14">Delete</A></span> (<span class="symbol"><A NAME="ref_643_22" HREF="terminal_interface-curses-menus__adb.htm#ref_840_22">Men</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_new.3x.html">free_menu()</A></EM></span>
<span class="comment"><EM>-- Reset Men to Null_Menu</EM></span>
<span class="comment"><EM>-- Not inlined</EM></span>
@@ -670,26 +666,26 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_656_9">Driver_Result</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_656_27">Menu_Ok</A></span>,
- <span class="symbol"><A NAME="ref_657_27">Request_Denied</A></span>,
- <span class="symbol"><A NAME="ref_658_27">Unknown_Request</A></span>,
- <span class="symbol"><A NAME="ref_659_27">No_Match</A></span>);
+ <b>type</b> <span class="symbol"><A NAME="ref_652_9">Driver_Result</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_652_27">Menu_Ok</A></span>,
+ <span class="symbol"><A NAME="ref_653_27">Request_Denied</A></span>,
+ <span class="symbol"><A NAME="ref_654_27">Unknown_Request</A></span>,
+ <span class="symbol"><A NAME="ref_655_27">No_Match</A></span>);
- <span class="comment"><EM>-- #1A NAME="AFU_61"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_662_13" HREF="terminal_interface-curses-menus__adb.htm#ref_970_13">Driver</A></span> (<span class="symbol"><A NAME="ref_662_21" HREF="terminal_interface-curses-menus__adb.htm#ref_970_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
- <span class="symbol"><A NAME="ref_663_21" HREF="terminal_interface-curses-menus__adb.htm#ref_971_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_68_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_656_9">Driver_Result</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_61">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_658_13" HREF="terminal_interface-curses-menus__adb.htm#ref_851_13">Driver</A></span> (<span class="symbol"><A NAME="ref_658_21" HREF="terminal_interface-curses-menus__adb.htm#ref_851_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A>;
+ <span class="symbol"><A NAME="ref_659_21" HREF="terminal_interface-curses-menus__adb.htm#ref_852_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_652_9">Driver_Result</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/menu_driver.3x.html">menu_driver()</A></EM></span>
<span class="comment"><EM>-- Driver is not inlined</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_62"#2|</EM></span>
+ <span class="comment"><EM>-- <A NAME="AFU_62">|</A></EM></span>
<span class="comment"><EM>-- Not Implemented: menu_request_name, menu_request_by_name</EM></span>
<span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
<b>private</b>
- <b>type</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
- <b>type</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+ <b>type</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+ <b>type</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A> := 0;
- <A HREF="terminal_interface-curses-menus__ads.htm#ref_63_4">Null_Menu</A> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A> := 0;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_4">Null_Item</A> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_51_9">Item</A> := 0;
+ <A HREF="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Menu</A> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_52_9">Menu</A> := 0;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_45_35">Menus</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-mouse__adb.htm b/doc/html/ada/terminal_interface-curses-mouse__adb.htm
index 8119f8ca2b1f..7221e322aaac 100644
--- a/doc/html/ada/terminal_interface-curses-mouse__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-mouse__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2014,2018 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,184 +52,183 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.24 @</EM></span>
-<span class="comment"><EM>-- @Date: 2009/12/26 17:38:58 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.26 @</EM></span>
+<span class="comment"><EM>-- @Date: 2018/07/07 23:35:05 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
+<b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_46_40" HREF="terminal_interface-curses-mouse__ads.htm#ref_48_35">Mouse</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_46_40" HREF="terminal_interface-curses-mouse__ads.htm#ref_44_35">Mouse</A></span> <b>is</b>
- <b>use</b> <b>type</b> System.Bit_Order;
-
- <b>function</b> <span class="symbol"><A NAME="ref_50_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_94_13">Has_Mouse</A></span> <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_48_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_90_13">Has_Mouse</A></span> <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_52_16">Mouse_Avail</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_50_16">Mouse_Avail</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Mouse_Avail, "has_mouse");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_768_13">Has_Key</A> (<A HREF="terminal_interface-curses__ads.htm#ref_204_4">Key_Mouse</A>) <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_52_16">Mouse_Avail</A> /= 0 <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A> (<A HREF="terminal_interface-curses__ads.htm#ref_375_4">Key_Mouse</A>) <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_50_16">Mouse_Avail</A> /= 0 <b>then</b>
<b>return</b> True;
<b>else</b>
<b>return</b> False;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_94_13">Has_Mouse</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_90_13">Has_Mouse</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_129_13">Get_Mouse</A></span> <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_60_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_125_13">Get_Mouse</A></span> <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_64_12">Event_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A>;
+ <b>type</b> <span class="symbol"><A NAME="ref_62_12">Event_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_66_16">Getmouse</A></span> (<span class="symbol"><A NAME="ref_66_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_66_16">Ev</A></span> : <A HREF="terminal_interface-curses-mouse__adb.htm#ref_64_12">Event_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_64_16">Getmouse</A></span> (<span class="symbol"><A NAME="ref_64_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_64_16">Ev</A></span> : <A HREF="terminal_interface-curses-mouse__adb.htm#ref_62_12">Event_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Getmouse, "getmouse");
- <span class="symbol"><A NAME="ref_69_7">Event</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A>;
+ <span class="symbol"><A NAME="ref_67_7">Event</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_66_16">Getmouse</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_69_7">Event</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_64_16">Getmouse</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_67_7">Event</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_69_7">Event</A>;
- <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_129_13">Get_Mouse</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_67_7">Event</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_125_13">Get_Mouse</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_77_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_97_14">Register_Reportable_Event</A></span> (<span class="symbol"><A NAME="ref_77_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_98_7">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Mouse_Button</A>;
- <span class="symbol"><A NAME="ref_78_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_99_7">State</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_75_9">Button_State</A>;
- <span class="symbol"><A NAME="ref_79_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_100_7">Mask</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_75_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_93_14">Register_Reportable_Event</A></span> (<span class="symbol"><A NAME="ref_75_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_94_7">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
+ <span class="symbol"><A NAME="ref_76_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_95_7">State</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>;
+ <span class="symbol"><A NAME="ref_77_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">Mask</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>)
<b>is</b>
- <span class="symbol"><A NAME="ref_81_7">Button_Nr</A></span> : <b>constant</b> Natural := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_98_7">Button</A>);
- <span class="symbol"><A NAME="ref_82_7">State_Nr</A></span> : <b>constant</b> Natural := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_75_9">Button_State</A>'Pos (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_99_7">State</A>);
+ <span class="symbol"><A NAME="ref_79_7">Button_Nr</A></span> : <b>constant</b> Natural := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_94_7">Button</A>);
+ <span class="symbol"><A NAME="ref_80_7">State_Nr</A></span> : <b>constant</b> Natural := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>'Pos (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_95_7">State</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_98_7">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_73_12">Modifier_Keys</A> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_99_7">State</A> /= <A HREF="terminal_interface-curses-mouse__ads.htm#ref_76_26">Pressed</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_94_7">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_69_12">Modifier_Keys</A> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_95_7">State</A> /= <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_26">Pressed</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>else</b>
- <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_98_7">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_12">Real_Buttons</A> <b>then</b>
- <A HREF="terminal_interface-curses-mouse__ads.htm#ref_100_7">Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_100_7">Mask</A> <b>or</b> ((2 ** (6 * <A HREF="terminal_interface-curses-mouse__adb.htm#ref_81_7">Button_Nr</A>)) ** <A HREF="terminal_interface-curses-mouse__adb.htm#ref_82_7">State_Nr</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_94_7">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_12">Real_Buttons</A> <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">Mask</A> <b>or</b> ((2 ** (6 * <A HREF="terminal_interface-curses-mouse__adb.htm#ref_79_7">Button_Nr</A>)) ** <A HREF="terminal_interface-curses-mouse__adb.htm#ref_80_7">State_Nr</A>);
<b>else</b>
- <A HREF="terminal_interface-curses-mouse__ads.htm#ref_100_7">Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_100_7">Mask</A> <b>or</b> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_212_4">BUTTON_CTRL</A> ** (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_81_7">Button_Nr</A> - 4));
+ <A HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_96_7">Mask</A> <b>or</b> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_189_4">BUTTON_CTRL</A> ** (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_79_7">Button_Nr</A> - 4));
<b>end</b> <b>if</b>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_97_14">Register_Reportable_Event</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_93_14">Register_Reportable_Event</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_95_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_106_14">Register_Reportable_Events</A></span> (<span class="symbol"><A NAME="ref_95_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_107_7">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Mouse_Button</A>;
- <span class="symbol"><A NAME="ref_96_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_108_7">State</A></span> : Button_States;
- <span class="symbol"><A NAME="ref_97_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_109_7">Mask</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_93_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_102_14">Register_Reportable_Events</A></span> (<span class="symbol"><A NAME="ref_93_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_103_7">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
+ <span class="symbol"><A NAME="ref_94_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_104_7">State</A></span> : Button_States;
+ <span class="symbol"><A NAME="ref_95_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_105_7">Mask</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>)
<b>is</b>
<b>begin</b>
- <b>for</b> <span class="symbol"><A NAME="ref_100_11">S</A></span> <b>in</b> Button_States'<b>Range</b> <b>loop</b>
- <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_108_7">State</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_100_11">S</A>) <b>then</b>
- <A HREF="terminal_interface-curses-mouse__ads.htm#ref_97_14">Register_Reportable_Event</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_107_7">Button</A>, <A HREF="terminal_interface-curses-mouse__adb.htm#ref_100_11">S</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_109_7">Mask</A>);
+ <b>for</b> <span class="symbol"><A NAME="ref_98_11">S</A></span> <b>in</b> Button_States'<b>Range</b> <b>loop</b>
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_104_7">State</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_98_11">S</A>) <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__ads.htm#ref_93_14">Register_Reportable_Event</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_103_7">Button</A>, <A HREF="terminal_interface-curses-mouse__adb.htm#ref_98_11">S</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_105_7">Mask</A>);
<b>end</b> <b>if</b>;
<b>end</b> <b>loop</b>;
- <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_106_14">Register_Reportable_Events</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_102_14">Register_Reportable_Events</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_107_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_119_13">Start_Mouse</A></span> (<span class="symbol"><A NAME="ref_107_26" HREF="terminal_interface-curses-mouse__ads.htm#ref_119_26">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_62_4">All_Events</A>)
- <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_105_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_115_13">Start_Mouse</A></span> (<span class="symbol"><A NAME="ref_105_26" HREF="terminal_interface-curses-mouse__ads.htm#ref_115_26">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_58_4">All_Events</A>)
+ <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_110_16">MMask</A></span> (<span class="symbol"><A NAME="ref_110_23" HREF="terminal_interface-curses-mouse__adb.htm#ref_110_16">M</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>;
- <span class="symbol"><A NAME="ref_111_23" HREF="terminal_interface-curses-mouse__adb.htm#ref_110_16">O</A></span> : <b>access</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>) <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_108_16">MMask</A></span> (<span class="symbol"><A NAME="ref_108_23" HREF="terminal_interface-curses-mouse__adb.htm#ref_108_16">M</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
+ <span class="symbol"><A NAME="ref_109_23" HREF="terminal_interface-curses-mouse__adb.htm#ref_108_16">O</A></span> : <b>access</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>) <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
<b>pragma</b> Import (C, MMask, "mousemask");
- <span class="symbol"><A NAME="ref_113_7">R</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>;
- <span class="symbol"><A NAME="ref_114_7">Old</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>;
+ <span class="symbol"><A NAME="ref_111_7">R</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
+ <span class="symbol"><A NAME="ref_112_7">Old</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_113_7">R</A> := <A HREF="terminal_interface-curses-mouse__adb.htm#ref_110_16">MMask</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_119_26">Mask</A>, <A HREF="terminal_interface-curses-mouse__adb.htm#ref_114_7">Old</A>'<b>Access</b>);
- <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_113_7">R</A> = <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_4">No_Events</A> <b>then</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_871_14">Beep</A>;
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_111_7">R</A> := <A HREF="terminal_interface-curses-mouse__adb.htm#ref_108_16">MMask</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_115_26">Mask</A>, <A HREF="terminal_interface-curses-mouse__adb.htm#ref_112_7">Old</A>'<b>Access</b>);
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_111_7">R</A> = <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_4">No_Events</A> <b>then</b>
+ <A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A>;
<b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_114_7">Old</A>;
- <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_119_13">Start_Mouse</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_112_7">Old</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_115_13">Start_Mouse</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_123_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_124_14">End_Mouse</A></span> (<span class="symbol"><A NAME="ref_123_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_124_25">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_4">No_Events</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_121_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_120_14">End_Mouse</A></span> (<span class="symbol"><A NAME="ref_121_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_120_25">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_4">No_Events</A>)
<b>is</b>
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_124_25">Mask</A> /= <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_4">No_Events</A> <b>then</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_871_14">Beep</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_120_25">Mask</A> /= <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_4">No_Events</A> <b>then</b>
+ <A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_124_14">End_Mouse</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_120_14">End_Mouse</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_131_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_135_14">Dispatch_Event</A></span> (<span class="symbol"><A NAME="ref_131_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_135_30">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>;
- <span class="symbol"><A NAME="ref_132_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_136_30">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Mouse_Button</A>;
- <span class="symbol"><A NAME="ref_133_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_137_30">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_75_9">Button_State</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_129_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_133_14">Dispatch_Event</A></span> (<span class="symbol"><A NAME="ref_129_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_133_30">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
+ <span class="symbol"><A NAME="ref_130_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_134_30">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
+ <span class="symbol"><A NAME="ref_131_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_135_30">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>);
- <b>procedure</b> <span class="symbol"><A NAME="ref_135_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_131_14">Dispatch_Event</A></span> (<span class="symbol"><A NAME="ref_135_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>;
- <span class="symbol"><A NAME="ref_136_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Mouse_Button</A>;
- <span class="symbol"><A NAME="ref_137_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_133_30">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_75_9">Button_State</A>) <b>is</b>
- <span class="symbol"><A NAME="ref_138_7">L</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_133_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_129_14">Dispatch_Event</A></span> (<span class="symbol"><A NAME="ref_133_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_129_30">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
+ <span class="symbol"><A NAME="ref_134_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
+ <span class="symbol"><A NAME="ref_135_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>) <b>is</b>
+ <span class="symbol"><A NAME="ref_136_7">L</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_70_26">Alt</A>; <span class="comment"><EM>-- preset to non real button;</EM></span>
- <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_217_4">BUTTON1_EVENTS</A>) /= 0 <b>then</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_26">Left</A>;
- <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_218_4">BUTTON2_EVENTS</A>) /= 0 <b>then</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_65_26">Middle</A>;
- <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_219_4">BUTTON3_EVENTS</A>) /= 0 <b>then</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_66_26">Right</A>;
- <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_220_4">BUTTON4_EVENTS</A>) /= 0 <b>then</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_67_26">Button4</A>;
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_66_26">Alt</A>; <span class="comment"><EM>-- preset to non real button;</EM></span>
+ <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_192_4">BUTTON1_EVENTS</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_26">Left</A>;
+ <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_194_4">BUTTON2_EVENTS</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_26">Middle</A>;
+ <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_196_4">BUTTON3_EVENTS</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_62_26">Right</A>;
+ <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_198_4">BUTTON4_EVENTS</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_63_26">Button4</A>;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_12">Real_Buttons</A> <b>then</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_138_7">L</A> := 2 ** (6 * <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A>));
- <b>for</b> <span class="symbol"><A NAME="ref_152_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_75_9">Button_State</A>'<b>Range</b> <b>loop</b>
- <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_138_7">L</A>) /= 0 <b>then</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_133_30">State</A> := <A HREF="terminal_interface-curses-mouse__adb.htm#ref_152_14">I</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_12">Real_Buttons</A> <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_136_7">L</A> := 2 ** (6 * <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Button</A>));
+ <b>for</b> <span class="symbol"><A NAME="ref_150_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>'<b>Range</b> <b>loop</b>
+ <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_136_7">L</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">State</A> := <A HREF="terminal_interface-curses-mouse__adb.htm#ref_150_14">I</A>;
<b>exit</b>;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_138_7">L</A> := 2 * <A HREF="terminal_interface-curses-mouse__adb.htm#ref_138_7">L</A>;
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_136_7">L</A> := 2 * <A HREF="terminal_interface-curses-mouse__adb.htm#ref_136_7">L</A>;
<b>end</b> <b>loop</b>;
<b>else</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_133_30">State</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_76_26">Pressed</A>;
- <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_212_4">BUTTON_CTRL</A>) /= 0 <b>then</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_26">Control</A>;
- <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_213_4">BUTTON_SHIFT</A>) /= 0 <b>then</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_69_26">Shift</A>;
- <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_214_4">BUTTON_ALT</A>) /= 0 <b>then</b>
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_70_26">Alt</A>;
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">State</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_26">Pressed</A>;
+ <b>if</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_189_4">BUTTON_CTRL</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_26">Control</A>;
+ <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_190_4">BUTTON_SHIFT</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_65_26">Shift</A>;
+ <b>elsif</b> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_129_30">Mask</A> <b>and</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_191_4">BUTTON_ALT</A>) /= 0 <b>then</b>
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_130_30">Button</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_66_26">Alt</A>;
<b>end</b> <b>if</b>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_14">Dispatch_Event</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_129_14">Dispatch_Event</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_171_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_133_14">Get_Event</A></span> (<span class="symbol"><A NAME="ref_171_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A>;
- <span class="symbol"><A NAME="ref_172_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_134_25">Y</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_173_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_135_25">X</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_174_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_136_25">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Mouse_Button</A>;
- <span class="symbol"><A NAME="ref_175_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_137_25">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_75_9">Button_State</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_169_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_129_14">Get_Event</A></span> (<span class="symbol"><A NAME="ref_169_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_129_25">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>;
+ <span class="symbol"><A NAME="ref_170_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Y</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_171_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_131_25">X</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_172_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_132_25">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
+ <span class="symbol"><A NAME="ref_173_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>)
<b>is</b>
- <span class="symbol"><A NAME="ref_177_7">Mask</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_170_10">Bstate</A>;
+ <span class="symbol"><A NAME="ref_175_7">Mask</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_129_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_169_10">Bstate</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-mouse__ads.htm#ref_135_25">X</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</A>);
- <A HREF="terminal_interface-curses-mouse__ads.htm#ref_134_25">Y</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</A>);
- <A HREF="terminal_interface-curses-mouse__adb.htm#ref_131_14">Dispatch_Event</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_177_7">Mask</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_136_25">Button</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_137_25">State</A>);
- <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_133_14">Get_Event</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#ref_131_25">X</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_129_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_10">X</A>);
+ <A HREF="terminal_interface-curses-mouse__ads.htm#ref_130_25">Y</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_129_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_13">Y</A>);
+ <A HREF="terminal_interface-curses-mouse__adb.htm#ref_129_14">Dispatch_Event</A> (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_175_7">Mask</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_132_25">Button</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_133_25">State</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_129_14">Get_Event</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_184_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_145_14">Unget_Mouse</A></span> (<span class="symbol"><A NAME="ref_184_27" HREF="terminal_interface-curses-mouse__ads.htm#ref_145_27">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_182_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_141_14">Unget_Mouse</A></span> (<span class="symbol"><A NAME="ref_182_27" HREF="terminal_interface-curses-mouse__ads.htm#ref_141_27">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_186_16">Ungetmouse</A></span> (<span class="symbol"><A NAME="ref_186_28" HREF="terminal_interface-curses-mouse__adb.htm#ref_186_16">Ev</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_184_16">Ungetmouse</A></span> (<span class="symbol"><A NAME="ref_184_28" HREF="terminal_interface-curses-mouse__adb.htm#ref_184_16">Ev</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Ungetmouse, "ungetmouse");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_186_16">Ungetmouse</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_145_27">Event</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_184_16">Ungetmouse</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_141_27">Event</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_145_14">Unget_Mouse</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_141_14">Unget_Mouse</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_194_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_150_13">Enclosed_In_Window</A></span> (<span class="symbol"><A NAME="ref_194_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_150_33">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_195_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_151_33">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_192_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_146_13">Enclosed_In_Window</A></span> (<span class="symbol"><A NAME="ref_192_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_146_33">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_193_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_147_33">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_197_16">Wenclose</A></span> (<span class="symbol"><A NAME="ref_197_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_197_40" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Y</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <span class="symbol"><A NAME="ref_197_51" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">X</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>)
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_195_16">Wenclose</A></span> (<span class="symbol"><A NAME="ref_195_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_195_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_195_40" HREF="terminal_interface-curses-mouse__adb.htm#ref_195_16">Y</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>; <span class="symbol"><A NAME="ref_195_51" HREF="terminal_interface-curses-mouse__adb.htm#ref_195_16">X</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>)
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, Wenclose, "wenclose");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Wenclose</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_150_33">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_151_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_151_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</A>))
- = <A HREF="terminal_interface-curses__ads.htm#ref_1926_4">Curses_Bool_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-mouse__adb.htm#ref_195_16">Wenclose</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_146_33">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_147_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_13">Y</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_147_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_10">X</A>))
+ = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>
+ <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_150_13">Enclosed_In_Window</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_146_13">Enclosed_In_Window</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_209_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_157_13">Mouse_Interval</A></span> (<span class="symbol"><A NAME="ref_209_29" HREF="terminal_interface-curses-mouse__ads.htm#ref_157_29">Msec</A></span> : Natural := 200) <b>return</b> Natural
+ <b>function</b> <span class="symbol"><A NAME="ref_208_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_153_13">Mouse_Interval</A></span> (<span class="symbol"><A NAME="ref_208_29" HREF="terminal_interface-curses-mouse__ads.htm#ref_153_29">Msec</A></span> : Natural := 200) <b>return</b> Natural
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_211_16">Mouseinterval</A></span> (<span class="symbol"><A NAME="ref_211_31" HREF="terminal_interface-curses-mouse__adb.htm#ref_211_16">Msec</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_210_16">Mouseinterval</A></span> (<span class="symbol"><A NAME="ref_210_31" HREF="terminal_interface-curses-mouse__adb.htm#ref_210_16">Msec</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Mouseinterval, "mouseinterval");
<b>begin</b>
- <b>return</b> Natural (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_211_16">Mouseinterval</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_157_29">Msec</A>)));
- <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_157_13">Mouse_Interval</A>;
+ <b>return</b> Natural (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_210_16">Mouseinterval</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_153_29">Msec</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_153_13">Mouse_Interval</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_48_35">Mouse</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_44_35">Mouse</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-mouse__ads.htm b/doc/html/ada/terminal_interface-curses-mouse__ads.htm
index 4b3a071e278d..4a8043b10567 100644
--- a/doc/html/ada/terminal_interface-curses-mouse__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-mouse__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,18 +52,14 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.29 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/19 12:35:58 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.32 @</EM></span>
+<span class="comment"><EM>-- @Date: 2015/05/30 23:19:19 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- mouse binding.</EM></span>
-<span class="comment"><EM>-- This module is generated. Please don't change it manually!</EM></span>
-<span class="comment"><EM>-- Run the generator instead.</EM></span>
-<span class="comment"><EM>-- |</EM></span>
<b>with</b> System;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_48_35" HREF="terminal_interface-curses-mouse__adb.htm#ref_46_40">Mouse</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_48_35">Mouse</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_44_35" HREF="terminal_interface-curses-mouse__adb.htm#ref_46_40">Mouse</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_44_35">Mouse</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></EM></span>
@@ -74,170 +70,153 @@
<span class="comment"><EM>-- Not implemented:</EM></span>
<span class="comment"><EM>-- REPORT_MOUSE_POSITION (i.e. as a parameter to Register_Reportable_Event</EM></span>
<span class="comment"><EM>-- or Start_Mouse)</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_60_9">Event_Mask</A></span> <b>is</b> <b>private</b>;
- <span class="symbol"><A NAME="ref_61_4">No_Events</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>;
- <span class="symbol"><A NAME="ref_62_4">All_Events</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>;
-
- <b>type</b> <span class="symbol"><A NAME="ref_64_9">Mouse_Button</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_64_26">Left</A></span>, <span class="comment"><EM>-- aka: Button 1</EM></span>
- <span class="symbol"><A NAME="ref_65_26">Middle</A></span>, <span class="comment"><EM>-- aka: Button 2</EM></span>
- <span class="symbol"><A NAME="ref_66_26">Right</A></span>, <span class="comment"><EM>-- aka: Button 3</EM></span>
- <span class="symbol"><A NAME="ref_67_26">Button4</A></span>, <span class="comment"><EM>-- aka: Button 4</EM></span>
- <span class="symbol"><A NAME="ref_68_26">Control</A></span>, <span class="comment"><EM>-- Control Key</EM></span>
- <span class="symbol"><A NAME="ref_69_26">Shift</A></span>, <span class="comment"><EM>-- Shift Key</EM></span>
- <span class="symbol"><A NAME="ref_70_26">Alt</A></span>); <span class="comment"><EM>-- ALT Key</EM></span>
-
- <b>subtype</b> <span class="symbol"><A NAME="ref_72_12">Real_Buttons</A></span> <b>is</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Mouse_Button</A> <b>range</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_26">Left</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_67_26">Button4</A>;
- <b>subtype</b> <span class="symbol"><A NAME="ref_73_12">Modifier_Keys</A></span> <b>is</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Mouse_Button</A> <b>range</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_26">Control</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_70_26">Alt</A>;
-
- <b>type</b> <span class="symbol"><A NAME="ref_75_9">Button_State</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_75_26">Released</A></span>,
- <span class="symbol"><A NAME="ref_76_26">Pressed</A></span>,
- <span class="symbol"><A NAME="ref_77_26">Clicked</A></span>,
- <span class="symbol"><A NAME="ref_78_26">Double_Clicked</A></span>,
- <span class="symbol"><A NAME="ref_79_26">Triple_Clicked</A></span>);
-
- <b>type</b> Button_States <b>is</b> <b>array</b> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_75_9">Button_State</A>) <b>of</b> Boolean;
+ <b>type</b> <span class="symbol"><A NAME="ref_56_9">Event_Mask</A></span> <b>is</b> <b>private</b>;
+ <span class="symbol"><A NAME="ref_57_4">No_Events</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
+ <span class="symbol"><A NAME="ref_58_4">All_Events</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
+
+ <b>type</b> <span class="symbol"><A NAME="ref_60_9">Mouse_Button</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_60_26">Left</A></span>, <span class="comment"><EM>-- aka: Button 1</EM></span>
+ <span class="symbol"><A NAME="ref_61_26">Middle</A></span>, <span class="comment"><EM>-- aka: Button 2</EM></span>
+ <span class="symbol"><A NAME="ref_62_26">Right</A></span>, <span class="comment"><EM>-- aka: Button 3</EM></span>
+ <span class="symbol"><A NAME="ref_63_26">Button4</A></span>, <span class="comment"><EM>-- aka: Button 4</EM></span>
+ <span class="symbol"><A NAME="ref_64_26">Control</A></span>, <span class="comment"><EM>-- Control Key</EM></span>
+ <span class="symbol"><A NAME="ref_65_26">Shift</A></span>, <span class="comment"><EM>-- Shift Key</EM></span>
+ <span class="symbol"><A NAME="ref_66_26">Alt</A></span>); <span class="comment"><EM>-- ALT Key</EM></span>
+
+ <b>subtype</b> <span class="symbol"><A NAME="ref_68_12">Real_Buttons</A></span> <b>is</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A> <b>range</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_26">Left</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_63_26">Button4</A>;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_69_12">Modifier_Keys</A></span> <b>is</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A> <b>range</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_26">Control</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_66_26">Alt</A>;
+
+ <b>type</b> <span class="symbol"><A NAME="ref_71_9">Button_State</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_71_26">Released</A></span>,
+ <span class="symbol"><A NAME="ref_72_26">Pressed</A></span>,
+ <span class="symbol"><A NAME="ref_73_26">Clicked</A></span>,
+ <span class="symbol"><A NAME="ref_74_26">Double_Clicked</A></span>,
+ <span class="symbol"><A NAME="ref_75_26">Triple_Clicked</A></span>);
+
+ <b>type</b> Button_States <b>is</b> <b>array</b> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>) <b>of</b> Boolean;
<b>pragma</b> Pack (Button_States);
- <span class="symbol"><A NAME="ref_84_4">All_Clicks</A></span> : <b>constant</b> Button_States := (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_77_26">Clicked</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_79_26">Triple_Clicked</A> =&gt; True,
+ <span class="symbol"><A NAME="ref_80_4">All_Clicks</A></span> : <b>constant</b> Button_States := (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_73_26">Clicked</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_75_26">Triple_Clicked</A> =&gt; True,
<b>others</b> =&gt; False);
- <span class="symbol"><A NAME="ref_86_4">All_States</A></span> : <b>constant</b> Button_States := (<b>others</b> =&gt; True);
+ <span class="symbol"><A NAME="ref_82_4">All_States</A></span> : <b>constant</b> Button_States := (<b>others</b> =&gt; True);
- <b>type</b> <span class="symbol"><A NAME="ref_88_9">Mouse_Event</A></span> <b>is</b> <b>private</b>;
+ <b>type</b> <span class="symbol"><A NAME="ref_84_9">Mouse_Event</A></span> <b>is</b> <b>private</b>;
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_94_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_50_13">Has_Mouse</A></span> <b>return</b> Boolean;
+ <b>function</b> <span class="symbol"><A NAME="ref_90_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_48_13">Has_Mouse</A></span> <b>return</b> Boolean;
<span class="comment"><EM>-- Return true if a mouse device is supported, false otherwise.</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_97_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_77_14">Register_Reportable_Event</A></span>
- (<span class="symbol"><A NAME="ref_98_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_77_41">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Mouse_Button</A>;
- <span class="symbol"><A NAME="ref_99_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_78_41">State</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_75_9">Button_State</A>;
- <span class="symbol"><A NAME="ref_100_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_79_41">Mask</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_93_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_75_14">Register_Reportable_Event</A></span>
+ (<span class="symbol"><A NAME="ref_94_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_75_41">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
+ <span class="symbol"><A NAME="ref_95_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_76_41">State</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>;
+ <span class="symbol"><A NAME="ref_96_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_77_41">Mask</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>);
<span class="comment"><EM>-- Stores the event described by the button and the state in the mask.</EM></span>
<span class="comment"><EM>-- Before you call this the first time, you should initialize the mask</EM></span>
<span class="comment"><EM>-- with the Empty_Mask constant</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_97_14">Register_Reportable_Event</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_93_14">Register_Reportable_Event</A>);
- <b>procedure</b> <span class="symbol"><A NAME="ref_106_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_95_14">Register_Reportable_Events</A></span>
- (<span class="symbol"><A NAME="ref_107_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_95_42">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Mouse_Button</A>;
- <span class="symbol"><A NAME="ref_108_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_96_42">State</A></span> : Button_States;
- <span class="symbol"><A NAME="ref_109_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_97_42">Mask</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_102_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_93_14">Register_Reportable_Events</A></span>
+ (<span class="symbol"><A NAME="ref_103_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_93_42">Button</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
+ <span class="symbol"><A NAME="ref_104_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_94_42">State</A></span> : Button_States;
+ <span class="symbol"><A NAME="ref_105_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_95_42">Mask</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>);
<span class="comment"><EM>-- Register all events described by the Button and the State bitmap.</EM></span>
<span class="comment"><EM>-- Before you call this the first time, you should initialize the mask</EM></span>
<span class="comment"><EM>-- with the Empty_Mask constant</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_1"#2|</EM></span>
+ <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span>
<span class="comment"><EM>-- There is one difference to mousmask(): we return the value of the</EM></span>
<span class="comment"><EM>-- old mask, that means the event mask value before this call.</EM></span>
<span class="comment"><EM>-- Not Implemented: The library version</EM></span>
<span class="comment"><EM>-- returns a Mouse_Mask that tells which events are reported.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_119_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_107_13">Start_Mouse</A></span> (<span class="symbol"><A NAME="ref_119_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_107_26">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_62_4">All_Events</A>)
- <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_115_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_105_13">Start_Mouse</A></span> (<span class="symbol"><A NAME="ref_115_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_105_26">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_58_4">All_Events</A>)
+ <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">mousemask()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_119_13">Start_Mouse</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_115_13">Start_Mouse</A>);
- <b>procedure</b> <span class="symbol"><A NAME="ref_124_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_123_14">End_Mouse</A></span> (<span class="symbol"><A NAME="ref_124_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_123_25">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_4">No_Events</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_120_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_121_14">End_Mouse</A></span> (<span class="symbol"><A NAME="ref_120_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_121_25">Mask</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_4">No_Events</A>);
<span class="comment"><EM>-- Terminates the mouse, restores the specified event mask</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_124_14">End_Mouse</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_120_14">End_Mouse</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_2"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_129_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_62_13">Get_Mouse</A></span> <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_125_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_60_13">Get_Mouse</A></span> <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">getmouse()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_129_13">Get_Mouse</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_125_13">Get_Mouse</A>);
- <b>procedure</b> <span class="symbol"><A NAME="ref_133_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_171_14">Get_Event</A></span> (<span class="symbol"><A NAME="ref_133_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_171_25">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A>;
- <span class="symbol"><A NAME="ref_134_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_172_25">Y</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_135_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_173_25">X</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_136_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_174_25">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Mouse_Button</A>;
- <span class="symbol"><A NAME="ref_137_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_175_25">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_75_9">Button_State</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_129_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_169_14">Get_Event</A></span> (<span class="symbol"><A NAME="ref_129_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_169_25">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>;
+ <span class="symbol"><A NAME="ref_130_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_170_25">Y</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_131_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_171_25">X</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_132_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_172_25">Button</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Mouse_Button</A>;
+ <span class="symbol"><A NAME="ref_133_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_173_25">State</A></span> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_9">Button_State</A>);
<span class="comment"><EM>-- !!! Warning: X and Y are screen coordinates. Due to ripped of lines they</EM></span>
<span class="comment"><EM>-- may not be identical to window coordinates.</EM></span>
<span class="comment"><EM>-- Not Implemented: Get_Event only reports one event, the C library</EM></span>
<span class="comment"><EM>-- version supports multiple events, e.g. {click-1, click-3}</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_133_14">Get_Event</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_129_14">Get_Event</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_3"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_145_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_184_14">Unget_Mouse</A></span> (<span class="symbol"><A NAME="ref_145_27" HREF="terminal_interface-curses-mouse__adb.htm#ref_184_27">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_141_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_182_14">Unget_Mouse</A></span> (<span class="symbol"><A NAME="ref_141_27" HREF="terminal_interface-curses-mouse__adb.htm#ref_182_27">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">ungetmouse()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_145_14">Unget_Mouse</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_141_14">Unget_Mouse</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_4"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_150_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_194_13">Enclosed_In_Window</A></span> (<span class="symbol"><A NAME="ref_150_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_194_33">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_151_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_195_33">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A>) <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_4">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_146_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_192_13">Enclosed_In_Window</A></span> (<span class="symbol"><A NAME="ref_146_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_192_33">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_147_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_193_33">Event</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">wenclose()</A></EM></span>
<span class="comment"><EM>-- But : use event instead of screen coordinates.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_150_13">Enclosed_In_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_146_13">Enclosed_In_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_5"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_157_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_209_13">Mouse_Interval</A></span> (<span class="symbol"><A NAME="ref_157_29" HREF="terminal_interface-curses-mouse__adb.htm#ref_209_29">Msec</A></span> : Natural := 200) <b>return</b> Natural;
+ <span class="comment"><EM>-- <A NAME="AFU_5">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_153_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_208_13">Mouse_Interval</A></span> (<span class="symbol"><A NAME="ref_153_29" HREF="terminal_interface-curses-mouse__adb.htm#ref_208_29">Msec</A></span> : Natural := 200) <b>return</b> Natural;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_mouse.3x.html">mouseinterval()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_157_13">Mouse_Interval</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_153_13">Mouse_Interval</A>);
<b>private</b>
- <b>type</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> <b>is</b> <b>new</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.unsigned_long;
+ <span class="comment"><EM>-- This can be as little as 32 bits (unsigned), or as long as the system's</EM></span>
+ <span class="comment"><EM>-- unsigned long. Declare it as the minimum size to handle all valid</EM></span>
+ <span class="comment"><EM>-- sizes.</EM></span>
+ <b>type</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> <b>is</b> <b>mod</b> 4294967296;
- <b>type</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A> <b>is</b>
+ <b>type</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A> <b>is</b>
<b>record</b>
- <span class="symbol"><A NAME="ref_166_10">Id</A></span> : Integer <b>range</b> Integer (<A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short'First) ..
- Integer (<A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short'Last);
- <span class="symbol"><A NAME="ref_168_10">X</A></span>, <span class="symbol"><A NAME="ref_168_13">Y</A></span>, <span class="symbol"><A NAME="ref_168_16">Z</A></span> : Integer <b>range</b> Integer (<A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int'First) ..
- Integer (<A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int'Last);
- <span class="symbol"><A NAME="ref_170_10">Bstate</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A>;
+ <span class="symbol"><A NAME="ref_165_10">Id</A></span> : Integer <b>range</b> Integer (<A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'First) ..
+ Integer (<A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'Last);
+ <span class="symbol"><A NAME="ref_167_10">X</A></span>, <span class="symbol"><A NAME="ref_167_13">Y</A></span>, <span class="symbol"><A NAME="ref_167_16">Z</A></span> : Integer <b>range</b> Integer (<A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int'First) ..
+ Integer (<A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int'Last);
+ <span class="symbol"><A NAME="ref_169_10">Bstate</A></span> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>;
<b>end</b> <b>record</b>;
- <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A>);
+ <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>);
- <b>for</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_88_9">Mouse_Event</A> <b>use</b>
+ <b>for</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A> <b>use</b>
<b>record</b>
- <A HREF="terminal_interface-curses-mouse__ads.htm#ref_166_10">Id</A> <b>at</b> 0 <b>range</b> 0 .. 15;
- <A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_10">X</A> <b>at</b> 0 <b>range</b> 32 .. 63;
- <A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_13">Y</A> <b>at</b> 0 <b>range</b> 64 .. 95;
- <A HREF="terminal_interface-curses-mouse__ads.htm#ref_168_16">Z</A> <b>at</b> 0 <b>range</b> 96 .. 127;
- <A HREF="terminal_interface-curses-mouse__ads.htm#ref_170_10">Bstate</A> <b>at</b> 0 <b>range</b> 128 .. 191;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#ref_165_10">Id</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_310_4">MEVENT_id_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_311_4">MEVENT_id_Last</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_10">X</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_312_4">MEVENT_x_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_313_4">MEVENT_x_Last</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_13">Y</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_314_4">MEVENT_y_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_315_4">MEVENT_y_Last</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#ref_167_16">Z</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_316_4">MEVENT_z_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_317_4">MEVENT_z_Last</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#ref_169_10">Bstate</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_318_4">MEVENT_bstate_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_319_4">MEVENT_bstate_Last</A>;
<b>end</b> <b>record</b>;
- <span class="comment"><EM>-- Please note: this rep. clause is generated and may be</EM></span>
- <span class="comment"><EM>-- different on your system.</EM></span>
-
- <span class="symbol"><A NAME="ref_185_4">Generation_Bit_Order</A></span> : <b>constant</b> System.Bit_Order := System.Low_Order_First;
- <span class="comment"><EM>-- This constant may be different on your system.</EM></span>
-
- <span class="symbol"><A NAME="ref_188_4">BUTTON1_RELEASED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000000001#;
- <span class="symbol"><A NAME="ref_189_4">BUTTON1_PRESSED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000000002#;
- <span class="symbol"><A NAME="ref_190_4">BUTTON1_CLICKED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000000004#;
- <span class="symbol"><A NAME="ref_191_4">BUTTON1_DOUBLE_CLICKED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000000010#;
- <span class="symbol"><A NAME="ref_192_4">BUTTON1_TRIPLE_CLICKED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000000020#;
- <span class="symbol"><A NAME="ref_193_4">BUTTON1_RESERVED_EVENT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000000040#;
- <span class="symbol"><A NAME="ref_194_4">BUTTON2_RELEASED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000000100#;
- <span class="symbol"><A NAME="ref_195_4">BUTTON2_PRESSED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000000200#;
- <span class="symbol"><A NAME="ref_196_4">BUTTON2_CLICKED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000000400#;
- <span class="symbol"><A NAME="ref_197_4">BUTTON2_DOUBLE_CLICKED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000001000#;
- <span class="symbol"><A NAME="ref_198_4">BUTTON2_TRIPLE_CLICKED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000002000#;
- <span class="symbol"><A NAME="ref_199_4">BUTTON2_RESERVED_EVENT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000004000#;
- <span class="symbol"><A NAME="ref_200_4">BUTTON3_RELEASED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000010000#;
- <span class="symbol"><A NAME="ref_201_4">BUTTON3_PRESSED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000020000#;
- <span class="symbol"><A NAME="ref_202_4">BUTTON3_CLICKED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000040000#;
- <span class="symbol"><A NAME="ref_203_4">BUTTON3_DOUBLE_CLICKED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000100000#;
- <span class="symbol"><A NAME="ref_204_4">BUTTON3_TRIPLE_CLICKED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000200000#;
- <span class="symbol"><A NAME="ref_205_4">BUTTON3_RESERVED_EVENT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000400000#;
- <span class="symbol"><A NAME="ref_206_4">BUTTON4_RELEASED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00001000000#;
- <span class="symbol"><A NAME="ref_207_4">BUTTON4_PRESSED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00002000000#;
- <span class="symbol"><A NAME="ref_208_4">BUTTON4_CLICKED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00004000000#;
- <span class="symbol"><A NAME="ref_209_4">BUTTON4_DOUBLE_CLICKED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00010000000#;
- <span class="symbol"><A NAME="ref_210_4">BUTTON4_TRIPLE_CLICKED</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00020000000#;
- <span class="symbol"><A NAME="ref_211_4">BUTTON4_RESERVED_EVENT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00040000000#;
- <span class="symbol"><A NAME="ref_212_4">BUTTON_CTRL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00100000000#;
- <span class="symbol"><A NAME="ref_213_4">BUTTON_SHIFT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00200000000#;
- <span class="symbol"><A NAME="ref_214_4">BUTTON_ALT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00400000000#;
- <span class="symbol"><A NAME="ref_215_4">REPORT_MOUSE_POSITION</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#01000000000#;
- <span class="symbol"><A NAME="ref_216_4">ALL_MOUSE_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00777777777#;
- <span class="symbol"><A NAME="ref_217_4">BUTTON1_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000000077#;
- <span class="symbol"><A NAME="ref_218_4">BUTTON2_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000007700#;
- <span class="symbol"><A NAME="ref_219_4">BUTTON3_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00000770000#;
- <span class="symbol"><A NAME="ref_220_4">BUTTON4_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 8#00077000000#;
-
- <A HREF="terminal_interface-curses-mouse__ads.htm#ref_61_4">No_Events</A> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := 0;
- <A HREF="terminal_interface-curses-mouse__ads.htm#ref_62_4">All_Events</A> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_60_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_216_4">ALL_MOUSE_EVENTS</A>;
-
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_48_35">Mouse</A>;
+ <b>for</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_84_9">Mouse_Event</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_320_4">MEVENT_Size</A>;
+ Generation_Bit_Order : System.Bit_Order <b>renames</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_10_4">Bit_Order</A>;
+
+ <span class="symbol"><A NAME="ref_189_4">BUTTON_CTRL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_348_4">BUTTON_CTRL</A>;
+ <span class="symbol"><A NAME="ref_190_4">BUTTON_SHIFT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_349_4">BUTTON_SHIFT</A>;
+ <span class="symbol"><A NAME="ref_191_4">BUTTON_ALT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_350_4">BUTTON_ALT</A>;
+ <span class="symbol"><A NAME="ref_192_4">BUTTON1_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_329_4">all_events_button_1</A>;
+ <span class="symbol"><A NAME="ref_194_4">BUTTON2_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_335_4">all_events_button_2</A>;
+ <span class="symbol"><A NAME="ref_196_4">BUTTON3_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_341_4">all_events_button_3</A>;
+ <span class="symbol"><A NAME="ref_198_4">BUTTON4_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_347_4">all_events_button_4</A>;
+ <span class="symbol"><A NAME="ref_200_4">ALL_MOUSE_EVENTS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_352_4">ALL_MOUSE_EVENTS</A>;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#ref_57_4">No_Events</A> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := 0;
+ <A HREF="terminal_interface-curses-mouse__ads.htm#ref_58_4">All_Events</A> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_56_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_200_4">ALL_MOUSE_EVENTS</A>;
+
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_44_35">Mouse</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm b/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm
index 91c5a0b9b135..8ab3b2ca6ff1 100644
--- a/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm
@@ -55,42 +55,42 @@
<span class="comment"><EM>-- @Revision: 1.12 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
-<b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>;
-<b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>;
+<b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<span class="symbol"><A NAME="ref_47_47" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<span class="symbol"><A NAME="ref_47_47" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A></span> <b>is</b>
- <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+ <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
- <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_51_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_29">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_51_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_29">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
<span class="symbol"><A NAME="ref_52_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_54_29">Data</A></span> : <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_54_16">Set_Panel_Userptr</A></span> (<span class="symbol"><A NAME="ref_54_35" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_54_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
- <span class="symbol"><A NAME="ref_55_35" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_54_16">Addr</A></span> : <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_54_16">Set_Panel_Userptr</A></span> (<span class="symbol"><A NAME="ref_54_35" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_54_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
+ <span class="symbol"><A NAME="ref_55_35" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_54_16">Addr</A></span> : <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Set_Panel_Userptr, "set_panel_userptr");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_54_16">Set_Panel_Userptr</A> (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_29">Pan</A>, <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_54_29">Data</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_54_16">Set_Panel_Userptr</A> (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_29">Pan</A>, <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_54_29">Data</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_14">Set_User_Data</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_63_13" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_63_28" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_28">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_63_13" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_63_28" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_28">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_65_16">Panel_Userptr</A></span> (<span class="symbol"><A NAME="ref_65_31" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_65_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_65_16">Panel_Userptr</A></span> (<span class="symbol"><A NAME="ref_65_31" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_65_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>;
<b>pragma</b> Import (C, Panel_Userptr, "panel_userptr");
<b>begin</b>
<b>return</b> <A HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_65_16">Panel_Userptr</A> (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_28">Pan</A>);
<b>end</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_13">Get_User_Data</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_71_14" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_59_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_71_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_59_29">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_71_14" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_59_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_71_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_59_29">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
<span class="symbol"><A NAME="ref_72_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_60_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>)
<b>is</b>
<b>begin</b>
<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_60_29">Data</A> := <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_13">Get_User_Data</A> (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_59_29">Pan</A>);
<b>end</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_59_14">Get_User_Data</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm b/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm
index dc2eba0a96a3..0bb721d92b48 100644
--- a/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm
@@ -59,29 +59,29 @@
<b>generic</b>
<b>type</b> <span class="symbol"><A NAME="ref_43_9" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User</A></span> <b>is</b> <b>limited</b> <b>private</b>;
<b>type</b> <span class="symbol"><A NAME="ref_44_9" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_43_9">User</A>;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<span class="symbol"><A NAME="ref_45_42" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_47_47">User_Data</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<span class="symbol"><A NAME="ref_45_42" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_47_47">User_Data</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/panel.3x.html">panel.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_1"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_51_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_51_29">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_51_14">Set_User_Data</A></span> (<span class="symbol"><A NAME="ref_53_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_51_29">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
<span class="symbol"><A NAME="ref_54_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_52_29">Data</A></span> : <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">set_panel_userptr</A></EM></span>
<b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_14">Set_User_Data</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_2"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_71_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_71_29">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_71_14">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_59_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_71_29">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
<span class="symbol"><A NAME="ref_60_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_72_29">Data</A></span> : <b>out</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">panel_userptr</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_3"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_63_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_63_28">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_64_13" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_63_13">Get_User_Data</A></span> (<span class="symbol"><A NAME="ref_64_28" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_63_28">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">panel_userptr</A></EM></span>
<span class="comment"><EM>-- Same as function</EM></span>
<b>pragma</b> Inline (Get_User_Data);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>.<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-panels__adb.htm b/doc/html/ada/terminal_interface-curses-panels__adb.htm
index 819ad63bae03..9d81a1c5d697 100644
--- a/doc/html/ada/terminal_interface-curses-panels__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-panels__adb.htm
@@ -56,128 +56,128 @@
<span class="comment"><EM>-- @Date: 2009/12/26 17:38:58 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_45_40" HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_45_40" HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A></span> <b>is</b>
- <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+ <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
- <b>function</b> <span class="symbol"><A NAME="ref_49_13" HREF="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</A></span> (<span class="symbol"><A NAME="ref_49_21" HREF="terminal_interface-curses-panels__ads.htm#ref_67_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_49_13" HREF="terminal_interface-curses-panels__ads.htm#ref_66_13">Create</A></span> (<span class="symbol"><A NAME="ref_49_21" HREF="terminal_interface-curses-panels__ads.htm#ref_66_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_51_16">Newpanel</A></span> (<span class="symbol"><A NAME="ref_51_26" HREF="terminal_interface-curses-panels__adb.htm#ref_51_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_51_16">Newpanel</A></span> (<span class="symbol"><A NAME="ref_51_26" HREF="terminal_interface-curses-panels__adb.htm#ref_51_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
<b>pragma</b> Import (C, Newpanel, "new_panel");
- <span class="symbol"><A NAME="ref_54_7">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+ <span class="symbol"><A NAME="ref_54_7">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses-panels__adb.htm#ref_54_7">Pan</A> := <A HREF="terminal_interface-curses-panels__adb.htm#ref_51_16">Newpanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_67_21">Win</A>);
- <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_54_7">Pan</A> = <A HREF="terminal_interface-curses-panels__ads.htm#ref_54_4">Null_Panel</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>;
+ <A HREF="terminal_interface-curses-panels__adb.htm#ref_54_7">Pan</A> := <A HREF="terminal_interface-curses-panels__adb.htm#ref_51_16">Newpanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_66_21">Win</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_54_7">Pan</A> = <A HREF="terminal_interface-curses-panels__ads.htm#ref_53_4">Null_Panel</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
<b>end</b> <b>if</b>;
<b>return</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_54_7">Pan</A>;
- <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_66_13">Create</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_63_14" HREF="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</A></span> (<span class="symbol"><A NAME="ref_63_22" HREF="terminal_interface-curses-panels__ads.htm#ref_77_22">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_63_14" HREF="terminal_interface-curses-panels__ads.htm#ref_76_14">Bottom</A></span> (<span class="symbol"><A NAME="ref_63_22" HREF="terminal_interface-curses-panels__ads.htm#ref_76_22">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_65_16">Bottompanel</A></span> (<span class="symbol"><A NAME="ref_65_29" HREF="terminal_interface-curses-panels__adb.htm#ref_65_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_65_16">Bottompanel</A></span> (<span class="symbol"><A NAME="ref_65_29" HREF="terminal_interface-curses-panels__adb.htm#ref_65_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Bottompanel, "bottom_panel");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_65_16">Bottompanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_77_22">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_65_16">Bottompanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_76_22">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_76_14">Bottom</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_73_14" HREF="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</A></span> (<span class="symbol"><A NAME="ref_73_19" HREF="terminal_interface-curses-panels__ads.htm#ref_82_19">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_73_14" HREF="terminal_interface-curses-panels__ads.htm#ref_81_14">Top</A></span> (<span class="symbol"><A NAME="ref_73_19" HREF="terminal_interface-curses-panels__ads.htm#ref_81_19">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_75_16">Toppanel</A></span> (<span class="symbol"><A NAME="ref_75_26" HREF="terminal_interface-curses-panels__adb.htm#ref_75_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_75_16">Toppanel</A></span> (<span class="symbol"><A NAME="ref_75_26" HREF="terminal_interface-curses-panels__adb.htm#ref_75_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Toppanel, "top_panel");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_75_16">Toppanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_82_19">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_75_16">Toppanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_81_19">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_81_14">Top</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_83_14" HREF="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</A></span> (<span class="symbol"><A NAME="ref_83_20" HREF="terminal_interface-curses-panels__ads.htm#ref_87_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_83_14" HREF="terminal_interface-curses-panels__ads.htm#ref_86_14">Show</A></span> (<span class="symbol"><A NAME="ref_83_20" HREF="terminal_interface-curses-panels__ads.htm#ref_86_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_85_16">Showpanel</A></span> (<span class="symbol"><A NAME="ref_85_27" HREF="terminal_interface-curses-panels__adb.htm#ref_85_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_85_16">Showpanel</A></span> (<span class="symbol"><A NAME="ref_85_27" HREF="terminal_interface-curses-panels__adb.htm#ref_85_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Showpanel, "show_panel");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_85_16">Showpanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_87_20">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_85_16">Showpanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_86_20">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_86_14">Show</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_93_14" HREF="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</A></span> (<span class="symbol"><A NAME="ref_93_20" HREF="terminal_interface-curses-panels__ads.htm#ref_97_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_93_14" HREF="terminal_interface-curses-panels__ads.htm#ref_96_14">Hide</A></span> (<span class="symbol"><A NAME="ref_93_20" HREF="terminal_interface-curses-panels__ads.htm#ref_96_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_95_16">Hidepanel</A></span> (<span class="symbol"><A NAME="ref_95_27" HREF="terminal_interface-curses-panels__adb.htm#ref_95_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_95_16">Hidepanel</A></span> (<span class="symbol"><A NAME="ref_95_27" HREF="terminal_interface-curses-panels__adb.htm#ref_95_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Hidepanel, "hide_panel");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_95_16">Hidepanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_97_20">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_95_16">Hidepanel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_96_20">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_96_14">Hide</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_103_13" HREF="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_103_25" HREF="terminal_interface-curses-panels__ads.htm#ref_102_25">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_103_13" HREF="terminal_interface-curses-panels__ads.htm#ref_101_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_103_25" HREF="terminal_interface-curses-panels__ads.htm#ref_101_25">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_105_16">Panel_Win</A></span> (<span class="symbol"><A NAME="ref_105_27" HREF="terminal_interface-curses-panels__adb.htm#ref_105_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_105_16">Panel_Win</A></span> (<span class="symbol"><A NAME="ref_105_27" HREF="terminal_interface-curses-panels__adb.htm#ref_105_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Panel_Win, "panel_window");
- <span class="symbol"><A NAME="ref_108_7">Win</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses-panels__adb.htm#ref_105_16">Panel_Win</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_102_25">Pan</A>);
+ <span class="symbol"><A NAME="ref_108_7">Win</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-panels__adb.htm#ref_105_16">Panel_Win</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_101_25">Pan</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_108_7">Win</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_108_7">Win</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
<b>end</b> <b>if</b>;
<b>return</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_108_7">Win</A>;
- <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_101_13">Get_Window</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_116_14" HREF="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</A></span> (<span class="symbol"><A NAME="ref_116_23" HREF="terminal_interface-curses-panels__ads.htm#ref_111_23">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
- <span class="symbol"><A NAME="ref_117_23" HREF="terminal_interface-curses-panels__ads.htm#ref_112_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_116_14" HREF="terminal_interface-curses-panels__ads.htm#ref_110_14">Replace</A></span> (<span class="symbol"><A NAME="ref_116_23" HREF="terminal_interface-curses-panels__ads.htm#ref_110_23">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
+ <span class="symbol"><A NAME="ref_117_23" HREF="terminal_interface-curses-panels__ads.htm#ref_111_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_119_16">Replace_Pan</A></span> (<span class="symbol"><A NAME="ref_119_29" HREF="terminal_interface-curses-panels__adb.htm#ref_119_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
- <span class="symbol"><A NAME="ref_120_29" HREF="terminal_interface-curses-panels__adb.htm#ref_119_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_119_16">Replace_Pan</A></span> (<span class="symbol"><A NAME="ref_119_29" HREF="terminal_interface-curses-panels__adb.htm#ref_119_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
+ <span class="symbol"><A NAME="ref_120_29" HREF="terminal_interface-curses-panels__adb.htm#ref_119_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Replace_Pan, "replace_panel");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_119_16">Replace_Pan</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_111_23">Pan</A>, <A HREF="terminal_interface-curses-panels__ads.htm#ref_112_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_119_16">Replace_Pan</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_110_23">Pan</A>, <A HREF="terminal_interface-curses-panels__ads.htm#ref_111_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_110_14">Replace</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_128_14" HREF="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</A></span> (<span class="symbol"><A NAME="ref_128_20" HREF="terminal_interface-curses-panels__ads.htm#ref_117_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
- <span class="symbol"><A NAME="ref_129_20" HREF="terminal_interface-curses-panels__ads.htm#ref_118_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_130_20" HREF="terminal_interface-curses-panels__ads.htm#ref_119_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_128_14" HREF="terminal_interface-curses-panels__ads.htm#ref_116_14">Move</A></span> (<span class="symbol"><A NAME="ref_128_20" HREF="terminal_interface-curses-panels__ads.htm#ref_116_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
+ <span class="symbol"><A NAME="ref_129_20" HREF="terminal_interface-curses-panels__ads.htm#ref_117_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_130_20" HREF="terminal_interface-curses-panels__ads.htm#ref_118_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_132_16">Move</A></span> (<span class="symbol"><A NAME="ref_132_22" HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
- <span class="symbol"><A NAME="ref_133_22" HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_134_22" HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_132_16">Move</A></span> (<span class="symbol"><A NAME="ref_132_22" HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
+ <span class="symbol"><A NAME="ref_133_22" HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_134_22" HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Move, "move_panel");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Move</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_117_20">Pan</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_118_20">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_119_20">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Move</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_116_20">Pan</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_117_20">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_118_20">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_116_14">Move</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_142_13" HREF="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</A></span> (<span class="symbol"><A NAME="ref_142_24" HREF="terminal_interface-curses-panels__ads.htm#ref_124_24">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_142_13" HREF="terminal_interface-curses-panels__ads.htm#ref_123_13">Is_Hidden</A></span> (<span class="symbol"><A NAME="ref_142_24" HREF="terminal_interface-curses-panels__ads.htm#ref_123_24">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_144_16">Panel_Hidden</A></span> (<span class="symbol"><A NAME="ref_144_30" HREF="terminal_interface-curses-panels__adb.htm#ref_144_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_144_16">Panel_Hidden</A></span> (<span class="symbol"><A NAME="ref_144_30" HREF="terminal_interface-curses-panels__adb.htm#ref_144_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Panel_Hidden, "panel_hidden");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_144_16">Panel_Hidden</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_124_24">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Curses_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_144_16">Panel_Hidden</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_123_24">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_123_13">Is_Hidden</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_154_14" HREF="terminal_interface-curses-panels__ads.htm#ref_139_14">Delete</A></span> (<span class="symbol"><A NAME="ref_154_22" HREF="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_154_14" HREF="terminal_interface-curses-panels__ads.htm#ref_138_14">Delete</A></span> (<span class="symbol"><A NAME="ref_154_22" HREF="terminal_interface-curses-panels__ads.htm#ref_138_22">Pan</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_156_16">Del_Panel</A></span> (<span class="symbol"><A NAME="ref_156_27" HREF="terminal_interface-curses-panels__adb.htm#ref_156_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_156_16">Del_Panel</A></span> (<span class="symbol"><A NAME="ref_156_27" HREF="terminal_interface-curses-panels__adb.htm#ref_156_16">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Del_Panel, "del_panel");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_156_16">Del_Panel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_60_4">Panel_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-panels__adb.htm#ref_156_16">Del_Panel</A> (<A HREF="terminal_interface-curses-panels__ads.htm#ref_138_22">Pan</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_59_4">Panel_Exception</A>;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</A> := <A HREF="terminal_interface-curses-panels__ads.htm#ref_54_4">Null_Panel</A>;
- <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_139_14">Delete</A>;
+ <A HREF="terminal_interface-curses-panels__ads.htm#ref_138_22">Pan</A> := <A HREF="terminal_interface-curses-panels__ads.htm#ref_53_4">Null_Panel</A>;
+ <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_138_14">Delete</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-panels__ads.htm b/doc/html/ada/terminal_interface-curses-panels__ads.htm
index 75864f7077ae..66d079151921 100644
--- a/doc/html/ada/terminal_interface-curses-panels__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-panels__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2009,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,114 +52,113 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.20 @</EM></span>
-<span class="comment"><EM>-- @Date: 2009/12/26 17:38:58 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.22 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:31:57 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> System;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_44_35" HREF="terminal_interface-curses-panels__adb.htm#ref_45_40">Panels</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>);
- <b>pragma</b> Linker_Options ("-lpanel");
- <b>pragma</b> Linker_Options ("-lncurses");
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_44_35" HREF="terminal_interface-curses-panels__adb.htm#ref_45_40">Panels</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>);
+ <b>pragma</b> Linker_Options ("-lpanel" &amp; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</A>);
- <b>type</b> <span class="symbol"><A NAME="ref_49_9">Panel</A></span> <b>is</b> <b>private</b>;
+ <b>type</b> <span class="symbol"><A NAME="ref_48_9">Panel</A></span> <b>is</b> <b>private</b>;
<span class="comment"><EM>---------------------------</EM></span>
<span class="comment"><EM>-- Interface constants --</EM></span>
<span class="comment"><EM>---------------------------</EM></span>
- <span class="symbol"><A NAME="ref_54_4">Null_Panel</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+ <span class="symbol"><A NAME="ref_53_4">Null_Panel</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
<span class="comment"><EM>-------------------</EM></span>
<span class="comment"><EM>-- Exceptions --</EM></span>
<span class="comment"><EM>-------------------</EM></span>
- <span class="symbol"><A NAME="ref_60_4">Panel_Exception</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_59_4">Panel_Exception</A></span> : <b>exception</b>;
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/panel.3x.html">panel.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_1"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_67_13" HREF="terminal_interface-curses-panels__adb.htm#ref_49_13">Create</A></span> (<span class="symbol"><A NAME="ref_67_21" HREF="terminal_interface-curses-panels__adb.htm#ref_49_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_66_13" HREF="terminal_interface-curses-panels__adb.htm#ref_49_13">Create</A></span> (<span class="symbol"><A NAME="ref_66_21" HREF="terminal_interface-curses-panels__adb.htm#ref_49_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">new_panel()</A></EM></span>
<b>pragma</b> Inline (Create);
- <span class="comment"><EM>-- #1A NAME="AFU_2"#2|</EM></span>
- <b>function</b> New_Panel (<span class="symbol"><A NAME="ref_72_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A> <b>renames</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span>
+ <b>function</b> New_Panel (<span class="symbol"><A NAME="ref_71_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A> <b>renames</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_66_13">Create</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">new_panel()</A></EM></span>
<span class="comment"><EM>-- pragma Inline (New_Panel);</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_3"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_77_14" HREF="terminal_interface-curses-panels__adb.htm#ref_63_14">Bottom</A></span> (<span class="symbol"><A NAME="ref_77_22" HREF="terminal_interface-curses-panels__adb.htm#ref_63_22">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_76_14" HREF="terminal_interface-curses-panels__adb.htm#ref_63_14">Bottom</A></span> (<span class="symbol"><A NAME="ref_76_22" HREF="terminal_interface-curses-panels__adb.htm#ref_63_22">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">bottom_panel()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_76_14">Bottom</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_4"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_82_14" HREF="terminal_interface-curses-panels__adb.htm#ref_73_14">Top</A></span> (<span class="symbol"><A NAME="ref_82_19" HREF="terminal_interface-curses-panels__adb.htm#ref_73_19">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_4">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_81_14" HREF="terminal_interface-curses-panels__adb.htm#ref_73_14">Top</A></span> (<span class="symbol"><A NAME="ref_81_19" HREF="terminal_interface-curses-panels__adb.htm#ref_73_19">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">top_panel()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_81_14">Top</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_5"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_87_14" HREF="terminal_interface-curses-panels__adb.htm#ref_83_14">Show</A></span> (<span class="symbol"><A NAME="ref_87_20" HREF="terminal_interface-curses-panels__adb.htm#ref_83_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_5">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_86_14" HREF="terminal_interface-curses-panels__adb.htm#ref_83_14">Show</A></span> (<span class="symbol"><A NAME="ref_86_20" HREF="terminal_interface-curses-panels__adb.htm#ref_83_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">show_panel()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_86_14">Show</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_6"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_92_14">Update_Panels</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_6">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_91_14">Update_Panels</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">update_panels()</A></EM></span>
<b>pragma</b> Import (C, Update_Panels, "update_panels");
- <span class="comment"><EM>-- #1A NAME="AFU_7"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_97_14" HREF="terminal_interface-curses-panels__adb.htm#ref_93_14">Hide</A></span> (<span class="symbol"><A NAME="ref_97_20" HREF="terminal_interface-curses-panels__adb.htm#ref_93_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_7">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_96_14" HREF="terminal_interface-curses-panels__adb.htm#ref_93_14">Hide</A></span> (<span class="symbol"><A NAME="ref_96_20" HREF="terminal_interface-curses-panels__adb.htm#ref_93_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">hide_panel()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_96_14">Hide</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_8"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_102_13" HREF="terminal_interface-curses-panels__adb.htm#ref_103_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_102_25" HREF="terminal_interface-curses-panels__adb.htm#ref_103_25">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_8">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_101_13" HREF="terminal_interface-curses-panels__adb.htm#ref_103_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_101_25" HREF="terminal_interface-curses-panels__adb.htm#ref_103_25">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">panel_window()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_101_13">Get_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_9"#2|</EM></span>
- <b>function</b> Panel_Window (<span class="symbol"><A NAME="ref_107_27">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> <b>renames</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_9">|</A></EM></span>
+ <b>function</b> Panel_Window (<span class="symbol"><A NAME="ref_106_27">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> <b>renames</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_101_13">Get_Window</A>;
<span class="comment"><EM>-- pragma Inline (Panel_Window);</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_10"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_111_14" HREF="terminal_interface-curses-panels__adb.htm#ref_116_14">Replace</A></span> (<span class="symbol"><A NAME="ref_111_23" HREF="terminal_interface-curses-panels__adb.htm#ref_116_23">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
- <span class="symbol"><A NAME="ref_112_23" HREF="terminal_interface-curses-panels__adb.htm#ref_117_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_10">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_110_14" HREF="terminal_interface-curses-panels__adb.htm#ref_116_14">Replace</A></span> (<span class="symbol"><A NAME="ref_110_23" HREF="terminal_interface-curses-panels__adb.htm#ref_116_23">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
+ <span class="symbol"><A NAME="ref_111_23" HREF="terminal_interface-curses-panels__adb.htm#ref_117_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">replace_panel()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_110_14">Replace</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_11"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_117_14" HREF="terminal_interface-curses-panels__adb.htm#ref_128_14">Move</A></span> (<span class="symbol"><A NAME="ref_117_20" HREF="terminal_interface-curses-panels__adb.htm#ref_128_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
- <span class="symbol"><A NAME="ref_118_20" HREF="terminal_interface-curses-panels__adb.htm#ref_129_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_119_20" HREF="terminal_interface-curses-panels__adb.htm#ref_130_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_11">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_116_14" HREF="terminal_interface-curses-panels__adb.htm#ref_128_14">Move</A></span> (<span class="symbol"><A NAME="ref_116_20" HREF="terminal_interface-curses-panels__adb.htm#ref_128_20">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
+ <span class="symbol"><A NAME="ref_117_20" HREF="terminal_interface-curses-panels__adb.htm#ref_129_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_118_20" HREF="terminal_interface-curses-panels__adb.htm#ref_130_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">move_panel()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_116_14">Move</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_12"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_124_13" HREF="terminal_interface-curses-panels__adb.htm#ref_142_13">Is_Hidden</A></span> (<span class="symbol"><A NAME="ref_124_24" HREF="terminal_interface-curses-panels__adb.htm#ref_142_24">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_12">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_123_13" HREF="terminal_interface-curses-panels__adb.htm#ref_142_13">Is_Hidden</A></span> (<span class="symbol"><A NAME="ref_123_24" HREF="terminal_interface-curses-panels__adb.htm#ref_142_24">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">panel_hidden()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_123_13">Is_Hidden</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_13"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_129_13">Above</A></span> (<span class="symbol"><A NAME="ref_129_20" HREF="terminal_interface-curses-panels__ads.htm#ref_129_13">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_13">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_128_13">Above</A></span> (<span class="symbol"><A NAME="ref_128_20" HREF="terminal_interface-curses-panels__ads.htm#ref_128_13">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">panel_above()</A></EM></span>
<b>pragma</b> Import (C, Above, "panel_above");
- <span class="comment"><EM>-- #1A NAME="AFU_14"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_134_13">Below</A></span> (<span class="symbol"><A NAME="ref_134_20" HREF="terminal_interface-curses-panels__ads.htm#ref_134_13">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_14">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_133_13">Below</A></span> (<span class="symbol"><A NAME="ref_133_20" HREF="terminal_interface-curses-panels__ads.htm#ref_133_13">Pan</A></span> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>) <b>return</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">panel_below()</A></EM></span>
<b>pragma</b> Import (C, Below, "panel_below");
- <span class="comment"><EM>-- #1A NAME="AFU_15"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_139_14" HREF="terminal_interface-curses-panels__adb.htm#ref_154_14">Delete</A></span> (<span class="symbol"><A NAME="ref_139_22" HREF="terminal_interface-curses-panels__adb.htm#ref_154_22">Pan</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_15">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_138_14" HREF="terminal_interface-curses-panels__adb.htm#ref_154_14">Delete</A></span> (<span class="symbol"><A NAME="ref_138_22" HREF="terminal_interface-curses-panels__adb.htm#ref_154_22">Pan</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/panel.3x.html">del_panel()</A></EM></span>
<b>pragma</b> Inline (Delete);
<b>private</b>
- <b>type</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
- <A HREF="terminal_interface-curses-panels__ads.htm#ref_54_4">Null_Panel</A> : <b>constant</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A> := 0;
+ <b>type</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+ <A HREF="terminal_interface-curses-panels__ads.htm#ref_53_4">Null_Panel</A> : <b>constant</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_48_9">Panel</A> := 0;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-putwin__adb.htm b/doc/html/ada/terminal_interface-curses-putwin__adb.htm
index 45598f510633..6d5df373655a 100644
--- a/doc/html/ada/terminal_interface-curses-putwin__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-putwin__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 2000,2003 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,44 +52,44 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.3 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.4 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<b>with</b> Ada.Streams.Stream_IO.C_Streams;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C_Streams;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C_Streams;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_45_40" HREF="terminal_interface-curses-putwin__ads.htm#ref_43_35">PutWin</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_45_40" HREF="terminal_interface-curses-putwin__ads.htm#ref_43_35">PutWin</A></span> <b>is</b>
- <b>package</b> <span class="symbol"><A NAME="ref_47_12">ICS</A></span> <b>renames</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C_Streams;
+ <b>package</b> <span class="symbol"><A NAME="ref_47_12">ICS</A></span> <b>renames</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C_Streams;
<b>package</b> <span class="symbol"><A NAME="ref_48_12">ACS</A></span> <b>renames</b> Ada.Streams.Stream_IO.C_Streams;
- <b>use</b> <b>type</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>use</b> <b>type</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-putwin__ads.htm#ref_45_14">Put_Window</A></span> (<span class="symbol"><A NAME="ref_51_26" HREF="terminal_interface-curses-putwin__ads.htm#ref_45_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_51_14" HREF="terminal_interface-curses-putwin__ads.htm#ref_45_14">Put_Window</A></span> (<span class="symbol"><A NAME="ref_51_26" HREF="terminal_interface-curses-putwin__ads.htm#ref_45_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_52_26" HREF="terminal_interface-curses-putwin__ads.htm#ref_46_26">File</A></span> : Ada.Streams.Stream_IO.File_Type) <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_53_16">putwin</A></span> (<span class="symbol"><A NAME="ref_53_24" HREF="terminal_interface-curses-putwin__adb.htm#ref_53_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_53_38" HREF="terminal_interface-curses-putwin__adb.htm#ref_53_16">f</A></span> : <A HREF="terminal_interface-curses-putwin__adb.htm#ref_47_12">ICS</A>.FILEs) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_53_16">putwin</A></span> (<span class="symbol"><A NAME="ref_53_24" HREF="terminal_interface-curses-putwin__adb.htm#ref_53_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_53_38" HREF="terminal_interface-curses-putwin__adb.htm#ref_53_16">f</A></span> : <A HREF="terminal_interface-curses-putwin__adb.htm#ref_47_12">ICS</A>.FILEs) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, putwin, "putwin");
- <span class="symbol"><A NAME="ref_56_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-putwin__adb.htm#ref_53_16">putwin</A> (<A HREF="terminal_interface-curses-putwin__ads.htm#ref_45_26">Win</A>, <A HREF="terminal_interface-curses-putwin__adb.htm#ref_48_12">ACS</A>.C_Stream (<A HREF="terminal_interface-curses-putwin__ads.htm#ref_46_26">File</A>));
+ <span class="symbol"><A NAME="ref_56_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-putwin__adb.htm#ref_53_16">putwin</A> (<A HREF="terminal_interface-curses-putwin__ads.htm#ref_45_26">Win</A>, <A HREF="terminal_interface-curses-putwin__adb.htm#ref_48_12">ACS</A>.C_Stream (<A HREF="terminal_interface-curses-putwin__ads.htm#ref_46_26">File</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-putwin__adb.htm#ref_56_7">R</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_4">Curses_Ok</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-putwin__adb.htm#ref_56_7">R</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_62_4">Curses_Ok</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-putwin__ads.htm#ref_45_14">Put_Window</A>;
<b>function</b> <span class="symbol"><A NAME="ref_63_13" HREF="terminal_interface-curses-putwin__ads.htm#ref_48_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_63_25" HREF="terminal_interface-curses-putwin__ads.htm#ref_48_25">File</A></span> : Ada.Streams.Stream_IO.File_Type)
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_65_16">getwin</A></span> (<span class="symbol"><A NAME="ref_65_24" HREF="terminal_interface-curses-putwin__adb.htm#ref_65_16">f</A></span> : <A HREF="terminal_interface-curses-putwin__adb.htm#ref_47_12">ICS</A>.FILEs) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_65_16">getwin</A></span> (<span class="symbol"><A NAME="ref_65_24" HREF="terminal_interface-curses-putwin__adb.htm#ref_65_16">f</A></span> : <A HREF="terminal_interface-curses-putwin__adb.htm#ref_47_12">ICS</A>.FILEs) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, getwin, "getwin");
- <span class="symbol"><A NAME="ref_68_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses-putwin__adb.htm#ref_65_16">getwin</A> (<A HREF="terminal_interface-curses-putwin__adb.htm#ref_48_12">ACS</A>.C_Stream (<A HREF="terminal_interface-curses-putwin__ads.htm#ref_48_25">File</A>));
+ <span class="symbol"><A NAME="ref_68_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses-putwin__adb.htm#ref_65_16">getwin</A> (<A HREF="terminal_interface-curses-putwin__adb.htm#ref_48_12">ACS</A>.C_Stream (<A HREF="terminal_interface-curses-putwin__ads.htm#ref_48_25">File</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-putwin__adb.htm#ref_68_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-putwin__adb.htm#ref_68_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>else</b>
<b>return</b> <A HREF="terminal_interface-curses-putwin__adb.htm#ref_68_7">W</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-putwin__ads.htm#ref_48_13">Get_Window</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-putwin__ads.htm#ref_43_35">PutWin</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-putwin__ads.htm#ref_43_35">PutWin</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-putwin__ads.htm b/doc/html/ada/terminal_interface-curses-putwin__ads.htm
index 77fde726f4b0..b7222cc9c0e1 100644
--- a/doc/html/ada/terminal_interface-curses-putwin__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-putwin__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 2000,2003 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,17 +52,17 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.3 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.4 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<b>with</b> Ada.Streams.Stream_IO;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_43_35" HREF="terminal_interface-curses-putwin__adb.htm#ref_45_40">PutWin</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_43_35" HREF="terminal_interface-curses-putwin__adb.htm#ref_45_40">PutWin</A></span> <b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_45_14" HREF="terminal_interface-curses-putwin__adb.htm#ref_51_14">Put_Window</A></span> (<span class="symbol"><A NAME="ref_45_26" HREF="terminal_interface-curses-putwin__adb.htm#ref_51_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_45_14" HREF="terminal_interface-curses-putwin__adb.htm#ref_51_14">Put_Window</A></span> (<span class="symbol"><A NAME="ref_45_26" HREF="terminal_interface-curses-putwin__adb.htm#ref_51_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_46_26" HREF="terminal_interface-curses-putwin__adb.htm#ref_52_26">File</A></span> : Ada.Streams.Stream_IO.File_Type);
- <b>function</b> <span class="symbol"><A NAME="ref_48_13" HREF="terminal_interface-curses-putwin__adb.htm#ref_63_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_48_25" HREF="terminal_interface-curses-putwin__adb.htm#ref_63_25">File</A></span> : Ada.Streams.Stream_IO.File_Type) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_48_13" HREF="terminal_interface-curses-putwin__adb.htm#ref_63_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_48_25" HREF="terminal_interface-curses-putwin__adb.htm#ref_63_25">File</A></span> : Ada.Streams.Stream_IO.File_Type) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-putwin__ads.htm#ref_43_35">PutWin</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-putwin__ads.htm#ref_43_35">PutWin</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-termcap__adb.htm b/doc/html/ada/terminal_interface-curses-termcap__adb.htm
index 3a2ed5e83a80..2216eccc49fb 100644
--- a/doc/html/ada/terminal_interface-curses-termcap__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-termcap__adb.htm
@@ -57,26 +57,26 @@
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_47_40" HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_47_40" HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A></span> <b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_49_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_59_13">Get_Entry</A></span> (<span class="symbol"><A NAME="ref_49_24" HREF="terminal_interface-curses-termcap__ads.htm#ref_59_24">Name</A></span> : String) <b>return</b> Boolean
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_51_16">tgetent</A></span> (<span class="symbol"><A NAME="ref_51_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_51_16">name</A></span> : char_array; <span class="symbol"><A NAME="ref_51_44" HREF="terminal_interface-curses-termcap__adb.htm#ref_51_16">val</A></span> : char_array)
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, tgetent, "tgetent");
<span class="symbol"><A NAME="ref_54_7">NameTxt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_59_24">Name</A>'Length);
<span class="symbol"><A NAME="ref_55_7">Length</A></span> : size_t;
<span class="symbol"><A NAME="ref_56_7">ignored</A></span> : <b>constant</b> char_array (0 .. 0) := (0 =&gt; nul);
- <span class="symbol"><A NAME="ref_57_7">result</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_57_7">result</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_59_24">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_54_7">NameTxt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_55_7">Length</A>);
<A HREF="terminal_interface-curses-termcap__adb.htm#ref_57_7">result</A> := <A HREF="terminal_interface-curses-termcap__adb.htm#ref_51_16">tgetent</A> (char_array (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_56_7">ignored</A>), <A HREF="terminal_interface-curses-termcap__adb.htm#ref_54_7">NameTxt</A>);
<b>if</b> <A HREF="terminal_interface-curses-termcap__adb.htm#ref_57_7">result</A> = -1 <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>else</b>
<b>return</b> Boolean'Val (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_57_7">result</A>);
<b>end</b> <b>if</b>;
@@ -85,7 +85,7 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>function</b> <span class="symbol"><A NAME="ref_69_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_63_13">Get_Flag</A></span> (<span class="symbol"><A NAME="ref_69_23" HREF="terminal_interface-curses-termcap__ads.htm#ref_63_23">Name</A></span> : String) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_71_16">tgetflag</A></span> (<span class="symbol"><A NAME="ref_71_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_71_16">id</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_71_16">tgetflag</A></span> (<span class="symbol"><A NAME="ref_71_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_71_16">id</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, tgetflag, "tgetflag");
<span class="symbol"><A NAME="ref_73_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_63_23">Name</A>'Length);
<span class="symbol"><A NAME="ref_74_7">Length</A></span> : size_t;
@@ -103,7 +103,7 @@
<span class="symbol"><A NAME="ref_86_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_68_26">Value</A></span> : <b>out</b> Integer;
<span class="symbol"><A NAME="ref_87_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_69_26">Result</A></span> : <b>out</b> Boolean)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_89_16">tgetnum</A></span> (<span class="symbol"><A NAME="ref_89_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_89_16">id</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_89_16">tgetnum</A></span> (<span class="symbol"><A NAME="ref_89_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_89_16">id</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, tgetnum, "tgetnum");
<span class="symbol"><A NAME="ref_91_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_67_26">Name</A>'Length);
<span class="symbol"><A NAME="ref_92_7">Length</A></span> : size_t;
@@ -136,7 +136,7 @@
<b>if</b> <A HREF="terminal_interface-curses-termcap__adb.htm#ref_113_7">Txt2</A> = Null_Ptr <b>then</b>
<A HREF="terminal_interface-curses-termcap__ads.htm#ref_75_26">Result</A> := False;
<b>else</b>
- <A HREF="terminal_interface-curses-termcap__ads.htm#ref_74_26">Value</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_113_7">Txt2</A>);
+ <A HREF="terminal_interface-curses-termcap__ads.htm#ref_74_26">Value</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_113_7">Txt2</A>);
<A HREF="terminal_interface-curses-termcap__ads.htm#ref_75_26">Result</A> := True;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_73_14">Get_String</A>;
@@ -163,19 +163,19 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>function</b> <span class="symbol"><A NAME="ref_148_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_53_13">TGoto</A></span> (<span class="symbol"><A NAME="ref_148_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_53_20">Cap</A></span> : String;
- <span class="symbol"><A NAME="ref_149_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_54_20">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_150_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_55_20">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>) <b>return</b> Termcap_String <b>is</b>
+ <span class="symbol"><A NAME="ref_149_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_54_20">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_150_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_55_20">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>) <b>return</b> Termcap_String <b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_151_16">tgoto</A></span> (<span class="symbol"><A NAME="ref_151_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">cap</A></span> : char_array;
- <span class="symbol"><A NAME="ref_152_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_153_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr;
+ <span class="symbol"><A NAME="ref_152_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_153_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> chars_ptr;
<b>pragma</b> Import (C, tgoto);
<span class="symbol"><A NAME="ref_155_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_53_20">Cap</A>'Length);
<span class="symbol"><A NAME="ref_156_7">Length</A></span> : size_t;
<b>begin</b>
To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_53_20">Cap</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_155_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_156_7">Length</A>);
- <b>return</b> Termcap_String (<A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A>
- (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">tgoto</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_155_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_54_20">Col</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_55_20">Row</A>))));
+ <b>return</b> Termcap_String (<A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A>
+ (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">tgoto</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_155_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_54_20">Col</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_55_20">Row</A>))));
<b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_53_13">TGoto</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-termcap__ads.htm b/doc/html/ada/terminal_interface-curses-termcap__ads.htm
index e57e35a0484b..878b66747973 100644
--- a/doc/html/ada/terminal_interface-curses-termcap__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-termcap__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 2000,2003 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,12 +52,12 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.3 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.4 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_42_35" HREF="terminal_interface-curses-termcap__adb.htm#ref_47_40">Termcap</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_42_35" HREF="terminal_interface-curses-termcap__adb.htm#ref_47_40">Termcap</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page curs_termcap.3x</EM></span>
@@ -68,8 +68,8 @@
<span class="comment"><EM>-- |</EM></span>
<b>function</b> <span class="symbol"><A NAME="ref_53_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_148_13">TGoto</A></span> (<span class="symbol"><A NAME="ref_53_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_148_20">Cap</A></span> : String;
- <span class="symbol"><A NAME="ref_54_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_149_20">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_55_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_150_20">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>) <b>return</b> Termcap_String;
+ <span class="symbol"><A NAME="ref_54_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_149_20">Col</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_55_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_150_20">Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>) <b>return</b> Termcap_String;
<span class="comment"><EM>-- AKA: tgoto()</EM></span>
<span class="comment"><EM>-- |</EM></span>
@@ -94,5 +94,5 @@
<span class="comment"><EM>-- Returns True if the string is found.</EM></span>
<span class="comment"><EM>-- AKA: tgetstr()</EM></span>
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-terminfo__adb.htm b/doc/html/ada/terminal_interface-curses-terminfo__adb.htm
index ea809a32660e..665f8e1547ae 100644
--- a/doc/html/ada/terminal_interface-curses-terminfo__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-terminfo__adb.htm
@@ -57,12 +57,12 @@
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings;
<b>with</b> Ada.Unchecked_Conversion;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_48_40" HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_48_40" HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A></span> <b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_50_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_52_13">Is_MinusOne_Pointer</A></span> (<span class="symbol"><A NAME="ref_50_34" HREF="terminal_interface-curses-terminfo__adb.htm#ref_52_34">P</A></span> : chars_ptr) <b>return</b> Boolean;
@@ -83,13 +83,13 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>function</b> <span class="symbol"><A NAME="ref_67_13" HREF="terminal_interface-curses-terminfo__ads.htm#ref_64_13">Get_Flag</A></span> (<span class="symbol"><A NAME="ref_67_23" HREF="terminal_interface-curses-terminfo__ads.htm#ref_64_23">Name</A></span> : String) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_69_16">tigetflag</A></span> (<span class="symbol"><A NAME="ref_69_27" HREF="terminal_interface-curses-terminfo__adb.htm#ref_69_16">id</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_69_16">tigetflag</A></span> (<span class="symbol"><A NAME="ref_69_27" HREF="terminal_interface-curses-terminfo__adb.htm#ref_69_16">id</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, tigetflag);
<span class="symbol"><A NAME="ref_71_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_64_23">Name</A>'Length);
<span class="symbol"><A NAME="ref_72_7">Length</A></span> : size_t;
<b>begin</b>
To_C (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_64_23">Name</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_71_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_72_7">Length</A>);
- <b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_69_16">tigetflag</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_71_7">Txt</A>) = <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_74_4">Curses_True</A>) <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_69_16">tigetflag</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_71_7">Txt</A>) = <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_True</A>) <b>then</b>
<b>return</b> True;
<b>else</b>
<b>return</b> False;
@@ -112,9 +112,9 @@
<b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_91_7">Txt2</A> = Null_Ptr <b>then</b>
<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_59_26">Result</A> := False;
<b>elsif</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_13">Is_MinusOne_Pointer</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_91_7">Txt2</A>) <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>else</b>
- <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Value</A> := Terminfo_String (<A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_91_7">Txt2</A>));
+ <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Value</A> := Terminfo_String (<A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_91_7">Txt2</A>));
<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_59_26">Result</A> := True;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_57_14">Get_String</A>;
@@ -133,7 +133,7 @@
<b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_112_7">Txt2</A> = Null_Ptr <b>then</b>
<b>return</b> False;
<b>elsif</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_13">Is_MinusOne_Pointer</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_112_7">Txt2</A>) <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
@@ -141,7 +141,7 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>function</b> <span class="symbol"><A NAME="ref_126_13" HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_13">Get_Number</A></span> (<span class="symbol"><A NAME="ref_126_25" HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_25">Name</A></span> : String) <b>return</b> Integer <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_127_16">tigetstr</A></span> (<span class="symbol"><A NAME="ref_127_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_127_16">s</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_127_16">tigetstr</A></span> (<span class="symbol"><A NAME="ref_127_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_127_16">s</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, tigetstr);
<span class="symbol"><A NAME="ref_129_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_25">Name</A>'Length);
<span class="symbol"><A NAME="ref_130_7">Length</A></span> : size_t;
@@ -151,29 +151,29 @@
<b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_13">Get_Number</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_137_14" HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_14">Put_String</A></span> (<span class="symbol"><A NAME="ref_137_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_26">Str</A></span> : Terminfo_String;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_137_14" HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_14">Put_String</A></span> (<span class="symbol"><A NAME="ref_137_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_26">Str</A></span> : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo_String</A>;
<span class="symbol"><A NAME="ref_138_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_77_26">affcnt</A></span> : Natural := 1;
<span class="symbol"><A NAME="ref_139_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_78_26">putc</A></span> : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_71_9">putctype</A> := <b>null</b>) <b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_140_16">tputs</A></span> (<span class="symbol"><A NAME="ref_140_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">str</A></span> : char_array;
- <span class="symbol"><A NAME="ref_141_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">affcnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_142_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">putc</A></span> : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_71_9">putctype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_143_16">putp</A></span> (<span class="symbol"><A NAME="ref_143_22" HREF="terminal_interface-curses-terminfo__adb.htm#ref_143_16">str</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_141_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">affcnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_142_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">putc</A></span> : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_71_9">putctype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_143_16">putp</A></span> (<span class="symbol"><A NAME="ref_143_22" HREF="terminal_interface-curses-terminfo__adb.htm#ref_143_16">str</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, tputs);
<b>pragma</b> Import (C, putp);
<span class="symbol"><A NAME="ref_146_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_26">Str</A>'Length);
<span class="symbol"><A NAME="ref_147_7">Length</A></span> : size_t;
- <span class="symbol"><A NAME="ref_148_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_148_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
To_C (String (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_26">Str</A>), <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_146_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_147_7">Length</A>);
<b>if</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_78_26">putc</A> = <b>null</b> <b>then</b>
<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_148_7">Err</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_143_16">putp</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_146_7">Txt</A>);
<b>else</b>
- <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_148_7">Err</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">tputs</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_146_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_77_26">affcnt</A>), <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_78_26">putc</A>);
+ <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_148_7">Err</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">tputs</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_146_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_77_26">affcnt</A>), <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_78_26">putc</A>);
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_148_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_148_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_14">Put_String</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-terminfo__ads.htm b/doc/html/ada/terminal_interface-curses-terminfo__ads.htm
index fa44003c01fe..edf460de9309 100644
--- a/doc/html/ada/terminal_interface-curses-terminfo__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-terminfo__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 2000,2003 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,14 +52,14 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.3 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.4 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_44_35" HREF="terminal_interface-curses-terminfo__adb.htm#ref_48_40">Terminfo</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_44_35" HREF="terminal_interface-curses-terminfo__adb.htm#ref_48_40">Terminfo</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page curs_terminfo.3x</EM></span>
@@ -85,8 +85,8 @@
<b>function</b> <span class="symbol"><A NAME="ref_68_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_126_13">Get_Number</A></span> (<span class="symbol"><A NAME="ref_68_25" HREF="terminal_interface-curses-terminfo__adb.htm#ref_126_25">Name</A></span> : String) <b>return</b> Integer;
<span class="comment"><EM>-- AKA: tigetnum()</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_71_9">putctype</A></span> <b>is</b> <b>access</b> <b>function</b> (<span class="symbol"><A NAME="ref_71_38">c</A></span> : <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int)
- <b>return</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
+ <b>type</b> <span class="symbol"><A NAME="ref_71_9">putctype</A></span> <b>is</b> <b>access</b> <b>function</b> (<span class="symbol"><A NAME="ref_71_38" HREF="terminal_interface-curses-terminfo__ads.htm#ref_71_9">c</A></span> : <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int)
+ <b>return</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
<b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_71_9">putctype</A>);
<span class="comment"><EM>-- |</EM></span>
@@ -95,5 +95,5 @@
<span class="symbol"><A NAME="ref_78_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_139_26">putc</A></span> : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_71_9">putctype</A> := <b>null</b>);
<span class="comment"><EM>-- AKA: tputs()</EM></span>
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm
index b4fa34cf9f17..79157cc3e75f 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm
@@ -56,10 +56,10 @@
<span class="comment"><EM>-- @Date: 2009/12/26 17:38:58 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_42_48" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_42_48" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A></span> <b>is</b>
<b>procedure</b> <span class="symbol"><A NAME="ref_44_14" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A></span>
- (<span class="symbol"><A NAME="ref_45_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_45_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_46_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A></span> : String;
<span class="symbol"><A NAME="ref_47_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>;
<span class="symbol"><A NAME="ref_48_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_52_7">Signal</A></span> : Boolean := True;
@@ -68,10 +68,10 @@
<span class="symbol"><A NAME="ref_51_7">L</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>;
<span class="symbol"><A NAME="ref_52_7">Len</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>;
<span class="symbol"><A NAME="ref_53_7">W</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Width</A>;
- <span class="symbol"><A NAME="ref_54_7">LC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_55_7">CC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_56_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_57_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_54_7">LC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_55_7">CC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_56_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_57_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_59_17" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_61_17">Output</A></span> (<span class="symbol"><A NAME="ref_59_25" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_61_25">From</A></span>, <span class="symbol"><A NAME="ref_59_31" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_61_31">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>);
@@ -88,8 +88,8 @@
<b>end</b> <b>if</b>;
<b>pragma</b> Assert (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A> &lt;= <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">LC</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_55_7">CC</A>);
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>) &gt; <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_55_7">CC</A> <b>then</b>
+ <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_54_7">LC</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_55_7">CC</A>);
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>) &gt; <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_55_7">CC</A> <b>then</b>
<b>if</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_52_7">Signal</A> <b>then</b>
<b>raise</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_134_4">Layout_Error</A>;
<b>else</b>
@@ -104,8 +104,8 @@
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_84_22">Filler</A>);
<b>end</b>;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses__ads.htm#ref_1245_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_56_7">Y</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_57_7">X</A>);
- <b>if</b> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_57_7">X</A> + <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>)) &gt; <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_55_7">CC</A> <b>then</b>
+ <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_56_7">Y</A>, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_57_7">X</A>);
+ <b>if</b> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_57_7">X</A> + <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>)) &gt; <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_55_7">CC</A> <b>then</b>
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>);
<b>end</b> <b>if</b>;
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A> (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A>, <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_25">From</A> .. <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_31">To</A>));
@@ -122,7 +122,7 @@
<b>end</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_17">Output</A>;
<b>begin</b>
- <b>pragma</b> Assert (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A> /= <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A>);
+ <b>pragma</b> Assert (<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A> /= <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A>);
<b>if</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Ljust</A> <b>then</b>
<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> := 1;
<b>for</b> <span class="symbol"><A NAME="ref_111_14">I</A></span> <b>in</b> 1 .. <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A>'Length <b>loop</b>
@@ -142,5 +142,5 @@
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm
index a15046acf28f..eff7081c4d3b 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm
@@ -56,18 +56,18 @@
<span class="comment"><EM>-- @Date: 2009/12/26 17:38:58 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>private</b> <b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_42_51" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_42_48">Aux</A></span> <b>is</b>
+<b>private</b> <b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_42_51" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_42_48">Aux</A></span> <b>is</b>
<span class="comment"><EM>-- pragma Preelaborate (Aux);</EM></span>
<span class="comment"><EM>-- This routine is called from the Text_IO output routines for numeric</EM></span>
<span class="comment"><EM>-- and enumeration types.</EM></span>
<span class="comment"><EM>--</EM></span>
<b>procedure</b> <span class="symbol"><A NAME="ref_48_14" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_44_14">Put_Buf</A></span>
- (<span class="symbol"><A NAME="ref_49_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_45_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="comment"><EM>-- The output window</EM></span>
+ (<span class="symbol"><A NAME="ref_49_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_45_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="comment"><EM>-- The output window</EM></span>
<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_46_7">Buf</A></span> : String; <span class="comment"><EM>-- The buffer containing the text</EM></span>
<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_47_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>; <span class="comment"><EM>-- The width of the output field</EM></span>
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_48_7">Signal</A></span> : Boolean := True; <span class="comment"><EM>-- If true, we raise Layout_Error</EM></span>
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_49_7">Ljust</A></span> : Boolean := False); <span class="comment"><EM>-- The Buf is left justified</EM></span>
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm
index a76a9f760ef7..baf1c9382e42 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm
@@ -55,15 +55,15 @@
<span class="comment"><EM>-- @Revision: 1.11 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_43_48" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_46_43">Complex_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_43_48" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_46_43">Complex_IO</A></span> <b>is</b>
<b>package</b> FIO <b>is</b> <b>new</b>
- <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A> (Complex_Types.Real'Base);
+ <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A> (Complex_Types.Real'Base);
<b>procedure</b> <span class="symbol"><A NAME="ref_48_14" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_49_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_49_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
Item : Complex;
<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_57_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_50_4">Default_Fore</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Aft</A>;
@@ -87,5 +87,5 @@
<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, Item, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_63_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_64_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_65_7">Exp</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_61_14">Put</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_46_43">Complex_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_46_43">Complex_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm
index d95ecffde873..78bb8c454885 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm
@@ -60,7 +60,7 @@
<b>generic</b>
<b>with</b> <b>package</b> <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_46_43">Complex_Types</A> <b>is</b> <b>new</b> Ada.Numerics.Generic_Complex_Types (&lt;&gt;);
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_46_43" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_43_48">Complex_IO</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_46_43" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_43_48">Complex_IO</A></span> <b>is</b>
<b>use</b> Complex_Types;
@@ -69,7 +69,7 @@
<span class="symbol"><A NAME="ref_52_4">Default_Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 3;
<b>procedure</b> <span class="symbol"><A NAME="ref_54_14" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_48_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_49_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_49_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14">Item</A> : Complex;
<span class="symbol"><A NAME="ref_57_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_51_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_50_4">Default_Fore</A>;
<span class="symbol"><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_52_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_51_4">Default_Aft</A>;
@@ -84,5 +84,5 @@
<b>private</b>
<b>pragma</b> Inline (Put);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_46_43">Complex_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_46_43">Complex_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm
index 27b8299f1487..a1b55815a7b7 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm
@@ -56,15 +56,15 @@
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> Ada.Text_IO;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Decimal_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Decimal_IO</A></span> <b>is</b>
- <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+ <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
<b>package</b> DIO <b>is</b> <b>new</b> Ada.Text_IO.Decimal_IO (<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>);
<b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_50_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_53_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_46_4">Default_Fore</A>;
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Aft</A>;
@@ -89,5 +89,5 @@
<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_7">Item</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_59_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_60_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_61_7">Exp</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_57_14">Put</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Decimal_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Decimal_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm
index a0a622e86013..75a19a128245 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm
@@ -58,14 +58,14 @@
<b>generic</b>
<b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Num</A></span> <b>is</b> <b>delta</b> &lt;&gt; <b>digits</b> &lt;&gt;;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_44_48">Decimal_IO</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_44_48">Decimal_IO</A></span> <b>is</b>
<span class="symbol"><A NAME="ref_46_4">Default_Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>'Fore;
<span class="symbol"><A NAME="ref_47_4">Default_Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>'Aft;
<span class="symbol"><A NAME="ref_48_4">Default_Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 0;
<b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_49_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_51_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>;
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_52_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_46_4">Default_Fore</A>;
<span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_53_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_47_4">Default_Aft</A>;
@@ -80,5 +80,5 @@
<b>private</b>
<b>pragma</b> Inline (Put);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Decimal_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Decimal_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm
index 81eb2bec2716..872a7b12878b 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm
@@ -57,15 +57,15 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> Ada.Text_IO;
<b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_48" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enumeration_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_45_48" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enumeration_IO</A></span> <b>is</b>
- <b>package</b> <span class="symbol"><A NAME="ref_47_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+ <b>package</b> <span class="symbol"><A NAME="ref_47_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
<b>package</b> EIO <b>is</b> <b>new</b> Ada.Text_IO.Enumeration_IO (<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_42_9">Enum</A>);
<b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_49_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_51_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_42_9">Enum</A>;
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_52_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_46_4">Default_Width</A>;
<span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Set</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Setting</A>)
@@ -94,5 +94,5 @@
<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_49_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_7">Item</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_57_7">Width</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_58_7">Set</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_55_14">Put</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enumeration_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enumeration_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm
index 767f1a96d7e1..68fbb658d892 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm
@@ -58,13 +58,13 @@
<b>generic</b>
<b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enum</A></span> <b>is</b> (&lt;&gt;);
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_45_48">Enumeration_IO</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_45_48">Enumeration_IO</A></span> <b>is</b>
<span class="symbol"><A NAME="ref_46_4">Default_Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 0;
<span class="symbol"><A NAME="ref_47_4">Default_Setting</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_46">Mixed_Case</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_50_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_42_9">Enum</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_53_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_46_4">Default_Width</A>;
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_54_7">Set</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_9">Type_Set</A> := <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_47_4">Default_Setting</A>);
@@ -77,5 +77,5 @@
<b>private</b>
<b>pragma</b> Inline (Put);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enumeration_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enumeration_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm
index 5911efb756b4..e6d9b342b9f2 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm
@@ -56,15 +56,15 @@
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> Ada.Text_IO;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Fixed_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Fixed_IO</A></span> <b>is</b>
- <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+ <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
<b>package</b> FIXIO <b>is</b> <b>new</b> Ada.Text_IO.Fixed_IO (<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>);
<b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_50_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_53_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_46_4">Default_Fore</A>;
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Aft</A>;
@@ -89,5 +89,5 @@
<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_7">Item</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_59_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_60_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_61_7">Exp</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_57_14">Put</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Fixed_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Fixed_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm
index c719f8872487..e990afeae8b6 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm
@@ -58,14 +58,14 @@
<b>generic</b>
<b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Num</A></span> <b>is</b> <b>delta</b> &lt;&gt;;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_44_48">Fixed_IO</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_44_48">Fixed_IO</A></span> <b>is</b>
<span class="symbol"><A NAME="ref_46_4">Default_Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>'Fore;
<span class="symbol"><A NAME="ref_47_4">Default_Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>'Aft;
<span class="symbol"><A NAME="ref_48_4">Default_Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 0;
<b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_49_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_51_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>;
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_52_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_46_4">Default_Fore</A>;
<span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_53_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_47_4">Default_Aft</A>;
@@ -80,5 +80,5 @@
<b>private</b>
<b>pragma</b> Inline (Put);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Fixed_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Fixed_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm
index 6c1c53d1b150..2f1690fd49e8 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm
@@ -56,15 +56,15 @@
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> Ada.Text_IO;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A></span> <b>is</b>
- <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+ <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
<b>package</b> FIO <b>is</b> <b>new</b> Ada.Text_IO.Float_IO (<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>);
<b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_52_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_53_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_46_4">Default_Fore</A>;
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Aft</A>;
@@ -90,5 +90,5 @@
<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_58_7">Item</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_59_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_60_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_61_7">Exp</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_57_14">Put</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm
index 54816ac0a98a..23f93b07b79c 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm
@@ -58,14 +58,14 @@
<b>generic</b>
<b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Num</A></span> <b>is</b> <b>digits</b> &lt;&gt;;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_44_48">Float_IO</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_44_48">Float_IO</A></span> <b>is</b>
<span class="symbol"><A NAME="ref_46_4">Default_Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 2;
<span class="symbol"><A NAME="ref_47_4">Default_Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>'<b>Digits</b> - 1;
<span class="symbol"><A NAME="ref_48_4">Default_Exp</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 3;
<b>procedure</b> <span class="symbol"><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_49_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_51_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>;
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_52_7">Fore</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_46_4">Default_Fore</A>;
<span class="symbol"><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_53_7">Aft</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_47_4">Default_Aft</A>;
@@ -80,5 +80,5 @@
<b>private</b>
<b>pragma</b> Inline (Put);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm
index d06ba9fc5f83..f4c984c75659 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm
@@ -56,15 +56,15 @@
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> Ada.Text_IO;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Integer_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Integer_IO</A></span> <b>is</b>
- <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+ <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
<b>package</b> IIO <b>is</b> <b>new</b> Ada.Text_IO.Integer_IO (<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>);
<b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_49_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_51_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_52_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_46_4">Default_Width</A>;
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_53_7">Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Base</A>)
@@ -84,5 +84,5 @@
<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_49_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_7">Item</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_57_7">Width</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_58_7">Base</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_55_14">Put</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Integer_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Integer_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm
index 4fc793114fcb..e4b1c7b6a221 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm
@@ -58,13 +58,13 @@
<b>generic</b>
<b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Num</A></span> <b>is</b> <b>range</b> &lt;&gt;;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_44_48">Integer_IO</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_44_48">Integer_IO</A></span> <b>is</b>
<span class="symbol"><A NAME="ref_46_4">Default_Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>'Width;
<span class="symbol"><A NAME="ref_47_4">Default_Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := 10;
<b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_49_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_51_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_52_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_46_4">Default_Width</A>;
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_53_7">Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_47_4">Default_Base</A>);
@@ -77,5 +77,5 @@
<b>private</b>
<b>pragma</b> Inline (Put);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Integer_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Integer_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm
index 19aeaf2cba85..af4b222867fe 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm
@@ -56,15 +56,15 @@
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> Ada.Text_IO;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Modular_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Modular_IO</A></span> <b>is</b>
- <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
+ <b>package</b> <span class="symbol"><A NAME="ref_46_12">Aux</A></span> <b>renames</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A>;
<b>package</b> MIO <b>is</b> <b>new</b> Ada.Text_IO.Modular_IO (<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>);
<b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_49_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_51_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_52_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_46_4">Default_Width</A>;
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_53_7">Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Base</A>)
@@ -84,5 +84,5 @@
<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_49_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_7">Item</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_57_7">Width</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_58_7">Base</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_55_14">Put</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Modular_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Modular_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm
index 8d485adc656d..1552b0c57452 100644
--- a/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm
@@ -58,13 +58,13 @@
<b>generic</b>
<b>type</b> <span class="symbol"><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Num</A></span> <b>is</b> <b>mod</b> &lt;&gt;;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_44_48">Modular_IO</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<span class="symbol"><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_44_48">Modular_IO</A></span> <b>is</b>
<span class="symbol"><A NAME="ref_46_4">Default_Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>'Width;
<span class="symbol"><A NAME="ref_47_4">Default_Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := 10;
<b>procedure</b> <span class="symbol"><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_49_14">Put</A></span>
- (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_50_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_51_7">Item</A></span> : <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>;
<span class="symbol"><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_52_7">Width</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_46_4">Default_Width</A>;
<span class="symbol"><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_53_7">Base</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_47_4">Default_Base</A>);
@@ -77,5 +77,5 @@
<b>private</b>
<b>pragma</b> Inline (Put);
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Modular_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>.<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Modular_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io__adb.htm b/doc/html/ada/terminal_interface-curses-text_io__adb.htm
index f53067fe7294..fb818d034116 100644
--- a/doc/html/ada/terminal_interface-curses-text_io__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,35 +52,35 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.20 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/22 23:38:49 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.22 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:32:18 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_42_40" HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_42_40" HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A></span> <b>is</b>
- <span class="symbol"><A NAME="ref_44_4">Default_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A>;
+ <span class="symbol"><A NAME="ref_44_4">Default_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_59_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_46_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_59_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_46_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_59_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_46_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_59_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
<b>is</b>
<b>begin</b>
<A HREF="terminal_interface-curses-text_io__adb.htm#ref_44_4">Default_Window</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_59_26">Win</A>;
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_59_14">Set_Window</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_52_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_52_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
<b>is</b>
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_44_4">Default_Window</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b>
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
+ <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_44_4">Default_Window</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
<b>else</b>
<b>return</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_44_4">Default_Window</A>;
<b>end</b> <b>if</b>;
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>;
<b>pragma</b> Inline (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>);
- <b>procedure</b> <span class="symbol"><A NAME="ref_63_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_65_14">Flush</A></span> (<span class="symbol"><A NAME="ref_63_21" HREF="terminal_interface-curses-text_io__ads.htm#ref_65_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_63_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_65_14">Flush</A></span> (<span class="symbol"><A NAME="ref_63_21" HREF="terminal_interface-curses-text_io__ads.htm#ref_65_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1046_14">Refresh</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_65_21">Win</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1215_14">Refresh</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_65_21">Win</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_65_14">Flush</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_69_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</A></span>
@@ -98,12 +98,12 @@
<span class="comment"><EM>-- A scroll-window is interpreted as an page with unbounded page length,</EM></span>
<span class="comment"><EM>-- i.e. it returns the conventional 0 as page length.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_84_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_77_13">Line_Length</A></span> (<span class="symbol"><A NAME="ref_84_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_77_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_84_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_77_13">Line_Length</A></span> (<span class="symbol"><A NAME="ref_84_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_77_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_86_7">N_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_87_7">N_Cols</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_86_7">N_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_87_7">N_Cols</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_77_26">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_86_7">N_Lines</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_87_7">N_Cols</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_77_26">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_86_7">N_Lines</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_87_7">N_Cols</A>);
<span class="comment"><EM>-- if Natural (N_Cols) &gt; Natural (Count'Last) then</EM></span>
<span class="comment"><EM>-- raise Layout_Error;</EM></span>
<span class="comment"><EM>-- end if;</EM></span>
@@ -116,15 +116,15 @@
<b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_77_13">Line_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_102_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A></span> (<span class="symbol"><A NAME="ref_102_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_80_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_102_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A></span> (<span class="symbol"><A NAME="ref_102_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_80_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_104_7">N_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_105_7">N_Cols</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_104_7">N_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_105_7">N_Cols</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1023_13">Scrolling_Allowed</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_26">Win</A>) <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_26">Win</A>) <b>then</b>
<b>return</b> 0;
<b>else</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_26">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_104_7">N_Lines</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_105_7">N_Cols</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_26">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_104_7">N_Lines</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_105_7">N_Cols</A>);
<span class="comment"><EM>-- if Natural (N_Lines) &gt; Natural (Count'Last) then</EM></span>
<span class="comment"><EM>-- raise Layout_Error;</EM></span>
<span class="comment"><EM>-- end if;</EM></span>
@@ -141,7 +141,7 @@
<span class="comment"><EM>------------------------------------</EM></span>
<span class="comment"><EM>-- Column, Line, and Page Control --</EM></span>
<span class="comment"><EM>------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_127_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_127_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_127_38" HREF="terminal_interface-curses-text_io__ads.htm#ref_86_38">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_127_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_127_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_127_38" HREF="terminal_interface-curses-text_io__ads.htm#ref_86_38">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1)
<b>is</b>
<span class="symbol"><A NAME="ref_129_7">P_Size</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A>);
<b>begin</b>
@@ -153,7 +153,7 @@
<b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_129_7">P_Size</A> &gt; 0 <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_101_13">Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A>) &gt;= <A HREF="terminal_interface-curses-text_io__adb.htm#ref_129_7">P_Size</A> <b>then</b>
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A>);
<b>else</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_529_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A>, ASCII.LF);
+ <A HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A>, ASCII.LF);
<b>end</b> <b>if</b>;
<b>end</b> <b>loop</b>;
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A>;
@@ -164,10 +164,10 @@
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_24">Spacing</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_150_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A></span> (<span class="symbol"><A NAME="ref_150_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_89_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_150_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A></span> (<span class="symbol"><A NAME="ref_150_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_89_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1081_14">Clear</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_24">Win</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_24">Win</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_156_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</A></span>
@@ -176,20 +176,20 @@
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_162_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_92_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_162_23" HREF="terminal_interface-curses-text_io__ads.htm#ref_92_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_162_38" HREF="terminal_interface-curses-text_io__ads.htm#ref_92_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_162_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_92_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_162_23" HREF="terminal_interface-curses-text_io__ads.htm#ref_92_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_162_38" HREF="terminal_interface-curses-text_io__ads.htm#ref_92_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>)
<b>is</b>
- <span class="symbol"><A NAME="ref_164_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_165_7">X1</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_166_7">X2</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_164_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_165_7">X1</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_166_7">X2</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
<span class="symbol"><A NAME="ref_167_7">N</A></span> : Natural;
<b>begin</b>
<b>if</b> <b>not</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_38">To</A>'Valid <b>then</b>
<b>raise</b> Constraint_Error;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses__ads.htm#ref_1245_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_23">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_164_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_165_7">X1</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_23">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_164_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_165_7">X1</A>);
<A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">N</A> := Natural (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_38">To</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">N</A> - 1;
- <A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X2</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">N</A>);
+ <A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X2</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_167_7">N</A>);
<b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_165_7">X1</A> &gt; <A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X2</A> <b>then</b>
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_23">Win</A>, 1);
<A HREF="terminal_interface-curses-text_io__adb.htm#ref_165_7">X1</A> := 0;
@@ -210,21 +210,21 @@
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_14">Set_Col</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_93_23">To</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_196_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_95_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_196_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_95_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_196_38" HREF="terminal_interface-curses-text_io__ads.htm#ref_95_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_196_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_95_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_196_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_95_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_196_38" HREF="terminal_interface-curses-text_io__ads.htm#ref_95_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>)
<b>is</b>
- <span class="symbol"><A NAME="ref_198_7">Y1</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_199_7">Y2</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_200_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_198_7">Y1</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_199_7">Y2</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_200_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
<span class="symbol"><A NAME="ref_201_7">N</A></span> : Natural;
<b>begin</b>
<b>if</b> <b>not</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_38">To</A>'Valid <b>then</b>
<b>raise</b> Constraint_Error;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses__ads.htm#ref_1245_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_24">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_198_7">Y1</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_200_7">X</A>);
- <b>pragma</b> Unreferenced (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_200_7">X</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_24">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_198_7">Y1</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_200_7">X</A>);
+ <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_200_7">X</A>); <span class="comment"><EM>-- unreferenced</EM></span>
<A HREF="terminal_interface-curses-text_io__adb.htm#ref_201_7">N</A> := Natural (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_38">To</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_201_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_201_7">N</A> - 1;
- <A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y2</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_201_7">N</A>);
+ <A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y2</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_201_7">N</A>);
<b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y2</A> &lt; <A HREF="terminal_interface-curses-text_io__adb.htm#ref_198_7">Y1</A> <b>then</b>
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_24">Win</A>);
<A HREF="terminal_interface-curses-text_io__adb.htm#ref_198_7">Y1</A> := 0;
@@ -240,13 +240,13 @@
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_14">Set_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_96_24">To</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_226_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_98_13">Col</A></span> (<span class="symbol"><A NAME="ref_226_18" HREF="terminal_interface-curses-text_io__ads.htm#ref_98_18">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_226_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_98_13">Col</A></span> (<span class="symbol"><A NAME="ref_226_18" HREF="terminal_interface-curses-text_io__ads.htm#ref_98_18">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_228_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_229_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_228_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_229_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
<span class="symbol"><A NAME="ref_230_7">N</A></span> : Natural;
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1245_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_98_18">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_228_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_229_7">X</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_98_18">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_228_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_229_7">X</A>);
<A HREF="terminal_interface-curses-text_io__adb.htm#ref_230_7">N</A> := Natural (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_229_7">X</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_230_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_230_7">N</A> + 1;
<span class="comment"><EM>-- if N &gt; Natural (Count'Last) then</EM></span>
<span class="comment"><EM>-- raise Layout_Error;</EM></span>
@@ -260,13 +260,13 @@
<b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_98_13">Col</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_246_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_101_13">Line</A></span> (<span class="symbol"><A NAME="ref_246_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_101_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_246_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_101_13">Line</A></span> (<span class="symbol"><A NAME="ref_246_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_101_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_248_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_249_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_248_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_249_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
<span class="symbol"><A NAME="ref_250_7">N</A></span> : Natural;
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1245_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_101_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_248_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_249_7">X</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_101_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_248_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_249_7">X</A>);
<A HREF="terminal_interface-curses-text_io__adb.htm#ref_250_7">N</A> := Natural (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_248_7">Y</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_250_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_250_7">N</A> + 1;
<span class="comment"><EM>-- if N &gt; Natural (Count'Last) then</EM></span>
<span class="comment"><EM>-- raise Layout_Error;</EM></span>
@@ -284,22 +284,22 @@
<span class="comment"><EM>-- Characters Output --</EM></span>
<span class="comment"><EM>-----------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_270_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A></span> (<span class="symbol"><A NAME="ref_270_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_270_34" HREF="terminal_interface-curses-text_io__ads.htm#ref_108_34">Item</A></span> : Character)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_270_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A></span> (<span class="symbol"><A NAME="ref_270_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_270_34" HREF="terminal_interface-curses-text_io__ads.htm#ref_108_34">Item</A></span> : Character)
<b>is</b>
<span class="symbol"><A NAME="ref_272_7">P_Size</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>);
- <span class="symbol"><A NAME="ref_273_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_274_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_275_7">L</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_276_7">C</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_273_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_274_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_275_7">L</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_276_7">C</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_272_7">P_Size</A> &gt; 0 <b>then</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1245_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_273_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_274_7">X</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_275_7">L</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_276_7">C</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_273_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_274_7">X</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_275_7">L</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_276_7">C</A>);
<b>if</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_273_7">Y</A> + 1) = <A HREF="terminal_interface-curses-text_io__adb.htm#ref_275_7">L</A> <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_274_7">X</A> + 1) = <A HREF="terminal_interface-curses-text_io__adb.htm#ref_276_7">C</A> <b>then</b>
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>);
<b>end</b> <b>if</b>;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses__ads.htm#ref_529_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_34">Item</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_34">Item</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_288_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</A></span> (<span class="symbol"><A NAME="ref_288_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_109_19">Item</A></span> : Character)
@@ -312,22 +312,22 @@
<span class="comment"><EM>-- Strings-Output --</EM></span>
<span class="comment"><EM>--------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_298_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A></span> (<span class="symbol"><A NAME="ref_298_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_298_34" HREF="terminal_interface-curses-text_io__ads.htm#ref_115_34">Item</A></span> : String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_298_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A></span> (<span class="symbol"><A NAME="ref_298_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_298_34" HREF="terminal_interface-curses-text_io__ads.htm#ref_115_34">Item</A></span> : String)
<b>is</b>
<span class="symbol"><A NAME="ref_300_7">P_Size</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A> := <A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>);
- <span class="symbol"><A NAME="ref_301_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_302_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_303_7">L</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_304_7">C</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_301_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_302_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_303_7">L</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_304_7">C</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
<b>begin</b>
<b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_300_7">P_Size</A> &gt; 0 <b>then</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1245_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_301_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_302_7">X</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_303_7">L</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_304_7">C</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_301_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_302_7">X</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_303_7">L</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_304_7">C</A>);
<b>if</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_301_7">Y</A> + 1) = <A HREF="terminal_interface-curses-text_io__adb.htm#ref_303_7">L</A> <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_302_7">X</A> + 1 + <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_34">Item</A>'Length) &gt;= <A HREF="terminal_interface-curses-text_io__adb.htm#ref_304_7">C</A> <b>then</b>
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>);
<b>end</b> <b>if</b>;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses__ads.htm#ref_654_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_34">Item</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_34">Item</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_316_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A></span> (<span class="symbol"><A NAME="ref_316_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_116_19">Item</A></span> : String)
@@ -337,7 +337,7 @@
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A>;
<b>procedure</b> <span class="symbol"><A NAME="ref_322_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_118_14">Put_Line</A></span>
- (<span class="symbol"><A NAME="ref_323_7" HREF="terminal_interface-curses-text_io__ads.htm#ref_119_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_323_7" HREF="terminal_interface-curses-text_io__ads.htm#ref_119_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_324_7" HREF="terminal_interface-curses-text_io__ads.htm#ref_120_7">Item</A></span> : String)
<b>is</b>
<b>begin</b>
@@ -352,5 +352,5 @@
<A HREF="terminal_interface-curses-text_io__ads.htm#ref_118_14">Put_Line</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_123_7">Item</A>);
<b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_122_14">Put_Line</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-text_io__ads.htm b/doc/html/ada/terminal_interface-curses-text_io__ads.htm
index ac2fa990e7d8..f95e359f27f6 100644
--- a/doc/html/ada/terminal_interface-curses-text_io__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-text_io__ads.htm
@@ -58,7 +58,7 @@
<b>with</b> Ada.Text_IO;
<b>with</b> Ada.IO_Exceptions;
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_44_35" HREF="terminal_interface-curses-text_io__adb.htm#ref_42_40">Text_IO</A></span> <b>is</b>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_44_35" HREF="terminal_interface-curses-text_io__adb.htm#ref_42_40">Text_IO</A></span> <b>is</b>
<b>use</b> <b>type</b> Ada.Text_IO.Count;
<b>subtype</b> <span class="symbol"><A NAME="ref_47_12">Count</A></span> <b>is</b> Ada.Text_IO.Count;
@@ -73,13 +73,13 @@
<span class="comment"><EM>-- type parameter. They will operate on a default window, which can</EM></span>
<span class="comment"><EM>-- be set by the user. It is initially equal to Standard_Window.</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_46_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_59_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_46_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_59_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_46_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_59_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_46_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<span class="comment"><EM>-- Set Win as the default window</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_52_13">Get_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_52_13">Get_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- Get the current default window</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_65_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_63_14">Flush</A></span> (<span class="symbol"><A NAME="ref_65_21" HREF="terminal_interface-curses-text_io__adb.htm#ref_63_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_65_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_63_14">Flush</A></span> (<span class="symbol"><A NAME="ref_65_21" HREF="terminal_interface-curses-text_io__adb.htm#ref_63_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<b>procedure</b> <span class="symbol"><A NAME="ref_66_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_69_14">Flush</A></span>;
<span class="comment"><EM>--------------------------------------------</EM></span>
@@ -91,49 +91,49 @@
<span class="comment"><EM>-- A scroll-window is interpreted as an page with unbounded page length,</EM></span>
<span class="comment"><EM>-- i.e. it returns the conventional 0 as page length.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_77_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_84_13">Line_Length</A></span> (<span class="symbol"><A NAME="ref_77_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_84_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_77_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_84_13">Line_Length</A></span> (<span class="symbol"><A NAME="ref_77_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_84_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>;
<b>function</b> <span class="symbol"><A NAME="ref_78_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_96_13">Line_Length</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_80_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_102_13">Page_Length</A></span> (<span class="symbol"><A NAME="ref_80_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_102_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_80_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_102_13">Page_Length</A></span> (<span class="symbol"><A NAME="ref_80_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_102_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>;
<b>function</b> <span class="symbol"><A NAME="ref_81_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_118_13">Page_Length</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>;
<span class="comment"><EM>------------------------------------</EM></span>
<span class="comment"><EM>-- Column, Line, and Page Control --</EM></span>
<span class="comment"><EM>------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_86_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_127_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_86_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_127_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_86_38" HREF="terminal_interface-curses-text_io__adb.htm#ref_127_38">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_86_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_127_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_86_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_127_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_86_38" HREF="terminal_interface-curses-text_io__adb.htm#ref_127_38">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1);
<b>procedure</b> <span class="symbol"><A NAME="ref_87_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_144_14">New_Line</A></span> (<span class="symbol"><A NAME="ref_87_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_144_24">Spacing</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1);
- <b>procedure</b> <span class="symbol"><A NAME="ref_89_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_150_14">New_Page</A></span> (<span class="symbol"><A NAME="ref_89_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_150_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_89_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_150_14">New_Page</A></span> (<span class="symbol"><A NAME="ref_89_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_150_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<b>procedure</b> <span class="symbol"><A NAME="ref_90_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_156_14">New_Page</A></span>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_92_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_162_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_92_23" HREF="terminal_interface-curses-text_io__adb.htm#ref_162_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_92_38" HREF="terminal_interface-curses-text_io__adb.htm#ref_162_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_92_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_162_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_92_23" HREF="terminal_interface-curses-text_io__adb.htm#ref_162_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_92_38" HREF="terminal_interface-curses-text_io__adb.htm#ref_162_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
<b>procedure</b> <span class="symbol"><A NAME="ref_93_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_190_14">Set_Col</A></span> (<span class="symbol"><A NAME="ref_93_23" HREF="terminal_interface-curses-text_io__adb.htm#ref_190_23">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
- <b>procedure</b> <span class="symbol"><A NAME="ref_95_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_196_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_95_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_196_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_95_38" HREF="terminal_interface-curses-text_io__adb.htm#ref_196_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_95_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_196_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_95_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_196_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_95_38" HREF="terminal_interface-curses-text_io__adb.htm#ref_196_38">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
<b>procedure</b> <span class="symbol"><A NAME="ref_96_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_220_14">Set_Line</A></span> (<span class="symbol"><A NAME="ref_96_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_220_24">To</A></span> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
- <b>function</b> <span class="symbol"><A NAME="ref_98_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_226_13">Col</A></span> (<span class="symbol"><A NAME="ref_98_18" HREF="terminal_interface-curses-text_io__adb.htm#ref_226_18">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_98_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_226_13">Col</A></span> (<span class="symbol"><A NAME="ref_98_18" HREF="terminal_interface-curses-text_io__adb.htm#ref_226_18">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>;
<b>function</b> <span class="symbol"><A NAME="ref_99_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_240_13">Col</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_101_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_246_13">Line</A></span> (<span class="symbol"><A NAME="ref_101_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_246_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_101_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_246_13">Line</A></span> (<span class="symbol"><A NAME="ref_101_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_246_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>;
<b>function</b> <span class="symbol"><A NAME="ref_102_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_260_13">Line</A></span> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>;
<span class="comment"><EM>-----------------------</EM></span>
<span class="comment"><EM>-- Characters-Output --</EM></span>
<span class="comment"><EM>-----------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_108_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_270_14">Put</A></span> (<span class="symbol"><A NAME="ref_108_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_270_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_108_34" HREF="terminal_interface-curses-text_io__adb.htm#ref_270_34">Item</A></span> : Character);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_108_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_270_14">Put</A></span> (<span class="symbol"><A NAME="ref_108_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_270_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_108_34" HREF="terminal_interface-curses-text_io__adb.htm#ref_270_34">Item</A></span> : Character);
<b>procedure</b> <span class="symbol"><A NAME="ref_109_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_288_14">Put</A></span> (<span class="symbol"><A NAME="ref_109_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_288_19">Item</A></span> : Character);
<span class="comment"><EM>--------------------</EM></span>
<span class="comment"><EM>-- Strings-Output --</EM></span>
<span class="comment"><EM>--------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_115_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_298_14">Put</A></span> (<span class="symbol"><A NAME="ref_115_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_298_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_115_34" HREF="terminal_interface-curses-text_io__adb.htm#ref_298_34">Item</A></span> : String);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_115_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_298_14">Put</A></span> (<span class="symbol"><A NAME="ref_115_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_298_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_115_34" HREF="terminal_interface-curses-text_io__adb.htm#ref_298_34">Item</A></span> : String);
<b>procedure</b> <span class="symbol"><A NAME="ref_116_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_316_14">Put</A></span> (<span class="symbol"><A NAME="ref_116_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_316_19">Item</A></span> : String);
<b>procedure</b> <span class="symbol"><A NAME="ref_118_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_322_14">Put_Line</A></span>
- (<span class="symbol"><A NAME="ref_119_7" HREF="terminal_interface-curses-text_io__adb.htm#ref_323_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_119_7" HREF="terminal_interface-curses-text_io__adb.htm#ref_323_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_120_7" HREF="terminal_interface-curses-text_io__adb.htm#ref_324_7">Item</A></span> : String);
<b>procedure</b> <span class="symbol"><A NAME="ref_122_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_331_14">Put_Line</A></span>
@@ -150,5 +150,5 @@
<span class="symbol"><A NAME="ref_133_4">Data_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Data_Error;
<span class="symbol"><A NAME="ref_134_4">Layout_Error</A></span> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Layout_Error;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-trace__adb.htm b/doc/html/ada/terminal_interface-curses-trace__adb.htm
index 106aa5d643da..ecae414574c4 100644
--- a/doc/html/ada/terminal_interface-curses-trace__adb.htm
+++ b/doc/html/ada/terminal_interface-curses-trace__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000-2004,2009 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 2000-2009,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,44 +52,27 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.7 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.11 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
-<b>with</b> Ada.Unchecked_Conversion;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_45_40" HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_43_40" HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A></span> <b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_47_9">C_TraceType</A></span> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_59_12">C_UInt</A>;
-
- <b>function</b> TraceAda_To_TraceC <b>is</b> <b>new</b>
- Ada.Unchecked_Conversion (Source =&gt; <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>,
- Target =&gt; <A HREF="terminal_interface-curses-trace__adb.htm#ref_47_9">C_TraceType</A>);
-
- <b>procedure</b> <span class="symbol"><A NAME="ref_53_14" HREF="terminal_interface-curses-trace__ads.htm#ref_105_14">Trace_On</A></span> (<span class="symbol"><A NAME="ref_53_24" HREF="terminal_interface-curses-trace__ads.htm#ref_105_24">x</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>) <b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_54_17">traceC</A></span> (<span class="symbol"><A NAME="ref_54_25" HREF="terminal_interface-curses-trace__adb.htm#ref_54_17">y</A></span> : <A HREF="terminal_interface-curses-trace__adb.htm#ref_47_9">C_TraceType</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_45_14" HREF="terminal_interface-curses-trace__ads.htm#ref_114_14">Trace_On</A></span> (<span class="symbol"><A NAME="ref_45_24" HREF="terminal_interface-curses-trace__ads.htm#ref_114_24">x</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A>) <b>is</b>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_46_17">traceC</A></span> (<span class="symbol"><A NAME="ref_46_25" HREF="terminal_interface-curses-trace__adb.htm#ref_46_17">y</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A>);
<b>pragma</b> Import (C, traceC, "trace");
<b>begin</b>
- <A HREF="terminal_interface-curses-trace__adb.htm#ref_54_17">traceC</A> (TraceAda_To_TraceC (<A HREF="terminal_interface-curses-trace__ads.htm#ref_105_24">x</A>));
- <b>end</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_105_14">Trace_On</A>;
-
- <span class="comment"><EM>-- 75. (12) A C function that takes a variable number of arguments can</EM></span>
- <span class="comment"><EM>-- correspond to several Ada subprograms, taking various specific</EM></span>
- <span class="comment"><EM>-- numbers and types of parameters.</EM></span>
+ <A HREF="terminal_interface-curses-trace__adb.htm#ref_46_17">traceC</A> (<A HREF="terminal_interface-curses-trace__ads.htm#ref_114_24">x</A>);
+ <b>end</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_114_14">Trace_On</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_64_14" HREF="terminal_interface-curses-trace__ads.htm#ref_109_14">Trace_Put</A></span> (<span class="symbol"><A NAME="ref_64_25" HREF="terminal_interface-curses-trace__ads.htm#ref_109_25">str</A></span> : String) <b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_65_17">tracef</A></span> (<span class="symbol"><A NAME="ref_65_25" HREF="terminal_interface-curses-trace__adb.htm#ref_65_17">format</A></span> : char_array; <span class="symbol"><A NAME="ref_65_46" HREF="terminal_interface-curses-trace__adb.htm#ref_65_17">s</A></span> : char_array);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_52_14" HREF="terminal_interface-curses-trace__ads.htm#ref_118_14">Trace_Put</A></span> (<span class="symbol"><A NAME="ref_52_25" HREF="terminal_interface-curses-trace__ads.htm#ref_118_25">str</A></span> : String) <b>is</b>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_53_17">tracef</A></span> (<span class="symbol"><A NAME="ref_53_25" HREF="terminal_interface-curses-trace__adb.htm#ref_53_17">format</A></span> : char_array; <span class="symbol"><A NAME="ref_53_46" HREF="terminal_interface-curses-trace__adb.htm#ref_53_17">s</A></span> : char_array);
<b>pragma</b> Import (C, tracef, "_traces");
- <span class="symbol"><A NAME="ref_67_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-trace__ads.htm#ref_109_25">str</A>'Length);
- <span class="symbol"><A NAME="ref_68_7">Length</A></span> : size_t;
- <span class="symbol"><A NAME="ref_69_7">formatstr</A></span> : <b>constant</b> String := "%s" &amp; ASCII.NUL;
- <span class="symbol"><A NAME="ref_70_7">formattxt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-trace__adb.htm#ref_69_7">formatstr</A>'Length);
+ <span class="comment"><EM>-- _traces() is defined in c_varargs_to_ada.h</EM></span>
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses-trace__adb.htm#ref_69_7">formatstr</A>, <A HREF="terminal_interface-curses-trace__adb.htm#ref_70_7">formattxt</A>, <A HREF="terminal_interface-curses-trace__adb.htm#ref_68_7">Length</A>);
- To_C (<A HREF="terminal_interface-curses-trace__ads.htm#ref_109_25">str</A>, <A HREF="terminal_interface-curses-trace__adb.htm#ref_67_7">Txt</A>, <A HREF="terminal_interface-curses-trace__adb.htm#ref_68_7">Length</A>);
- <A HREF="terminal_interface-curses-trace__adb.htm#ref_65_17">tracef</A> (<A HREF="terminal_interface-curses-trace__adb.htm#ref_70_7">formattxt</A>, <A HREF="terminal_interface-curses-trace__adb.htm#ref_67_7">Txt</A>);
- <b>end</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_109_14">Trace_Put</A>;
+ <A HREF="terminal_interface-curses-trace__adb.htm#ref_53_17">tracef</A> (To_C ("%s"), To_C (<A HREF="terminal_interface-curses-trace__ads.htm#ref_118_25">str</A>));
+ <b>end</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_118_14">Trace_Put</A>;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-trace__ads.htm b/doc/html/ada/terminal_interface-curses-trace__ads.htm
index 5c6895a9d1cf..caa479fc64e5 100644
--- a/doc/html/ada/terminal_interface-curses-trace__ads.htm
+++ b/doc/html/ada/terminal_interface-curses-trace__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 2000 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 2000,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,65 +52,74 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Eugene V. Melaragno &lt;aldomel@ix.netcom.com&gt; 2000</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.1 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.4 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_42_35" HREF="terminal_interface-curses-trace__adb.htm#ref_45_40">Trace</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A>);
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<span class="symbol"><A NAME="ref_42_35" HREF="terminal_interface-curses-trace__adb.htm#ref_43_40">Trace</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A>);
- <b>pragma</b> Warnings (Off);
- <b>type</b> <span class="symbol"><A NAME="ref_46_9">Trace_Attribute_Set</A></span> <b>is</b>
+ <b>type</b> <span class="symbol"><A NAME="ref_45_9">Trace_Attribute_Set</A></span> <b>is</b>
<b>record</b>
- <span class="symbol"><A NAME="ref_48_10">Times</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_49_10">Tputs</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_50_10">Update</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_51_10">Cursor_Move</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_52_10">Character_Output</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_53_10">Calls</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_54_10">Virtual_Puts</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_55_10">Input_Events</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_56_10">TTY_State</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_57_10">Internal_Calls</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_58_10">Character_Calls</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_59_10">Termcap_TermInfo</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_60_10">Attributes_And_Colors</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_47_10">Times</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_48_10">Tputs</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_49_10">Update</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_50_10">Cursor_Move</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_51_10">Character_Output</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_52_10">Calls</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_53_10">Virtual_Puts</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_54_10">Input_Events</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_55_10">TTY_State</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_56_10">Internal_Calls</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_57_10">Character_Calls</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_58_10">Termcap_TermInfo</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_59_10">Attribute_Color</A></span> : Boolean;
<b>end</b> <b>record</b>;
- <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>);
+ <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A>);
- <b>for</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A> <b>use</b>
+ <b>for</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A> <b>use</b>
<b>record</b>
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_48_10">Times</A> <b>at</b> 0 <b>range</b> 0 .. 0;
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_49_10">Tputs</A> <b>at</b> 0 <b>range</b> 1 .. 1;
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_50_10">Update</A> <b>at</b> 0 <b>range</b> 2 .. 2;
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_51_10">Cursor_Move</A> <b>at</b> 0 <b>range</b> 3 .. 3;
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_52_10">Character_Output</A> <b>at</b> 0 <b>range</b> 4 .. 4;
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_53_10">Calls</A> <b>at</b> 0 <b>range</b> 5 .. 5;
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_54_10">Virtual_Puts</A> <b>at</b> 0 <b>range</b> 6 .. 6;
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_55_10">Input_Events</A> <b>at</b> 0 <b>range</b> 7 .. 7;
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_56_10">TTY_State</A> <b>at</b> 0 <b>range</b> 8 .. 8;
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_57_10">Internal_Calls</A> <b>at</b> 0 <b>range</b> 9 .. 9;
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_58_10">Character_Calls</A> <b>at</b> 0 <b>range</b> 10 .. 10;
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_59_10">Termcap_TermInfo</A> <b>at</b> 0 <b>range</b> 11 .. 11;
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_60_10">Attributes_And_Colors</A> <b>at</b> 0 <b>range</b> 12 .. 12;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_47_10">Times</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_356_4">TRACE_TIMES_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_357_4">TRACE_TIMES_Last</A>;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_48_10">Tputs</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_358_4">TRACE_TPUTS_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_359_4">TRACE_TPUTS_Last</A>;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_49_10">Update</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_360_4">TRACE_UPDATE_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_361_4">TRACE_UPDATE_Last</A>;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_50_10">Cursor_Move</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_362_4">TRACE_MOVE_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_363_4">TRACE_MOVE_Last</A>;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_51_10">Character_Output</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_364_4">TRACE_CHARPUT_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_365_4">TRACE_CHARPUT_Last</A>;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_52_10">Calls</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_366_4">TRACE_CALLS_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_367_4">TRACE_CALLS_Last</A>;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_53_10">Virtual_Puts</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_368_4">TRACE_VIRTPUT_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_369_4">TRACE_VIRTPUT_Last</A>;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_54_10">Input_Events</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_370_4">TRACE_IEVENT_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_371_4">TRACE_IEVENT_Last</A>;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_55_10">TTY_State</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_372_4">TRACE_BITS_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_373_4">TRACE_BITS_Last</A>;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_56_10">Internal_Calls</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_374_4">TRACE_ICALLS_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_375_4">TRACE_ICALLS_Last</A>;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_57_10">Character_Calls</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_376_4">TRACE_CCALLS_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_377_4">TRACE_CCALLS_Last</A>;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_58_10">Termcap_TermInfo</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_378_4">TRACE_DATABASE_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_379_4">TRACE_DATABASE_Last</A>;
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_59_10">Attribute_Color</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_380_4">TRACE_ATTRS_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_381_4">TRACE_ATTRS_Last</A>;
<b>end</b> <b>record</b>;
- <b>pragma</b> Warnings (Off); <b>for</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>'Size <b>use</b> 32;
- <b>pragma</b> Warnings (On);
- <span class="comment"><EM>-- Please note: this rep. clause is generated and may be</EM></span>
- <span class="comment"><EM>-- different on your system.</EM></span>
-
+ <b>pragma</b> Warnings (Off);
+ <b>for</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_382_4">Trace_Size</A>;
<b>pragma</b> Warnings (On);
- <span class="symbol"><A NAME="ref_87_4">Trace_Disable</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A> := (<b>others</b> =&gt; False);
+ <span class="symbol"><A NAME="ref_96_4">Trace_Disable</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A> := (<b>others</b> =&gt; False);
- <span class="symbol"><A NAME="ref_89_4">Trace_Ordinary</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A> :=
- (<A HREF="terminal_interface-curses-trace__ads.htm#ref_48_10">Times</A> =&gt; True,
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_49_10">Tputs</A> =&gt; True,
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_50_10">Update</A> =&gt; True,
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_51_10">Cursor_Move</A> =&gt; True,
- <A HREF="terminal_interface-curses-trace__ads.htm#ref_52_10">Character_Output</A> =&gt; True,
+ <span class="symbol"><A NAME="ref_98_4">Trace_Ordinary</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A> :=
+ (<A HREF="terminal_interface-curses-trace__ads.htm#ref_47_10">Times</A> =&gt; True,
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_48_10">Tputs</A> =&gt; True,
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_49_10">Update</A> =&gt; True,
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_50_10">Cursor_Move</A> =&gt; True,
+ <A HREF="terminal_interface-curses-trace__ads.htm#ref_51_10">Character_Output</A> =&gt; True,
<b>others</b> =&gt; False);
- <span class="symbol"><A NAME="ref_96_4">Trace_Maximum</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A> := (<b>others</b> =&gt; True);
+ <span class="symbol"><A NAME="ref_105_4">Trace_Maximum</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A> := (<b>others</b> =&gt; True);
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
@@ -118,16 +127,16 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_1"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_105_14" HREF="terminal_interface-curses-trace__adb.htm#ref_53_14">Trace_On</A></span> (<span class="symbol"><A NAME="ref_105_24" HREF="terminal_interface-curses-trace__adb.htm#ref_53_24">x</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_114_14" HREF="terminal_interface-curses-trace__adb.htm#ref_45_14">Trace_On</A></span> (<span class="symbol"><A NAME="ref_114_24" HREF="terminal_interface-curses-trace__adb.htm#ref_45_24">x</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A>);
<span class="comment"><EM>-- The debugging library has trace.</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_2"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_109_14" HREF="terminal_interface-curses-trace__adb.htm#ref_64_14">Trace_Put</A></span> (<span class="symbol"><A NAME="ref_109_25" HREF="terminal_interface-curses-trace__adb.htm#ref_64_25">str</A></span> : String);
+ <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_118_14" HREF="terminal_interface-curses-trace__adb.htm#ref_52_14">Trace_Put</A></span> (<span class="symbol"><A NAME="ref_118_25" HREF="terminal_interface-curses-trace__adb.htm#ref_52_25">str</A></span> : String);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_trace.3x.html">_tracef()</A></EM></span>
- <span class="symbol"><A NAME="ref_112_4">Current_Trace_Setting</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>;
- <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-trace__ads.htm#ref_112_4">Current_Trace_Setting</A>, "_nc_tracing");
+ <span class="symbol"><A NAME="ref_121_4">Current_Trace_Setting</A></span> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_45_9">Trace_Attribute_Set</A>;
+ <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-trace__ads.htm#ref_121_4">Current_Trace_Setting</A>, "_nc_tracing");
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses__adb.htm b/doc/html/ada/terminal_interface-curses__adb.htm
index a54b7eea20bb..067a9178d415 100644
--- a/doc/html/ada/terminal_interface-curses__adb.htm
+++ b/doc/html/ada/terminal_interface-curses__adb.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- B O D Y --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2014,2018 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,2429 +52,2428 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.8 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/22 23:02:14 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.15 @</EM></span>
+<span class="comment"><EM>-- @Date: 2018/07/07 23:28:45 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> System;
-<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings;
<b>with</b> Ada.Characters.Handling; <b>use</b> Ada.Characters.Handling;
<b>with</b> Ada.Strings.Fixed;
-<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_50_33" HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A></span> <b>is</b>
+<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_50_33" HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A></span> <b>is</b>
- <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
- <b>use</b> <b>type</b> System.Bit_Order;
+ <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
- <b>package</b> <span class="symbol"><A NAME="ref_55_12">ASF</A></span> <b>renames</b> Ada.Strings.Fixed;
+ <b>package</b> <span class="symbol"><A NAME="ref_54_12">ASF</A></span> <b>renames</b> Ada.Strings.Fixed;
<b>type</b> chtype_array <b>is</b> <b>array</b> (size_t <b>range</b> &lt;&gt;)
- <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>;
+ <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Convention (C, chtype_array);
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses__ads.htm#ref_1617_13">Key_Name</A></span> (<span class="symbol"><A NAME="ref_62_23" HREF="terminal_interface-curses__ads.htm#ref_1617_23">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>) <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_61_13" HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A></span> (<span class="symbol"><A NAME="ref_61_23" HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>) <b>return</b> String
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_64_16">Keyname</A></span> (<span class="symbol"><A NAME="ref_64_25" HREF="terminal_interface-curses__adb.htm#ref_64_16">K</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_63_16">Keyname</A></span> (<span class="symbol"><A NAME="ref_63_25" HREF="terminal_interface-curses__adb.htm#ref_63_16">K</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Keyname, "keyname");
- <span class="symbol"><A NAME="ref_67_7">Ch</A></span> : Character;
+ <span class="symbol"><A NAME="ref_66_7">Ch</A></span> : Character;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1617_23">Key</A> &lt;= Character'Pos (Character'Last) <b>then</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A> := Character'Val (<A HREF="terminal_interface-curses__ads.htm#ref_1617_23">Key</A>);
- <b>if</b> Is_Control (<A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>) <b>then</b>
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1628_13">Un_Control</A> (<A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>));
- <b>elsif</b> Is_Graphic (<A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>) <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A> &lt;= Character'Pos (Character'Last) <b>then</b>
+ <A HREF="terminal_interface-curses__adb.htm#ref_66_7">Ch</A> := Character'Val (<A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A>);
+ <b>if</b> Is_Control (<A HREF="terminal_interface-curses__adb.htm#ref_66_7">Ch</A>) <b>then</b>
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1797_13">Un_Control</A> (<A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_66_7">Ch</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
+ <b>elsif</b> Is_Graphic (<A HREF="terminal_interface-curses__adb.htm#ref_66_7">Ch</A>) <b>then</b>
<b>declare</b>
- <span class="symbol"><A NAME="ref_77_16">S</A></span> : String (1 .. 1);
+ <span class="symbol"><A NAME="ref_76_16">S</A></span> : String (1 .. 1);
<b>begin</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_77_16">S</A> (1) := <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>;
- <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_77_16">S</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_76_16">S</A> (1) := <A HREF="terminal_interface-curses__adb.htm#ref_66_7">Ch</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_76_16">S</A>;
<b>end</b>;
<b>else</b>
<b>return</b> "";
<b>end</b> <b>if</b>;
<b>else</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_64_16">Keyname</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1617_23">Key</A>)));
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_63_16">Keyname</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A>)));
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1617_13">Key_Name</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_90_14" HREF="terminal_interface-curses__ads.htm#ref_1611_14">Key_Name</A></span> (<span class="symbol"><A NAME="ref_90_24" HREF="terminal_interface-curses__ads.htm#ref_1611_24">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>;
- <span class="symbol"><A NAME="ref_91_24" HREF="terminal_interface-curses__ads.htm#ref_1612_24">Name</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_89_14" HREF="terminal_interface-curses__ads.htm#ref_1780_14">Key_Name</A></span> (<span class="symbol"><A NAME="ref_89_24" HREF="terminal_interface-curses__ads.htm#ref_1780_24">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>;
+ <span class="symbol"><A NAME="ref_90_24" HREF="terminal_interface-curses__ads.htm#ref_1781_24">Name</A></span> : <b>out</b> String)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_55_12">ASF</A>.Move (<A HREF="terminal_interface-curses__ads.htm#ref_1617_13">Key_Name</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1611_24">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1612_24">Name</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1611_14">Key_Name</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_54_12">ASF</A>.Move (<A HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1780_24">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1781_24">Name</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1780_14">Key_Name</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_98_14" HREF="terminal_interface-curses__ads.htm#ref_487_14">Init_Screen</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_97_14" HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_100_16">Initscr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_99_16">Initscr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Initscr, "initscr");
- <span class="symbol"><A NAME="ref_103_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="symbol"><A NAME="ref_102_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_103_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_100_16">Initscr</A>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_103_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_102_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_99_16">Initscr</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_102_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_14">Init_Screen</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_111_14" HREF="terminal_interface-curses__ads.htm#ref_496_14">End_Windows</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_110_14" HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_113_16">Endwin</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_112_16">Endwin</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Endwin, "endwin");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_113_16">Endwin</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_112_16">Endwin</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_496_14">End_Windows</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_121_13" HREF="terminal_interface-curses__ads.htm#ref_503_13">Is_End_Window</A></span> <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_120_13" HREF="terminal_interface-curses__ads.htm#ref_672_13">Is_End_Window</A></span> <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_123_16">Isendwin</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_122_16">Isendwin</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, Isendwin, "isendwin");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_123_16">Isendwin</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1926_4">Curses_Bool_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_122_16">Isendwin</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_503_13">Is_End_Window</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_672_13">Is_End_Window</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_133_14" HREF="terminal_interface-curses__ads.htm#ref_512_14">Move_Cursor</A></span> (<span class="symbol"><A NAME="ref_133_27" HREF="terminal_interface-curses__ads.htm#ref_512_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_134_27" HREF="terminal_interface-curses__ads.htm#ref_513_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_135_27" HREF="terminal_interface-curses__ads.htm#ref_514_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
- <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_137_16">Wmove</A></span> (<span class="symbol"><A NAME="ref_137_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_138_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_139_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>
- ) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_132_14" HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A></span> (<span class="symbol"><A NAME="ref_132_27" HREF="terminal_interface-curses__ads.htm#ref_681_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_133_27" HREF="terminal_interface-curses__ads.htm#ref_682_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_134_27" HREF="terminal_interface-curses__ads.htm#ref_683_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+ <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_136_16">Wmove</A></span> (<span class="symbol"><A NAME="ref_136_23" HREF="terminal_interface-curses__adb.htm#ref_136_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_137_23" HREF="terminal_interface-curses__adb.htm#ref_136_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_138_23" HREF="terminal_interface-curses__adb.htm#ref_136_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>
+ ) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wmove, "wmove");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_137_16">Wmove</A> (<A HREF="terminal_interface-curses__ads.htm#ref_512_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_513_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_514_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_136_16">Wmove</A> (<A HREF="terminal_interface-curses__ads.htm#ref_681_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_682_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_683_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_512_14">Move_Cursor</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_148_14" HREF="terminal_interface-curses__ads.htm#ref_524_14">Add</A></span> (<span class="symbol"><A NAME="ref_148_19" HREF="terminal_interface-curses__ads.htm#ref_524_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_149_19" HREF="terminal_interface-curses__ads.htm#ref_525_19">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_147_14" HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A></span> (<span class="symbol"><A NAME="ref_147_19" HREF="terminal_interface-curses__ads.htm#ref_693_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_148_19" HREF="terminal_interface-curses__ads.htm#ref_694_19">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_151_16">Waddch</A></span> (<span class="symbol"><A NAME="ref_151_24" HREF="terminal_interface-curses__adb.htm#ref_151_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_152_24" HREF="terminal_interface-curses__adb.htm#ref_151_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_150_16">Waddch</A></span> (<span class="symbol"><A NAME="ref_150_24" HREF="terminal_interface-curses__adb.htm#ref_150_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_151_24" HREF="terminal_interface-curses__adb.htm#ref_150_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Waddch, "waddch");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_151_16">Waddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_524_19">Win</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses__ads.htm#ref_525_19">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_150_16">Waddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_693_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_694_19">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_524_14">Add</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_160_14" HREF="terminal_interface-curses__ads.htm#ref_529_14">Add</A></span> (<span class="symbol"><A NAME="ref_160_19" HREF="terminal_interface-curses__ads.htm#ref_529_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_161_19" HREF="terminal_interface-curses__ads.htm#ref_530_19">Ch</A></span> : Character)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_159_14" HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A></span> (<span class="symbol"><A NAME="ref_159_19" HREF="terminal_interface-curses__ads.htm#ref_698_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_160_19" HREF="terminal_interface-curses__ads.htm#ref_699_19">Ch</A></span> : Character)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_524_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_529_19">Win</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_530_19">Ch</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_529_14">Add</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_698_19">Win</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_699_19">Ch</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_170_14" HREF="terminal_interface-curses__ads.htm#ref_535_14">Add</A></span>
- (<span class="symbol"><A NAME="ref_171_7" HREF="terminal_interface-curses__ads.htm#ref_536_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_172_7" HREF="terminal_interface-curses__ads.htm#ref_537_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_173_7" HREF="terminal_interface-curses__ads.htm#ref_538_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_174_7" HREF="terminal_interface-curses__ads.htm#ref_539_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_169_14" HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A></span>
+ (<span class="symbol"><A NAME="ref_170_7" HREF="terminal_interface-curses__ads.htm#ref_705_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_171_7" HREF="terminal_interface-curses__ads.htm#ref_706_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_172_7" HREF="terminal_interface-curses__ads.htm#ref_707_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_173_7" HREF="terminal_interface-curses__ads.htm#ref_708_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_176_16">mvwaddch</A></span> (<span class="symbol"><A NAME="ref_176_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_177_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">Y</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_178_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">X</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_179_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_175_16">mvwaddch</A></span> (<span class="symbol"><A NAME="ref_175_26" HREF="terminal_interface-curses__adb.htm#ref_175_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_176_26" HREF="terminal_interface-curses__adb.htm#ref_175_16">Y</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_177_26" HREF="terminal_interface-curses__adb.htm#ref_175_16">X</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_178_26" HREF="terminal_interface-curses__adb.htm#ref_175_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, mvwaddch, "mvwaddch");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_176_16">mvwaddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_536_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_537_7">Line</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_538_7">Column</A>),
- AttrChar_To_Chtype (<A HREF="terminal_interface-curses__ads.htm#ref_539_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_175_16">mvwaddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_705_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_706_7">Line</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_707_7">Column</A>),
+ <A HREF="terminal_interface-curses__ads.htm#ref_708_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_535_14">Add</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_189_14" HREF="terminal_interface-curses__ads.htm#ref_543_14">Add</A></span>
- (<span class="symbol"><A NAME="ref_190_7" HREF="terminal_interface-curses__ads.htm#ref_544_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_191_7" HREF="terminal_interface-curses__ads.htm#ref_545_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_192_7" HREF="terminal_interface-curses__ads.htm#ref_546_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_193_7" HREF="terminal_interface-curses__ads.htm#ref_547_7">Ch</A></span> : Character)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_189_14" HREF="terminal_interface-curses__ads.htm#ref_712_14">Add</A></span>
+ (<span class="symbol"><A NAME="ref_190_7" HREF="terminal_interface-curses__ads.htm#ref_713_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_191_7" HREF="terminal_interface-curses__ads.htm#ref_714_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_192_7" HREF="terminal_interface-curses__ads.htm#ref_715_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_193_7" HREF="terminal_interface-curses__ads.htm#ref_716_7">Ch</A></span> : Character)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_535_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_544_7">Win</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_545_7">Line</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_546_7">Column</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_547_7">Ch</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_543_14">Add</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_713_7">Win</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_714_7">Line</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_715_7">Column</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_716_7">Ch</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_712_14">Add</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_204_14" HREF="terminal_interface-curses__ads.htm#ref_552_14">Add_With_Immediate_Echo</A></span>
- (<span class="symbol"><A NAME="ref_205_7" HREF="terminal_interface-curses__ads.htm#ref_553_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_206_7" HREF="terminal_interface-curses__ads.htm#ref_554_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_204_14" HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A></span>
+ (<span class="symbol"><A NAME="ref_205_7" HREF="terminal_interface-curses__ads.htm#ref_722_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_206_7" HREF="terminal_interface-curses__ads.htm#ref_723_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_208_16">Wechochar</A></span> (<span class="symbol"><A NAME="ref_208_27" HREF="terminal_interface-curses__adb.htm#ref_208_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_209_27" HREF="terminal_interface-curses__adb.htm#ref_208_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_208_16">Wechochar</A></span> (<span class="symbol"><A NAME="ref_208_27" HREF="terminal_interface-curses__adb.htm#ref_208_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_209_27" HREF="terminal_interface-curses__adb.htm#ref_208_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wechochar, "wechochar");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_208_16">Wechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_553_7">Win</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses__ads.htm#ref_554_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_208_16">Wechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_722_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_723_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_552_14">Add_With_Immediate_Echo</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_217_14" HREF="terminal_interface-curses__ads.htm#ref_558_14">Add_With_Immediate_Echo</A></span>
- (<span class="symbol"><A NAME="ref_218_7" HREF="terminal_interface-curses__ads.htm#ref_559_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_219_7" HREF="terminal_interface-curses__ads.htm#ref_560_7">Ch</A></span> : Character)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_217_14" HREF="terminal_interface-curses__ads.htm#ref_727_14">Add_With_Immediate_Echo</A></span>
+ (<span class="symbol"><A NAME="ref_218_7" HREF="terminal_interface-curses__ads.htm#ref_728_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_219_7" HREF="terminal_interface-curses__ads.htm#ref_729_7">Ch</A></span> : Character)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_552_14">Add_With_Immediate_Echo</A>
- (<A HREF="terminal_interface-curses__ads.htm#ref_559_7">Win</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_560_7">Ch</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_558_14">Add_With_Immediate_Echo</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A>
+ (<A HREF="terminal_interface-curses__ads.htm#ref_728_7">Win</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_729_7">Ch</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_727_14">Add_With_Immediate_Echo</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_229_13" HREF="terminal_interface-curses__ads.htm#ref_570_13">Create</A></span> (<span class="symbol"><A NAME="ref_229_21" HREF="terminal_interface-curses__ads.htm#ref_571_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_230_21" HREF="terminal_interface-curses__ads.htm#ref_572_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_231_21" HREF="terminal_interface-curses__ads.htm#ref_573_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_232_21" HREF="terminal_interface-curses__ads.htm#ref_574_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
- <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_234_16">Newwin</A></span> (<span class="symbol"><A NAME="ref_234_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_235_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_236_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_237_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_229_13" HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A></span> (<span class="symbol"><A NAME="ref_229_21" HREF="terminal_interface-curses__ads.htm#ref_740_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_230_21" HREF="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_231_21" HREF="terminal_interface-curses__ads.htm#ref_742_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_232_21" HREF="terminal_interface-curses__ads.htm#ref_743_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+ <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_234_16">Newwin</A></span> (<span class="symbol"><A NAME="ref_234_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_235_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_236_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_237_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Newwin, "newwin");
- <span class="symbol"><A NAME="ref_240_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="symbol"><A NAME="ref_240_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_240_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_234_16">Newwin</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_571_7">Number_Of_Lines</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_572_7">Number_Of_Columns</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_573_7">First_Line_Position</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_574_7">First_Column_Position</A>));
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_240_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_240_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_234_16">Newwin</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_740_7">Number_Of_Lines</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Columns</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_742_7">First_Line_Position</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_743_7">First_Column_Position</A>));
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_240_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_240_7">W</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_570_13">Create</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_252_14" HREF="terminal_interface-curses__ads.htm#ref_589_14">Delete</A></span> (<span class="symbol"><A NAME="ref_252_22" HREF="terminal_interface-curses__ads.htm#ref_589_22">Win</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_252_14" HREF="terminal_interface-curses__ads.htm#ref_758_14">Delete</A></span> (<span class="symbol"><A NAME="ref_252_22" HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_254_16">Wdelwin</A></span> (<span class="symbol"><A NAME="ref_254_25" HREF="terminal_interface-curses__adb.htm#ref_254_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_254_16">Wdelwin</A></span> (<span class="symbol"><A NAME="ref_254_25" HREF="terminal_interface-curses__adb.htm#ref_254_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wdelwin, "delwin");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_254_16">Wdelwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_589_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_254_16">Wdelwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses__ads.htm#ref_589_22">Win</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_589_14">Delete</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A> := <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_758_14">Delete</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_263_13" HREF="terminal_interface-curses__ads.htm#ref_595_13">Sub_Window</A></span>
- (<span class="symbol"><A NAME="ref_264_7" HREF="terminal_interface-curses__ads.htm#ref_596_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_265_7" HREF="terminal_interface-curses__ads.htm#ref_597_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_266_7" HREF="terminal_interface-curses__ads.htm#ref_598_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_267_7" HREF="terminal_interface-curses__ads.htm#ref_599_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_268_7" HREF="terminal_interface-curses__ads.htm#ref_600_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_263_13" HREF="terminal_interface-curses__ads.htm#ref_764_13">Sub_Window</A></span>
+ (<span class="symbol"><A NAME="ref_264_7" HREF="terminal_interface-curses__ads.htm#ref_765_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_265_7" HREF="terminal_interface-curses__ads.htm#ref_766_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_266_7" HREF="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_267_7" HREF="terminal_interface-curses__ads.htm#ref_768_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_268_7" HREF="terminal_interface-curses__ads.htm#ref_769_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_270_16">Subwin</A></span>
- (<span class="symbol"><A NAME="ref_271_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_272_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_273_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_274_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_275_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_271_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_272_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_273_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_274_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_275_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Subwin, "subwin");
- <span class="symbol"><A NAME="ref_278_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="symbol"><A NAME="ref_278_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_278_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_270_16">Subwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_596_7">Win</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_597_7">Number_Of_Lines</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_598_7">Number_Of_Columns</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_599_7">First_Line_Position</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_600_7">First_Column_Position</A>));
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_278_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_278_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_270_16">Subwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_765_7">Win</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_766_7">Number_Of_Lines</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Columns</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_768_7">First_Line_Position</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_769_7">First_Column_Position</A>));
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_278_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_278_7">W</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_595_13">Sub_Window</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_764_13">Sub_Window</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_291_13" HREF="terminal_interface-curses__ads.htm#ref_605_13">Derived_Window</A></span>
- (<span class="symbol"><A NAME="ref_292_7" HREF="terminal_interface-curses__ads.htm#ref_606_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_293_7" HREF="terminal_interface-curses__ads.htm#ref_607_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_294_7" HREF="terminal_interface-curses__ads.htm#ref_608_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_295_7" HREF="terminal_interface-curses__ads.htm#ref_609_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_296_7" HREF="terminal_interface-curses__ads.htm#ref_610_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_291_13" HREF="terminal_interface-curses__ads.htm#ref_774_13">Derived_Window</A></span>
+ (<span class="symbol"><A NAME="ref_292_7" HREF="terminal_interface-curses__ads.htm#ref_775_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_293_7" HREF="terminal_interface-curses__ads.htm#ref_776_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_294_7" HREF="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_295_7" HREF="terminal_interface-curses__ads.htm#ref_778_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_296_7" HREF="terminal_interface-curses__ads.htm#ref_779_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
<b>is</b>
<b>function</b> <span class="symbol"><A NAME="ref_298_16">Derwin</A></span>
- (<span class="symbol"><A NAME="ref_299_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_300_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_301_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_302_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_303_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ (<span class="symbol"><A NAME="ref_299_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_300_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_301_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_302_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_303_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Derwin, "derwin");
- <span class="symbol"><A NAME="ref_306_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="symbol"><A NAME="ref_306_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_306_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_298_16">Derwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_606_7">Win</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_607_7">Number_Of_Lines</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_608_7">Number_Of_Columns</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_609_7">First_Line_Position</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_610_7">First_Column_Position</A>));
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_306_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_306_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_298_16">Derwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_775_7">Win</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_776_7">Number_Of_Lines</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Columns</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_778_7">First_Line_Position</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_779_7">First_Column_Position</A>));
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_306_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_306_7">W</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_605_13">Derived_Window</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_774_13">Derived_Window</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_319_13" HREF="terminal_interface-curses__ads.htm#ref_615_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_319_24" HREF="terminal_interface-curses__ads.htm#ref_615_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_319_13" HREF="terminal_interface-curses__ads.htm#ref_784_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_319_24" HREF="terminal_interface-curses__ads.htm#ref_784_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_321_16">Dupwin</A></span> (<span class="symbol"><A NAME="ref_321_24" HREF="terminal_interface-curses__adb.htm#ref_321_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_321_16">Dupwin</A></span> (<span class="symbol"><A NAME="ref_321_24" HREF="terminal_interface-curses__adb.htm#ref_321_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Dupwin, "dupwin");
- <span class="symbol"><A NAME="ref_324_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__adb.htm#ref_321_16">Dupwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_615_24">Win</A>);
+ <span class="symbol"><A NAME="ref_324_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__adb.htm#ref_321_16">Dupwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_784_24">Win</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_324_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_324_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
<b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_324_7">W</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_615_13">Duplicate</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_784_13">Duplicate</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_332_14" HREF="terminal_interface-curses__ads.htm#ref_620_14">Move_Window</A></span> (<span class="symbol"><A NAME="ref_332_27" HREF="terminal_interface-curses__ads.htm#ref_620_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_333_27" HREF="terminal_interface-curses__ads.htm#ref_621_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_334_27" HREF="terminal_interface-curses__ads.htm#ref_622_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_332_14" HREF="terminal_interface-curses__ads.htm#ref_789_14">Move_Window</A></span> (<span class="symbol"><A NAME="ref_332_27" HREF="terminal_interface-curses__ads.htm#ref_789_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_333_27" HREF="terminal_interface-curses__ads.htm#ref_790_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_334_27" HREF="terminal_interface-curses__ads.htm#ref_791_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_336_16">Mvwin</A></span> (<span class="symbol"><A NAME="ref_336_23" HREF="terminal_interface-curses__adb.htm#ref_336_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_337_23" HREF="terminal_interface-curses__adb.htm#ref_336_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_338_23" HREF="terminal_interface-curses__adb.htm#ref_336_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_336_16">Mvwin</A></span> (<span class="symbol"><A NAME="ref_336_23" HREF="terminal_interface-curses__adb.htm#ref_336_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_337_23" HREF="terminal_interface-curses__adb.htm#ref_336_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_338_23" HREF="terminal_interface-curses__adb.htm#ref_336_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Mvwin, "mvwin");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_336_16">Mvwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_620_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_621_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_622_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_336_16">Mvwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_789_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_790_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_791_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_620_14">Move_Window</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_789_14">Move_Window</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_346_14" HREF="terminal_interface-curses__ads.htm#ref_627_14">Move_Derived_Window</A></span> (<span class="symbol"><A NAME="ref_346_35" HREF="terminal_interface-curses__ads.htm#ref_627_35">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_347_35" HREF="terminal_interface-curses__ads.htm#ref_628_35">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_348_35" HREF="terminal_interface-curses__ads.htm#ref_629_35">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_346_14" HREF="terminal_interface-curses__ads.htm#ref_796_14">Move_Derived_Window</A></span> (<span class="symbol"><A NAME="ref_346_35" HREF="terminal_interface-curses__ads.htm#ref_796_35">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_347_35" HREF="terminal_interface-curses__ads.htm#ref_797_35">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_348_35" HREF="terminal_interface-curses__ads.htm#ref_798_35">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_350_16">Mvderwin</A></span> (<span class="symbol"><A NAME="ref_350_26" HREF="terminal_interface-curses__adb.htm#ref_350_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_351_26" HREF="terminal_interface-curses__adb.htm#ref_350_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_352_26" HREF="terminal_interface-curses__adb.htm#ref_350_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_350_16">Mvderwin</A></span> (<span class="symbol"><A NAME="ref_350_26" HREF="terminal_interface-curses__adb.htm#ref_350_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_351_26" HREF="terminal_interface-curses__adb.htm#ref_350_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_352_26" HREF="terminal_interface-curses__adb.htm#ref_350_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Mvderwin, "mvderwin");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_350_16">Mvderwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_627_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_628_35">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_629_35">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_350_16">Mvderwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_796_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_797_35">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_798_35">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_627_14">Move_Derived_Window</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_796_14">Move_Derived_Window</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_360_14" HREF="terminal_interface-curses__ads.htm#ref_644_14">Set_Synch_Mode</A></span> (<span class="symbol"><A NAME="ref_360_30" HREF="terminal_interface-curses__ads.htm#ref_644_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_361_30" HREF="terminal_interface-curses__ads.htm#ref_645_30">Mode</A></span> : Boolean := False)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_360_14" HREF="terminal_interface-curses__ads.htm#ref_813_14">Set_Synch_Mode</A></span> (<span class="symbol"><A NAME="ref_360_30" HREF="terminal_interface-curses__ads.htm#ref_813_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_361_30" HREF="terminal_interface-curses__ads.htm#ref_814_30">Mode</A></span> : Boolean := False)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_363_16">Syncok</A></span> (<span class="symbol"><A NAME="ref_363_24" HREF="terminal_interface-curses__adb.htm#ref_363_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_364_24" HREF="terminal_interface-curses__adb.htm#ref_363_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_363_16">Syncok</A></span> (<span class="symbol"><A NAME="ref_363_24" HREF="terminal_interface-curses__adb.htm#ref_363_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_364_24" HREF="terminal_interface-curses__adb.htm#ref_363_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Syncok, "syncok");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_363_16">Syncok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_644_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_645_30">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_363_16">Syncok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_813_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_814_30">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_644_14">Set_Synch_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_813_14">Set_Synch_Mode</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_372_14" HREF="terminal_interface-curses__ads.htm#ref_654_14">Add</A></span> (<span class="symbol"><A NAME="ref_372_19" HREF="terminal_interface-curses__ads.htm#ref_654_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_373_19" HREF="terminal_interface-curses__ads.htm#ref_655_19">Str</A></span> : String;
- <span class="symbol"><A NAME="ref_374_19" HREF="terminal_interface-curses__ads.htm#ref_656_19">Len</A></span> : Integer := -1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_372_14" HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A></span> (<span class="symbol"><A NAME="ref_372_19" HREF="terminal_interface-curses__ads.htm#ref_823_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_373_19" HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A></span> : String;
+ <span class="symbol"><A NAME="ref_374_19" HREF="terminal_interface-curses__ads.htm#ref_825_19">Len</A></span> : Integer := -1)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_376_16">Waddnstr</A></span> (<span class="symbol"><A NAME="ref_376_26" HREF="terminal_interface-curses__adb.htm#ref_376_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_376_16">Waddnstr</A></span> (<span class="symbol"><A NAME="ref_376_26" HREF="terminal_interface-curses__adb.htm#ref_376_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_377_26" HREF="terminal_interface-curses__adb.htm#ref_376_16">Str</A></span> : char_array;
- <span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses__adb.htm#ref_376_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses__adb.htm#ref_376_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Waddnstr, "waddnstr");
- <span class="symbol"><A NAME="ref_381_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_655_19">Str</A>'Length);
+ <span class="symbol"><A NAME="ref_381_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A>'Length);
<span class="symbol"><A NAME="ref_382_7">Length</A></span> : size_t;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses__ads.htm#ref_655_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_381_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_382_7">Length</A>);
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_376_16">Waddnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_654_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_381_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_656_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ To_C (<A HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_381_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_382_7">Length</A>);
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_376_16">Waddnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_823_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_381_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_825_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_654_14">Add</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_390_14" HREF="terminal_interface-curses__ads.htm#ref_663_14">Add</A></span>
- (<span class="symbol"><A NAME="ref_391_7" HREF="terminal_interface-curses__ads.htm#ref_663_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_392_7" HREF="terminal_interface-curses__ads.htm#ref_664_19">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_393_7" HREF="terminal_interface-curses__ads.htm#ref_665_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_394_7" HREF="terminal_interface-curses__ads.htm#ref_666_19">Str</A></span> : String;
- <span class="symbol"><A NAME="ref_395_7" HREF="terminal_interface-curses__ads.htm#ref_667_19">Len</A></span> : Integer := -1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_390_14" HREF="terminal_interface-curses__ads.htm#ref_832_14">Add</A></span>
+ (<span class="symbol"><A NAME="ref_391_7" HREF="terminal_interface-curses__ads.htm#ref_832_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_392_7" HREF="terminal_interface-curses__ads.htm#ref_833_19">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_393_7" HREF="terminal_interface-curses__ads.htm#ref_834_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_394_7" HREF="terminal_interface-curses__ads.htm#ref_835_19">Str</A></span> : String;
+ <span class="symbol"><A NAME="ref_395_7" HREF="terminal_interface-curses__ads.htm#ref_836_19">Len</A></span> : Integer := -1)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_512_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_663_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_664_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_665_19">Column</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_654_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_663_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_666_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_667_19">Len</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_663_14">Add</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_832_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_833_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_834_19">Column</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_832_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_835_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_836_19">Len</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_832_14">Add</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_402_14" HREF="terminal_interface-curses__ads.htm#ref_678_14">Add</A></span>
- (<span class="symbol"><A NAME="ref_403_7" HREF="terminal_interface-curses__ads.htm#ref_678_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_404_7" HREF="terminal_interface-curses__ads.htm#ref_679_19">Str</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Attributed_String</A>;
- <span class="symbol"><A NAME="ref_405_7" HREF="terminal_interface-curses__ads.htm#ref_680_19">Len</A></span> : Integer := -1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_402_14" HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A></span>
+ (<span class="symbol"><A NAME="ref_403_7" HREF="terminal_interface-curses__ads.htm#ref_847_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_404_7" HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
+ <span class="symbol"><A NAME="ref_405_7" HREF="terminal_interface-curses__ads.htm#ref_849_19">Len</A></span> : Integer := -1)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_407_16">Waddchnstr</A></span> (<span class="symbol"><A NAME="ref_407_28" HREF="terminal_interface-curses__adb.htm#ref_407_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_407_16">Waddchnstr</A></span> (<span class="symbol"><A NAME="ref_407_28" HREF="terminal_interface-curses__adb.htm#ref_407_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="symbol"><A NAME="ref_408_28" HREF="terminal_interface-curses__adb.htm#ref_407_16">Str</A></span> : chtype_array;
- <span class="symbol"><A NAME="ref_409_28" HREF="terminal_interface-curses__adb.htm#ref_407_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_409_28" HREF="terminal_interface-curses__adb.htm#ref_407_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Waddchnstr, "waddchnstr");
- <span class="symbol"><A NAME="ref_412_7">Txt</A></span> : chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_679_19">Str</A>'Length);
+ <span class="symbol"><A NAME="ref_412_7">Txt</A></span> : chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length);
<b>begin</b>
- <b>for</b> <span class="symbol"><A NAME="ref_414_11">Length</A></span> <b>in</b> 1 .. size_t (<A HREF="terminal_interface-curses__ads.htm#ref_679_19">Str</A>'Length) <b>loop</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_412_7">Txt</A> (<A HREF="terminal_interface-curses__adb.htm#ref_414_11">Length</A> - 1) := <A HREF="terminal_interface-curses__ads.htm#ref_679_19">Str</A> (Natural (<A HREF="terminal_interface-curses__adb.htm#ref_414_11">Length</A>));
+ <b>for</b> <span class="symbol"><A NAME="ref_414_11">Length</A></span> <b>in</b> 1 .. size_t (<A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length) <b>loop</b>
+ <A HREF="terminal_interface-curses__adb.htm#ref_412_7">Txt</A> (<A HREF="terminal_interface-curses__adb.htm#ref_414_11">Length</A> - 1) := <A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A> (Natural (<A HREF="terminal_interface-curses__adb.htm#ref_414_11">Length</A>));
<b>end</b> <b>loop</b>;
- <A HREF="terminal_interface-curses__adb.htm#ref_412_7">Txt</A> (<A HREF="terminal_interface-curses__ads.htm#ref_679_19">Str</A>'Length) := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_407_16">Waddchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_678_19">Win</A>,
+ <A HREF="terminal_interface-curses__adb.htm#ref_412_7">Txt</A> (<A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length) := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_407_16">Waddchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_847_19">Win</A>,
<A HREF="terminal_interface-curses__adb.htm#ref_412_7">Txt</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_680_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_849_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_678_14">Add</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_425_14" HREF="terminal_interface-curses__ads.htm#ref_687_14">Add</A></span>
- (<span class="symbol"><A NAME="ref_426_7" HREF="terminal_interface-curses__ads.htm#ref_687_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_427_7" HREF="terminal_interface-curses__ads.htm#ref_688_19">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_428_7" HREF="terminal_interface-curses__ads.htm#ref_689_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_429_7" HREF="terminal_interface-curses__ads.htm#ref_690_19">Str</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Attributed_String</A>;
- <span class="symbol"><A NAME="ref_430_7" HREF="terminal_interface-curses__ads.htm#ref_691_19">Len</A></span> : Integer := -1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_426_14" HREF="terminal_interface-curses__ads.htm#ref_856_14">Add</A></span>
+ (<span class="symbol"><A NAME="ref_427_7" HREF="terminal_interface-curses__ads.htm#ref_856_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_428_7" HREF="terminal_interface-curses__ads.htm#ref_857_19">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_429_7" HREF="terminal_interface-curses__ads.htm#ref_858_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_430_7" HREF="terminal_interface-curses__ads.htm#ref_859_19">Str</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
+ <span class="symbol"><A NAME="ref_431_7" HREF="terminal_interface-curses__ads.htm#ref_860_19">Len</A></span> : Integer := -1)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_512_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_687_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_688_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_689_19">Column</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_678_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_687_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_690_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_691_19">Len</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_687_14">Add</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_856_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_857_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_858_19">Column</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_856_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_859_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_860_19">Len</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_856_14">Add</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_437_14" HREF="terminal_interface-curses__ads.htm#ref_705_14">Border</A></span>
- (<span class="symbol"><A NAME="ref_438_7" HREF="terminal_interface-curses__ads.htm#ref_706_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_439_7" HREF="terminal_interface-curses__ads.htm#ref_707_7">Left_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_440_7" HREF="terminal_interface-curses__ads.htm#ref_708_7">Right_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_441_7" HREF="terminal_interface-curses__ads.htm#ref_709_7">Top_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_442_7" HREF="terminal_interface-curses__ads.htm#ref_710_7">Bottom_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_443_7" HREF="terminal_interface-curses__ads.htm#ref_711_7">Upper_Left_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_444_7" HREF="terminal_interface-curses__ads.htm#ref_712_7">Upper_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_445_7" HREF="terminal_interface-curses__ads.htm#ref_713_7">Lower_Left_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_446_7" HREF="terminal_interface-curses__ads.htm#ref_714_7">Lower_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>)
- <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_448_16">Wborder</A></span> (<span class="symbol"><A NAME="ref_448_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_449_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">LS</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
- <span class="symbol"><A NAME="ref_450_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">RS</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
- <span class="symbol"><A NAME="ref_451_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">TS</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
- <span class="symbol"><A NAME="ref_452_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">BS</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
- <span class="symbol"><A NAME="ref_453_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">ULC</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
- <span class="symbol"><A NAME="ref_454_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">URC</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
- <span class="symbol"><A NAME="ref_455_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">LLC</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
- <span class="symbol"><A NAME="ref_456_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">LRC</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_438_14" HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A></span>
+ (<span class="symbol"><A NAME="ref_439_7" HREF="terminal_interface-curses__ads.htm#ref_875_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_440_7" HREF="terminal_interface-curses__ads.htm#ref_876_7">Left_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_441_7" HREF="terminal_interface-curses__ads.htm#ref_877_7">Right_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_442_7" HREF="terminal_interface-curses__ads.htm#ref_878_7">Top_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_443_7" HREF="terminal_interface-curses__ads.htm#ref_879_7">Bottom_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_444_7" HREF="terminal_interface-curses__ads.htm#ref_880_7">Upper_Left_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_445_7" HREF="terminal_interface-curses__ads.htm#ref_881_7">Upper_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_446_7" HREF="terminal_interface-curses__ads.htm#ref_882_7">Lower_Left_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_447_7" HREF="terminal_interface-curses__ads.htm#ref_883_7">Lower_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
+ <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_449_16">Wborder</A></span> (<span class="symbol"><A NAME="ref_449_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_450_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">LS</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_451_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">RS</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_452_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">TS</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_453_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">BS</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_454_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">ULC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_455_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">URC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_456_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">LLC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_457_25" HREF="terminal_interface-curses__adb.htm#ref_449_16">LRC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wborder, "wborder");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_448_16">Wborder</A> (<A HREF="terminal_interface-curses__ads.htm#ref_706_7">Win</A>,
- AttrChar_To_Chtype (<A HREF="terminal_interface-curses__ads.htm#ref_707_7">Left_Side_Symbol</A>),
- AttrChar_To_Chtype (<A HREF="terminal_interface-curses__ads.htm#ref_708_7">Right_Side_Symbol</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_709_7">Top_Side_Symbol</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_710_7">Bottom_Side_Symbol</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_711_7">Upper_Left_Corner_Symbol</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_712_7">Upper_Right_Corner_Symbol</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_713_7">Lower_Left_Corner_Symbol</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_714_7">Lower_Right_Corner_Symbol</A>)
- ) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_449_16">Wborder</A> (<A HREF="terminal_interface-curses__ads.htm#ref_875_7">Win</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_876_7">Left_Side_Symbol</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_877_7">Right_Side_Symbol</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_878_7">Top_Side_Symbol</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_879_7">Bottom_Side_Symbol</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_880_7">Upper_Left_Corner_Symbol</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_881_7">Upper_Right_Corner_Symbol</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_882_7">Lower_Left_Corner_Symbol</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_883_7">Lower_Right_Corner_Symbol</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
<b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_705_14">Border</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_474_14" HREF="terminal_interface-curses__ads.htm#ref_721_14">Box</A></span>
- (<span class="symbol"><A NAME="ref_475_7" HREF="terminal_interface-curses__ads.htm#ref_722_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses__ads.htm#ref_723_7">Vertical_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_477_7" HREF="terminal_interface-curses__ads.htm#ref_724_7">Horizontal_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_474_14" HREF="terminal_interface-curses__ads.htm#ref_890_14">Box</A></span>
+ (<span class="symbol"><A NAME="ref_475_7" HREF="terminal_interface-curses__ads.htm#ref_891_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses__ads.htm#ref_892_7">Vertical_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_477_7" HREF="terminal_interface-curses__ads.htm#ref_893_7">Horizontal_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_705_14">Border</A> (<A HREF="terminal_interface-curses__ads.htm#ref_722_7">Win</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_723_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_723_7">Vertical_Symbol</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_724_7">Horizontal_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_724_7">Horizontal_Symbol</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_721_14">Box</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A> (<A HREF="terminal_interface-curses__ads.htm#ref_891_7">Win</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_892_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_892_7">Vertical_Symbol</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_893_7">Horizontal_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_893_7">Horizontal_Symbol</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_890_14">Box</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_485_14" HREF="terminal_interface-curses__ads.htm#ref_729_14">Horizontal_Line</A></span>
- (<span class="symbol"><A NAME="ref_486_7" HREF="terminal_interface-curses__ads.htm#ref_730_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_487_7" HREF="terminal_interface-curses__ads.htm#ref_731_7">Line_Size</A></span> : Natural;
- <span class="symbol"><A NAME="ref_488_7" HREF="terminal_interface-curses__ads.htm#ref_732_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_485_14" HREF="terminal_interface-curses__ads.htm#ref_898_14">Horizontal_Line</A></span>
+ (<span class="symbol"><A NAME="ref_486_7" HREF="terminal_interface-curses__ads.htm#ref_899_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_487_7" HREF="terminal_interface-curses__ads.htm#ref_900_7">Line_Size</A></span> : Natural;
+ <span class="symbol"><A NAME="ref_488_7" HREF="terminal_interface-curses__ads.htm#ref_901_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_490_16">Whline</A></span> (<span class="symbol"><A NAME="ref_490_24" HREF="terminal_interface-curses__adb.htm#ref_490_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_491_24" HREF="terminal_interface-curses__adb.htm#ref_490_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
- <span class="symbol"><A NAME="ref_492_24" HREF="terminal_interface-curses__adb.htm#ref_490_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_490_16">Whline</A></span> (<span class="symbol"><A NAME="ref_490_24" HREF="terminal_interface-curses__adb.htm#ref_490_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_491_24" HREF="terminal_interface-curses__adb.htm#ref_490_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_492_24" HREF="terminal_interface-curses__adb.htm#ref_490_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Whline, "whline");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_490_16">Whline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_730_7">Win</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_732_7">Line_Symbol</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_731_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_490_16">Whline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_899_7">Win</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_901_7">Line_Symbol</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_900_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_729_14">Horizontal_Line</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_898_14">Horizontal_Line</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_502_14" HREF="terminal_interface-curses__ads.htm#ref_738_14">Vertical_Line</A></span>
- (<span class="symbol"><A NAME="ref_503_7" HREF="terminal_interface-curses__ads.htm#ref_739_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_504_7" HREF="terminal_interface-curses__ads.htm#ref_740_7">Line_Size</A></span> : Natural;
- <span class="symbol"><A NAME="ref_505_7" HREF="terminal_interface-curses__ads.htm#ref_741_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_503_14" HREF="terminal_interface-curses__ads.htm#ref_907_14">Vertical_Line</A></span>
+ (<span class="symbol"><A NAME="ref_504_7" HREF="terminal_interface-curses__ads.htm#ref_908_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_505_7" HREF="terminal_interface-curses__ads.htm#ref_909_7">Line_Size</A></span> : Natural;
+ <span class="symbol"><A NAME="ref_506_7" HREF="terminal_interface-curses__ads.htm#ref_910_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_507_16">Wvline</A></span> (<span class="symbol"><A NAME="ref_507_24" HREF="terminal_interface-curses__adb.htm#ref_507_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_508_24" HREF="terminal_interface-curses__adb.htm#ref_507_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
- <span class="symbol"><A NAME="ref_509_24" HREF="terminal_interface-curses__adb.htm#ref_507_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_508_16">Wvline</A></span> (<span class="symbol"><A NAME="ref_508_24" HREF="terminal_interface-curses__adb.htm#ref_508_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_509_24" HREF="terminal_interface-curses__adb.htm#ref_508_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_510_24" HREF="terminal_interface-curses__adb.htm#ref_508_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wvline, "wvline");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_507_16">Wvline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_739_7">Win</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_741_7">Line_Symbol</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_740_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_508_16">Wvline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_908_7">Win</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_910_7">Line_Symbol</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_909_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_738_14">Vertical_Line</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_907_14">Vertical_Line</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_520_13" HREF="terminal_interface-curses__ads.htm#ref_752_13">Get_Keystroke</A></span> (<span class="symbol"><A NAME="ref_520_28" HREF="terminal_interface-curses__ads.htm#ref_752_28">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_522_13" HREF="terminal_interface-curses__ads.htm#ref_921_13">Get_Keystroke</A></span> (<span class="symbol"><A NAME="ref_522_28" HREF="terminal_interface-curses__ads.htm#ref_921_28">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_523_16">Wgetch</A></span> (<span class="symbol"><A NAME="ref_523_24" HREF="terminal_interface-curses__adb.htm#ref_523_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_525_16">Wgetch</A></span> (<span class="symbol"><A NAME="ref_525_24" HREF="terminal_interface-curses__adb.htm#ref_525_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wgetch, "wgetch");
- <span class="symbol"><A NAME="ref_526_7">C</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_523_16">Wgetch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_752_28">Win</A>);
+ <span class="symbol"><A NAME="ref_528_7">C</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_525_16">Wgetch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_921_28">Win</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_526_7">C</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_528_7">C</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
<b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_88_4">Key_None</A>;
<b>else</b>
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A> (<A HREF="terminal_interface-curses__adb.htm#ref_526_7">C</A>);
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A> (<A HREF="terminal_interface-curses__adb.htm#ref_528_7">C</A>);
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_752_13">Get_Keystroke</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_921_13">Get_Keystroke</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_535_14" HREF="terminal_interface-curses__ads.htm#ref_763_14">Undo_Keystroke</A></span> (<span class="symbol"><A NAME="ref_535_30" HREF="terminal_interface-curses__ads.htm#ref_763_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_537_14" HREF="terminal_interface-curses__ads.htm#ref_932_14">Undo_Keystroke</A></span> (<span class="symbol"><A NAME="ref_537_30" HREF="terminal_interface-curses__ads.htm#ref_932_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_537_16">Ungetch</A></span> (<span class="symbol"><A NAME="ref_537_25" HREF="terminal_interface-curses__adb.htm#ref_537_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_539_16">Ungetch</A></span> (<span class="symbol"><A NAME="ref_539_25" HREF="terminal_interface-curses__adb.htm#ref_539_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Ungetch, "ungetch");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_537_16">Ungetch</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_763_30">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_539_16">Ungetch</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_932_30">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_763_14">Undo_Keystroke</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_932_14">Undo_Keystroke</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_545_13" HREF="terminal_interface-curses__ads.htm#ref_768_13">Has_Key</A></span> (<span class="symbol"><A NAME="ref_545_22" HREF="terminal_interface-curses__ads.htm#ref_768_22">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_547_13" HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A></span> (<span class="symbol"><A NAME="ref_547_22" HREF="terminal_interface-curses__ads.htm#ref_937_22">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_547_16">Haskey</A></span> (<span class="symbol"><A NAME="ref_547_24" HREF="terminal_interface-curses__adb.htm#ref_547_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_549_16">Haskey</A></span> (<span class="symbol"><A NAME="ref_549_24" HREF="terminal_interface-curses__adb.htm#ref_549_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Haskey, "has_key");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_547_16">Haskey</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_768_22">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Curses_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_549_16">Haskey</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_937_22">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_768_13">Has_Key</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_557_13" HREF="terminal_interface-curses__ads.htm#ref_775_13">Is_Function_Key</A></span> (<span class="symbol"><A NAME="ref_557_30" HREF="terminal_interface-curses__ads.htm#ref_775_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_559_13" HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A></span> (<span class="symbol"><A NAME="ref_559_30" HREF="terminal_interface-curses__ads.htm#ref_944_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>) <b>return</b> Boolean
<b>is</b>
- <span class="symbol"><A NAME="ref_559_7">L</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_98_4">Key_F0</A>) +
- Natural (<A HREF="terminal_interface-curses__ads.htm#ref_779_12">Function_Key_Number</A>'Last));
+ <span class="symbol"><A NAME="ref_561_7">L</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>) +
+ Natural (<A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>'Last));
<b>begin</b>
- <b>if</b> (<A HREF="terminal_interface-curses__ads.htm#ref_775_30">Key</A> &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_98_4">Key_F0</A>) <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses__ads.htm#ref_775_30">Key</A> &lt;= <A HREF="terminal_interface-curses__adb.htm#ref_559_7">L</A>) <b>then</b>
+ <b>if</b> (<A HREF="terminal_interface-curses__ads.htm#ref_944_30">Key</A> &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>) <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses__ads.htm#ref_944_30">Key</A> &lt;= <A HREF="terminal_interface-curses__adb.htm#ref_561_7">L</A>) <b>then</b>
<b>return</b> True;
<b>else</b>
<b>return</b> False;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_775_13">Is_Function_Key</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_569_13" HREF="terminal_interface-curses__ads.htm#ref_782_13">Function_Key</A></span> (<span class="symbol"><A NAME="ref_569_27" HREF="terminal_interface-curses__ads.htm#ref_782_27">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>)
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_779_12">Function_Key_Number</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_571_13" HREF="terminal_interface-curses__ads.htm#ref_951_13">Function_Key</A></span> (<span class="symbol"><A NAME="ref_571_27" HREF="terminal_interface-curses__ads.htm#ref_951_27">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>)
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>
<b>is</b>
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_775_13">Is_Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#ref_782_27">Key</A>) <b>then</b>
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_779_12">Function_Key_Number</A> (<A HREF="terminal_interface-curses__ads.htm#ref_782_27">Key</A> - <A HREF="terminal_interface-curses__ads.htm#ref_98_4">Key_F0</A>);
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#ref_951_27">Key</A>) <b>then</b>
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A> (<A HREF="terminal_interface-curses__ads.htm#ref_951_27">Key</A> - <A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>);
<b>else</b>
<b>raise</b> Constraint_Error;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_782_13">Function_Key</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_951_13">Function_Key</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_580_13" HREF="terminal_interface-curses__ads.htm#ref_787_13">Function_Key_Code</A></span> (<span class="symbol"><A NAME="ref_580_32" HREF="terminal_interface-curses__ads.htm#ref_787_32">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_779_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_582_13" HREF="terminal_interface-curses__ads.htm#ref_956_13">Function_Key_Code</A></span> (<span class="symbol"><A NAME="ref_582_32" HREF="terminal_interface-curses__ads.htm#ref_956_32">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>
<b>is</b>
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_98_4">Key_F0</A>) + Natural (<A HREF="terminal_interface-curses__ads.htm#ref_787_32">Key</A>));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_787_13">Function_Key_Code</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>) + Natural (<A HREF="terminal_interface-curses__ads.htm#ref_956_32">Key</A>));
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_956_13">Function_Key_Code</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_586_14" HREF="terminal_interface-curses__ads.htm#ref_801_14">Standout</A></span> (<span class="symbol"><A NAME="ref_586_24" HREF="terminal_interface-curses__ads.htm#ref_801_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_587_24" HREF="terminal_interface-curses__ads.htm#ref_802_24">On</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_588_14" HREF="terminal_interface-curses__ads.htm#ref_970_14">Standout</A></span> (<span class="symbol"><A NAME="ref_588_24" HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_589_24" HREF="terminal_interface-curses__ads.htm#ref_971_24">On</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_589_16">wstandout</A></span> (<span class="symbol"><A NAME="ref_589_27" HREF="terminal_interface-curses__adb.htm#ref_589_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_591_16">wstandout</A></span> (<span class="symbol"><A NAME="ref_591_27" HREF="terminal_interface-curses__adb.htm#ref_591_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, wstandout, "wstandout");
- <b>function</b> <span class="symbol"><A NAME="ref_591_16">wstandend</A></span> (<span class="symbol"><A NAME="ref_591_27" HREF="terminal_interface-curses__adb.htm#ref_591_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_593_16">wstandend</A></span> (<span class="symbol"><A NAME="ref_593_27" HREF="terminal_interface-curses__adb.htm#ref_593_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, wstandend, "wstandend");
- <span class="symbol"><A NAME="ref_594_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_596_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_802_24">On</A> <b>then</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_594_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_589_16">wstandout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_801_24">Win</A>);
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_971_24">On</A> <b>then</b>
+ <A HREF="terminal_interface-curses__adb.htm#ref_596_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_591_16">wstandout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A>);
<b>else</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_594_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_591_16">wstandend</A> (<A HREF="terminal_interface-curses__ads.htm#ref_801_24">Win</A>);
+ <A HREF="terminal_interface-curses__adb.htm#ref_596_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_593_16">wstandend</A> (<A HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A>);
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_594_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_596_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_801_14">Standout</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_970_14">Standout</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_606_14" HREF="terminal_interface-curses__ads.htm#ref_807_14">Switch_Character_Attribute</A></span>
- (<span class="symbol"><A NAME="ref_607_7" HREF="terminal_interface-curses__ads.htm#ref_808_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_608_7" HREF="terminal_interface-curses__ads.htm#ref_809_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_609_7" HREF="terminal_interface-curses__ads.htm#ref_810_7">On</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_608_14" HREF="terminal_interface-curses__ads.htm#ref_976_14">Switch_Character_Attribute</A></span>
+ (<span class="symbol"><A NAME="ref_609_7" HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_610_7" HREF="terminal_interface-curses__ads.htm#ref_978_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_611_7" HREF="terminal_interface-curses__ads.htm#ref_979_7">On</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_611_16">Wattron</A></span> (<span class="symbol"><A NAME="ref_611_25" HREF="terminal_interface-curses__adb.htm#ref_611_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_612_25" HREF="terminal_interface-curses__adb.htm#ref_611_16">C_Attr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_613_16">Wattron</A></span> (<span class="symbol"><A NAME="ref_613_25" HREF="terminal_interface-curses__adb.htm#ref_613_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_614_25" HREF="terminal_interface-curses__adb.htm#ref_613_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wattron, "wattr_on");
- <b>function</b> <span class="symbol"><A NAME="ref_614_16">Wattroff</A></span> (<span class="symbol"><A NAME="ref_614_26" HREF="terminal_interface-curses__adb.htm#ref_614_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_615_26" HREF="terminal_interface-curses__adb.htm#ref_614_16">C_Attr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_616_16">Wattroff</A></span> (<span class="symbol"><A NAME="ref_616_26" HREF="terminal_interface-curses__adb.htm#ref_616_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_617_26" HREF="terminal_interface-curses__adb.htm#ref_616_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wattroff, "wattr_off");
<span class="comment"><EM>-- In Ada we use the On Boolean to control whether or not we want to</EM></span>
<span class="comment"><EM>-- switch on or off the attributes in the set.</EM></span>
- <span class="symbol"><A NAME="ref_619_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_620_7">AC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; Character'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_809_7">Attr</A>);
+ <span class="symbol"><A NAME="ref_621_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_622_7">AC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_978_7">Attr</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_810_7">On</A> <b>then</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_619_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_611_16">Wattron</A> (<A HREF="terminal_interface-curses__ads.htm#ref_808_7">Win</A>, AttrChar_To_AttrType (<A HREF="terminal_interface-curses__adb.htm#ref_620_7">AC</A>));
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_979_7">On</A> <b>then</b>
+ <A HREF="terminal_interface-curses__adb.htm#ref_621_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_613_16">Wattron</A> (<A HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_622_7">AC</A>);
<b>else</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_619_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_614_16">Wattroff</A> (<A HREF="terminal_interface-curses__ads.htm#ref_808_7">Win</A>, AttrChar_To_AttrType (<A HREF="terminal_interface-curses__adb.htm#ref_620_7">AC</A>));
+ <A HREF="terminal_interface-curses__adb.htm#ref_621_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_616_16">Wattroff</A> (<A HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_622_7">AC</A>);
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_619_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_621_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_807_14">Switch_Character_Attribute</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_976_14">Switch_Character_Attribute</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_634_14" HREF="terminal_interface-curses__ads.htm#ref_818_14">Set_Character_Attributes</A></span>
- (<span class="symbol"><A NAME="ref_635_7" HREF="terminal_interface-curses__ads.htm#ref_819_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_636_7" HREF="terminal_interface-curses__ads.htm#ref_820_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_637_7" HREF="terminal_interface-curses__ads.htm#ref_821_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_636_14" HREF="terminal_interface-curses__ads.htm#ref_987_14">Set_Character_Attributes</A></span>
+ (<span class="symbol"><A NAME="ref_637_7" HREF="terminal_interface-curses__ads.htm#ref_988_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_638_7" HREF="terminal_interface-curses__ads.htm#ref_989_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_639_7" HREF="terminal_interface-curses__ads.htm#ref_990_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_639_16">Wattrset</A></span> (<span class="symbol"><A NAME="ref_639_26" HREF="terminal_interface-curses__adb.htm#ref_639_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_640_26" HREF="terminal_interface-curses__adb.htm#ref_639_16">C_Attr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_641_16">Wattrset</A></span> (<span class="symbol"><A NAME="ref_641_26" HREF="terminal_interface-curses__adb.htm#ref_641_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_642_26" HREF="terminal_interface-curses__adb.htm#ref_641_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wattrset, "wattrset"); <span class="comment"><EM>-- ??? wattr_set</EM></span>
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_639_16">Wattrset</A> (<A HREF="terminal_interface-curses__ads.htm#ref_819_7">Win</A>,
- AttrChar_To_AttrType (<A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>'
- (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; Character'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_821_7">Color</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_820_7">Attr</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_641_16">Wattrset</A> (<A HREF="terminal_interface-curses__ads.htm#ref_988_7">Win</A>, (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_990_7">Color</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_989_7">Attr</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_818_14">Set_Character_Attributes</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_987_14">Set_Character_Attributes</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_652_13" HREF="terminal_interface-curses__ads.htm#ref_827_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_652_38" HREF="terminal_interface-curses__ads.htm#ref_828_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_653_13" HREF="terminal_interface-curses__ads.htm#ref_996_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_653_38" HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_655_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_655_26" HREF="terminal_interface-curses__adb.htm#ref_655_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_656_26" HREF="terminal_interface-curses__adb.htm#ref_655_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>;
- <span class="symbol"><A NAME="ref_657_26" HREF="terminal_interface-curses__adb.htm#ref_655_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <span class="symbol"><A NAME="ref_658_26" HREF="terminal_interface-curses__adb.htm#ref_655_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_656_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_656_26" HREF="terminal_interface-curses__adb.htm#ref_656_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_657_26" HREF="terminal_interface-curses__adb.htm#ref_656_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_658_26" HREF="terminal_interface-curses__adb.htm#ref_656_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_659_26" HREF="terminal_interface-curses__adb.htm#ref_656_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wattrget, "wattr_get");
- <span class="symbol"><A NAME="ref_661_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>;
- <span class="symbol"><A NAME="ref_662_7">Col</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <span class="symbol"><A NAME="ref_663_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_655_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_828_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_661_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_662_7">Col</A>'<b>Access</b>,
+ <span class="symbol"><A NAME="ref_662_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_663_7">Col</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_664_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_656_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_662_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_663_7">Col</A>'<b>Access</b>,
System.Null_Address);
- <span class="symbol"><A NAME="ref_665_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_663_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_4">Curses_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_665_7">Ch</A> := AttrType_To_AttrChar (<A HREF="terminal_interface-curses__adb.htm#ref_661_7">Attr</A>);
- <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_665_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_664_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_62_4">Curses_Ok</A> <b>then</b>
+ <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_662_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
<b>else</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_827_13">Get_Character_Attribute</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_996_13">Get_Character_Attribute</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_675_13" HREF="terminal_interface-curses__ads.htm#ref_833_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_675_38" HREF="terminal_interface-curses__ads.htm#ref_834_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_674_13" HREF="terminal_interface-curses__ads.htm#ref_1002_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_674_38" HREF="terminal_interface-curses__ads.htm#ref_1003_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_678_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_678_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_679_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>;
- <span class="symbol"><A NAME="ref_680_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <span class="symbol"><A NAME="ref_681_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_677_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_677_26" HREF="terminal_interface-curses__adb.htm#ref_677_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_678_26" HREF="terminal_interface-curses__adb.htm#ref_677_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_679_26" HREF="terminal_interface-curses__adb.htm#ref_677_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_680_26" HREF="terminal_interface-curses__adb.htm#ref_677_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wattrget, "wattr_get");
- <span class="symbol"><A NAME="ref_684_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>;
- <span class="symbol"><A NAME="ref_685_7">Col</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <span class="symbol"><A NAME="ref_686_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_678_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_834_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_684_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_685_7">Col</A>'<b>Access</b>,
+ <span class="symbol"><A NAME="ref_683_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_684_7">Col</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_685_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_677_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1003_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_683_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_684_7">Col</A>'<b>Access</b>,
System.Null_Address);
- <span class="symbol"><A NAME="ref_688_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_686_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_71_4">Curses_Ok</A> <b>then</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_688_7">Ch</A> := AttrType_To_AttrChar (<A HREF="terminal_interface-curses__adb.htm#ref_684_7">Attr</A>);
- <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_688_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_685_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_62_4">Curses_Ok</A> <b>then</b>
+ <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_683_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
<b>else</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_833_13">Get_Character_Attribute</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1002_13">Get_Character_Attribute</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_698_14" HREF="terminal_interface-curses__ads.htm#ref_839_14">Set_Color</A></span> (<span class="symbol"><A NAME="ref_698_25" HREF="terminal_interface-curses__ads.htm#ref_839_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_699_25" HREF="terminal_interface-curses__ads.htm#ref_840_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_695_14" HREF="terminal_interface-curses__ads.htm#ref_1008_14">Set_Color</A></span> (<span class="symbol"><A NAME="ref_695_25" HREF="terminal_interface-curses__ads.htm#ref_1008_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_696_25" HREF="terminal_interface-curses__ads.htm#ref_1009_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_701_16">Wset_Color</A></span> (<span class="symbol"><A NAME="ref_701_28" HREF="terminal_interface-curses__adb.htm#ref_701_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_702_28" HREF="terminal_interface-curses__adb.htm#ref_701_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <span class="symbol"><A NAME="ref_703_28" HREF="terminal_interface-curses__adb.htm#ref_701_16">Opts</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_62_12">C_Void_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_698_16">Wset_Color</A></span> (<span class="symbol"><A NAME="ref_698_28" HREF="terminal_interface-curses__adb.htm#ref_698_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_699_28" HREF="terminal_interface-curses__adb.htm#ref_698_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_700_28" HREF="terminal_interface-curses__adb.htm#ref_698_16">Opts</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Void_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wset_Color, "wcolor_set");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_701_16">Wset_Color</A> (<A HREF="terminal_interface-curses__ads.htm#ref_839_25">Win</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_840_25">Pair</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_62_12">C_Void_Ptr</A> (System.Null_Address)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_839_14">Set_Color</A>;
-
- <b>procedure</b> <span class="symbol"><A NAME="ref_713_14" HREF="terminal_interface-curses__ads.htm#ref_846_14">Change_Attributes</A></span>
- (<span class="symbol"><A NAME="ref_714_7" HREF="terminal_interface-curses__ads.htm#ref_847_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_715_7" HREF="terminal_interface-curses__ads.htm#ref_848_7">Count</A></span> : Integer := -1;
- <span class="symbol"><A NAME="ref_716_7" HREF="terminal_interface-curses__ads.htm#ref_849_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_717_7" HREF="terminal_interface-curses__ads.htm#ref_850_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First)
- <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_719_16">Wchgat</A></span> (<span class="symbol"><A NAME="ref_719_24" HREF="terminal_interface-curses__adb.htm#ref_719_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_720_24" HREF="terminal_interface-curses__adb.htm#ref_719_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_721_24" HREF="terminal_interface-curses__adb.htm#ref_719_16">Attr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>;
- <span class="symbol"><A NAME="ref_722_24" HREF="terminal_interface-curses__adb.htm#ref_719_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <span class="symbol"><A NAME="ref_723_24" HREF="terminal_interface-curses__adb.htm#ref_719_16">Opts</A></span> : System.Address := System.Null_Address)
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_698_16">Wset_Color</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1008_25">Win</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1009_25">Pair</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Void_Ptr</A> (System.Null_Address)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+ <b>end</b> <b>if</b>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1008_14">Set_Color</A>;
+
+ <b>procedure</b> <span class="symbol"><A NAME="ref_711_14" HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A></span>
+ (<span class="symbol"><A NAME="ref_712_7" HREF="terminal_interface-curses__ads.htm#ref_1016_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_713_7" HREF="terminal_interface-curses__ads.htm#ref_1017_7">Count</A></span> : Integer := -1;
+ <span class="symbol"><A NAME="ref_714_7" HREF="terminal_interface-curses__ads.htm#ref_1018_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_715_7" HREF="terminal_interface-curses__ads.htm#ref_1019_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
+ <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_717_16">Wchgat</A></span> (<span class="symbol"><A NAME="ref_717_24" HREF="terminal_interface-curses__adb.htm#ref_717_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_718_24" HREF="terminal_interface-curses__adb.htm#ref_717_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_719_24" HREF="terminal_interface-curses__adb.htm#ref_717_16">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_720_24" HREF="terminal_interface-curses__adb.htm#ref_717_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_721_24" HREF="terminal_interface-curses__adb.htm#ref_717_16">Opts</A></span> : System.Address := System.Null_Address)
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wchgat, "wchgat");
-
- <span class="symbol"><A NAME="ref_727_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> :=
- (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; Character'First, <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First, <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_849_7">Attr</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_719_16">Wchgat</A> (<A HREF="terminal_interface-curses__ads.htm#ref_847_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_848_7">Count</A>), AttrChar_To_AttrType (<A HREF="terminal_interface-curses__adb.htm#ref_727_7">Ch</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_850_7">Color</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_717_16">Wchgat</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1016_7">Win</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1017_7">Count</A>),
+ (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1018_7">Attr</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1019_7">Color</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_846_14">Change_Attributes</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_736_14" HREF="terminal_interface-curses__ads.htm#ref_855_14">Change_Attributes</A></span>
- (<span class="symbol"><A NAME="ref_737_7" HREF="terminal_interface-curses__ads.htm#ref_856_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_738_7" HREF="terminal_interface-curses__ads.htm#ref_857_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>'First;
- <span class="symbol"><A NAME="ref_739_7" HREF="terminal_interface-curses__ads.htm#ref_858_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>'First;
- <span class="symbol"><A NAME="ref_740_7" HREF="terminal_interface-curses__ads.htm#ref_859_7">Count</A></span> : Integer := -1;
- <span class="symbol"><A NAME="ref_741_7" HREF="terminal_interface-curses__ads.htm#ref_860_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_742_7" HREF="terminal_interface-curses__ads.htm#ref_861_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_736_14" HREF="terminal_interface-curses__ads.htm#ref_1024_14">Change_Attributes</A></span>
+ (<span class="symbol"><A NAME="ref_737_7" HREF="terminal_interface-curses__ads.htm#ref_1025_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_738_7" HREF="terminal_interface-curses__ads.htm#ref_1026_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>'First;
+ <span class="symbol"><A NAME="ref_739_7" HREF="terminal_interface-curses__ads.htm#ref_1027_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>'First;
+ <span class="symbol"><A NAME="ref_740_7" HREF="terminal_interface-curses__ads.htm#ref_1028_7">Count</A></span> : Integer := -1;
+ <span class="symbol"><A NAME="ref_741_7" HREF="terminal_interface-curses__ads.htm#ref_1029_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_742_7" HREF="terminal_interface-curses__ads.htm#ref_1030_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_512_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_856_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_857_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_858_7">Column</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_846_14">Change_Attributes</A> (<A HREF="terminal_interface-curses__ads.htm#ref_856_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_859_7">Count</A>, <A HREF="terminal_interface-curses__ads.htm#ref_860_7">Attr</A>, <A HREF="terminal_interface-curses__ads.htm#ref_861_7">Color</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_855_14">Change_Attributes</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1025_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1026_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1027_7">Column</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1025_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1028_7">Count</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1029_7">Attr</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1030_7">Color</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1024_14">Change_Attributes</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_749_14" HREF="terminal_interface-curses__ads.htm#ref_871_14">Beep</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_749_14" HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_751_16">Beeper</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_751_16">Beeper</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Beeper, "beep");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_751_16">Beeper</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_751_16">Beeper</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_871_14">Beep</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_759_14" HREF="terminal_interface-curses__ads.htm#ref_876_14">Flash_Screen</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_759_14" HREF="terminal_interface-curses__ads.htm#ref_1045_14">Flash_Screen</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_761_16">Flash</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_761_16">Flash</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Flash, "flash");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_761_16">Flash</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_761_16">Flash</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_876_14">Flash_Screen</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1045_14">Flash_Screen</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_769_14" HREF="terminal_interface-curses__ads.htm#ref_887_14">Set_Cbreak_Mode</A></span> (<span class="symbol"><A NAME="ref_769_31" HREF="terminal_interface-curses__ads.htm#ref_887_31">SwitchOn</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_769_14" HREF="terminal_interface-curses__ads.htm#ref_1056_14">Set_Cbreak_Mode</A></span> (<span class="symbol"><A NAME="ref_769_31" HREF="terminal_interface-curses__ads.htm#ref_1056_31">SwitchOn</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_771_16">Cbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_771_16">Cbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Cbreak, "cbreak");
- <b>function</b> <span class="symbol"><A NAME="ref_773_16">NoCbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_773_16">NoCbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, NoCbreak, "nocbreak");
- <span class="symbol"><A NAME="ref_776_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_776_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_887_31">SwitchOn</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1056_31">SwitchOn</A> <b>then</b>
<A HREF="terminal_interface-curses__adb.htm#ref_776_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_771_16">Cbreak</A>;
<b>else</b>
<A HREF="terminal_interface-curses__adb.htm#ref_776_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_773_16">NoCbreak</A>;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_776_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_776_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_887_14">Set_Cbreak_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1056_14">Set_Cbreak_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_788_14" HREF="terminal_interface-curses__ads.htm#ref_893_14">Set_Raw_Mode</A></span> (<span class="symbol"><A NAME="ref_788_28" HREF="terminal_interface-curses__ads.htm#ref_893_28">SwitchOn</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_788_14" HREF="terminal_interface-curses__ads.htm#ref_1062_14">Set_Raw_Mode</A></span> (<span class="symbol"><A NAME="ref_788_28" HREF="terminal_interface-curses__ads.htm#ref_1062_28">SwitchOn</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_790_16">Raw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_790_16">Raw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Raw, "raw");
- <b>function</b> <span class="symbol"><A NAME="ref_792_16">NoRaw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_792_16">NoRaw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, NoRaw, "noraw");
- <span class="symbol"><A NAME="ref_795_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_795_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_893_28">SwitchOn</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1062_28">SwitchOn</A> <b>then</b>
<A HREF="terminal_interface-curses__adb.htm#ref_795_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_790_16">Raw</A>;
<b>else</b>
<A HREF="terminal_interface-curses__adb.htm#ref_795_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_792_16">NoRaw</A>;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_795_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_795_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_893_14">Set_Raw_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1062_14">Set_Raw_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_807_14" HREF="terminal_interface-curses__ads.htm#ref_899_14">Set_Echo_Mode</A></span> (<span class="symbol"><A NAME="ref_807_29" HREF="terminal_interface-curses__ads.htm#ref_899_29">SwitchOn</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_807_14" HREF="terminal_interface-curses__ads.htm#ref_1068_14">Set_Echo_Mode</A></span> (<span class="symbol"><A NAME="ref_807_29" HREF="terminal_interface-curses__ads.htm#ref_1068_29">SwitchOn</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_809_16">Echo</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_809_16">Echo</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Echo, "echo");
- <b>function</b> <span class="symbol"><A NAME="ref_811_16">NoEcho</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_811_16">NoEcho</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, NoEcho, "noecho");
- <span class="symbol"><A NAME="ref_814_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_814_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_899_29">SwitchOn</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1068_29">SwitchOn</A> <b>then</b>
<A HREF="terminal_interface-curses__adb.htm#ref_814_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_809_16">Echo</A>;
<b>else</b>
<A HREF="terminal_interface-curses__adb.htm#ref_814_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_811_16">NoEcho</A>;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_814_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_814_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_899_14">Set_Echo_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1068_14">Set_Echo_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_826_14" HREF="terminal_interface-curses__ads.htm#ref_905_14">Set_Meta_Mode</A></span> (<span class="symbol"><A NAME="ref_826_29" HREF="terminal_interface-curses__ads.htm#ref_905_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_827_29" HREF="terminal_interface-curses__ads.htm#ref_906_29">SwitchOn</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_826_14" HREF="terminal_interface-curses__ads.htm#ref_1074_14">Set_Meta_Mode</A></span> (<span class="symbol"><A NAME="ref_826_29" HREF="terminal_interface-curses__ads.htm#ref_1074_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_827_29" HREF="terminal_interface-curses__ads.htm#ref_1075_29">SwitchOn</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_829_16">Meta</A></span> (<span class="symbol"><A NAME="ref_829_22" HREF="terminal_interface-curses__adb.htm#ref_829_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_829_34" HREF="terminal_interface-curses__adb.htm#ref_829_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_829_16">Meta</A></span> (<span class="symbol"><A NAME="ref_829_22" HREF="terminal_interface-curses__adb.htm#ref_829_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_829_34" HREF="terminal_interface-curses__adb.htm#ref_829_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Meta, "meta");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_829_16">Meta</A> (<A HREF="terminal_interface-curses__ads.htm#ref_905_29">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_906_29">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_829_16">Meta</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1074_29">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1075_29">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_905_14">Set_Meta_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1074_14">Set_Meta_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_837_14" HREF="terminal_interface-curses__ads.htm#ref_911_14">Set_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_837_31" HREF="terminal_interface-curses__ads.htm#ref_911_31">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_838_31" HREF="terminal_interface-curses__ads.htm#ref_912_31">SwitchOn</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_837_14" HREF="terminal_interface-curses__ads.htm#ref_1080_14">Set_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_837_31" HREF="terminal_interface-curses__ads.htm#ref_1080_31">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_838_31" HREF="terminal_interface-curses__ads.htm#ref_1081_31">SwitchOn</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_840_16">Keypad</A></span> (<span class="symbol"><A NAME="ref_840_24" HREF="terminal_interface-curses__adb.htm#ref_840_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_840_36" HREF="terminal_interface-curses__adb.htm#ref_840_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_840_16">Keypad</A></span> (<span class="symbol"><A NAME="ref_840_24" HREF="terminal_interface-curses__adb.htm#ref_840_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_840_36" HREF="terminal_interface-curses__adb.htm#ref_840_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Keypad, "keypad");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_840_16">Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_911_31">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_912_31">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_840_16">Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1080_31">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1081_31">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_911_14">Set_KeyPad_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1080_14">Set_KeyPad_Mode</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_848_13" HREF="terminal_interface-curses__ads.htm#ref_916_13">Get_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_848_30" HREF="terminal_interface-curses__ads.htm#ref_916_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>function</b> <span class="symbol"><A NAME="ref_848_13" HREF="terminal_interface-curses__ads.htm#ref_1085_13">Get_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_848_30" HREF="terminal_interface-curses__ads.htm#ref_1085_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_851_16">Is_Keypad</A></span> (<span class="symbol"><A NAME="ref_851_27" HREF="terminal_interface-curses__adb.htm#ref_851_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_851_16">Is_Keypad</A></span> (<span class="symbol"><A NAME="ref_851_27" HREF="terminal_interface-curses__adb.htm#ref_851_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, Is_Keypad, "is_keypad");
<b>begin</b>
- <b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_851_16">Is_Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_916_30">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_1926_4">Curses_Bool_False</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_916_13">Get_KeyPad_Mode</A>;
+ <b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_851_16">Is_Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1085_30">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1085_13">Get_KeyPad_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_857_14" HREF="terminal_interface-curses__ads.htm#ref_924_14">Half_Delay</A></span> (<span class="symbol"><A NAME="ref_857_26" HREF="terminal_interface-curses__ads.htm#ref_924_26">Amount</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_921_9">Half_Delay_Amount</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_857_14" HREF="terminal_interface-curses__ads.htm#ref_1093_14">Half_Delay</A></span> (<span class="symbol"><A NAME="ref_857_26" HREF="terminal_interface-curses__ads.htm#ref_1093_26">Amount</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1090_9">Half_Delay_Amount</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_859_16">Halfdelay</A></span> (<span class="symbol"><A NAME="ref_859_27" HREF="terminal_interface-curses__adb.htm#ref_859_16">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_859_16">Halfdelay</A></span> (<span class="symbol"><A NAME="ref_859_27" HREF="terminal_interface-curses__adb.htm#ref_859_16">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Halfdelay, "halfdelay");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_859_16">Halfdelay</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_924_26">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_859_16">Halfdelay</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1093_26">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_924_14">Half_Delay</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1093_14">Half_Delay</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_867_14" HREF="terminal_interface-curses__ads.htm#ref_929_14">Set_Flush_On_Interrupt_Mode</A></span>
- (<span class="symbol"><A NAME="ref_868_7" HREF="terminal_interface-curses__ads.htm#ref_930_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_869_7" HREF="terminal_interface-curses__ads.htm#ref_931_7">Mode</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_867_14" HREF="terminal_interface-curses__ads.htm#ref_1098_14">Set_Flush_On_Interrupt_Mode</A></span>
+ (<span class="symbol"><A NAME="ref_868_7" HREF="terminal_interface-curses__ads.htm#ref_1099_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_869_7" HREF="terminal_interface-curses__ads.htm#ref_1100_7">Mode</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_871_16">Intrflush</A></span> (<span class="symbol"><A NAME="ref_871_27" HREF="terminal_interface-curses__adb.htm#ref_871_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_871_41" HREF="terminal_interface-curses__adb.htm#ref_871_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_871_16">Intrflush</A></span> (<span class="symbol"><A NAME="ref_871_27" HREF="terminal_interface-curses__adb.htm#ref_871_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_871_41" HREF="terminal_interface-curses__adb.htm#ref_871_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Intrflush, "intrflush");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_871_16">Intrflush</A> (<A HREF="terminal_interface-curses__ads.htm#ref_930_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_931_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_871_16">Intrflush</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1099_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1100_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_929_14">Set_Flush_On_Interrupt_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1098_14">Set_Flush_On_Interrupt_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_879_14" HREF="terminal_interface-curses__ads.htm#ref_936_14">Set_Queue_Interrupt_Mode</A></span>
- (<span class="symbol"><A NAME="ref_880_7" HREF="terminal_interface-curses__ads.htm#ref_937_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_881_7" HREF="terminal_interface-curses__ads.htm#ref_938_7">Flush</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_879_14" HREF="terminal_interface-curses__ads.htm#ref_1105_14">Set_Queue_Interrupt_Mode</A></span>
+ (<span class="symbol"><A NAME="ref_880_7" HREF="terminal_interface-curses__ads.htm#ref_1106_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_881_7" HREF="terminal_interface-curses__ads.htm#ref_1107_7">Flush</A></span> : Boolean := True)
<b>is</b>
<b>procedure</b> <span class="symbol"><A NAME="ref_883_17">Qiflush</A></span>;
<b>pragma</b> Import (C, Qiflush, "qiflush");
<b>procedure</b> <span class="symbol"><A NAME="ref_885_17">No_Qiflush</A></span>;
<b>pragma</b> Import (C, No_Qiflush, "noqiflush");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_937_7">Win</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1106_7">Win</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_938_7">Flush</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1107_7">Flush</A> <b>then</b>
<A HREF="terminal_interface-curses__adb.htm#ref_883_17">Qiflush</A>;
<b>else</b>
<A HREF="terminal_interface-curses__adb.htm#ref_885_17">No_Qiflush</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_936_14">Set_Queue_Interrupt_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1105_14">Set_Queue_Interrupt_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_898_14" HREF="terminal_interface-curses__ads.htm#ref_944_14">Set_NoDelay_Mode</A></span>
- (<span class="symbol"><A NAME="ref_899_7" HREF="terminal_interface-curses__ads.htm#ref_945_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_900_7" HREF="terminal_interface-curses__ads.htm#ref_946_7">Mode</A></span> : Boolean := False)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_898_14" HREF="terminal_interface-curses__ads.htm#ref_1113_14">Set_NoDelay_Mode</A></span>
+ (<span class="symbol"><A NAME="ref_899_7" HREF="terminal_interface-curses__ads.htm#ref_1114_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_900_7" HREF="terminal_interface-curses__ads.htm#ref_1115_7">Mode</A></span> : Boolean := False)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_902_16">Nodelay</A></span> (<span class="symbol"><A NAME="ref_902_25" HREF="terminal_interface-curses__adb.htm#ref_902_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_902_39" HREF="terminal_interface-curses__adb.htm#ref_902_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_902_16">Nodelay</A></span> (<span class="symbol"><A NAME="ref_902_25" HREF="terminal_interface-curses__adb.htm#ref_902_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_902_39" HREF="terminal_interface-curses__adb.htm#ref_902_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Nodelay, "nodelay");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_902_16">Nodelay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_945_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_946_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_902_16">Nodelay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1114_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1115_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_944_14">Set_NoDelay_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1113_14">Set_NoDelay_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_910_14" HREF="terminal_interface-curses__ads.htm#ref_953_14">Set_Timeout_Mode</A></span> (<span class="symbol"><A NAME="ref_910_32" HREF="terminal_interface-curses__ads.htm#ref_953_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_911_32" HREF="terminal_interface-curses__ads.htm#ref_954_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_950_9">Timeout_Mode</A>;
- <span class="symbol"><A NAME="ref_912_32" HREF="terminal_interface-curses__ads.htm#ref_955_32">Amount</A></span> : Natural)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_910_14" HREF="terminal_interface-curses__ads.htm#ref_1122_14">Set_Timeout_Mode</A></span> (<span class="symbol"><A NAME="ref_910_32" HREF="terminal_interface-curses__ads.htm#ref_1122_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_911_32" HREF="terminal_interface-curses__ads.htm#ref_1123_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1119_9">Timeout_Mode</A>;
+ <span class="symbol"><A NAME="ref_912_32" HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A></span> : Natural)
<b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_914_17">Wtimeout</A></span> (<span class="symbol"><A NAME="ref_914_27" HREF="terminal_interface-curses__adb.htm#ref_914_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_914_41" HREF="terminal_interface-curses__adb.htm#ref_914_17">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_914_17">Wtimeout</A></span> (<span class="symbol"><A NAME="ref_914_27" HREF="terminal_interface-curses__adb.htm#ref_914_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_914_41" HREF="terminal_interface-curses__adb.htm#ref_914_17">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>);
<b>pragma</b> Import (C, Wtimeout, "wtimeout");
- <span class="symbol"><A NAME="ref_917_7">Time</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_917_7">Time</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_954_32">Mode</A> <b>is</b>
- <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_950_26">Blocking</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_917_7">Time</A> := -1;
- <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_950_36">Non_Blocking</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_917_7">Time</A> := 0;
- <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_950_50">Delayed</A> =&gt;
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_955_32">Amount</A> = 0 <b>then</b>
+ <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1123_32">Mode</A> <b>is</b>
+ <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_26">Blocking</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_917_7">Time</A> := -1;
+ <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_36">Non_Blocking</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_917_7">Time</A> := 0;
+ <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_50">Delayed</A> =&gt;
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A> = 0 <b>then</b>
<b>raise</b> Constraint_Error;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses__adb.htm#ref_917_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_955_32">Amount</A>);
+ <A HREF="terminal_interface-curses__adb.htm#ref_917_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A>);
<b>end</b> <b>case</b>;
- <A HREF="terminal_interface-curses__adb.htm#ref_914_17">Wtimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_953_32">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_917_7">Time</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_953_14">Set_Timeout_Mode</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_914_17">Wtimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1122_32">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_917_7">Time</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1122_14">Set_Timeout_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_931_14" HREF="terminal_interface-curses__ads.htm#ref_965_14">Set_Escape_Timer_Mode</A></span>
- (<span class="symbol"><A NAME="ref_932_7" HREF="terminal_interface-curses__ads.htm#ref_966_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_933_7" HREF="terminal_interface-curses__ads.htm#ref_967_7">Timer_Off</A></span> : Boolean := False)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_931_14" HREF="terminal_interface-curses__ads.htm#ref_1134_14">Set_Escape_Timer_Mode</A></span>
+ (<span class="symbol"><A NAME="ref_932_7" HREF="terminal_interface-curses__ads.htm#ref_1135_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_933_7" HREF="terminal_interface-curses__ads.htm#ref_1136_7">Timer_Off</A></span> : Boolean := False)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_935_16">Notimeout</A></span> (<span class="symbol"><A NAME="ref_935_27" HREF="terminal_interface-curses__adb.htm#ref_935_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_935_41" HREF="terminal_interface-curses__adb.htm#ref_935_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_935_16">Notimeout</A></span> (<span class="symbol"><A NAME="ref_935_27" HREF="terminal_interface-curses__adb.htm#ref_935_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_935_41" HREF="terminal_interface-curses__adb.htm#ref_935_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Notimeout, "notimeout");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_935_16">Notimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_966_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_967_7">Timer_Off</A>)))
- = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_935_16">Notimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1135_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1136_7">Timer_Off</A>)))
+ = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_965_14">Set_Escape_Timer_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1134_14">Set_Escape_Timer_Mode</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_945_14" HREF="terminal_interface-curses__ads.htm#ref_976_14">Set_NL_Mode</A></span> (<span class="symbol"><A NAME="ref_945_27" HREF="terminal_interface-curses__ads.htm#ref_976_27">SwitchOn</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_946_14" HREF="terminal_interface-curses__ads.htm#ref_1145_14">Set_NL_Mode</A></span> (<span class="symbol"><A NAME="ref_946_27" HREF="terminal_interface-curses__ads.htm#ref_1145_27">SwitchOn</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_947_16">NL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_948_16">NL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, NL, "nl");
- <b>function</b> <span class="symbol"><A NAME="ref_949_16">NoNL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_950_16">NoNL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, NoNL, "nonl");
- <span class="symbol"><A NAME="ref_952_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_953_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_976_27">SwitchOn</A> <b>then</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_952_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_947_16">NL</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1145_27">SwitchOn</A> <b>then</b>
+ <A HREF="terminal_interface-curses__adb.htm#ref_953_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_948_16">NL</A>;
<b>else</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_952_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_949_16">NoNL</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_953_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_950_16">NoNL</A>;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_952_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_953_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_976_14">Set_NL_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1145_14">Set_NL_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_964_14" HREF="terminal_interface-curses__ads.htm#ref_982_14">Clear_On_Next_Update</A></span>
- (<span class="symbol"><A NAME="ref_965_7" HREF="terminal_interface-curses__ads.htm#ref_983_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_966_7" HREF="terminal_interface-curses__ads.htm#ref_984_7">Do_Clear</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_965_14" HREF="terminal_interface-curses__ads.htm#ref_1151_14">Clear_On_Next_Update</A></span>
+ (<span class="symbol"><A NAME="ref_966_7" HREF="terminal_interface-curses__ads.htm#ref_1152_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_967_7" HREF="terminal_interface-curses__ads.htm#ref_1153_7">Do_Clear</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_968_16">Clear_Ok</A></span> (<span class="symbol"><A NAME="ref_968_26" HREF="terminal_interface-curses__adb.htm#ref_968_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_968_38" HREF="terminal_interface-curses__adb.htm#ref_968_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_969_16">Clear_Ok</A></span> (<span class="symbol"><A NAME="ref_969_26" HREF="terminal_interface-curses__adb.htm#ref_969_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_969_38" HREF="terminal_interface-curses__adb.htm#ref_969_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Clear_Ok, "clearok");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_968_16">Clear_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_983_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_984_7">Do_Clear</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_969_16">Clear_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1152_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1153_7">Do_Clear</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_982_14">Clear_On_Next_Update</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1151_14">Clear_On_Next_Update</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_976_14" HREF="terminal_interface-curses__ads.htm#ref_989_14">Use_Insert_Delete_Line</A></span>
- (<span class="symbol"><A NAME="ref_977_7" HREF="terminal_interface-curses__ads.htm#ref_990_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_978_7" HREF="terminal_interface-curses__ads.htm#ref_991_7">Do_Idl</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_977_14" HREF="terminal_interface-curses__ads.htm#ref_1158_14">Use_Insert_Delete_Line</A></span>
+ (<span class="symbol"><A NAME="ref_978_7" HREF="terminal_interface-curses__ads.htm#ref_1159_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_979_7" HREF="terminal_interface-curses__ads.htm#ref_1160_7">Do_Idl</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_980_16">IDL_Ok</A></span> (<span class="symbol"><A NAME="ref_980_24" HREF="terminal_interface-curses__adb.htm#ref_980_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_980_36" HREF="terminal_interface-curses__adb.htm#ref_980_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_981_16">IDL_Ok</A></span> (<span class="symbol"><A NAME="ref_981_24" HREF="terminal_interface-curses__adb.htm#ref_981_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_981_36" HREF="terminal_interface-curses__adb.htm#ref_981_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, IDL_Ok, "idlok");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_980_16">IDL_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_990_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_991_7">Do_Idl</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_981_16">IDL_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1159_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1160_7">Do_Idl</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_989_14">Use_Insert_Delete_Line</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1158_14">Use_Insert_Delete_Line</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_988_14" HREF="terminal_interface-curses__ads.htm#ref_996_14">Use_Insert_Delete_Character</A></span>
- (<span class="symbol"><A NAME="ref_989_7" HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_990_7" HREF="terminal_interface-curses__ads.htm#ref_998_7">Do_Idc</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_989_14" HREF="terminal_interface-curses__ads.htm#ref_1165_14">Use_Insert_Delete_Character</A></span>
+ (<span class="symbol"><A NAME="ref_990_7" HREF="terminal_interface-curses__ads.htm#ref_1166_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_991_7" HREF="terminal_interface-curses__ads.htm#ref_1167_7">Do_Idc</A></span> : Boolean := True)
<b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_992_17">IDC_Ok</A></span> (<span class="symbol"><A NAME="ref_992_25" HREF="terminal_interface-curses__adb.htm#ref_992_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_992_37" HREF="terminal_interface-curses__adb.htm#ref_992_17">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_993_17">IDC_Ok</A></span> (<span class="symbol"><A NAME="ref_993_25" HREF="terminal_interface-curses__adb.htm#ref_993_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_993_37" HREF="terminal_interface-curses__adb.htm#ref_993_17">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>);
<b>pragma</b> Import (C, IDC_Ok, "idcok");
<b>begin</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_992_17">IDC_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_998_7">Do_Idc</A>)));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_996_14">Use_Insert_Delete_Character</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_993_17">IDC_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1166_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1167_7">Do_Idc</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1165_14">Use_Insert_Delete_Character</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_998_14" HREF="terminal_interface-curses__ads.htm#ref_1003_14">Leave_Cursor_After_Update</A></span>
- (<span class="symbol"><A NAME="ref_999_7" HREF="terminal_interface-curses__ads.htm#ref_1004_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1000_7" HREF="terminal_interface-curses__ads.htm#ref_1005_7">Do_Leave</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_999_14" HREF="terminal_interface-curses__ads.htm#ref_1172_14">Leave_Cursor_After_Update</A></span>
+ (<span class="symbol"><A NAME="ref_1000_7" HREF="terminal_interface-curses__ads.htm#ref_1173_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1001_7" HREF="terminal_interface-curses__ads.htm#ref_1174_7">Do_Leave</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1002_16">Leave_Ok</A></span> (<span class="symbol"><A NAME="ref_1002_26" HREF="terminal_interface-curses__adb.htm#ref_1002_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1002_38" HREF="terminal_interface-curses__adb.htm#ref_1002_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1003_16">Leave_Ok</A></span> (<span class="symbol"><A NAME="ref_1003_26" HREF="terminal_interface-curses__adb.htm#ref_1003_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1003_38" HREF="terminal_interface-curses__adb.htm#ref_1003_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Leave_Ok, "leaveok");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1002_16">Leave_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1004_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1005_7">Do_Leave</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1003_16">Leave_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1173_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1174_7">Do_Leave</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1003_14">Leave_Cursor_After_Update</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1172_14">Leave_Cursor_After_Update</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1010_14" HREF="terminal_interface-curses__ads.htm#ref_1010_14">Immediate_Update_Mode</A></span>
- (<span class="symbol"><A NAME="ref_1011_7" HREF="terminal_interface-curses__ads.htm#ref_1011_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1012_7" HREF="terminal_interface-curses__ads.htm#ref_1012_7">Mode</A></span> : Boolean := False)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1011_14" HREF="terminal_interface-curses__ads.htm#ref_1179_14">Immediate_Update_Mode</A></span>
+ (<span class="symbol"><A NAME="ref_1012_7" HREF="terminal_interface-curses__ads.htm#ref_1180_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1013_7" HREF="terminal_interface-curses__ads.htm#ref_1181_7">Mode</A></span> : Boolean := False)
<b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1014_17">Immedok</A></span> (<span class="symbol"><A NAME="ref_1014_26" HREF="terminal_interface-curses__adb.htm#ref_1014_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1014_40" HREF="terminal_interface-curses__adb.htm#ref_1014_17">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1015_17">Immedok</A></span> (<span class="symbol"><A NAME="ref_1015_26" HREF="terminal_interface-curses__adb.htm#ref_1015_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1015_40" HREF="terminal_interface-curses__adb.htm#ref_1015_17">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>);
<b>pragma</b> Import (C, Immedok, "immedok");
<b>begin</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_1014_17">Immedok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1011_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1012_7">Mode</A>)));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1010_14">Immediate_Update_Mode</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_1015_17">Immedok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1180_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1181_7">Mode</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1179_14">Immediate_Update_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1020_14" HREF="terminal_interface-curses__ads.htm#ref_1017_14">Allow_Scrolling</A></span>
- (<span class="symbol"><A NAME="ref_1021_7" HREF="terminal_interface-curses__ads.htm#ref_1018_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1022_7" HREF="terminal_interface-curses__ads.htm#ref_1019_7">Mode</A></span> : Boolean := False)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1021_14" HREF="terminal_interface-curses__ads.htm#ref_1186_14">Allow_Scrolling</A></span>
+ (<span class="symbol"><A NAME="ref_1022_7" HREF="terminal_interface-curses__ads.htm#ref_1187_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1023_7" HREF="terminal_interface-curses__ads.htm#ref_1188_7">Mode</A></span> : Boolean := False)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1024_16">Scrollok</A></span> (<span class="symbol"><A NAME="ref_1024_26" HREF="terminal_interface-curses__adb.htm#ref_1024_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1024_40" HREF="terminal_interface-curses__adb.htm#ref_1024_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1025_16">Scrollok</A></span> (<span class="symbol"><A NAME="ref_1025_26" HREF="terminal_interface-curses__adb.htm#ref_1025_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1025_40" HREF="terminal_interface-curses__adb.htm#ref_1025_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Scrollok, "scrollok");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1024_16">Scrollok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1018_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1019_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1025_16">Scrollok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1187_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1188_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1017_14">Allow_Scrolling</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1186_14">Allow_Scrolling</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_1032_13" HREF="terminal_interface-curses__ads.htm#ref_1023_13">Scrolling_Allowed</A></span> (<span class="symbol"><A NAME="ref_1032_32" HREF="terminal_interface-curses__ads.htm#ref_1023_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>function</b> <span class="symbol"><A NAME="ref_1033_13" HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A></span> (<span class="symbol"><A NAME="ref_1033_32" HREF="terminal_interface-curses__ads.htm#ref_1192_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1035_16">Is_Scroll_Ok</A></span> (<span class="symbol"><A NAME="ref_1035_30" HREF="terminal_interface-curses__adb.htm#ref_1035_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1036_16">Is_Scroll_Ok</A></span> (<span class="symbol"><A NAME="ref_1036_30" HREF="terminal_interface-curses__adb.htm#ref_1036_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, Is_Scroll_Ok, "is_scrollok");
<b>begin</b>
- <b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_1035_16">Is_Scroll_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1023_32">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_1926_4">Curses_Bool_False</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1023_13">Scrolling_Allowed</A>;
+ <b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_1036_16">Is_Scroll_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1192_32">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1041_14" HREF="terminal_interface-curses__ads.htm#ref_1028_14">Set_Scroll_Region</A></span>
- (<span class="symbol"><A NAME="ref_1042_7" HREF="terminal_interface-curses__ads.htm#ref_1029_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1043_7" HREF="terminal_interface-curses__ads.htm#ref_1030_7">Top_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1044_7" HREF="terminal_interface-curses__ads.htm#ref_1031_7">Bottom_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1042_14" HREF="terminal_interface-curses__ads.htm#ref_1197_14">Set_Scroll_Region</A></span>
+ (<span class="symbol"><A NAME="ref_1043_7" HREF="terminal_interface-curses__ads.htm#ref_1198_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1044_7" HREF="terminal_interface-curses__ads.htm#ref_1199_7">Top_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1045_7" HREF="terminal_interface-curses__ads.htm#ref_1200_7">Bottom_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1046_16">Wsetscrreg</A></span> (<span class="symbol"><A NAME="ref_1046_28" HREF="terminal_interface-curses__adb.htm#ref_1046_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1047_28" HREF="terminal_interface-curses__adb.htm#ref_1046_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1048_28" HREF="terminal_interface-curses__adb.htm#ref_1046_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1047_16">Wsetscrreg</A></span> (<span class="symbol"><A NAME="ref_1047_28" HREF="terminal_interface-curses__adb.htm#ref_1047_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1048_28" HREF="terminal_interface-curses__adb.htm#ref_1047_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1049_28" HREF="terminal_interface-curses__adb.htm#ref_1047_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wsetscrreg, "wsetscrreg");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1046_16">Wsetscrreg</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1029_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1030_7">Top_Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1031_7">Bottom_Line</A>))
- = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1047_16">Wsetscrreg</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1198_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1199_7">Top_Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1200_7">Bottom_Line</A>))
+ = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1028_14">Set_Scroll_Region</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1197_14">Set_Scroll_Region</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1057_14" HREF="terminal_interface-curses__ads.htm#ref_1041_14">Update_Screen</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1059_14" HREF="terminal_interface-curses__ads.htm#ref_1210_14">Update_Screen</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1059_16">Do_Update</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1061_16">Do_Update</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Do_Update, "doupdate");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1059_16">Do_Update</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1061_16">Do_Update</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1041_14">Update_Screen</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1210_14">Update_Screen</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1067_14" HREF="terminal_interface-curses__ads.htm#ref_1046_14">Refresh</A></span> (<span class="symbol"><A NAME="ref_1067_23" HREF="terminal_interface-curses__ads.htm#ref_1046_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1069_14" HREF="terminal_interface-curses__ads.htm#ref_1215_14">Refresh</A></span> (<span class="symbol"><A NAME="ref_1069_23" HREF="terminal_interface-curses__ads.htm#ref_1215_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1069_16">Wrefresh</A></span> (<span class="symbol"><A NAME="ref_1069_26" HREF="terminal_interface-curses__adb.htm#ref_1069_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1071_16">Wrefresh</A></span> (<span class="symbol"><A NAME="ref_1071_26" HREF="terminal_interface-curses__adb.htm#ref_1071_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wrefresh, "wrefresh");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1069_16">Wrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1046_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1071_16">Wrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1215_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1046_14">Refresh</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1215_14">Refresh</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1077_14" HREF="terminal_interface-curses__ads.htm#ref_1053_14">Refresh_Without_Update</A></span>
- (<span class="symbol"><A NAME="ref_1078_7" HREF="terminal_interface-curses__ads.htm#ref_1054_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1079_14" HREF="terminal_interface-curses__ads.htm#ref_1222_14">Refresh_Without_Update</A></span>
+ (<span class="symbol"><A NAME="ref_1080_7" HREF="terminal_interface-curses__ads.htm#ref_1223_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1080_16">Wnoutrefresh</A></span> (<span class="symbol"><A NAME="ref_1080_30" HREF="terminal_interface-curses__adb.htm#ref_1080_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1082_16">Wnoutrefresh</A></span> (<span class="symbol"><A NAME="ref_1082_30" HREF="terminal_interface-curses__adb.htm#ref_1082_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wnoutrefresh, "wnoutrefresh");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1080_16">Wnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1054_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1082_16">Wnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1223_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1053_14">Refresh_Without_Update</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1222_14">Refresh_Without_Update</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1088_14" HREF="terminal_interface-curses__ads.htm#ref_1060_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1088_22" HREF="terminal_interface-curses__ads.htm#ref_1060_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1090_14" HREF="terminal_interface-curses__ads.htm#ref_1229_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1090_22" HREF="terminal_interface-curses__ads.htm#ref_1229_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1090_16">Redrawwin</A></span> (<span class="symbol"><A NAME="ref_1090_27" HREF="terminal_interface-curses__adb.htm#ref_1090_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1092_16">Redrawwin</A></span> (<span class="symbol"><A NAME="ref_1092_27" HREF="terminal_interface-curses__adb.htm#ref_1092_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Redrawwin, "redrawwin");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1090_16">Redrawwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1060_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1092_16">Redrawwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1229_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1060_14">Redraw</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Redraw</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1098_14" HREF="terminal_interface-curses__ads.htm#ref_1064_14">Redraw</A></span>
- (<span class="symbol"><A NAME="ref_1099_7" HREF="terminal_interface-curses__ads.htm#ref_1064_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1100_7" HREF="terminal_interface-curses__ads.htm#ref_1065_22">Begin_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1101_7" HREF="terminal_interface-curses__ads.htm#ref_1066_22">Line_Count</A></span> : Positive)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1100_14" HREF="terminal_interface-curses__ads.htm#ref_1233_14">Redraw</A></span>
+ (<span class="symbol"><A NAME="ref_1101_7" HREF="terminal_interface-curses__ads.htm#ref_1233_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1102_7" HREF="terminal_interface-curses__ads.htm#ref_1234_22">Begin_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1103_7" HREF="terminal_interface-curses__ads.htm#ref_1235_22">Line_Count</A></span> : Positive)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1103_16">Wredrawln</A></span> (<span class="symbol"><A NAME="ref_1103_27" HREF="terminal_interface-curses__adb.htm#ref_1103_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1103_41" HREF="terminal_interface-curses__adb.htm#ref_1103_16">First</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <span class="symbol"><A NAME="ref_1103_56" HREF="terminal_interface-curses__adb.htm#ref_1103_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>)
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1105_16">Wredrawln</A></span> (<span class="symbol"><A NAME="ref_1105_27" HREF="terminal_interface-curses__adb.htm#ref_1105_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1105_41" HREF="terminal_interface-curses__adb.htm#ref_1105_16">First</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>; <span class="symbol"><A NAME="ref_1105_56" HREF="terminal_interface-curses__adb.htm#ref_1105_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>)
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wredrawln, "wredrawln");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1103_16">Wredrawln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1064_22">Win</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1065_22">Begin_Line</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1066_22">Line_Count</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1105_16">Wredrawln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1233_22">Win</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1234_22">Begin_Line</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1235_22">Line_Count</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1064_14">Redraw</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1233_14">Redraw</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1115_14" HREF="terminal_interface-curses__ads.htm#ref_1075_14">Erase</A></span> (<span class="symbol"><A NAME="ref_1115_21" HREF="terminal_interface-curses__ads.htm#ref_1075_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1118_14" HREF="terminal_interface-curses__ads.htm#ref_1244_14">Erase</A></span> (<span class="symbol"><A NAME="ref_1118_21" HREF="terminal_interface-curses__ads.htm#ref_1244_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1117_16">Werase</A></span> (<span class="symbol"><A NAME="ref_1117_24" HREF="terminal_interface-curses__adb.htm#ref_1117_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1120_16">Werase</A></span> (<span class="symbol"><A NAME="ref_1120_24" HREF="terminal_interface-curses__adb.htm#ref_1120_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Werase, "werase");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1117_16">Werase</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1075_21">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1120_16">Werase</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1244_21">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1075_14">Erase</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1244_14">Erase</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1125_14" HREF="terminal_interface-curses__ads.htm#ref_1081_14">Clear</A></span> (<span class="symbol"><A NAME="ref_1125_21" HREF="terminal_interface-curses__ads.htm#ref_1082_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1128_14" HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A></span> (<span class="symbol"><A NAME="ref_1128_21" HREF="terminal_interface-curses__ads.htm#ref_1251_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1127_16">Wclear</A></span> (<span class="symbol"><A NAME="ref_1127_24" HREF="terminal_interface-curses__adb.htm#ref_1127_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1130_16">Wclear</A></span> (<span class="symbol"><A NAME="ref_1130_24" HREF="terminal_interface-curses__adb.htm#ref_1130_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wclear, "wclear");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1127_16">Wclear</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1082_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1130_16">Wclear</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1251_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1081_14">Clear</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1135_14" HREF="terminal_interface-curses__ads.htm#ref_1088_14">Clear_To_End_Of_Screen</A></span> (<span class="symbol"><A NAME="ref_1135_38" HREF="terminal_interface-curses__ads.htm#ref_1089_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1138_14" HREF="terminal_interface-curses__ads.htm#ref_1257_14">Clear_To_End_Of_Screen</A></span> (<span class="symbol"><A NAME="ref_1138_38" HREF="terminal_interface-curses__ads.htm#ref_1258_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1137_16">Wclearbot</A></span> (<span class="symbol"><A NAME="ref_1137_27" HREF="terminal_interface-curses__adb.htm#ref_1137_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1140_16">Wclearbot</A></span> (<span class="symbol"><A NAME="ref_1140_27" HREF="terminal_interface-curses__adb.htm#ref_1140_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wclearbot, "wclrtobot");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1137_16">Wclearbot</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1089_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1140_16">Wclearbot</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1258_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1088_14">Clear_To_End_Of_Screen</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1257_14">Clear_To_End_Of_Screen</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1145_14" HREF="terminal_interface-curses__ads.htm#ref_1095_14">Clear_To_End_Of_Line</A></span> (<span class="symbol"><A NAME="ref_1145_36" HREF="terminal_interface-curses__ads.htm#ref_1096_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1148_14" HREF="terminal_interface-curses__ads.htm#ref_1264_14">Clear_To_End_Of_Line</A></span> (<span class="symbol"><A NAME="ref_1148_36" HREF="terminal_interface-curses__ads.htm#ref_1265_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1147_16">Wcleareol</A></span> (<span class="symbol"><A NAME="ref_1147_27" HREF="terminal_interface-curses__adb.htm#ref_1147_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1150_16">Wcleareol</A></span> (<span class="symbol"><A NAME="ref_1150_27" HREF="terminal_interface-curses__adb.htm#ref_1150_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wcleareol, "wclrtoeol");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1147_16">Wcleareol</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1096_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1150_16">Wcleareol</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1265_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1095_14">Clear_To_End_Of_Line</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1264_14">Clear_To_End_Of_Line</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1155_14" HREF="terminal_interface-curses__ads.htm#ref_1109_14">Set_Background</A></span>
- (<span class="symbol"><A NAME="ref_1156_7" HREF="terminal_interface-curses__ads.htm#ref_1110_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1157_7" HREF="terminal_interface-curses__ads.htm#ref_1111_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1158_14" HREF="terminal_interface-curses__ads.htm#ref_1278_14">Set_Background</A></span>
+ (<span class="symbol"><A NAME="ref_1159_7" HREF="terminal_interface-curses__ads.htm#ref_1279_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1160_7" HREF="terminal_interface-curses__ads.htm#ref_1280_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
<b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1159_17">WBackground</A></span> (<span class="symbol"><A NAME="ref_1159_30" HREF="terminal_interface-curses__adb.htm#ref_1159_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1159_42" HREF="terminal_interface-curses__adb.htm#ref_1159_17">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1162_17">WBackground</A></span> (<span class="symbol"><A NAME="ref_1162_30" HREF="terminal_interface-curses__adb.htm#ref_1162_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1162_42" HREF="terminal_interface-curses__adb.htm#ref_1162_17">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
<b>pragma</b> Import (C, WBackground, "wbkgdset");
<b>begin</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_1159_17">WBackground</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1110_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1111_7">Ch</A>));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1109_14">Set_Background</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_1162_17">WBackground</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1279_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1280_7">Ch</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1278_14">Set_Background</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1165_14" HREF="terminal_interface-curses__ads.htm#ref_1117_14">Change_Background</A></span>
- (<span class="symbol"><A NAME="ref_1166_7" HREF="terminal_interface-curses__ads.htm#ref_1118_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1167_7" HREF="terminal_interface-curses__ads.htm#ref_1119_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1168_14" HREF="terminal_interface-curses__ads.htm#ref_1286_14">Change_Background</A></span>
+ (<span class="symbol"><A NAME="ref_1169_7" HREF="terminal_interface-curses__ads.htm#ref_1287_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1170_7" HREF="terminal_interface-curses__ads.htm#ref_1288_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1169_16">WChangeBkgd</A></span> (<span class="symbol"><A NAME="ref_1169_29" HREF="terminal_interface-curses__adb.htm#ref_1169_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1169_41" HREF="terminal_interface-curses__adb.htm#ref_1169_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1172_16">WChangeBkgd</A></span> (<span class="symbol"><A NAME="ref_1172_29" HREF="terminal_interface-curses__adb.htm#ref_1172_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1172_41" HREF="terminal_interface-curses__adb.htm#ref_1172_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, WChangeBkgd, "wbkgd");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1169_16">WChangeBkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1118_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1119_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1172_16">WChangeBkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1287_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1288_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1117_14">Change_Background</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1286_14">Change_Background</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_1177_13" HREF="terminal_interface-curses__ads.htm#ref_1126_13">Get_Background</A></span> (<span class="symbol"><A NAME="ref_1177_29" HREF="terminal_interface-curses__ads.htm#ref_1126_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_1181_13" HREF="terminal_interface-curses__ads.htm#ref_1295_13">Get_Background</A></span> (<span class="symbol"><A NAME="ref_1181_29" HREF="terminal_interface-curses__ads.htm#ref_1295_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1180_16">Wgetbkgd</A></span> (<span class="symbol"><A NAME="ref_1180_26" HREF="terminal_interface-curses__adb.htm#ref_1180_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1184_16">Wgetbkgd</A></span> (<span class="symbol"><A NAME="ref_1184_26" HREF="terminal_interface-curses__adb.htm#ref_1184_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Wgetbkgd, "getbkgd");
<b>begin</b>
- <b>return</b> Chtype_To_AttrChar (<A HREF="terminal_interface-curses__adb.htm#ref_1180_16">Wgetbkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1126_29">Win</A>));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1126_13">Get_Background</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1184_16">Wgetbkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1295_29">Win</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1295_13">Get_Background</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1186_14" HREF="terminal_interface-curses__ads.htm#ref_1153_14">Change_Lines_Status</A></span> (<span class="symbol"><A NAME="ref_1186_35" HREF="terminal_interface-curses__ads.htm#ref_1153_35">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1187_35" HREF="terminal_interface-curses__ads.htm#ref_1154_35">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1188_35" HREF="terminal_interface-curses__ads.htm#ref_1155_35">Count</A></span> : Positive;
- <span class="symbol"><A NAME="ref_1189_35" HREF="terminal_interface-curses__ads.htm#ref_1156_35">State</A></span> : Boolean)
- <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1191_16">Wtouchln</A></span> (<span class="symbol"><A NAME="ref_1191_26" HREF="terminal_interface-curses__adb.htm#ref_1191_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1192_26" HREF="terminal_interface-curses__adb.htm#ref_1191_16">Sta</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1193_26" HREF="terminal_interface-curses__adb.htm#ref_1191_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1194_26" HREF="terminal_interface-curses__adb.htm#ref_1191_16">Chg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1190_14" HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A></span> (<span class="symbol"><A NAME="ref_1190_35" HREF="terminal_interface-curses__ads.htm#ref_1322_35">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1191_35" HREF="terminal_interface-curses__ads.htm#ref_1323_35">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1192_35" HREF="terminal_interface-curses__ads.htm#ref_1324_35">Count</A></span> : Positive;
+ <span class="symbol"><A NAME="ref_1193_35" HREF="terminal_interface-curses__ads.htm#ref_1325_35">State</A></span> : Boolean)
+ <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_1195_16">Wtouchln</A></span> (<span class="symbol"><A NAME="ref_1195_26" HREF="terminal_interface-curses__adb.htm#ref_1195_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1196_26" HREF="terminal_interface-curses__adb.htm#ref_1195_16">Sta</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1197_26" HREF="terminal_interface-curses__adb.htm#ref_1195_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1198_26" HREF="terminal_interface-curses__adb.htm#ref_1195_16">Chg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wtouchln, "wtouchln");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1191_16">Wtouchln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1153_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1154_35">Start</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1155_35">Count</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1156_35">State</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1195_16">Wtouchln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1322_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1323_35">Start</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1324_35">Count</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1325_35">State</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1153_14">Change_Lines_Status</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1203_14" HREF="terminal_interface-curses__ads.htm#ref_1142_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1203_21" HREF="terminal_interface-curses__ads.htm#ref_1142_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1208_14" HREF="terminal_interface-curses__ads.htm#ref_1311_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1208_21" HREF="terminal_interface-curses__ads.htm#ref_1311_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>is</b>
- <span class="symbol"><A NAME="ref_1205_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1206_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1210_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1211_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1142_21">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1205_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1206_7">X</A>);
- <b>pragma</b> Unreferenced (<A HREF="terminal_interface-curses__adb.htm#ref_1206_7">X</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1153_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1142_21">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1205_7">Y</A>), True);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1142_14">Touch</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1311_21">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1210_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1211_7">X</A>);
+ <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses__adb.htm#ref_1211_7">X</A>); <span class="comment"><EM>-- unreferenced</EM></span>
+ <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1311_21">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1210_7">Y</A>), True);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1311_14">Touch</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1213_14" HREF="terminal_interface-curses__ads.htm#ref_1137_14">Untouch</A></span> (<span class="symbol"><A NAME="ref_1213_23" HREF="terminal_interface-curses__ads.htm#ref_1137_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1218_14" HREF="terminal_interface-curses__ads.htm#ref_1306_14">Untouch</A></span> (<span class="symbol"><A NAME="ref_1218_23" HREF="terminal_interface-curses__ads.htm#ref_1306_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>is</b>
- <span class="symbol"><A NAME="ref_1215_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1216_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1220_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1221_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1137_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1215_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1216_7">X</A>);
- <b>pragma</b> Unreferenced (<A HREF="terminal_interface-curses__adb.htm#ref_1216_7">X</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1153_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1137_23">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1215_7">Y</A>), False);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1137_14">Untouch</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1306_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1220_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1221_7">X</A>);
+ <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses__adb.htm#ref_1221_7">X</A>); <span class="comment"><EM>-- unreferenced</EM></span>
+ <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1306_23">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1220_7">Y</A>), False);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1306_14">Untouch</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1223_14" HREF="terminal_interface-curses__ads.htm#ref_1146_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1223_21" HREF="terminal_interface-curses__ads.htm#ref_1146_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1224_21" HREF="terminal_interface-curses__ads.htm#ref_1147_21">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1225_21" HREF="terminal_interface-curses__ads.htm#ref_1148_21">Count</A></span> : Positive)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1228_14" HREF="terminal_interface-curses__ads.htm#ref_1315_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1228_21" HREF="terminal_interface-curses__ads.htm#ref_1315_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1229_21" HREF="terminal_interface-curses__ads.htm#ref_1316_21">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1230_21" HREF="terminal_interface-curses__ads.htm#ref_1317_21">Count</A></span> : Positive)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1153_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1146_21">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1147_21">Start</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1148_21">Count</A>, True);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1146_14">Touch</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1315_21">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1316_21">Start</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1317_21">Count</A>, True);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1315_14">Touch</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_1231_13" HREF="terminal_interface-curses__ads.htm#ref_1161_13">Is_Touched</A></span>
- (<span class="symbol"><A NAME="ref_1232_7" HREF="terminal_interface-curses__ads.htm#ref_1161_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1233_7" HREF="terminal_interface-curses__ads.htm#ref_1162_25">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_1236_13" HREF="terminal_interface-curses__ads.htm#ref_1330_13">Is_Touched</A></span>
+ (<span class="symbol"><A NAME="ref_1237_7" HREF="terminal_interface-curses__ads.htm#ref_1330_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1238_7" HREF="terminal_interface-curses__ads.htm#ref_1331_25">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1235_16">WLineTouched</A></span> (<span class="symbol"><A NAME="ref_1235_30" HREF="terminal_interface-curses__adb.htm#ref_1235_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1235_42" HREF="terminal_interface-curses__adb.htm#ref_1235_16">L</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1240_16">WLineTouched</A></span> (<span class="symbol"><A NAME="ref_1240_30" HREF="terminal_interface-curses__adb.htm#ref_1240_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1240_42" HREF="terminal_interface-curses__adb.htm#ref_1240_16">L</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, WLineTouched, "is_linetouched");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1235_16">WLineTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1161_25">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1162_25">Line</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_1926_4">Curses_Bool_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1240_16">WLineTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1330_25">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1331_25">Line</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1161_13">Is_Touched</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1330_13">Is_Touched</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_1245_13" HREF="terminal_interface-curses__ads.htm#ref_1166_13">Is_Touched</A></span>
- (<span class="symbol"><A NAME="ref_1246_7" HREF="terminal_interface-curses__ads.htm#ref_1166_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_1250_13" HREF="terminal_interface-curses__ads.htm#ref_1335_13">Is_Touched</A></span>
+ (<span class="symbol"><A NAME="ref_1251_7" HREF="terminal_interface-curses__ads.htm#ref_1335_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1248_16">WWinTouched</A></span> (<span class="symbol"><A NAME="ref_1248_29" HREF="terminal_interface-curses__adb.htm#ref_1248_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1253_16">WWinTouched</A></span> (<span class="symbol"><A NAME="ref_1253_29" HREF="terminal_interface-curses__adb.htm#ref_1253_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, WWinTouched, "is_wintouched");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1248_16">WWinTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1166_25">Win</A>) = <A HREF="terminal_interface-curses__ads.htm#ref_1926_4">Curses_Bool_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1253_16">WWinTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1335_25">Win</A>) = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1166_13">Is_Touched</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1335_13">Is_Touched</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1258_14" HREF="terminal_interface-curses__ads.htm#ref_1175_14">Copy</A></span>
- (<span class="symbol"><A NAME="ref_1259_7" HREF="terminal_interface-curses__ads.htm#ref_1176_7">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1260_7" HREF="terminal_interface-curses__ads.htm#ref_1177_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1261_7" HREF="terminal_interface-curses__ads.htm#ref_1178_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1262_7" HREF="terminal_interface-curses__ads.htm#ref_1179_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1263_7" HREF="terminal_interface-curses__ads.htm#ref_1180_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1264_7" HREF="terminal_interface-curses__ads.htm#ref_1181_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1265_7" HREF="terminal_interface-curses__ads.htm#ref_1182_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1266_7" HREF="terminal_interface-curses__ads.htm#ref_1183_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1267_7" HREF="terminal_interface-curses__ads.htm#ref_1184_7">Non_Destructive_Mode</A></span> : Boolean := True)
- <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1269_16">Copywin</A></span> (<span class="symbol"><A NAME="ref_1269_25" HREF="terminal_interface-curses__adb.htm#ref_1269_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1270_25" HREF="terminal_interface-curses__adb.htm#ref_1269_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1271_25" HREF="terminal_interface-curses__adb.htm#ref_1269_16">Str</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1272_25" HREF="terminal_interface-curses__adb.htm#ref_1269_16">Slc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1273_25" HREF="terminal_interface-curses__adb.htm#ref_1269_16">Dtr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1274_25" HREF="terminal_interface-curses__adb.htm#ref_1269_16">Dlc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1275_25" HREF="terminal_interface-curses__adb.htm#ref_1269_16">Dbr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1276_25" HREF="terminal_interface-curses__adb.htm#ref_1269_16">Drc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1277_25" HREF="terminal_interface-curses__adb.htm#ref_1269_16">Ndm</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1263_14" HREF="terminal_interface-curses__ads.htm#ref_1344_14">Copy</A></span>
+ (<span class="symbol"><A NAME="ref_1264_7" HREF="terminal_interface-curses__ads.htm#ref_1345_7">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1265_7" HREF="terminal_interface-curses__ads.htm#ref_1346_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1266_7" HREF="terminal_interface-curses__ads.htm#ref_1347_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1267_7" HREF="terminal_interface-curses__ads.htm#ref_1348_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1268_7" HREF="terminal_interface-curses__ads.htm#ref_1349_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1269_7" HREF="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1270_7" HREF="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1271_7" HREF="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1272_7" HREF="terminal_interface-curses__ads.htm#ref_1353_7">Non_Destructive_Mode</A></span> : Boolean := True)
+ <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_1274_16">Copywin</A></span> (<span class="symbol"><A NAME="ref_1274_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1275_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1276_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Str</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1277_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Slc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1278_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Dtr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1279_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Dlc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1280_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Dbr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1281_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Drc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1282_25" HREF="terminal_interface-curses__adb.htm#ref_1274_16">Ndm</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Copywin, "copywin");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1269_16">Copywin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1176_7">Source_Window</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_1177_7">Destination_Window</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1178_7">Source_Top_Row</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1179_7">Source_Left_Column</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1180_7">Destination_Top_Row</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1181_7">Destination_Left_Column</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1182_7">Destination_Bottom_Row</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1183_7">Destination_Right_Column</A>),
- Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1184_7">Non_Destructive_Mode</A>)
- ) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1175_14">Copy</A>;
-
- <b>procedure</b> <span class="symbol"><A NAME="ref_1294_14" HREF="terminal_interface-curses__ads.htm#ref_1189_14">Overwrite</A></span>
- (<span class="symbol"><A NAME="ref_1295_7" HREF="terminal_interface-curses__ads.htm#ref_1189_25">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1296_7" HREF="terminal_interface-curses__ads.htm#ref_1190_25">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
- <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1298_16">Overwrite</A></span> (<span class="symbol"><A NAME="ref_1298_27" HREF="terminal_interface-curses__adb.htm#ref_1298_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1298_41" HREF="terminal_interface-curses__adb.htm#ref_1298_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1274_16">Copywin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1345_7">Source_Window</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_1346_7">Destination_Window</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1347_7">Source_Top_Row</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1348_7">Source_Left_Column</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1349_7">Destination_Top_Row</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Left_Column</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Bottom_Row</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Right_Column</A>),
+ Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1353_7">Non_Destructive_Mode</A>)
+ ) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+ <b>end</b> <b>if</b>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1344_14">Copy</A>;
+
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1300_14" HREF="terminal_interface-curses__ads.htm#ref_1358_14">Overwrite</A></span>
+ (<span class="symbol"><A NAME="ref_1301_7" HREF="terminal_interface-curses__ads.htm#ref_1358_25">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1302_7" HREF="terminal_interface-curses__ads.htm#ref_1359_25">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
+ <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_1304_16">Overwrite</A></span> (<span class="symbol"><A NAME="ref_1304_27" HREF="terminal_interface-curses__adb.htm#ref_1304_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1304_41" HREF="terminal_interface-curses__adb.htm#ref_1304_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Overwrite, "overwrite");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1298_16">Overwrite</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1189_25">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1190_25">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1304_16">Overwrite</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1358_25">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1359_25">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1189_14">Overwrite</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1358_14">Overwrite</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1306_14" HREF="terminal_interface-curses__ads.htm#ref_1195_14">Overlay</A></span>
- (<span class="symbol"><A NAME="ref_1307_7" HREF="terminal_interface-curses__ads.htm#ref_1195_23">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1308_7" HREF="terminal_interface-curses__ads.htm#ref_1196_23">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1312_14" HREF="terminal_interface-curses__ads.htm#ref_1364_14">Overlay</A></span>
+ (<span class="symbol"><A NAME="ref_1313_7" HREF="terminal_interface-curses__ads.htm#ref_1364_23">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1314_7" HREF="terminal_interface-curses__ads.htm#ref_1365_23">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1310_16">Overlay</A></span> (<span class="symbol"><A NAME="ref_1310_25" HREF="terminal_interface-curses__adb.htm#ref_1310_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1310_39" HREF="terminal_interface-curses__adb.htm#ref_1310_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1316_16">Overlay</A></span> (<span class="symbol"><A NAME="ref_1316_25" HREF="terminal_interface-curses__adb.htm#ref_1316_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1316_39" HREF="terminal_interface-curses__adb.htm#ref_1316_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Overlay, "overlay");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1310_16">Overlay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1195_23">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1196_23">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1316_16">Overlay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1364_23">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1365_23">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1195_14">Overlay</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1364_14">Overlay</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1319_14" HREF="terminal_interface-curses__ads.htm#ref_1205_14">Insert_Delete_Lines</A></span>
- (<span class="symbol"><A NAME="ref_1320_7" HREF="terminal_interface-curses__ads.htm#ref_1206_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1321_7" HREF="terminal_interface-curses__ads.htm#ref_1207_7">Lines</A></span> : Integer := 1) <span class="comment"><EM>-- default is to insert one line above</EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1325_14" HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A></span>
+ (<span class="symbol"><A NAME="ref_1326_7" HREF="terminal_interface-curses__ads.htm#ref_1375_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1327_7" HREF="terminal_interface-curses__ads.htm#ref_1376_7">Lines</A></span> : Integer := 1) <span class="comment"><EM>-- default is to insert one line above</EM></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1323_16">Winsdelln</A></span> (<span class="symbol"><A NAME="ref_1323_27" HREF="terminal_interface-curses__adb.htm#ref_1323_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1323_39" HREF="terminal_interface-curses__adb.htm#ref_1323_16">N</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1329_16">Winsdelln</A></span> (<span class="symbol"><A NAME="ref_1329_27" HREF="terminal_interface-curses__adb.htm#ref_1329_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1329_39" HREF="terminal_interface-curses__adb.htm#ref_1329_16">N</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Winsdelln, "winsdelln");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1323_16">Winsdelln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1206_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1207_7">Lines</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1329_16">Winsdelln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1375_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1376_7">Lines</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1205_14">Insert_Delete_Lines</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1331_14" HREF="terminal_interface-curses__ads.htm#ref_1213_14">Delete_Line</A></span> (<span class="symbol"><A NAME="ref_1331_27" HREF="terminal_interface-curses__ads.htm#ref_1213_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1337_14" HREF="terminal_interface-curses__ads.htm#ref_1382_14">Delete_Line</A></span> (<span class="symbol"><A NAME="ref_1337_27" HREF="terminal_interface-curses__ads.htm#ref_1382_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1205_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1213_27">Win</A>, -1);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1213_14">Delete_Line</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1382_27">Win</A>, -1);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1382_14">Delete_Line</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1337_14" HREF="terminal_interface-curses__ads.htm#ref_1219_14">Insert_Line</A></span> (<span class="symbol"><A NAME="ref_1337_27" HREF="terminal_interface-curses__ads.htm#ref_1219_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1343_14" HREF="terminal_interface-curses__ads.htm#ref_1388_14">Insert_Line</A></span> (<span class="symbol"><A NAME="ref_1343_27" HREF="terminal_interface-curses__ads.htm#ref_1388_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1205_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1219_27">Win</A>, 1);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1219_14">Insert_Line</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1388_27">Win</A>, 1);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1388_14">Insert_Line</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1344_14" HREF="terminal_interface-curses__ads.htm#ref_1229_14">Get_Size</A></span>
- (<span class="symbol"><A NAME="ref_1345_7" HREF="terminal_interface-curses__ads.htm#ref_1230_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1346_7" HREF="terminal_interface-curses__ads.htm#ref_1231_7">Number_Of_Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_1347_7" HREF="terminal_interface-curses__ads.htm#ref_1232_7">Number_Of_Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1350_14" HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A></span>
+ (<span class="symbol"><A NAME="ref_1351_7" HREF="terminal_interface-curses__ads.htm#ref_1399_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1352_7" HREF="terminal_interface-curses__ads.htm#ref_1400_7">Number_Of_Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_1353_7" HREF="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1349_16">GetMaxY</A></span> (<span class="symbol"><A NAME="ref_1349_25" HREF="terminal_interface-curses__adb.htm#ref_1349_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1355_16">GetMaxY</A></span> (<span class="symbol"><A NAME="ref_1355_25" HREF="terminal_interface-curses__adb.htm#ref_1355_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, GetMaxY, "getmaxy");
- <b>function</b> <span class="symbol"><A NAME="ref_1352_16">GetMaxX</A></span> (<span class="symbol"><A NAME="ref_1352_25" HREF="terminal_interface-curses__adb.htm#ref_1352_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1358_16">GetMaxX</A></span> (<span class="symbol"><A NAME="ref_1358_25" HREF="terminal_interface-curses__adb.htm#ref_1358_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, GetMaxX, "getmaxx");
- <span class="symbol"><A NAME="ref_1355_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1349_16">GetMaxY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1230_7">Win</A>);
- <span class="symbol"><A NAME="ref_1356_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1352_16">GetMaxX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1230_7">Win</A>);
+ <span class="symbol"><A NAME="ref_1361_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1355_16">GetMaxY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1399_7">Win</A>);
+ <span class="symbol"><A NAME="ref_1362_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1358_16">GetMaxX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1399_7">Win</A>);
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1231_7">Number_Of_Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1355_7">Y</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1232_7">Number_Of_Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1356_7">X</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Get_Size</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1400_7">Number_Of_Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1361_7">Y</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1362_7">X</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1362_14" HREF="terminal_interface-curses__ads.htm#ref_1237_14">Get_Window_Position</A></span>
- (<span class="symbol"><A NAME="ref_1363_7" HREF="terminal_interface-curses__ads.htm#ref_1238_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1364_7" HREF="terminal_interface-curses__ads.htm#ref_1239_7">Top_Left_Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1365_7" HREF="terminal_interface-curses__ads.htm#ref_1240_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1368_14" HREF="terminal_interface-curses__ads.htm#ref_1406_14">Get_Window_Position</A></span>
+ (<span class="symbol"><A NAME="ref_1369_7" HREF="terminal_interface-curses__ads.htm#ref_1407_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1370_7" HREF="terminal_interface-curses__ads.htm#ref_1408_7">Top_Left_Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1371_7" HREF="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1367_16">GetBegY</A></span> (<span class="symbol"><A NAME="ref_1367_25" HREF="terminal_interface-curses__adb.htm#ref_1367_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1373_16">GetBegY</A></span> (<span class="symbol"><A NAME="ref_1373_25" HREF="terminal_interface-curses__adb.htm#ref_1373_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, GetBegY, "getbegy");
- <b>function</b> <span class="symbol"><A NAME="ref_1370_16">GetBegX</A></span> (<span class="symbol"><A NAME="ref_1370_25" HREF="terminal_interface-curses__adb.htm#ref_1370_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1376_16">GetBegX</A></span> (<span class="symbol"><A NAME="ref_1376_25" HREF="terminal_interface-curses__adb.htm#ref_1376_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, GetBegX, "getbegx");
- <span class="symbol"><A NAME="ref_1373_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1367_16">GetBegY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1238_7">Win</A>));
- <span class="symbol"><A NAME="ref_1374_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1370_16">GetBegX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1238_7">Win</A>));
+ <span class="symbol"><A NAME="ref_1379_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1373_16">GetBegY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1407_7">Win</A>));
+ <span class="symbol"><A NAME="ref_1380_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1376_16">GetBegX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1407_7">Win</A>));
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1239_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1373_7">Y</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1240_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1374_7">X</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1237_14">Get_Window_Position</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1408_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1379_7">Y</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1380_7">X</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1406_14">Get_Window_Position</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1380_14" HREF="terminal_interface-curses__ads.htm#ref_1245_14">Get_Cursor_Position</A></span>
- (<span class="symbol"><A NAME="ref_1381_7" HREF="terminal_interface-curses__ads.htm#ref_1246_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1382_7" HREF="terminal_interface-curses__ads.htm#ref_1247_7">Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1383_7" HREF="terminal_interface-curses__ads.htm#ref_1248_7">Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1386_14" HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A></span>
+ (<span class="symbol"><A NAME="ref_1387_7" HREF="terminal_interface-curses__ads.htm#ref_1415_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1388_7" HREF="terminal_interface-curses__ads.htm#ref_1416_7">Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1389_7" HREF="terminal_interface-curses__ads.htm#ref_1417_7">Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1385_16">GetCurY</A></span> (<span class="symbol"><A NAME="ref_1385_25" HREF="terminal_interface-curses__adb.htm#ref_1385_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1391_16">GetCurY</A></span> (<span class="symbol"><A NAME="ref_1391_25" HREF="terminal_interface-curses__adb.htm#ref_1391_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, GetCurY, "getcury");
- <b>function</b> <span class="symbol"><A NAME="ref_1388_16">GetCurX</A></span> (<span class="symbol"><A NAME="ref_1388_25" HREF="terminal_interface-curses__adb.htm#ref_1388_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1394_16">GetCurX</A></span> (<span class="symbol"><A NAME="ref_1394_25" HREF="terminal_interface-curses__adb.htm#ref_1394_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, GetCurX, "getcurx");
- <span class="symbol"><A NAME="ref_1391_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1385_16">GetCurY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1246_7">Win</A>));
- <span class="symbol"><A NAME="ref_1392_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1388_16">GetCurX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1246_7">Win</A>));
+ <span class="symbol"><A NAME="ref_1397_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1391_16">GetCurY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1415_7">Win</A>));
+ <span class="symbol"><A NAME="ref_1398_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1394_16">GetCurX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1415_7">Win</A>));
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1247_7">Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1391_7">Y</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1248_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1392_7">X</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1245_14">Get_Cursor_Position</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1416_7">Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1397_7">Y</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1417_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1398_7">X</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1398_14" HREF="terminal_interface-curses__ads.htm#ref_1253_14">Get_Origin_Relative_To_Parent</A></span>
- (<span class="symbol"><A NAME="ref_1399_7" HREF="terminal_interface-curses__ads.htm#ref_1254_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1400_7" HREF="terminal_interface-curses__ads.htm#ref_1255_7">Top_Left_Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1401_7" HREF="terminal_interface-curses__ads.htm#ref_1256_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1402_7" HREF="terminal_interface-curses__ads.htm#ref_1257_7">Is_Not_A_Subwindow</A></span> : <b>out</b> Boolean)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1404_14" HREF="terminal_interface-curses__ads.htm#ref_1422_14">Get_Origin_Relative_To_Parent</A></span>
+ (<span class="symbol"><A NAME="ref_1405_7" HREF="terminal_interface-curses__ads.htm#ref_1423_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1406_7" HREF="terminal_interface-curses__ads.htm#ref_1424_7">Top_Left_Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1407_7" HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1408_7" HREF="terminal_interface-curses__ads.htm#ref_1426_7">Is_Not_A_Subwindow</A></span> : <b>out</b> Boolean)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1404_16">GetParY</A></span> (<span class="symbol"><A NAME="ref_1404_25" HREF="terminal_interface-curses__adb.htm#ref_1404_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1410_16">GetParY</A></span> (<span class="symbol"><A NAME="ref_1410_25" HREF="terminal_interface-curses__adb.htm#ref_1410_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, GetParY, "getpary");
- <b>function</b> <span class="symbol"><A NAME="ref_1407_16">GetParX</A></span> (<span class="symbol"><A NAME="ref_1407_25" HREF="terminal_interface-curses__adb.htm#ref_1407_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1413_16">GetParX</A></span> (<span class="symbol"><A NAME="ref_1413_25" HREF="terminal_interface-curses__adb.htm#ref_1413_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, GetParX, "getparx");
- <span class="symbol"><A NAME="ref_1410_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1404_16">GetParY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1254_7">Win</A>);
- <span class="symbol"><A NAME="ref_1411_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1407_16">GetParX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1254_7">Win</A>);
+ <span class="symbol"><A NAME="ref_1416_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1410_16">GetParY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1423_7">Win</A>);
+ <span class="symbol"><A NAME="ref_1417_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1413_16">GetParX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1423_7">Win</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1410_7">Y</A> = -1 <b>then</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1255_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>'Last;
- <A HREF="terminal_interface-curses__ads.htm#ref_1256_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>'Last;
- <A HREF="terminal_interface-curses__ads.htm#ref_1257_7">Is_Not_A_Subwindow</A> := True;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1416_7">Y</A> = -1 <b>then</b>
+ <A HREF="terminal_interface-curses__ads.htm#ref_1424_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>'Last;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>'Last;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1426_7">Is_Not_A_Subwindow</A> := True;
<b>else</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1255_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1410_7">Y</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1256_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1411_7">X</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1257_7">Is_Not_A_Subwindow</A> := False;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1424_7">Top_Left_Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1416_7">Y</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1417_7">X</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1426_7">Is_Not_A_Subwindow</A> := False;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1253_14">Get_Origin_Relative_To_Parent</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1422_14">Get_Origin_Relative_To_Parent</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1424_13" HREF="terminal_interface-curses__ads.htm#ref_1268_13">New_Pad</A></span> (<span class="symbol"><A NAME="ref_1424_22" HREF="terminal_interface-curses__ads.htm#ref_1268_22">Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_1425_22" HREF="terminal_interface-curses__ads.htm#ref_1269_22">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_1430_13" HREF="terminal_interface-curses__ads.htm#ref_1437_13">New_Pad</A></span> (<span class="symbol"><A NAME="ref_1430_22" HREF="terminal_interface-curses__ads.htm#ref_1437_22">Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_1431_22" HREF="terminal_interface-curses__ads.htm#ref_1438_22">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1427_16">Newpad</A></span> (<span class="symbol"><A NAME="ref_1427_24" HREF="terminal_interface-curses__adb.htm#ref_1427_16">Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <span class="symbol"><A NAME="ref_1427_39" HREF="terminal_interface-curses__adb.htm#ref_1427_16">Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1433_16">Newpad</A></span> (<span class="symbol"><A NAME="ref_1433_24" HREF="terminal_interface-curses__adb.htm#ref_1433_16">Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>; <span class="symbol"><A NAME="ref_1433_39" HREF="terminal_interface-curses__adb.htm#ref_1433_16">Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Newpad, "newpad");
- <span class="symbol"><A NAME="ref_1430_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1436_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_1430_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1427_16">Newpad</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1268_22">Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1269_22">Columns</A>));
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1430_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_1436_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1433_16">Newpad</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1437_22">Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1438_22">Columns</A>));
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1436_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1430_7">W</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1268_13">New_Pad</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1436_7">W</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1437_13">New_Pad</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_1439_13" HREF="terminal_interface-curses__ads.htm#ref_1274_13">Sub_Pad</A></span>
- (<span class="symbol"><A NAME="ref_1440_7" HREF="terminal_interface-curses__ads.htm#ref_1275_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1441_7" HREF="terminal_interface-curses__ads.htm#ref_1276_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_1442_7" HREF="terminal_interface-curses__ads.htm#ref_1277_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_1443_7" HREF="terminal_interface-curses__ads.htm#ref_1278_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1444_7" HREF="terminal_interface-curses__ads.htm#ref_1279_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_1445_13" HREF="terminal_interface-curses__ads.htm#ref_1443_13">Sub_Pad</A></span>
+ (<span class="symbol"><A NAME="ref_1446_7" HREF="terminal_interface-curses__ads.htm#ref_1444_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1447_7" HREF="terminal_interface-curses__ads.htm#ref_1445_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_1448_7" HREF="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_1449_7" HREF="terminal_interface-curses__ads.htm#ref_1447_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1450_7" HREF="terminal_interface-curses__ads.htm#ref_1448_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1446_16">Subpad</A></span>
- (<span class="symbol"><A NAME="ref_1447_10" HREF="terminal_interface-curses__adb.htm#ref_1446_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1448_10" HREF="terminal_interface-curses__adb.htm#ref_1446_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1449_10" HREF="terminal_interface-curses__adb.htm#ref_1446_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1450_10" HREF="terminal_interface-curses__adb.htm#ref_1446_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1451_10" HREF="terminal_interface-curses__adb.htm#ref_1446_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1452_16">Subpad</A></span>
+ (<span class="symbol"><A NAME="ref_1453_10" HREF="terminal_interface-curses__adb.htm#ref_1452_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1454_10" HREF="terminal_interface-curses__adb.htm#ref_1452_16">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1455_10" HREF="terminal_interface-curses__adb.htm#ref_1452_16">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1456_10" HREF="terminal_interface-curses__adb.htm#ref_1452_16">First_Line_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1457_10" HREF="terminal_interface-curses__adb.htm#ref_1452_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<b>pragma</b> Import (C, Subpad, "subpad");
- <span class="symbol"><A NAME="ref_1454_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <b>begin</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_1454_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1446_16">Subpad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1275_7">Pad</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1276_7">Number_Of_Lines</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1277_7">Number_Of_Columns</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1278_7">First_Line_Position</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1279_7">First_Column_Position</A>));
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1454_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
- <b>end</b> <b>if</b>;
- <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1454_7">W</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1274_13">Sub_Pad</A>;
-
- <b>procedure</b> <span class="symbol"><A NAME="ref_1467_14" HREF="terminal_interface-curses__ads.htm#ref_1284_14">Refresh</A></span>
- (<span class="symbol"><A NAME="ref_1468_7" HREF="terminal_interface-curses__ads.htm#ref_1285_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1469_7" HREF="terminal_interface-curses__ads.htm#ref_1286_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1470_7" HREF="terminal_interface-curses__ads.htm#ref_1287_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1471_7" HREF="terminal_interface-curses__ads.htm#ref_1288_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1472_7" HREF="terminal_interface-curses__ads.htm#ref_1289_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1473_7" HREF="terminal_interface-curses__ads.htm#ref_1290_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1474_7" HREF="terminal_interface-curses__ads.htm#ref_1291_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
- <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1476_16">Prefresh</A></span>
- (<span class="symbol"><A NAME="ref_1477_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1478_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1479_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1480_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1481_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1482_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1483_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1460_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <b>begin</b>
+ <A HREF="terminal_interface-curses__adb.htm#ref_1460_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1452_16">Subpad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1444_7">Pad</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1445_7">Number_Of_Lines</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Columns</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1447_7">First_Line_Position</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1448_7">First_Column_Position</A>));
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1460_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+ <b>end</b> <b>if</b>;
+ <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1460_7">W</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1443_13">Sub_Pad</A>;
+
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1473_14" HREF="terminal_interface-curses__ads.htm#ref_1453_14">Refresh</A></span>
+ (<span class="symbol"><A NAME="ref_1474_7" HREF="terminal_interface-curses__ads.htm#ref_1454_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1475_7" HREF="terminal_interface-curses__ads.htm#ref_1455_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1476_7" HREF="terminal_interface-curses__ads.htm#ref_1456_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1477_7" HREF="terminal_interface-curses__ads.htm#ref_1457_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1478_7" HREF="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1479_7" HREF="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1480_7" HREF="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+ <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_1482_16">Prefresh</A></span>
+ (<span class="symbol"><A NAME="ref_1483_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1484_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1485_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1486_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1487_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1488_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1489_10" HREF="terminal_interface-curses__adb.htm#ref_1482_16">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Prefresh, "prefresh");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1476_16">Prefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1285_7">Pad</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1286_7">Source_Top_Row</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1287_7">Source_Left_Column</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1288_7">Destination_Top_Row</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1289_7">Destination_Left_Column</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1290_7">Destination_Bottom_Row</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1291_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
- <b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1284_14">Refresh</A>;
-
- <b>procedure</b> <span class="symbol"><A NAME="ref_1497_14" HREF="terminal_interface-curses__ads.htm#ref_1296_14">Refresh_Without_Update</A></span>
- (<span class="symbol"><A NAME="ref_1498_7" HREF="terminal_interface-curses__ads.htm#ref_1297_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1499_7" HREF="terminal_interface-curses__ads.htm#ref_1298_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1500_7" HREF="terminal_interface-curses__ads.htm#ref_1299_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1501_7" HREF="terminal_interface-curses__ads.htm#ref_1300_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1502_7" HREF="terminal_interface-curses__ads.htm#ref_1301_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1503_7" HREF="terminal_interface-curses__ads.htm#ref_1302_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1504_7" HREF="terminal_interface-curses__ads.htm#ref_1303_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
- <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1506_16">Pnoutrefresh</A></span>
- (<span class="symbol"><A NAME="ref_1507_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1508_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1509_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1510_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1511_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1512_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1513_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1482_16">Prefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1454_7">Pad</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1455_7">Source_Top_Row</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1456_7">Source_Left_Column</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1457_7">Destination_Top_Row</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Left_Column</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Bottom_Row</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
+ <b>end</b> <b>if</b>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1453_14">Refresh</A>;
+
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1504_14" HREF="terminal_interface-curses__ads.htm#ref_1465_14">Refresh_Without_Update</A></span>
+ (<span class="symbol"><A NAME="ref_1505_7" HREF="terminal_interface-curses__ads.htm#ref_1466_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1506_7" HREF="terminal_interface-curses__ads.htm#ref_1467_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1507_7" HREF="terminal_interface-curses__ads.htm#ref_1468_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1508_7" HREF="terminal_interface-curses__ads.htm#ref_1469_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1509_7" HREF="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1510_7" HREF="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1511_7" HREF="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
+ <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_1513_16">Pnoutrefresh</A></span>
+ (<span class="symbol"><A NAME="ref_1514_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1515_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1516_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1517_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1518_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1519_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1520_10" HREF="terminal_interface-curses__adb.htm#ref_1513_16">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Pnoutrefresh, "pnoutrefresh");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1506_16">Pnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1297_7">Pad</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1298_7">Source_Top_Row</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1299_7">Source_Left_Column</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1300_7">Destination_Top_Row</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1301_7">Destination_Left_Column</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1302_7">Destination_Bottom_Row</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1303_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1513_16">Pnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1466_7">Pad</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1467_7">Source_Top_Row</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1468_7">Source_Left_Column</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1469_7">Destination_Top_Row</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Left_Column</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Bottom_Row</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1296_14">Refresh_Without_Update</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1465_14">Refresh_Without_Update</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1527_14" HREF="terminal_interface-curses__ads.htm#ref_1308_14">Add_Character_To_Pad_And_Echo_It</A></span>
- (<span class="symbol"><A NAME="ref_1528_7" HREF="terminal_interface-curses__ads.htm#ref_1309_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1529_7" HREF="terminal_interface-curses__ads.htm#ref_1310_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1535_14" HREF="terminal_interface-curses__ads.htm#ref_1477_14">Add_Character_To_Pad_And_Echo_It</A></span>
+ (<span class="symbol"><A NAME="ref_1536_7" HREF="terminal_interface-curses__ads.htm#ref_1478_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1537_7" HREF="terminal_interface-curses__ads.htm#ref_1479_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1531_16">Pechochar</A></span> (<span class="symbol"><A NAME="ref_1531_27" HREF="terminal_interface-curses__adb.htm#ref_1531_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1531_41" HREF="terminal_interface-curses__adb.htm#ref_1531_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>)
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1539_16">Pechochar</A></span> (<span class="symbol"><A NAME="ref_1539_27" HREF="terminal_interface-curses__adb.htm#ref_1539_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1539_41" HREF="terminal_interface-curses__adb.htm#ref_1539_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Pechochar, "pechochar");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1531_16">Pechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1309_7">Pad</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1310_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1539_16">Pechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1478_7">Pad</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1479_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1308_14">Add_Character_To_Pad_And_Echo_It</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1477_14">Add_Character_To_Pad_And_Echo_It</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1540_14" HREF="terminal_interface-curses__ads.htm#ref_1313_14">Add_Character_To_Pad_And_Echo_It</A></span>
- (<span class="symbol"><A NAME="ref_1541_7" HREF="terminal_interface-curses__ads.htm#ref_1314_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1542_7" HREF="terminal_interface-curses__ads.htm#ref_1315_7">Ch</A></span> : Character)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1548_14" HREF="terminal_interface-curses__ads.htm#ref_1482_14">Add_Character_To_Pad_And_Echo_It</A></span>
+ (<span class="symbol"><A NAME="ref_1549_7" HREF="terminal_interface-curses__ads.htm#ref_1483_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1550_7" HREF="terminal_interface-curses__ads.htm#ref_1484_7">Ch</A></span> : Character)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1308_14">Add_Character_To_Pad_And_Echo_It</A>
- (<A HREF="terminal_interface-curses__ads.htm#ref_1314_7">Pad</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1315_7">Ch</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1313_14">Add_Character_To_Pad_And_Echo_It</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1477_14">Add_Character_To_Pad_And_Echo_It</A>
+ (<A HREF="terminal_interface-curses__ads.htm#ref_1483_7">Pad</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1484_7">Ch</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1482_14">Add_Character_To_Pad_And_Echo_It</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1552_14" HREF="terminal_interface-curses__ads.htm#ref_1323_14">Scroll</A></span> (<span class="symbol"><A NAME="ref_1552_22" HREF="terminal_interface-curses__ads.htm#ref_1323_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1553_22" HREF="terminal_interface-curses__ads.htm#ref_1324_22">Amount</A></span> : Integer := 1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1560_14" HREF="terminal_interface-curses__ads.htm#ref_1492_14">Scroll</A></span> (<span class="symbol"><A NAME="ref_1560_22" HREF="terminal_interface-curses__ads.htm#ref_1492_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1561_22" HREF="terminal_interface-curses__ads.htm#ref_1493_22">Amount</A></span> : Integer := 1)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1555_16">Wscrl</A></span> (<span class="symbol"><A NAME="ref_1555_23" HREF="terminal_interface-curses__adb.htm#ref_1555_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1555_37" HREF="terminal_interface-curses__adb.htm#ref_1555_16">N</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1563_16">Wscrl</A></span> (<span class="symbol"><A NAME="ref_1563_23" HREF="terminal_interface-curses__adb.htm#ref_1563_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1563_37" HREF="terminal_interface-curses__adb.htm#ref_1563_16">N</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wscrl, "wscrl");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1555_16">Wscrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1323_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1324_22">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1563_16">Wscrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1492_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1493_22">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1323_14">Scroll</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1492_14">Scroll</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1565_14" HREF="terminal_interface-curses__ads.htm#ref_1335_14">Delete_Character</A></span> (<span class="symbol"><A NAME="ref_1565_32" HREF="terminal_interface-curses__ads.htm#ref_1335_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1573_14" HREF="terminal_interface-curses__ads.htm#ref_1504_14">Delete_Character</A></span> (<span class="symbol"><A NAME="ref_1573_32" HREF="terminal_interface-curses__ads.htm#ref_1504_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1567_16">Wdelch</A></span> (<span class="symbol"><A NAME="ref_1567_24" HREF="terminal_interface-curses__adb.htm#ref_1567_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1575_16">Wdelch</A></span> (<span class="symbol"><A NAME="ref_1575_24" HREF="terminal_interface-curses__adb.htm#ref_1575_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wdelch, "wdelch");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1567_16">Wdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1335_32">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1575_16">Wdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1504_32">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1335_14">Delete_Character</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1504_14">Delete_Character</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1575_14" HREF="terminal_interface-curses__ads.htm#ref_1340_14">Delete_Character</A></span>
- (<span class="symbol"><A NAME="ref_1576_7" HREF="terminal_interface-curses__ads.htm#ref_1341_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1577_7" HREF="terminal_interface-curses__ads.htm#ref_1342_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1578_7" HREF="terminal_interface-curses__ads.htm#ref_1343_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1583_14" HREF="terminal_interface-curses__ads.htm#ref_1509_14">Delete_Character</A></span>
+ (<span class="symbol"><A NAME="ref_1584_7" HREF="terminal_interface-curses__ads.htm#ref_1510_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1585_7" HREF="terminal_interface-curses__ads.htm#ref_1511_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1586_7" HREF="terminal_interface-curses__ads.htm#ref_1512_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1580_16">Mvwdelch</A></span> (<span class="symbol"><A NAME="ref_1580_26" HREF="terminal_interface-curses__adb.htm#ref_1580_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1581_26" HREF="terminal_interface-curses__adb.htm#ref_1580_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1582_26" HREF="terminal_interface-curses__adb.htm#ref_1580_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1588_16">Mvwdelch</A></span> (<span class="symbol"><A NAME="ref_1588_26" HREF="terminal_interface-curses__adb.htm#ref_1588_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1589_26" HREF="terminal_interface-curses__adb.htm#ref_1588_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1590_26" HREF="terminal_interface-curses__adb.htm#ref_1588_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Mvwdelch, "mvwdelch");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1580_16">Mvwdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1341_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1342_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1343_7">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1588_16">Mvwdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1510_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1511_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1512_7">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1340_14">Delete_Character</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1509_14">Delete_Character</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1590_13" HREF="terminal_interface-curses__ads.htm#ref_1353_13">Peek</A></span> (<span class="symbol"><A NAME="ref_1590_19" HREF="terminal_interface-curses__ads.htm#ref_1353_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_1598_13" HREF="terminal_interface-curses__ads.htm#ref_1522_13">Peek</A></span> (<span class="symbol"><A NAME="ref_1598_19" HREF="terminal_interface-curses__ads.htm#ref_1522_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1593_16">Winch</A></span> (<span class="symbol"><A NAME="ref_1593_23" HREF="terminal_interface-curses__adb.htm#ref_1593_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1601_16">Winch</A></span> (<span class="symbol"><A NAME="ref_1601_23" HREF="terminal_interface-curses__adb.htm#ref_1601_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Winch, "winch");
<b>begin</b>
- <b>return</b> Chtype_To_AttrChar (<A HREF="terminal_interface-curses__adb.htm#ref_1593_16">Winch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1353_19">Win</A>));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1353_13">Peek</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1601_16">Winch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1522_19">Win</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1522_13">Peek</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_1599_13" HREF="terminal_interface-curses__ads.htm#ref_1359_13">Peek</A></span>
- (<span class="symbol"><A NAME="ref_1600_7" HREF="terminal_interface-curses__ads.htm#ref_1360_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1601_7" HREF="terminal_interface-curses__ads.htm#ref_1361_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1602_7" HREF="terminal_interface-curses__ads.htm#ref_1362_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_1607_13" HREF="terminal_interface-curses__ads.htm#ref_1528_13">Peek</A></span>
+ (<span class="symbol"><A NAME="ref_1608_7" HREF="terminal_interface-curses__ads.htm#ref_1529_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1609_7" HREF="terminal_interface-curses__ads.htm#ref_1530_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1610_7" HREF="terminal_interface-curses__ads.htm#ref_1531_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1604_16">Mvwinch</A></span> (<span class="symbol"><A NAME="ref_1604_25" HREF="terminal_interface-curses__adb.htm#ref_1604_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1605_25" HREF="terminal_interface-curses__adb.htm#ref_1604_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1606_25" HREF="terminal_interface-curses__adb.htm#ref_1604_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1612_16">Mvwinch</A></span> (<span class="symbol"><A NAME="ref_1612_25" HREF="terminal_interface-curses__adb.htm#ref_1612_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1613_25" HREF="terminal_interface-curses__adb.htm#ref_1612_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1614_25" HREF="terminal_interface-curses__adb.htm#ref_1612_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Mvwinch, "mvwinch");
<b>begin</b>
- <b>return</b> Chtype_To_AttrChar (<A HREF="terminal_interface-curses__adb.htm#ref_1604_16">Mvwinch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1360_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1361_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1362_7">Column</A>)));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1359_13">Peek</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1612_16">Mvwinch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1529_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1530_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1531_7">Column</A>));
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1528_13">Peek</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1612_14" HREF="terminal_interface-curses__ads.htm#ref_1372_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1612_22" HREF="terminal_interface-curses__ads.htm#ref_1372_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1613_22" HREF="terminal_interface-curses__ads.htm#ref_1373_22">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1620_14" HREF="terminal_interface-curses__ads.htm#ref_1541_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1620_22" HREF="terminal_interface-curses__ads.htm#ref_1541_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1621_22" HREF="terminal_interface-curses__ads.htm#ref_1542_22">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1615_16">Winsch</A></span> (<span class="symbol"><A NAME="ref_1615_24" HREF="terminal_interface-curses__adb.htm#ref_1615_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <span class="symbol"><A NAME="ref_1615_38" HREF="terminal_interface-curses__adb.htm#ref_1615_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1623_16">Winsch</A></span> (<span class="symbol"><A NAME="ref_1623_24" HREF="terminal_interface-curses__adb.htm#ref_1623_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1623_38" HREF="terminal_interface-curses__adb.htm#ref_1623_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Winsch, "winsch");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1615_16">Winsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1372_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1373_22">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1623_16">Winsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1541_22">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1542_22">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1372_14">Insert</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1541_14">Insert</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1623_14" HREF="terminal_interface-curses__ads.htm#ref_1378_14">Insert</A></span>
- (<span class="symbol"><A NAME="ref_1624_7" HREF="terminal_interface-curses__ads.htm#ref_1378_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1625_7" HREF="terminal_interface-curses__ads.htm#ref_1379_22">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1626_7" HREF="terminal_interface-curses__ads.htm#ref_1380_22">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1627_7" HREF="terminal_interface-curses__ads.htm#ref_1381_22">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1631_14" HREF="terminal_interface-curses__ads.htm#ref_1547_14">Insert</A></span>
+ (<span class="symbol"><A NAME="ref_1632_7" HREF="terminal_interface-curses__ads.htm#ref_1547_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1633_7" HREF="terminal_interface-curses__ads.htm#ref_1548_22">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1634_7" HREF="terminal_interface-curses__ads.htm#ref_1549_22">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1635_7" HREF="terminal_interface-curses__ads.htm#ref_1550_22">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1629_16">Mvwinsch</A></span> (<span class="symbol"><A NAME="ref_1629_26" HREF="terminal_interface-curses__adb.htm#ref_1629_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1630_26" HREF="terminal_interface-curses__adb.htm#ref_1629_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1631_26" HREF="terminal_interface-curses__adb.htm#ref_1629_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1632_26" HREF="terminal_interface-curses__adb.htm#ref_1629_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1637_16">Mvwinsch</A></span> (<span class="symbol"><A NAME="ref_1637_26" HREF="terminal_interface-curses__adb.htm#ref_1637_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1638_26" HREF="terminal_interface-curses__adb.htm#ref_1637_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1639_26" HREF="terminal_interface-curses__adb.htm#ref_1637_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1640_26" HREF="terminal_interface-curses__adb.htm#ref_1637_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Mvwinsch, "mvwinsch");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1629_16">Mvwinsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1378_22">Win</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1379_22">Line</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1380_22">Column</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1381_22">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1637_16">Mvwinsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1547_22">Win</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1548_22">Line</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1549_22">Column</A>),
+ <A HREF="terminal_interface-curses__ads.htm#ref_1550_22">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1378_14">Insert</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1547_14">Insert</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1643_14" HREF="terminal_interface-curses__ads.htm#ref_1390_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1643_22" HREF="terminal_interface-curses__ads.htm#ref_1390_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1644_22" HREF="terminal_interface-curses__ads.htm#ref_1391_22">Str</A></span> : String;
- <span class="symbol"><A NAME="ref_1645_22" HREF="terminal_interface-curses__ads.htm#ref_1392_22">Len</A></span> : Integer := -1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1652_14" HREF="terminal_interface-curses__ads.htm#ref_1559_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1652_22" HREF="terminal_interface-curses__ads.htm#ref_1559_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1653_22" HREF="terminal_interface-curses__ads.htm#ref_1560_22">Str</A></span> : String;
+ <span class="symbol"><A NAME="ref_1654_22" HREF="terminal_interface-curses__ads.htm#ref_1561_22">Len</A></span> : Integer := -1)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1647_16">Winsnstr</A></span> (<span class="symbol"><A NAME="ref_1647_26" HREF="terminal_interface-curses__adb.htm#ref_1647_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1648_26" HREF="terminal_interface-curses__adb.htm#ref_1647_16">Str</A></span> : char_array;
- <span class="symbol"><A NAME="ref_1649_26" HREF="terminal_interface-curses__adb.htm#ref_1647_16">Len</A></span> : Integer := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1656_16">Winsnstr</A></span> (<span class="symbol"><A NAME="ref_1656_26" HREF="terminal_interface-curses__adb.htm#ref_1656_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1657_26" HREF="terminal_interface-curses__adb.htm#ref_1656_16">Str</A></span> : char_array;
+ <span class="symbol"><A NAME="ref_1658_26" HREF="terminal_interface-curses__adb.htm#ref_1656_16">Len</A></span> : Integer := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Winsnstr, "winsnstr");
- <span class="symbol"><A NAME="ref_1652_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1391_22">Str</A>'Length);
- <span class="symbol"><A NAME="ref_1653_7">Length</A></span> : size_t;
+ <span class="symbol"><A NAME="ref_1661_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1560_22">Str</A>'Length);
+ <span class="symbol"><A NAME="ref_1662_7">Length</A></span> : size_t;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1391_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1652_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1653_7">Length</A>);
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1647_16">Winsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1390_22">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1652_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1392_22">Len</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1560_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1661_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1662_7">Length</A>);
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1656_16">Winsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1559_22">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1661_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1561_22">Len</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1390_14">Insert</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1559_14">Insert</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1661_14" HREF="terminal_interface-curses__ads.htm#ref_1399_14">Insert</A></span>
- (<span class="symbol"><A NAME="ref_1662_7" HREF="terminal_interface-curses__ads.htm#ref_1399_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1663_7" HREF="terminal_interface-curses__ads.htm#ref_1400_22">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1664_7" HREF="terminal_interface-curses__ads.htm#ref_1401_22">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1665_7" HREF="terminal_interface-curses__ads.htm#ref_1402_22">Str</A></span> : String;
- <span class="symbol"><A NAME="ref_1666_7" HREF="terminal_interface-curses__ads.htm#ref_1403_22">Len</A></span> : Integer := -1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1670_14" HREF="terminal_interface-curses__ads.htm#ref_1568_14">Insert</A></span>
+ (<span class="symbol"><A NAME="ref_1671_7" HREF="terminal_interface-curses__ads.htm#ref_1568_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1672_7" HREF="terminal_interface-curses__ads.htm#ref_1569_22">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1673_7" HREF="terminal_interface-curses__ads.htm#ref_1570_22">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1674_7" HREF="terminal_interface-curses__ads.htm#ref_1571_22">Str</A></span> : String;
+ <span class="symbol"><A NAME="ref_1675_7" HREF="terminal_interface-curses__ads.htm#ref_1572_22">Len</A></span> : Integer := -1)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1668_16">Mvwinsnstr</A></span> (<span class="symbol"><A NAME="ref_1668_28" HREF="terminal_interface-curses__adb.htm#ref_1668_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1669_28" HREF="terminal_interface-curses__adb.htm#ref_1668_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1670_28" HREF="terminal_interface-curses__adb.htm#ref_1668_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1671_28" HREF="terminal_interface-curses__adb.htm#ref_1668_16">Str</A></span> : char_array;
- <span class="symbol"><A NAME="ref_1672_28" HREF="terminal_interface-curses__adb.htm#ref_1668_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1677_16">Mvwinsnstr</A></span> (<span class="symbol"><A NAME="ref_1677_28" HREF="terminal_interface-curses__adb.htm#ref_1677_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1678_28" HREF="terminal_interface-curses__adb.htm#ref_1677_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1679_28" HREF="terminal_interface-curses__adb.htm#ref_1677_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1680_28" HREF="terminal_interface-curses__adb.htm#ref_1677_16">Str</A></span> : char_array;
+ <span class="symbol"><A NAME="ref_1681_28" HREF="terminal_interface-curses__adb.htm#ref_1677_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Mvwinsnstr, "mvwinsnstr");
- <span class="symbol"><A NAME="ref_1675_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1402_22">Str</A>'Length);
- <span class="symbol"><A NAME="ref_1676_7">Length</A></span> : size_t;
+ <span class="symbol"><A NAME="ref_1684_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1571_22">Str</A>'Length);
+ <span class="symbol"><A NAME="ref_1685_7">Length</A></span> : size_t;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1402_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1675_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1676_7">Length</A>);
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1668_16">Mvwinsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1399_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1400_22">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1401_22">Column</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1675_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1403_22">Len</A>))
- = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1571_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1684_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1685_7">Length</A>);
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1677_16">Mvwinsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1568_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1569_22">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1570_22">Column</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1684_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1572_22">Len</A>))
+ = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1399_14">Insert</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1568_14">Insert</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1685_14" HREF="terminal_interface-curses__ads.htm#ref_1415_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1685_20" HREF="terminal_interface-curses__ads.htm#ref_1415_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1686_20" HREF="terminal_interface-curses__ads.htm#ref_1416_20">Str</A></span> : <b>out</b> String;
- <span class="symbol"><A NAME="ref_1687_20" HREF="terminal_interface-curses__ads.htm#ref_1417_20">Len</A></span> : Integer := -1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1695_14" HREF="terminal_interface-curses__ads.htm#ref_1584_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1695_20" HREF="terminal_interface-curses__ads.htm#ref_1584_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1696_20" HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A></span> : <b>out</b> String;
+ <span class="symbol"><A NAME="ref_1697_20" HREF="terminal_interface-curses__ads.htm#ref_1586_20">Len</A></span> : Integer := -1)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1689_16">Winnstr</A></span> (<span class="symbol"><A NAME="ref_1689_25" HREF="terminal_interface-curses__adb.htm#ref_1689_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1690_25" HREF="terminal_interface-curses__adb.htm#ref_1689_16">Str</A></span> : char_array;
- <span class="symbol"><A NAME="ref_1691_25" HREF="terminal_interface-curses__adb.htm#ref_1689_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1699_16">Winnstr</A></span> (<span class="symbol"><A NAME="ref_1699_25" HREF="terminal_interface-curses__adb.htm#ref_1699_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1700_25" HREF="terminal_interface-curses__adb.htm#ref_1699_16">Str</A></span> : char_array;
+ <span class="symbol"><A NAME="ref_1701_25" HREF="terminal_interface-curses__adb.htm#ref_1699_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Winnstr, "winnstr");
- <span class="symbol"><A NAME="ref_1694_7">N</A></span> : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1417_20">Len</A>;
- <span class="symbol"><A NAME="ref_1695_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1416_20">Str</A>'Length);
- <span class="symbol"><A NAME="ref_1696_7">Cnt</A></span> : Natural;
+ <span class="symbol"><A NAME="ref_1704_7">N</A></span> : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1586_20">Len</A>;
+ <span class="symbol"><A NAME="ref_1705_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length);
+ <span class="symbol"><A NAME="ref_1706_7">Cnt</A></span> : Natural;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1694_7">N</A> &lt; 0 <b>then</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_1694_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1416_20">Str</A>'Length;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1704_7">N</A> &lt; 0 <b>then</b>
+ <A HREF="terminal_interface-curses__adb.htm#ref_1704_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1694_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#ref_1416_20">Str</A>'Length <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1704_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length <b>then</b>
<b>raise</b> Constraint_Error;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses__adb.htm#ref_1695_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char'First;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1689_16">Winnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1415_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1695_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1694_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char'First;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1699_16">Winnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1584_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1704_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1695_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1416_20">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1696_7">Cnt</A>, True);
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1696_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#ref_1416_20">Str</A>'Length <b>then</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1416_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1416_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1696_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1416_20">Str</A>'Last) := (<b>others</b> =&gt; ' ');
+ To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1705_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Cnt</A>, True);
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length <b>then</b>
+ <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Last) := (<b>others</b> =&gt; ' ');
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1415_14">Peek</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1584_14">Peek</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1714_14" HREF="terminal_interface-curses__ads.htm#ref_1424_14">Peek</A></span>
- (<span class="symbol"><A NAME="ref_1715_7" HREF="terminal_interface-curses__ads.htm#ref_1424_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1716_7" HREF="terminal_interface-curses__ads.htm#ref_1425_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1717_7" HREF="terminal_interface-curses__ads.htm#ref_1426_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1718_7" HREF="terminal_interface-curses__ads.htm#ref_1427_20">Str</A></span> : <b>out</b> String;
- <span class="symbol"><A NAME="ref_1719_7" HREF="terminal_interface-curses__ads.htm#ref_1428_20">Len</A></span> : Integer := -1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1724_14" HREF="terminal_interface-curses__ads.htm#ref_1593_14">Peek</A></span>
+ (<span class="symbol"><A NAME="ref_1725_7" HREF="terminal_interface-curses__ads.htm#ref_1593_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1726_7" HREF="terminal_interface-curses__ads.htm#ref_1594_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1727_7" HREF="terminal_interface-curses__ads.htm#ref_1595_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1728_7" HREF="terminal_interface-curses__ads.htm#ref_1596_20">Str</A></span> : <b>out</b> String;
+ <span class="symbol"><A NAME="ref_1729_7" HREF="terminal_interface-curses__ads.htm#ref_1597_20">Len</A></span> : Integer := -1)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_512_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1424_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1425_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1426_20">Column</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1415_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1424_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1427_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1428_20">Len</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1424_14">Peek</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1593_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1594_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1595_20">Column</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1584_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1593_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1596_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1597_20">Len</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1593_14">Peek</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1726_14" HREF="terminal_interface-curses__ads.htm#ref_1439_14">Peek</A></span>
- (<span class="symbol"><A NAME="ref_1727_7" HREF="terminal_interface-curses__ads.htm#ref_1439_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1728_7" HREF="terminal_interface-curses__ads.htm#ref_1440_20">Str</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Attributed_String</A>;
- <span class="symbol"><A NAME="ref_1729_7" HREF="terminal_interface-curses__ads.htm#ref_1441_20">Len</A></span> : Integer := -1)
- <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1731_16">Winchnstr</A></span> (<span class="symbol"><A NAME="ref_1731_27" HREF="terminal_interface-curses__adb.htm#ref_1731_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1732_27" HREF="terminal_interface-curses__adb.htm#ref_1731_16">Str</A></span> : chtype_array; <span class="comment"><EM>-- out</EM></span>
- <span class="symbol"><A NAME="ref_1733_27" HREF="terminal_interface-curses__adb.htm#ref_1731_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1736_14" HREF="terminal_interface-curses__ads.htm#ref_1608_14">Peek</A></span>
+ (<span class="symbol"><A NAME="ref_1737_7" HREF="terminal_interface-curses__ads.htm#ref_1608_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1738_7" HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
+ <span class="symbol"><A NAME="ref_1739_7" HREF="terminal_interface-curses__ads.htm#ref_1610_20">Len</A></span> : Integer := -1)
+ <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_1741_16">Winchnstr</A></span> (<span class="symbol"><A NAME="ref_1741_27" HREF="terminal_interface-curses__adb.htm#ref_1741_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1742_27" HREF="terminal_interface-curses__adb.htm#ref_1741_16">Str</A></span> : chtype_array; <span class="comment"><EM>-- out</EM></span>
+ <span class="symbol"><A NAME="ref_1743_27" HREF="terminal_interface-curses__adb.htm#ref_1741_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Winchnstr, "winchnstr");
- <span class="symbol"><A NAME="ref_1736_7">N</A></span> : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1441_20">Len</A>;
- <span class="symbol"><A NAME="ref_1737_7">Txt</A></span> : <b>constant</b> chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1440_20">Str</A>'Length)
- := (0 =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>);
- <span class="symbol"><A NAME="ref_1739_7">Cnt</A></span> : Natural := 0;
+ <span class="symbol"><A NAME="ref_1746_7">N</A></span> : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Len</A>;
+ <span class="symbol"><A NAME="ref_1747_7">Txt</A></span> : <b>constant</b> chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length)
+ := (0 =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>);
+ <span class="symbol"><A NAME="ref_1749_7">Cnt</A></span> : Natural := 0;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1736_7">N</A> &lt; 0 <b>then</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_1736_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1440_20">Str</A>'Length;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1746_7">N</A> &lt; 0 <b>then</b>
+ <A HREF="terminal_interface-curses__adb.htm#ref_1746_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1736_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#ref_1440_20">Str</A>'Length <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1746_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length <b>then</b>
<b>raise</b> Constraint_Error;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1731_16">Winchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1439_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1737_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1736_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1741_16">Winchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1608_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1746_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>for</b> <span class="symbol"><A NAME="ref_1750_11">To</A></span> <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1440_20">Str</A>'<b>Range</b> <b>loop</b>
- <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses__adb.htm#ref_1737_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1739_7">Cnt</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <A HREF="terminal_interface-curses__ads.htm#ref_1440_20">Str</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1750_11">To</A>) := <A HREF="terminal_interface-curses__adb.htm#ref_1737_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1739_7">Cnt</A>));
- <A HREF="terminal_interface-curses__adb.htm#ref_1739_7">Cnt</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1739_7">Cnt</A> + 1;
+ <b>for</b> <span class="symbol"><A NAME="ref_1760_11">To</A></span> <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'<b>Range</b> <b>loop</b>
+ <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1749_7">Cnt</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1760_11">To</A>) := <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1749_7">Cnt</A>));
+ <A HREF="terminal_interface-curses__adb.htm#ref_1749_7">Cnt</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1749_7">Cnt</A> + 1;
<b>end</b> <b>loop</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1739_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#ref_1440_20">Str</A>'Length <b>then</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1440_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1440_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1739_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1440_20">Str</A>'Last) :=
- (<b>others</b> =&gt; (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; ' ',
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>));
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1749_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length <b>then</b>
+ <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1749_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Last) :=
+ (<b>others</b> =&gt; (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; ' ',
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1439_14">Peek</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1608_14">Peek</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1763_14" HREF="terminal_interface-curses__ads.htm#ref_1448_14">Peek</A></span>
- (<span class="symbol"><A NAME="ref_1764_7" HREF="terminal_interface-curses__ads.htm#ref_1448_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1765_7" HREF="terminal_interface-curses__ads.htm#ref_1449_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1766_7" HREF="terminal_interface-curses__ads.htm#ref_1450_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1767_7" HREF="terminal_interface-curses__ads.htm#ref_1451_20">Str</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Attributed_String</A>;
- <span class="symbol"><A NAME="ref_1768_7" HREF="terminal_interface-curses__ads.htm#ref_1452_20">Len</A></span> : Integer := -1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1773_14" HREF="terminal_interface-curses__ads.htm#ref_1617_14">Peek</A></span>
+ (<span class="symbol"><A NAME="ref_1774_7" HREF="terminal_interface-curses__ads.htm#ref_1617_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1775_7" HREF="terminal_interface-curses__ads.htm#ref_1618_20">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1776_7" HREF="terminal_interface-curses__ads.htm#ref_1619_20">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1777_7" HREF="terminal_interface-curses__ads.htm#ref_1620_20">Str</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
+ <span class="symbol"><A NAME="ref_1778_7" HREF="terminal_interface-curses__ads.htm#ref_1621_20">Len</A></span> : Integer := -1)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_512_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1448_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1449_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1450_20">Column</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1439_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1448_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1451_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1452_20">Len</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1448_14">Peek</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1617_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1618_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1619_20">Column</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1608_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1617_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1620_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1621_20">Len</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1617_14">Peek</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1775_14" HREF="terminal_interface-curses__ads.htm#ref_1464_14">Get</A></span> (<span class="symbol"><A NAME="ref_1775_19" HREF="terminal_interface-curses__ads.htm#ref_1464_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1776_19" HREF="terminal_interface-curses__ads.htm#ref_1465_19">Str</A></span> : <b>out</b> String;
- <span class="symbol"><A NAME="ref_1777_19" HREF="terminal_interface-curses__ads.htm#ref_1466_19">Len</A></span> : Integer := -1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1785_14" HREF="terminal_interface-curses__ads.htm#ref_1633_14">Get</A></span> (<span class="symbol"><A NAME="ref_1785_19" HREF="terminal_interface-curses__ads.htm#ref_1633_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1786_19" HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A></span> : <b>out</b> String;
+ <span class="symbol"><A NAME="ref_1787_19" HREF="terminal_interface-curses__ads.htm#ref_1635_19">Len</A></span> : Integer := -1)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1779_16">Wgetnstr</A></span> (<span class="symbol"><A NAME="ref_1779_26" HREF="terminal_interface-curses__adb.htm#ref_1779_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1780_26" HREF="terminal_interface-curses__adb.htm#ref_1779_16">Str</A></span> : char_array;
- <span class="symbol"><A NAME="ref_1781_26" HREF="terminal_interface-curses__adb.htm#ref_1779_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1789_16">Wgetnstr</A></span> (<span class="symbol"><A NAME="ref_1789_26" HREF="terminal_interface-curses__adb.htm#ref_1789_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1790_26" HREF="terminal_interface-curses__adb.htm#ref_1789_16">Str</A></span> : char_array;
+ <span class="symbol"><A NAME="ref_1791_26" HREF="terminal_interface-curses__adb.htm#ref_1789_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Wgetnstr, "wgetnstr");
- <span class="symbol"><A NAME="ref_1784_7">N</A></span> : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1466_19">Len</A>;
- <span class="symbol"><A NAME="ref_1785_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1465_19">Str</A>'Length);
- <span class="symbol"><A NAME="ref_1786_7">Cnt</A></span> : Natural;
+ <span class="symbol"><A NAME="ref_1794_7">N</A></span> : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1635_19">Len</A>;
+ <span class="symbol"><A NAME="ref_1795_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length);
+ <span class="symbol"><A NAME="ref_1796_7">Cnt</A></span> : Natural;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1784_7">N</A> &lt; 0 <b>then</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_1784_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1465_19">Str</A>'Length;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1794_7">N</A> &lt; 0 <b>then</b>
+ <A HREF="terminal_interface-curses__adb.htm#ref_1794_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1784_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#ref_1465_19">Str</A>'Length <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1794_7">N</A> &gt; <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length <b>then</b>
<b>raise</b> Constraint_Error;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses__adb.htm#ref_1785_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char'First;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1779_16">Wgetnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1464_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1785_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1784_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char'First;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1789_16">Wgetnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1633_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1794_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1785_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1465_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1786_7">Cnt</A>, True);
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1786_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#ref_1465_19">Str</A>'Length <b>then</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1465_19">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1465_19">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1786_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1465_19">Str</A>'Last) := (<b>others</b> =&gt; ' ');
+ To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1795_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Cnt</A>, True);
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Cnt</A> &lt; <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length <b>then</b>
+ <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Last) := (<b>others</b> =&gt; ' ');
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1464_14">Get</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1633_14">Get</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1804_14" HREF="terminal_interface-curses__ads.htm#ref_1475_14">Get</A></span>
- (<span class="symbol"><A NAME="ref_1805_7" HREF="terminal_interface-curses__ads.htm#ref_1475_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1806_7" HREF="terminal_interface-curses__ads.htm#ref_1476_19">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1807_7" HREF="terminal_interface-curses__ads.htm#ref_1477_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1808_7" HREF="terminal_interface-curses__ads.htm#ref_1478_19">Str</A></span> : <b>out</b> String;
- <span class="symbol"><A NAME="ref_1809_7" HREF="terminal_interface-curses__ads.htm#ref_1479_19">Len</A></span> : Integer := -1)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1814_14" HREF="terminal_interface-curses__ads.htm#ref_1644_14">Get</A></span>
+ (<span class="symbol"><A NAME="ref_1815_7" HREF="terminal_interface-curses__ads.htm#ref_1644_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1816_7" HREF="terminal_interface-curses__ads.htm#ref_1645_19">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1817_7" HREF="terminal_interface-curses__ads.htm#ref_1646_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1818_7" HREF="terminal_interface-curses__ads.htm#ref_1647_19">Str</A></span> : <b>out</b> String;
+ <span class="symbol"><A NAME="ref_1819_7" HREF="terminal_interface-curses__ads.htm#ref_1648_19">Len</A></span> : Integer := -1)
<b>is</b>
<b>begin</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_512_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1475_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1476_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1477_19">Column</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1464_14">Get</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1475_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1478_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1479_19">Len</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1475_14">Get</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1644_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1645_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1646_19">Column</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1633_14">Get</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1644_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1647_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1648_19">Len</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1644_14">Get</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1816_14" HREF="terminal_interface-curses__ads.htm#ref_1500_14">Init_Soft_Label_Keys</A></span>
- (<span class="symbol"><A NAME="ref_1817_7" HREF="terminal_interface-curses__ads.htm#ref_1501_7">Format</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1492_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1492_35">Three_Two_Three</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1826_14" HREF="terminal_interface-curses__ads.htm#ref_1669_14">Init_Soft_Label_Keys</A></span>
+ (<span class="symbol"><A NAME="ref_1827_7" HREF="terminal_interface-curses__ads.htm#ref_1670_7">Format</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1661_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1661_35">Three_Two_Three</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1819_16">Slk_Init</A></span> (<span class="symbol"><A NAME="ref_1819_26" HREF="terminal_interface-curses__adb.htm#ref_1819_16">Fmt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1829_16">Slk_Init</A></span> (<span class="symbol"><A NAME="ref_1829_26" HREF="terminal_interface-curses__adb.htm#ref_1829_16">Fmt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Slk_Init, "slk_init");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1819_16">Slk_Init</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1492_9">Soft_Label_Key_Format</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1501_7">Format</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1829_16">Slk_Init</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1661_9">Soft_Label_Key_Format</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1670_7">Format</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1500_14">Init_Soft_Label_Keys</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1669_14">Init_Soft_Label_Keys</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1827_14" HREF="terminal_interface-curses__ads.htm#ref_1506_14">Set_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1827_34" HREF="terminal_interface-curses__ads.htm#ref_1506_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1496_9">Label_Number</A>;
- <span class="symbol"><A NAME="ref_1828_34" HREF="terminal_interface-curses__ads.htm#ref_1507_34">Text</A></span> : String;
- <span class="symbol"><A NAME="ref_1829_34" HREF="terminal_interface-curses__ads.htm#ref_1508_34">Fmt</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1497_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1497_33">Left</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1837_14" HREF="terminal_interface-curses__ads.htm#ref_1675_14">Set_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1837_34" HREF="terminal_interface-curses__ads.htm#ref_1675_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>;
+ <span class="symbol"><A NAME="ref_1838_34" HREF="terminal_interface-curses__ads.htm#ref_1676_34">Text</A></span> : String;
+ <span class="symbol"><A NAME="ref_1839_34" HREF="terminal_interface-curses__ads.htm#ref_1677_34">Fmt</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1666_33">Left</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1831_16">Slk_Set</A></span> (<span class="symbol"><A NAME="ref_1831_25" HREF="terminal_interface-curses__adb.htm#ref_1831_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1832_25" HREF="terminal_interface-curses__adb.htm#ref_1831_16">Txt</A></span> : char_array;
- <span class="symbol"><A NAME="ref_1833_25" HREF="terminal_interface-curses__adb.htm#ref_1831_16">Fmt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1841_16">Slk_Set</A></span> (<span class="symbol"><A NAME="ref_1841_25" HREF="terminal_interface-curses__adb.htm#ref_1841_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1842_25" HREF="terminal_interface-curses__adb.htm#ref_1841_16">Txt</A></span> : char_array;
+ <span class="symbol"><A NAME="ref_1843_25" HREF="terminal_interface-curses__adb.htm#ref_1841_16">Fmt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Slk_Set, "slk_set");
- <span class="symbol"><A NAME="ref_1836_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1507_34">Text</A>'Length);
- <span class="symbol"><A NAME="ref_1837_7">Len</A></span> : size_t;
+ <span class="symbol"><A NAME="ref_1846_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1676_34">Text</A>'Length);
+ <span class="symbol"><A NAME="ref_1847_7">Len</A></span> : size_t;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1507_34">Text</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1836_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1837_7">Len</A>);
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1831_16">Slk_Set</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1506_34">Label</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1836_7">Txt</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1497_9">Label_Justification</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1508_34">Fmt</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1676_34">Text</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1846_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1847_7">Len</A>);
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1841_16">Slk_Set</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1675_34">Label</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1846_7">Txt</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Justification</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1677_34">Fmt</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1506_14">Set_Soft_Label_Key</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1675_14">Set_Soft_Label_Key</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1846_14" HREF="terminal_interface-curses__ads.htm#ref_1513_14">Refresh_Soft_Label_Keys</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1857_14" HREF="terminal_interface-curses__ads.htm#ref_1682_14">Refresh_Soft_Label_Keys</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1848_16">Slk_Refresh</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1859_16">Slk_Refresh</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Slk_Refresh, "slk_refresh");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1848_16">Slk_Refresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1859_16">Slk_Refresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1513_14">Refresh_Soft_Label_Keys</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1682_14">Refresh_Soft_Label_Keys</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1856_14" HREF="terminal_interface-curses__ads.htm#ref_1518_14">Refresh_Soft_Label_Keys_Without_Update</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1867_14" HREF="terminal_interface-curses__ads.htm#ref_1687_14">Refresh_Soft_Label_Keys_Without_Update</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1858_16">Slk_Noutrefresh</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1869_16">Slk_Noutrefresh</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Slk_Noutrefresh, "slk_noutrefresh");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1858_16">Slk_Noutrefresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1869_16">Slk_Noutrefresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1518_14">Refresh_Soft_Label_Keys_Without_Update</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1687_14">Refresh_Soft_Label_Keys_Without_Update</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1866_14" HREF="terminal_interface-curses__ads.htm#ref_1523_14">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1866_34" HREF="terminal_interface-curses__ads.htm#ref_1523_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1496_9">Label_Number</A>;
- <span class="symbol"><A NAME="ref_1867_34" HREF="terminal_interface-curses__ads.htm#ref_1524_34">Text</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1877_14" HREF="terminal_interface-curses__ads.htm#ref_1692_14">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1877_34" HREF="terminal_interface-curses__ads.htm#ref_1692_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>;
+ <span class="symbol"><A NAME="ref_1878_34" HREF="terminal_interface-curses__ads.htm#ref_1693_34">Text</A></span> : <b>out</b> String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1869_16">Slk_Label</A></span> (<span class="symbol"><A NAME="ref_1869_27" HREF="terminal_interface-curses__adb.htm#ref_1869_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_1880_16">Slk_Label</A></span> (<span class="symbol"><A NAME="ref_1880_27" HREF="terminal_interface-curses__adb.htm#ref_1880_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Slk_Label, "slk_label");
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1869_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1523_34">Label</A>)), <A HREF="terminal_interface-curses__ads.htm#ref_1524_34">Text</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1523_14">Get_Soft_Label_Key</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1880_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1692_34">Label</A>)), <A HREF="terminal_interface-curses__ads.htm#ref_1693_34">Text</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1692_14">Get_Soft_Label_Key</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_1875_13" HREF="terminal_interface-curses__ads.htm#ref_1528_13">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1875_33" HREF="terminal_interface-curses__ads.htm#ref_1528_33">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1496_9">Label_Number</A>) <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_1886_13" HREF="terminal_interface-curses__ads.htm#ref_1697_13">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1886_33" HREF="terminal_interface-curses__ads.htm#ref_1697_33">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>) <b>return</b> String
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1877_16">Slk_Label</A></span> (<span class="symbol"><A NAME="ref_1877_27" HREF="terminal_interface-curses__adb.htm#ref_1877_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_1888_16">Slk_Label</A></span> (<span class="symbol"><A NAME="ref_1888_27" HREF="terminal_interface-curses__adb.htm#ref_1888_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Slk_Label, "slk_label");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1877_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1528_33">Label</A>)));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1528_13">Get_Soft_Label_Key</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1888_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1697_33">Label</A>)));
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1697_13">Get_Soft_Label_Key</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1883_14" HREF="terminal_interface-curses__ads.htm#ref_1534_14">Clear_Soft_Label_Keys</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1894_14" HREF="terminal_interface-curses__ads.htm#ref_1703_14">Clear_Soft_Label_Keys</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1885_16">Slk_Clear</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1896_16">Slk_Clear</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Slk_Clear, "slk_clear");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1885_16">Slk_Clear</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1896_16">Slk_Clear</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1534_14">Clear_Soft_Label_Keys</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1703_14">Clear_Soft_Label_Keys</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1893_14" HREF="terminal_interface-curses__ads.htm#ref_1539_14">Restore_Soft_Label_Keys</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1904_14" HREF="terminal_interface-curses__ads.htm#ref_1708_14">Restore_Soft_Label_Keys</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1895_16">Slk_Restore</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1906_16">Slk_Restore</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Slk_Restore, "slk_restore");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1895_16">Slk_Restore</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1906_16">Slk_Restore</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1539_14">Restore_Soft_Label_Keys</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1708_14">Restore_Soft_Label_Keys</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1903_14" HREF="terminal_interface-curses__ads.htm#ref_1544_14">Touch_Soft_Label_Keys</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1914_14" HREF="terminal_interface-curses__ads.htm#ref_1713_14">Touch_Soft_Label_Keys</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1905_16">Slk_Touch</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1916_16">Slk_Touch</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Slk_Touch, "slk_touch");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1905_16">Slk_Touch</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1916_16">Slk_Touch</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1544_14">Touch_Soft_Label_Keys</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1713_14">Touch_Soft_Label_Keys</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1913_14" HREF="terminal_interface-curses__ads.htm#ref_1549_14">Switch_Soft_Label_Key_Attributes</A></span>
- (<span class="symbol"><A NAME="ref_1914_7" HREF="terminal_interface-curses__ads.htm#ref_1550_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_1915_7" HREF="terminal_interface-curses__ads.htm#ref_1551_7">On</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1924_14" HREF="terminal_interface-curses__ads.htm#ref_1718_14">Switch_Soft_Label_Key_Attributes</A></span>
+ (<span class="symbol"><A NAME="ref_1925_7" HREF="terminal_interface-curses__ads.htm#ref_1719_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_1926_7" HREF="terminal_interface-curses__ads.htm#ref_1720_7">On</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1917_16">Slk_Attron</A></span> (<span class="symbol"><A NAME="ref_1917_28" HREF="terminal_interface-curses__adb.htm#ref_1917_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1928_16">Slk_Attron</A></span> (<span class="symbol"><A NAME="ref_1928_28" HREF="terminal_interface-curses__adb.htm#ref_1928_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Slk_Attron, "slk_attron");
- <b>function</b> <span class="symbol"><A NAME="ref_1919_16">Slk_Attroff</A></span> (<span class="symbol"><A NAME="ref_1919_29" HREF="terminal_interface-curses__adb.htm#ref_1919_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1930_16">Slk_Attroff</A></span> (<span class="symbol"><A NAME="ref_1930_29" HREF="terminal_interface-curses__adb.htm#ref_1930_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Slk_Attroff, "slk_attroff");
- <span class="symbol"><A NAME="ref_1922_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1923_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; Character'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1550_7">Attr</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First);
+ <span class="symbol"><A NAME="ref_1933_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1934_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1719_7">Attr</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1551_7">On</A> <b>then</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_1922_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1917_16">Slk_Attron</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1923_7">Ch</A>));
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1720_7">On</A> <b>then</b>
+ <A HREF="terminal_interface-curses__adb.htm#ref_1933_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1928_16">Slk_Attron</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Ch</A>);
<b>else</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_1922_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1919_16">Slk_Attroff</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1923_7">Ch</A>));
+ <A HREF="terminal_interface-curses__adb.htm#ref_1933_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1930_16">Slk_Attroff</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Ch</A>);
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1922_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1933_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1549_14">Switch_Soft_Label_Key_Attributes</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1718_14">Switch_Soft_Label_Key_Attributes</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1937_14" HREF="terminal_interface-curses__ads.htm#ref_1557_14">Set_Soft_Label_Key_Attributes</A></span>
- (<span class="symbol"><A NAME="ref_1938_7" HREF="terminal_interface-curses__ads.htm#ref_1558_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_1939_7" HREF="terminal_interface-curses__ads.htm#ref_1559_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1948_14" HREF="terminal_interface-curses__ads.htm#ref_1726_14">Set_Soft_Label_Key_Attributes</A></span>
+ (<span class="symbol"><A NAME="ref_1949_7" HREF="terminal_interface-curses__ads.htm#ref_1727_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_1950_7" HREF="terminal_interface-curses__ads.htm#ref_1728_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1941_16">Slk_Attrset</A></span> (<span class="symbol"><A NAME="ref_1941_29" HREF="terminal_interface-curses__adb.htm#ref_1941_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1952_16">Slk_Attrset</A></span> (<span class="symbol"><A NAME="ref_1952_29" HREF="terminal_interface-curses__adb.htm#ref_1952_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Slk_Attrset, "slk_attrset");
- <span class="symbol"><A NAME="ref_1944_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; Character'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1558_7">Attr</A>,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1559_7">Color</A>);
+ <span class="symbol"><A NAME="ref_1955_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1727_7">Attr</A>,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1728_7">Color</A>);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1941_16">Slk_Attrset</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1944_7">Ch</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1952_16">Slk_Attrset</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1955_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1557_14">Set_Soft_Label_Key_Attributes</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1726_14">Set_Soft_Label_Key_Attributes</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_1953_13" HREF="terminal_interface-curses__ads.htm#ref_1564_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_1964_13" HREF="terminal_interface-curses__ads.htm#ref_1733_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1955_16">Slk_Attr</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1966_16">Slk_Attr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Slk_Attr, "slk_attr");
- <span class="symbol"><A NAME="ref_1958_7">Attr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1955_16">Slk_Attr</A>;
+ <span class="symbol"><A NAME="ref_1969_7">Attr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1966_16">Slk_Attr</A>;
<b>begin</b>
- <b>return</b> Chtype_To_AttrChar (<A HREF="terminal_interface-curses__adb.htm#ref_1958_7">Attr</A>).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1564_13">Get_Soft_Label_Key_Attributes</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1969_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1733_13">Get_Soft_Label_Key_Attributes</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_1963_13" HREF="terminal_interface-curses__ads.htm#ref_1568_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_1974_13" HREF="terminal_interface-curses__ads.htm#ref_1737_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1965_16">Slk_Attr</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1976_16">Slk_Attr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Slk_Attr, "slk_attr");
- <span class="symbol"><A NAME="ref_1968_7">Attr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1965_16">Slk_Attr</A>;
+ <span class="symbol"><A NAME="ref_1979_7">Attr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1976_16">Slk_Attr</A>;
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1968_7">Attr</A>).<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1568_13">Get_Soft_Label_Key_Attributes</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1979_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1737_13">Get_Soft_Label_Key_Attributes</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_1973_14" HREF="terminal_interface-curses__ads.htm#ref_1573_14">Set_Soft_Label_Key_Color</A></span> (<span class="symbol"><A NAME="ref_1973_40" HREF="terminal_interface-curses__ads.htm#ref_1573_40">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1984_14" HREF="terminal_interface-curses__ads.htm#ref_1742_14">Set_Soft_Label_Key_Color</A></span> (<span class="symbol"><A NAME="ref_1984_40" HREF="terminal_interface-curses__ads.htm#ref_1742_40">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1975_16">Slk_Color</A></span> (<span class="symbol"><A NAME="ref_1975_27" HREF="terminal_interface-curses__adb.htm#ref_1975_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1986_16">Slk_Color</A></span> (<span class="symbol"><A NAME="ref_1986_27" HREF="terminal_interface-curses__adb.htm#ref_1986_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Slk_Color, "slk_color");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1975_16">Slk_Color</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1573_40">Pair</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1986_16">Slk_Color</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1742_40">Pair</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1573_14">Set_Soft_Label_Key_Color</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1742_14">Set_Soft_Label_Key_Color</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1984_14" HREF="terminal_interface-curses__ads.htm#ref_1587_14">Enable_Key</A></span> (<span class="symbol"><A NAME="ref_1984_26" HREF="terminal_interface-curses__ads.htm#ref_1587_26">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>;
- <span class="symbol"><A NAME="ref_1985_26" HREF="terminal_interface-curses__ads.htm#ref_1588_26">Enable</A></span> : Boolean := True)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1995_14" HREF="terminal_interface-curses__ads.htm#ref_1756_14">Enable_Key</A></span> (<span class="symbol"><A NAME="ref_1995_26" HREF="terminal_interface-curses__ads.htm#ref_1756_26">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>;
+ <span class="symbol"><A NAME="ref_1996_26" HREF="terminal_interface-curses__ads.htm#ref_1757_26">Enable</A></span> : Boolean := True)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_1987_16">Keyok</A></span> (<span class="symbol"><A NAME="ref_1987_23" HREF="terminal_interface-curses__adb.htm#ref_1987_16">Keycode</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_1988_23" HREF="terminal_interface-curses__adb.htm#ref_1987_16">On_Off</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1998_16">Keyok</A></span> (<span class="symbol"><A NAME="ref_1998_23" HREF="terminal_interface-curses__adb.htm#ref_1998_16">Keycode</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_1999_23" HREF="terminal_interface-curses__adb.htm#ref_1998_16">On_Off</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Keyok, "keyok");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1987_16">Keyok</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1587_26">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1588_26">Enable</A>)))
- = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1998_16">Keyok</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1756_26">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1757_26">Enable</A>)))
+ = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1587_14">Enable_Key</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1756_14">Enable_Key</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1997_14" HREF="terminal_interface-curses__ads.htm#ref_1597_14">Define_Key</A></span> (<span class="symbol"><A NAME="ref_1997_26" HREF="terminal_interface-curses__ads.htm#ref_1597_26">Definition</A></span> : String;
- <span class="symbol"><A NAME="ref_1998_26" HREF="terminal_interface-curses__ads.htm#ref_1598_26">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2009_14" HREF="terminal_interface-curses__ads.htm#ref_1766_14">Define_Key</A></span> (<span class="symbol"><A NAME="ref_2009_26" HREF="terminal_interface-curses__ads.htm#ref_1766_26">Definition</A></span> : String;
+ <span class="symbol"><A NAME="ref_2010_26" HREF="terminal_interface-curses__ads.htm#ref_1767_26">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2000_16">Defkey</A></span> (<span class="symbol"><A NAME="ref_2000_24" HREF="terminal_interface-curses__adb.htm#ref_2000_16">Def</A></span> : char_array;
- <span class="symbol"><A NAME="ref_2001_24" HREF="terminal_interface-curses__adb.htm#ref_2000_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2012_16">Defkey</A></span> (<span class="symbol"><A NAME="ref_2012_24" HREF="terminal_interface-curses__adb.htm#ref_2012_16">Def</A></span> : char_array;
+ <span class="symbol"><A NAME="ref_2013_24" HREF="terminal_interface-curses__adb.htm#ref_2012_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Defkey, "define_key");
- <span class="symbol"><A NAME="ref_2004_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1597_26">Definition</A>'Length);
- <span class="symbol"><A NAME="ref_2005_7">Length</A></span> : size_t;
+ <span class="symbol"><A NAME="ref_2016_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1766_26">Definition</A>'Length);
+ <span class="symbol"><A NAME="ref_2017_7">Length</A></span> : size_t;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1597_26">Definition</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2004_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2005_7">Length</A>);
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2000_16">Defkey</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2004_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1598_26">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1766_26">Definition</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2016_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2017_7">Length</A>);
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2012_16">Defkey</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2016_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1767_26">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1597_14">Define_Key</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1766_14">Define_Key</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_2013_14" HREF="terminal_interface-curses__ads.htm#ref_1623_14">Un_Control</A></span> (<span class="symbol"><A NAME="ref_2013_26" HREF="terminal_interface-curses__ads.htm#ref_1623_26">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>;
- <span class="symbol"><A NAME="ref_2014_26" HREF="terminal_interface-curses__ads.htm#ref_1624_26">Str</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2025_14" HREF="terminal_interface-curses__ads.htm#ref_1792_14">Un_Control</A></span> (<span class="symbol"><A NAME="ref_2025_26" HREF="terminal_interface-curses__ads.htm#ref_1792_26">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_2026_26" HREF="terminal_interface-curses__ads.htm#ref_1793_26">Str</A></span> : <b>out</b> String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2016_16">Unctrl</A></span> (<span class="symbol"><A NAME="ref_2016_24" HREF="terminal_interface-curses__adb.htm#ref_2016_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_2028_16">Unctrl</A></span> (<span class="symbol"><A NAME="ref_2028_24" HREF="terminal_interface-curses__adb.htm#ref_2028_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Unctrl, "unctrl");
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2016_16">Unctrl</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1623_26">Ch</A>)), <A HREF="terminal_interface-curses__ads.htm#ref_1624_26">Str</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1623_14">Un_Control</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2028_16">Unctrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1792_26">Ch</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1793_26">Str</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1792_14">Un_Control</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2022_13" HREF="terminal_interface-curses__ads.htm#ref_1628_13">Un_Control</A></span> (<span class="symbol"><A NAME="ref_2022_25" HREF="terminal_interface-curses__ads.htm#ref_1628_25">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>) <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_2034_13" HREF="terminal_interface-curses__ads.htm#ref_1797_13">Un_Control</A></span> (<span class="symbol"><A NAME="ref_2034_25" HREF="terminal_interface-curses__ads.htm#ref_1797_25">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> String
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2024_16">Unctrl</A></span> (<span class="symbol"><A NAME="ref_2024_24" HREF="terminal_interface-curses__adb.htm#ref_2024_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_2036_16">Unctrl</A></span> (<span class="symbol"><A NAME="ref_2036_24" HREF="terminal_interface-curses__adb.htm#ref_2036_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Unctrl, "unctrl");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2024_16">Unctrl</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">AttrChar_To_Chtype</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1628_25">Ch</A>)));
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1628_13">Un_Control</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2036_16">Unctrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1797_25">Ch</A>));
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1797_13">Un_Control</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2030_14" HREF="terminal_interface-curses__ads.htm#ref_1634_14">Delay_Output</A></span> (<span class="symbol"><A NAME="ref_2030_28" HREF="terminal_interface-curses__ads.htm#ref_1634_28">Msecs</A></span> : Natural)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2042_14" HREF="terminal_interface-curses__ads.htm#ref_1803_14">Delay_Output</A></span> (<span class="symbol"><A NAME="ref_2042_28" HREF="terminal_interface-curses__ads.htm#ref_1803_28">Msecs</A></span> : Natural)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2032_16">Delayoutput</A></span> (<span class="symbol"><A NAME="ref_2032_29" HREF="terminal_interface-curses__adb.htm#ref_2032_16">Msecs</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2044_16">Delayoutput</A></span> (<span class="symbol"><A NAME="ref_2044_29" HREF="terminal_interface-curses__adb.htm#ref_2044_16">Msecs</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Delayoutput, "delay_output");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2032_16">Delayoutput</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1634_28">Msecs</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2044_16">Delayoutput</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1803_28">Msecs</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1634_14">Delay_Output</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1803_14">Delay_Output</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2040_14" HREF="terminal_interface-curses__ads.htm#ref_1639_14">Flush_Input</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2052_14" HREF="terminal_interface-curses__ads.htm#ref_1808_14">Flush_Input</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2042_16">Flushinp</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2054_16">Flushinp</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Flushinp, "flushinp");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2042_16">Flushinp</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b> <span class="comment"><EM>-- docu says that never happens, but...</EM></span>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2054_16">Flushinp</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b> <span class="comment"><EM>-- docu says that never happens, but...</EM></span>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1639_14">Flush_Input</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1808_14">Flush_Input</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_2050_13" HREF="terminal_interface-curses__ads.htm#ref_1648_13">Baudrate</A></span> <b>return</b> Natural
+ <b>function</b> <span class="symbol"><A NAME="ref_2062_13" HREF="terminal_interface-curses__ads.htm#ref_1817_13">Baudrate</A></span> <b>return</b> Natural
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2052_16">Baud</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2064_16">Baud</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Baud, "baudrate");
<b>begin</b>
- <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2052_16">Baud</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1648_13">Baudrate</A>;
+ <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2064_16">Baud</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1817_13">Baudrate</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2058_13" HREF="terminal_interface-curses__ads.htm#ref_1653_13">Erase_Character</A></span> <b>return</b> Character
+ <b>function</b> <span class="symbol"><A NAME="ref_2070_13" HREF="terminal_interface-curses__ads.htm#ref_1822_13">Erase_Character</A></span> <b>return</b> Character
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2060_16">Erasechar</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2072_16">Erasechar</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Erasechar, "erasechar");
<b>begin</b>
- <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2060_16">Erasechar</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1653_13">Erase_Character</A>;
+ <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2072_16">Erasechar</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1822_13">Erase_Character</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2066_13" HREF="terminal_interface-curses__ads.htm#ref_1658_13">Kill_Character</A></span> <b>return</b> Character
+ <b>function</b> <span class="symbol"><A NAME="ref_2078_13" HREF="terminal_interface-curses__ads.htm#ref_1827_13">Kill_Character</A></span> <b>return</b> Character
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2068_16">Killchar</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2080_16">Killchar</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Killchar, "killchar");
<b>begin</b>
- <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2068_16">Killchar</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1658_13">Kill_Character</A>;
+ <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2080_16">Killchar</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1827_13">Kill_Character</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2074_13" HREF="terminal_interface-curses__ads.htm#ref_1663_13">Has_Insert_Character</A></span> <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_2086_13" HREF="terminal_interface-curses__ads.htm#ref_1832_13">Has_Insert_Character</A></span> <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2076_16">Has_Ic</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2088_16">Has_Ic</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, Has_Ic, "has_ic");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2076_16">Has_Ic</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1926_4">Curses_Bool_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2088_16">Has_Ic</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1663_13">Has_Insert_Character</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1832_13">Has_Insert_Character</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2086_13" HREF="terminal_interface-curses__ads.htm#ref_1668_13">Has_Insert_Line</A></span> <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_2098_13" HREF="terminal_interface-curses__ads.htm#ref_1837_13">Has_Insert_Line</A></span> <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2088_16">Has_Il</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2100_16">Has_Il</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, Has_Il, "has_il");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2088_16">Has_Il</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1926_4">Curses_Bool_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2100_16">Has_Il</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1668_13">Has_Insert_Line</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1837_13">Has_Insert_Line</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2098_13" HREF="terminal_interface-curses__ads.htm#ref_1673_13">Supported_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_2110_13" HREF="terminal_interface-curses__ads.htm#ref_1842_13">Supported_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2100_16">Termattrs</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2112_16">Termattrs</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<b>pragma</b> Import (C, Termattrs, "termattrs");
- <span class="symbol"><A NAME="ref_2103_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2100_16">Termattrs</A>);
+ <span class="symbol"><A NAME="ref_2115_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2112_16">Termattrs</A>;
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_2103_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1673_13">Supported_Attributes</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_2115_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1842_13">Supported_Attributes</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2108_14" HREF="terminal_interface-curses__ads.htm#ref_1678_14">Long_Name</A></span> (<span class="symbol"><A NAME="ref_2108_25" HREF="terminal_interface-curses__ads.htm#ref_1678_25">Name</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2120_14" HREF="terminal_interface-curses__ads.htm#ref_1847_14">Long_Name</A></span> (<span class="symbol"><A NAME="ref_2120_25" HREF="terminal_interface-curses__ads.htm#ref_1847_25">Name</A></span> : <b>out</b> String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2110_16">Longname</A></span> <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_2122_16">Longname</A></span> <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Longname, "longname");
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2110_16">Longname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1678_25">Name</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1678_14">Long_Name</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2122_16">Longname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1847_25">Name</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1847_14">Long_Name</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2116_13" HREF="terminal_interface-curses__ads.htm#ref_1682_13">Long_Name</A></span> <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_2128_13" HREF="terminal_interface-curses__ads.htm#ref_1851_13">Long_Name</A></span> <b>return</b> String
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2118_16">Longname</A></span> <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_2130_16">Longname</A></span> <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Longname, "longname");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2118_16">Longname</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1682_13">Long_Name</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2130_16">Longname</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1851_13">Long_Name</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2124_14" HREF="terminal_interface-curses__ads.htm#ref_1688_14">Terminal_Name</A></span> (<span class="symbol"><A NAME="ref_2124_29" HREF="terminal_interface-curses__ads.htm#ref_1688_29">Name</A></span> : <b>out</b> String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2136_14" HREF="terminal_interface-curses__ads.htm#ref_1857_14">Terminal_Name</A></span> (<span class="symbol"><A NAME="ref_2136_29" HREF="terminal_interface-curses__ads.htm#ref_1857_29">Name</A></span> : <b>out</b> String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2126_16">Termname</A></span> <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_2138_16">Termname</A></span> <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Termname, "termname");
<b>begin</b>
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2126_16">Termname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1688_29">Name</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1688_14">Terminal_Name</A>;
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2138_16">Termname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1857_29">Name</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1857_14">Terminal_Name</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2132_13" HREF="terminal_interface-curses__ads.htm#ref_1692_13">Terminal_Name</A></span> <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_2144_13" HREF="terminal_interface-curses__ads.htm#ref_1861_13">Terminal_Name</A></span> <b>return</b> String
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2134_16">Termname</A></span> <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_2146_16">Termname</A></span> <b>return</b> chars_ptr;
<b>pragma</b> Import (C, Termname, "termname");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2134_16">Termname</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1692_13">Terminal_Name</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2146_16">Termname</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1861_13">Terminal_Name</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_2140_14" HREF="terminal_interface-curses__ads.htm#ref_1713_14">Init_Pair</A></span> (<span class="symbol"><A NAME="ref_2140_25" HREF="terminal_interface-curses__ads.htm#ref_1713_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_301_12">Redefinable_Color_Pair</A>;
- <span class="symbol"><A NAME="ref_2141_25" HREF="terminal_interface-curses__ads.htm#ref_1714_25">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
- <span class="symbol"><A NAME="ref_2142_25" HREF="terminal_interface-curses__ads.htm#ref_1715_25">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2152_14" HREF="terminal_interface-curses__ads.htm#ref_1882_14">Init_Pair</A></span> (<span class="symbol"><A NAME="ref_2152_25" HREF="terminal_interface-curses__ads.htm#ref_1882_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_411_12">Redefinable_Color_Pair</A>;
+ <span class="symbol"><A NAME="ref_2153_25" HREF="terminal_interface-curses__ads.htm#ref_1883_25">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
+ <span class="symbol"><A NAME="ref_2154_25" HREF="terminal_interface-curses__ads.htm#ref_1884_25">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2144_16">Initpair</A></span> (<span class="symbol"><A NAME="ref_2144_26" HREF="terminal_interface-curses__adb.htm#ref_2144_16">Pair</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <span class="symbol"><A NAME="ref_2145_26" HREF="terminal_interface-curses__adb.htm#ref_2144_16">Fore</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <span class="symbol"><A NAME="ref_2146_26" HREF="terminal_interface-curses__adb.htm#ref_2144_16">Back</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2156_16">Initpair</A></span> (<span class="symbol"><A NAME="ref_2156_26" HREF="terminal_interface-curses__adb.htm#ref_2156_16">Pair</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_2157_26" HREF="terminal_interface-curses__adb.htm#ref_2156_16">Fore</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_2158_26" HREF="terminal_interface-curses__adb.htm#ref_2156_16">Back</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Initpair, "init_pair");
<b>begin</b>
- <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1713_25">Pair</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_425_13">Number_Of_Color_Pairs</A> <b>then</b>
+ <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1882_25">Pair</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_562_13">Number_Of_Color_Pairs</A> <b>then</b>
<b>raise</b> Constraint_Error;
<b>end</b> <b>if</b>;
- <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1714_25">Fore</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_422_13">Number_Of_Colors</A> <b>or</b> <b>else</b>
- Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1715_25">Back</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_422_13">Number_Of_Colors</A> <b>then</b>
+ <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1883_25">Fore</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A> <b>or</b> <b>else</b>
+ Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1884_25">Back</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A>
+ <b>then</b>
<b>raise</b> Constraint_Error;
<b>end</b> <b>if</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2144_16">Initpair</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1713_25">Pair</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1714_25">Fore</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1715_25">Back</A>))
- = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2156_16">Initpair</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1882_25">Pair</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1883_25">Fore</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1884_25">Back</A>))
+ = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1713_14">Init_Pair</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1882_14">Init_Pair</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2162_14" HREF="terminal_interface-curses__ads.htm#ref_1720_14">Pair_Content</A></span> (<span class="symbol"><A NAME="ref_2162_28" HREF="terminal_interface-curses__ads.htm#ref_1720_28">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>;
- <span class="symbol"><A NAME="ref_2163_28" HREF="terminal_interface-curses__ads.htm#ref_1721_28">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
- <span class="symbol"><A NAME="ref_2164_28" HREF="terminal_interface-curses__ads.htm#ref_1722_28">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2176_14" HREF="terminal_interface-curses__ads.htm#ref_1889_14">Pair_Content</A></span> (<span class="symbol"><A NAME="ref_2176_28" HREF="terminal_interface-curses__ads.htm#ref_1889_28">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>;
+ <span class="symbol"><A NAME="ref_2177_28" HREF="terminal_interface-curses__ads.htm#ref_1890_28">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
+ <span class="symbol"><A NAME="ref_2178_28" HREF="terminal_interface-curses__ads.htm#ref_1891_28">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>)
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_2166_12">C_Short_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2167_16">Paircontent</A></span> (<span class="symbol"><A NAME="ref_2167_29" HREF="terminal_interface-curses__adb.htm#ref_2167_16">Pair</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <span class="symbol"><A NAME="ref_2168_29" HREF="terminal_interface-curses__adb.htm#ref_2167_16">Fp</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2166_12">C_Short_Access</A>;
- <span class="symbol"><A NAME="ref_2169_29" HREF="terminal_interface-curses__adb.htm#ref_2167_16">Bp</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2166_12">C_Short_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>type</b> <span class="symbol"><A NAME="ref_2180_12">C_Short_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2181_16">Paircontent</A></span> (<span class="symbol"><A NAME="ref_2181_29" HREF="terminal_interface-curses__adb.htm#ref_2181_16">Pair</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_2182_29" HREF="terminal_interface-curses__adb.htm#ref_2181_16">Fp</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2180_12">C_Short_Access</A>;
+ <span class="symbol"><A NAME="ref_2183_29" HREF="terminal_interface-curses__adb.htm#ref_2181_16">Bp</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2180_12">C_Short_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Paircontent, "pair_content");
- <span class="symbol"><A NAME="ref_2172_7">F</A></span>, <span class="symbol"><A NAME="ref_2172_10">B</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_2186_7">F</A></span>, <span class="symbol"><A NAME="ref_2186_10">B</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2167_16">Paircontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1720_28">Pair</A>), <A HREF="terminal_interface-curses__adb.htm#ref_2172_7">F</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2172_10">B</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2181_16">Paircontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1889_28">Pair</A>), <A HREF="terminal_interface-curses__adb.htm#ref_2186_7">F</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2186_10">B</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>else</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1721_28">Fore</A> := <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2172_7">F</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1722_28">Back</A> := <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2172_10">B</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1890_28">Fore</A> := <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2186_7">F</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1891_28">Back</A> := <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2186_10">B</A>);
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1720_14">Pair_Content</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1889_14">Pair_Content</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2182_13" HREF="terminal_interface-curses__ads.htm#ref_1727_13">Has_Colors</A></span> <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_2196_13" HREF="terminal_interface-curses__ads.htm#ref_1896_13">Has_Colors</A></span> <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2184_16">Hascolors</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2198_16">Hascolors</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, Hascolors, "has_colors");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2184_16">Hascolors</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1926_4">Curses_Bool_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2198_16">Hascolors</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1727_13">Has_Colors</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1896_13">Has_Colors</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2194_14" HREF="terminal_interface-curses__ads.htm#ref_1732_14">Init_Color</A></span> (<span class="symbol"><A NAME="ref_2194_26" HREF="terminal_interface-curses__ads.htm#ref_1732_26">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
- <span class="symbol"><A NAME="ref_2195_26" HREF="terminal_interface-curses__ads.htm#ref_1733_26">Red</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
- <span class="symbol"><A NAME="ref_2196_26" HREF="terminal_interface-curses__ads.htm#ref_1734_26">Green</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
- <span class="symbol"><A NAME="ref_2197_26" HREF="terminal_interface-curses__ads.htm#ref_1735_26">Blue</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2208_14" HREF="terminal_interface-curses__ads.htm#ref_1901_14">Init_Color</A></span> (<span class="symbol"><A NAME="ref_2208_26" HREF="terminal_interface-curses__ads.htm#ref_1901_26">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
+ <span class="symbol"><A NAME="ref_2209_26" HREF="terminal_interface-curses__ads.htm#ref_1902_26">Red</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
+ <span class="symbol"><A NAME="ref_2210_26" HREF="terminal_interface-curses__ads.htm#ref_1903_26">Green</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
+ <span class="symbol"><A NAME="ref_2211_26" HREF="terminal_interface-curses__ads.htm#ref_1904_26">Blue</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2199_16">Initcolor</A></span> (<span class="symbol"><A NAME="ref_2199_27" HREF="terminal_interface-curses__adb.htm#ref_2199_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <span class="symbol"><A NAME="ref_2200_27" HREF="terminal_interface-curses__adb.htm#ref_2199_16">Red</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <span class="symbol"><A NAME="ref_2201_27" HREF="terminal_interface-curses__adb.htm#ref_2199_16">Green</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
- <span class="symbol"><A NAME="ref_2202_27" HREF="terminal_interface-curses__adb.htm#ref_2199_16">Blue</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2213_16">Initcolor</A></span> (<span class="symbol"><A NAME="ref_2213_27" HREF="terminal_interface-curses__adb.htm#ref_2213_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_2214_27" HREF="terminal_interface-curses__adb.htm#ref_2213_16">Red</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_2215_27" HREF="terminal_interface-curses__adb.htm#ref_2213_16">Green</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_2216_27" HREF="terminal_interface-curses__adb.htm#ref_2213_16">Blue</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Initcolor, "init_color");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2199_16">Initcolor</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1732_26">Color</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1733_26">Red</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1734_26">Green</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1735_26">Blue</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2213_16">Initcolor</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1901_26">Color</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1902_26">Red</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1903_26">Green</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1904_26">Blue</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1732_14">Init_Color</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1901_14">Init_Color</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2211_13" HREF="terminal_interface-curses__ads.htm#ref_1740_13">Can_Change_Color</A></span> <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_2226_13" HREF="terminal_interface-curses__ads.htm#ref_1909_13">Can_Change_Color</A></span> <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2213_16">Canchangecolor</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2228_16">Canchangecolor</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
<b>pragma</b> Import (C, Canchangecolor, "can_change_color");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2213_16">Canchangecolor</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1926_4">Curses_Bool_False</A> <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2228_16">Canchangecolor</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1740_13">Can_Change_Color</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1909_13">Can_Change_Color</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2223_14" HREF="terminal_interface-curses__ads.htm#ref_1745_14">Color_Content</A></span> (<span class="symbol"><A NAME="ref_2223_29" HREF="terminal_interface-curses__ads.htm#ref_1745_29">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
- <span class="symbol"><A NAME="ref_2224_29" HREF="terminal_interface-curses__ads.htm#ref_1746_29">Red</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
- <span class="symbol"><A NAME="ref_2225_29" HREF="terminal_interface-curses__ads.htm#ref_1747_29">Green</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
- <span class="symbol"><A NAME="ref_2226_29" HREF="terminal_interface-curses__ads.htm#ref_1748_29">Blue</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2238_14" HREF="terminal_interface-curses__ads.htm#ref_1914_14">Color_Content</A></span> (<span class="symbol"><A NAME="ref_2238_29" HREF="terminal_interface-curses__ads.htm#ref_1914_29">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
+ <span class="symbol"><A NAME="ref_2239_29" HREF="terminal_interface-curses__ads.htm#ref_1915_29">Red</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
+ <span class="symbol"><A NAME="ref_2240_29" HREF="terminal_interface-curses__ads.htm#ref_1916_29">Green</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
+ <span class="symbol"><A NAME="ref_2241_29" HREF="terminal_interface-curses__ads.htm#ref_1917_29">Blue</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>)
<b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_2228_12">C_Short_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+ <b>type</b> <span class="symbol"><A NAME="ref_2243_12">C_Short_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2230_16">Colorcontent</A></span> (<span class="symbol"><A NAME="ref_2230_30" HREF="terminal_interface-curses__adb.htm#ref_2230_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <span class="symbol"><A NAME="ref_2230_47" HREF="terminal_interface-curses__adb.htm#ref_2230_16">R</A></span>, <span class="symbol"><A NAME="ref_2230_50" HREF="terminal_interface-curses__adb.htm#ref_2230_16">G</A></span>, <span class="symbol"><A NAME="ref_2230_53" HREF="terminal_interface-curses__adb.htm#ref_2230_16">B</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2228_12">C_Short_Access</A>)
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2245_16">Colorcontent</A></span> (<span class="symbol"><A NAME="ref_2245_30" HREF="terminal_interface-curses__adb.htm#ref_2245_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>; <span class="symbol"><A NAME="ref_2245_47" HREF="terminal_interface-curses__adb.htm#ref_2245_16">R</A></span>, <span class="symbol"><A NAME="ref_2245_50" HREF="terminal_interface-curses__adb.htm#ref_2245_16">G</A></span>, <span class="symbol"><A NAME="ref_2245_53" HREF="terminal_interface-curses__adb.htm#ref_2245_16">B</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2243_12">C_Short_Access</A>)
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Colorcontent, "color_content");
- <span class="symbol"><A NAME="ref_2234_7">R</A></span>, <span class="symbol"><A NAME="ref_2234_10">G</A></span>, <span class="symbol"><A NAME="ref_2234_13">B</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+ <span class="symbol"><A NAME="ref_2249_7">R</A></span>, <span class="symbol"><A NAME="ref_2249_10">G</A></span>, <span class="symbol"><A NAME="ref_2249_13">B</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2230_16">Colorcontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1745_29">Color</A>), <A HREF="terminal_interface-curses__adb.htm#ref_2234_7">R</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2234_10">G</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2234_13">B</A>'<b>Access</b>) =
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2245_16">Colorcontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_49_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1914_29">Color</A>), <A HREF="terminal_interface-curses__adb.htm#ref_2249_7">R</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2249_10">G</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2249_13">B</A>'<b>Access</b>) =
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>else</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1746_29">Red</A> := <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2234_7">R</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1747_29">Green</A> := <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2234_10">G</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1748_29">Blue</A> := <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2234_13">B</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1915_29">Red</A> := <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2249_7">R</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1916_29">Green</A> := <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2249_10">G</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1917_29">Blue</A> := <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2249_13">B</A>);
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1745_14">Color_Content</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1914_14">Color_Content</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_2247_14" HREF="terminal_interface-curses__ads.htm#ref_1760_14">Save_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_2247_32" HREF="terminal_interface-curses__ads.htm#ref_1760_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1757_9">Curses_Mode</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2263_14" HREF="terminal_interface-curses__ads.htm#ref_1929_14">Save_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_2263_32" HREF="terminal_interface-curses__ads.htm#ref_1929_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Mode</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2249_16">Def_Prog_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2265_16">Def_Prog_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Def_Prog_Mode, "def_prog_mode");
- <b>function</b> <span class="symbol"><A NAME="ref_2251_16">Def_Shell_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2267_16">Def_Shell_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Def_Shell_Mode, "def_shell_mode");
- <span class="symbol"><A NAME="ref_2254_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_2270_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1760_32">Mode</A> <b>is</b>
- <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1757_25">Curses</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_2254_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2249_16">Def_Prog_Mode</A>;
- <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1757_33">Shell</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_2254_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2251_16">Def_Shell_Mode</A>;
+ <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1929_32">Mode</A> <b>is</b>
+ <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_25">Curses</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_2270_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2265_16">Def_Prog_Mode</A>;
+ <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_33">Shell</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_2270_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2267_16">Def_Shell_Mode</A>;
<b>end</b> <b>case</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2254_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2270_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1760_14">Save_Curses_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1929_14">Save_Curses_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2265_14" HREF="terminal_interface-curses__ads.htm#ref_1766_14">Reset_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_2265_33" HREF="terminal_interface-curses__ads.htm#ref_1766_33">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1757_9">Curses_Mode</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2281_14" HREF="terminal_interface-curses__ads.htm#ref_1935_14">Reset_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_2281_33" HREF="terminal_interface-curses__ads.htm#ref_1935_33">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Mode</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2267_16">Reset_Prog_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2283_16">Reset_Prog_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Reset_Prog_Mode, "reset_prog_mode");
- <b>function</b> <span class="symbol"><A NAME="ref_2269_16">Reset_Shell_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2285_16">Reset_Shell_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Reset_Shell_Mode, "reset_shell_mode");
- <span class="symbol"><A NAME="ref_2272_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_2288_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1766_33">Mode</A> <b>is</b>
- <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1757_25">Curses</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_2272_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2267_16">Reset_Prog_Mode</A>;
- <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1757_33">Shell</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_2272_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2269_16">Reset_Shell_Mode</A>;
+ <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1935_33">Mode</A> <b>is</b>
+ <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_25">Curses</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_2288_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2283_16">Reset_Prog_Mode</A>;
+ <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_33">Shell</A> =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_2288_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2285_16">Reset_Shell_Mode</A>;
<b>end</b> <b>case</b>;
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2272_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2288_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1766_14">Reset_Curses_Mode</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1935_14">Reset_Curses_Mode</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2283_14" HREF="terminal_interface-curses__ads.htm#ref_1772_14">Save_Terminal_State</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2299_14" HREF="terminal_interface-curses__ads.htm#ref_1941_14">Save_Terminal_State</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2285_16">Savetty</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2301_16">Savetty</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Savetty, "savetty");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2285_16">Savetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2301_16">Savetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1772_14">Save_Terminal_State</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1941_14">Save_Terminal_State</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2293_14" HREF="terminal_interface-curses__ads.htm#ref_1777_14">Reset_Terminal_State</A></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2309_14" HREF="terminal_interface-curses__ads.htm#ref_1946_14">Reset_Terminal_State</A></span>
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2295_16">Resetty</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2311_16">Resetty</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Resetty, "resetty");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2295_16">Resetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2311_16">Resetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1777_14">Reset_Terminal_State</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1946_14">Reset_Terminal_State</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2303_14" HREF="terminal_interface-curses__ads.htm#ref_1790_14">Rip_Off_Lines</A></span> (<span class="symbol"><A NAME="ref_2303_29" HREF="terminal_interface-curses__ads.htm#ref_1790_29">Lines</A></span> : Integer;
- <span class="symbol"><A NAME="ref_2304_29" HREF="terminal_interface-curses__ads.htm#ref_1791_29">Proc</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1781_9">Stdscr_Init_Proc</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2319_14" HREF="terminal_interface-curses__ads.htm#ref_1959_14">Rip_Off_Lines</A></span> (<span class="symbol"><A NAME="ref_2319_29" HREF="terminal_interface-curses__ads.htm#ref_1959_29">Lines</A></span> : Integer;
+ <span class="symbol"><A NAME="ref_2320_29" HREF="terminal_interface-curses__ads.htm#ref_1960_29">Proc</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1950_9">Stdscr_Init_Proc</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2306_16">Ripoffline</A></span> (<span class="symbol"><A NAME="ref_2306_28" HREF="terminal_interface-curses__adb.htm#ref_2306_16">Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_2307_28" HREF="terminal_interface-curses__adb.htm#ref_2306_16">Proc</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1781_9">Stdscr_Init_Proc</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2322_16">Ripoffline</A></span> (<span class="symbol"><A NAME="ref_2322_28" HREF="terminal_interface-curses__adb.htm#ref_2322_16">Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_2323_28" HREF="terminal_interface-curses__adb.htm#ref_2322_16">Proc</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1950_9">Stdscr_Init_Proc</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Ripoffline, "_nc_ripoffline");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2306_16">Ripoffline</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1790_29">Lines</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1791_29">Proc</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2322_16">Ripoffline</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1959_29">Lines</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1960_29">Proc</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1790_14">Rip_Off_Lines</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1959_14">Rip_Off_Lines</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2315_14" HREF="terminal_interface-curses__ads.htm#ref_1802_14">Set_Cursor_Visibility</A></span> (<span class="symbol"><A NAME="ref_2315_37" HREF="terminal_interface-curses__ads.htm#ref_1802_37">Visibility</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_1799_9">Cursor_Visibility</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2331_14" HREF="terminal_interface-curses__ads.htm#ref_1971_14">Set_Cursor_Visibility</A></span> (<span class="symbol"><A NAME="ref_2331_37" HREF="terminal_interface-curses__ads.htm#ref_1971_37">Visibility</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_1968_9">Cursor_Visibility</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2317_16">Curs_Set</A></span> (<span class="symbol"><A NAME="ref_2317_26" HREF="terminal_interface-curses__adb.htm#ref_2317_16">Curs</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2333_16">Curs_Set</A></span> (<span class="symbol"><A NAME="ref_2333_26" HREF="terminal_interface-curses__adb.htm#ref_2333_16">Curs</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Curs_Set, "curs_set");
- <span class="symbol"><A NAME="ref_2320_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_2336_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_2320_7">Res</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2317_16">Curs_Set</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1799_9">Cursor_Visibility</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1802_37">Visibility</A>));
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2320_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1802_37">Visibility</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1799_9">Cursor_Visibility</A>'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2320_7">Res</A>);
+ <A HREF="terminal_interface-curses__adb.htm#ref_2336_7">Res</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2333_16">Curs_Set</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1968_9">Cursor_Visibility</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1971_37">Visibility</A>));
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2336_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <A HREF="terminal_interface-curses__ads.htm#ref_1971_37">Visibility</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1968_9">Cursor_Visibility</A>'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2336_7">Res</A>);
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1802_14">Set_Cursor_Visibility</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1971_14">Set_Cursor_Visibility</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2328_14" HREF="terminal_interface-curses__ads.htm#ref_1807_14">Nap_Milli_Seconds</A></span> (<span class="symbol"><A NAME="ref_2328_33" HREF="terminal_interface-curses__ads.htm#ref_1807_33">Ms</A></span> : Natural)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2344_14" HREF="terminal_interface-curses__ads.htm#ref_1976_14">Nap_Milli_Seconds</A></span> (<span class="symbol"><A NAME="ref_2344_33" HREF="terminal_interface-curses__ads.htm#ref_1976_33">Ms</A></span> : Natural)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2330_16">Napms</A></span> (<span class="symbol"><A NAME="ref_2330_23" HREF="terminal_interface-curses__adb.htm#ref_2330_16">Ms</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2346_16">Napms</A></span> (<span class="symbol"><A NAME="ref_2346_23" HREF="terminal_interface-curses__adb.htm#ref_2346_16">Ms</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Napms, "napms");
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2330_16">Napms</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1807_33">Ms</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2346_16">Napms</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1976_33">Ms</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1807_14">Nap_Milli_Seconds</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1976_14">Nap_Milli_Seconds</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-
- <b>function</b> <span class="symbol"><A NAME="ref_2339_13" HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
- <b>is</b>
- <span class="symbol"><A NAME="ref_2341_7">Result</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2341_7">Result</A>, "stdscr");
- <b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_2341_7">Result</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
-
- <b>function</b> <span class="symbol"><A NAME="ref_2347_13" HREF="terminal_interface-curses__ads.htm#ref_482_13">Current_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_2354_13" HREF="terminal_interface-curses__ads.htm#ref_550_13">Lines</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_2349_7">Result</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2349_7">Result</A>, "curscr");
+ <b>function</b> <span class="symbol"><A NAME="ref_2356_16">LINES_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+ <b>pragma</b> Import (C, LINES_As_Function, "LINES_as_function");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_2349_7">Result</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_482_13">Current_Window</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2356_16">LINES_As_Function</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_550_13">Lines</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2355_13" HREF="terminal_interface-curses__ads.htm#ref_413_13">Lines</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_2362_13" HREF="terminal_interface-curses__ads.htm#ref_553_13">Columns</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>
<b>is</b>
- <span class="symbol"><A NAME="ref_2357_7">Result</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2357_7">Result</A>, "LINES");
+ <b>function</b> <span class="symbol"><A NAME="ref_2364_16">COLS_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+ <b>pragma</b> Import (C, COLS_As_Function, "COLS_as_function");
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2357_7">Result</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_413_13">Lines</A>;
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2364_16">COLS_As_Function</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_553_13">Columns</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2363_13" HREF="terminal_interface-curses__ads.htm#ref_416_13">Columns</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>
+ <b>function</b> <span class="symbol"><A NAME="ref_2370_13" HREF="terminal_interface-curses__ads.htm#ref_556_13">Tab_Size</A></span> <b>return</b> Natural
<b>is</b>
- <span class="symbol"><A NAME="ref_2365_7">Result</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2365_7">Result</A>, "COLS");
- <b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2365_7">Result</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_416_13">Columns</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2372_16">TABSIZE_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+ <b>pragma</b> Import (C, TABSIZE_As_Function, "TABSIZE_as_function");
- <b>function</b> <span class="symbol"><A NAME="ref_2371_13" HREF="terminal_interface-curses__ads.htm#ref_419_13">Tab_Size</A></span> <b>return</b> Natural
- <b>is</b>
- <span class="symbol"><A NAME="ref_2373_7">Result</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2373_7">Result</A>, "TABSIZE");
<b>begin</b>
- <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2373_7">Result</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_419_13">Tab_Size</A>;
+ <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2372_16">TABSIZE_As_Function</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_556_13">Tab_Size</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2379_13" HREF="terminal_interface-curses__ads.htm#ref_422_13">Number_Of_Colors</A></span> <b>return</b> Natural
+ <b>function</b> <span class="symbol"><A NAME="ref_2379_13" HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A></span> <b>return</b> Natural
<b>is</b>
- <span class="symbol"><A NAME="ref_2381_7">Result</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2381_7">Result</A>, "COLORS");
+ <b>function</b> <span class="symbol"><A NAME="ref_2381_16">COLORS_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+ <b>pragma</b> Import (C, COLORS_As_Function, "COLORS_as_function");
<b>begin</b>
- <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2381_7">Result</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_422_13">Number_Of_Colors</A>;
+ <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2381_16">COLORS_As_Function</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2387_13" HREF="terminal_interface-curses__ads.htm#ref_425_13">Number_Of_Color_Pairs</A></span> <b>return</b> Natural
+ <b>function</b> <span class="symbol"><A NAME="ref_2387_13" HREF="terminal_interface-curses__ads.htm#ref_562_13">Number_Of_Color_Pairs</A></span> <b>return</b> Natural
<b>is</b>
- <span class="symbol"><A NAME="ref_2389_7">Result</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__adb.htm#ref_2389_7">Result</A>, "COLOR_PAIRS");
+ <b>function</b> <span class="symbol"><A NAME="ref_2389_16">COLOR_PAIRS_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+ <b>pragma</b> Import (C, COLOR_PAIRS_As_Function, "COLOR_PAIRS_as_function");
<b>begin</b>
- <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2389_7">Result</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_425_13">Number_Of_Color_Pairs</A>;
-
+ <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2389_16">COLOR_PAIRS_As_Function</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_562_13">Number_Of_Color_Pairs</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_2396_14" HREF="terminal_interface-curses__ads.htm#ref_1815_14">Transform_Coordinates</A></span>
- (<span class="symbol"><A NAME="ref_2397_7" HREF="terminal_interface-curses__ads.htm#ref_1816_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_2398_7" HREF="terminal_interface-curses__ads.htm#ref_1817_7">Line</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_2399_7" HREF="terminal_interface-curses__ads.htm#ref_1818_7">Column</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_2400_7" HREF="terminal_interface-curses__ads.htm#ref_1819_7">Dir</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1814_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1814_33">From_Screen</A>)
- <b>is</b>
- <b>type</b> <span class="symbol"><A NAME="ref_2402_12">Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <b>function</b> <span class="symbol"><A NAME="ref_2403_16">Transform</A></span> (<span class="symbol"><A NAME="ref_2403_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_2404_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">Y</A></span>, <span class="symbol"><A NAME="ref_2404_30" HREF="terminal_interface-curses__adb.htm#ref_2403_16">X</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2402_12">Int_Access</A>;
- <span class="symbol"><A NAME="ref_2405_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">Dir</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2395_14" HREF="terminal_interface-curses__ads.htm#ref_1984_14">Transform_Coordinates</A></span>
+ (<span class="symbol"><A NAME="ref_2396_7" HREF="terminal_interface-curses__ads.htm#ref_1985_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_2397_7" HREF="terminal_interface-curses__ads.htm#ref_1986_7">Line</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_2398_7" HREF="terminal_interface-curses__ads.htm#ref_1987_7">Column</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_2399_7" HREF="terminal_interface-curses__ads.htm#ref_1988_7">Dir</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1983_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1983_33">From_Screen</A>)
+ <b>is</b>
+ <b>type</b> <span class="symbol"><A NAME="ref_2401_12">Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2402_16">Transform</A></span> (<span class="symbol"><A NAME="ref_2402_27" HREF="terminal_interface-curses__adb.htm#ref_2402_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_2403_27" HREF="terminal_interface-curses__adb.htm#ref_2402_16">Y</A></span>, <span class="symbol"><A NAME="ref_2403_30" HREF="terminal_interface-curses__adb.htm#ref_2402_16">X</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2401_12">Int_Access</A>;
+ <span class="symbol"><A NAME="ref_2404_27" HREF="terminal_interface-curses__adb.htm#ref_2402_16">Dir</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, Transform, "wmouse_trafo");
- <span class="symbol"><A NAME="ref_2408_7">X</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1818_7">Column</A>);
- <span class="symbol"><A NAME="ref_2409_7">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1817_7">Line</A>);
- <span class="symbol"><A NAME="ref_2410_7">D</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1926_4">Curses_Bool_False</A>;
- <span class="symbol"><A NAME="ref_2411_7">R</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_2407_7">X</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1987_7">Column</A>);
+ <span class="symbol"><A NAME="ref_2408_7">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1986_7">Line</A>);
+ <span class="symbol"><A NAME="ref_2409_7">D</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>;
+ <span class="symbol"><A NAME="ref_2410_7">R</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1819_7">Dir</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1814_46">To_Screen</A> <b>then</b>
- <A HREF="terminal_interface-curses__adb.htm#ref_2410_7">D</A> := 1;
+ <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1988_7">Dir</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1983_46">To_Screen</A> <b>then</b>
+ <A HREF="terminal_interface-curses__adb.htm#ref_2409_7">D</A> := 1;
<b>end</b> <b>if</b>;
- <A HREF="terminal_interface-curses__adb.htm#ref_2411_7">R</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2403_16">Transform</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1816_7">W</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2409_7">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2408_7">X</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2410_7">D</A>);
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2411_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Curses_False</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_2410_7">R</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2402_16">Transform</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1985_7">W</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2408_7">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2407_7">X</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2409_7">D</A>);
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2410_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_66_4">Curses_False</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>else</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_1817_7">Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2409_7">Y</A>);
- <A HREF="terminal_interface-curses__ads.htm#ref_1818_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2408_7">X</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1986_7">Line</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2408_7">Y</A>);
+ <A HREF="terminal_interface-curses__ads.htm#ref_1987_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2407_7">X</A>);
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1815_14">Transform_Coordinates</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1984_14">Transform_Coordinates</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_2425_14" HREF="terminal_interface-curses__ads.htm#ref_1832_14">Use_Default_Colors</A></span> <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2426_16">C_Use_Default_Colors</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2424_14" HREF="terminal_interface-curses__ads.htm#ref_2003_14">Use_Default_Colors</A></span> <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_2425_16">C_Use_Default_Colors</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, C_Use_Default_Colors, "use_default_colors");
- <span class="symbol"><A NAME="ref_2428_7">Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2426_16">C_Use_Default_Colors</A>;
+ <span class="symbol"><A NAME="ref_2427_7">Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2425_16">C_Use_Default_Colors</A>;
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2428_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2427_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1832_14">Use_Default_Colors</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2003_14">Use_Default_Colors</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2435_14" HREF="terminal_interface-curses__ads.htm#ref_1837_14">Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2435_37" HREF="terminal_interface-curses__ads.htm#ref_1837_37">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_285_4">Default_Color</A>;
- <span class="symbol"><A NAME="ref_2436_37" HREF="terminal_interface-curses__ads.htm#ref_1838_37">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_285_4">Default_Color</A>)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2434_14" HREF="terminal_interface-curses__ads.htm#ref_2008_14">Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2434_37" HREF="terminal_interface-curses__ads.htm#ref_2008_37">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2000_4">Default_Color</A>;
+ <span class="symbol"><A NAME="ref_2435_37" HREF="terminal_interface-curses__ads.htm#ref_2009_37">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2000_4">Default_Color</A>)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2438_16">C_Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2438_41" HREF="terminal_interface-curses__adb.htm#ref_2438_16">Fore</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_2439_41" HREF="terminal_interface-curses__adb.htm#ref_2438_16">Back</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2437_16">C_Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2437_41" HREF="terminal_interface-curses__adb.htm#ref_2437_16">Fore</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_2438_41" HREF="terminal_interface-curses__adb.htm#ref_2437_16">Back</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, C_Assume_Default_Colors, "assume_default_colors");
- <span class="symbol"><A NAME="ref_2442_7">Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2438_16">C_Assume_Default_Colors</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1837_37">Fore</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1838_37">Back</A>));
+ <span class="symbol"><A NAME="ref_2441_7">Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2437_16">C_Assume_Default_Colors</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2008_37">Fore</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2009_37">Back</A>));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2442_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2441_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1837_14">Assume_Default_Colors</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2008_14">Assume_Default_Colors</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_2450_13" HREF="terminal_interface-curses__ads.htm#ref_1847_13">Curses_Version</A></span> <b>return</b> String
+ <b>function</b> <span class="symbol"><A NAME="ref_2449_13" HREF="terminal_interface-curses__ads.htm#ref_2018_13">Curses_Version</A></span> <b>return</b> String
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2452_16">curses_versionC</A></span> <b>return</b> chars_ptr;
+ <b>function</b> <span class="symbol"><A NAME="ref_2451_16">curses_versionC</A></span> <b>return</b> chars_ptr;
<b>pragma</b> Import (C, curses_versionC, "curses_version");
- <span class="symbol"><A NAME="ref_2454_7">Result</A></span> : <b>constant</b> chars_ptr := <A HREF="terminal_interface-curses__adb.htm#ref_2452_16">curses_versionC</A>;
+ <span class="symbol"><A NAME="ref_2453_7">Result</A></span> : <b>constant</b> chars_ptr := <A HREF="terminal_interface-curses__adb.htm#ref_2451_16">curses_versionC</A>;
<b>begin</b>
- <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2454_7">Result</A>);
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1847_13">Curses_Version</A>;
+ <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_95_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2453_7">Result</A>);
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2018_13">Curses_Version</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_2459_14" HREF="terminal_interface-curses__ads.htm#ref_1860_14">Curses_Free_All</A></span> <b>is</b>
- <b>procedure</b> <span class="symbol"><A NAME="ref_2460_17">curses_freeall</A></span>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2458_14" HREF="terminal_interface-curses__ads.htm#ref_2031_14">Curses_Free_All</A></span> <b>is</b>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2459_17">curses_freeall</A></span>;
<b>pragma</b> Import (C, curses_freeall, "_nc_freeall");
<b>begin</b>
<span class="comment"><EM>-- Use this only for testing: you cannot use curses after calling it,</EM></span>
@@ -2484,91 +2483,92 @@
<span class="comment"><EM>-- _nc_free_and_exit() procedure can do that, but it can be invoked</EM></span>
<span class="comment"><EM>-- safely only from C - and again, that only as the "last" thing done</EM></span>
<span class="comment"><EM>-- before exiting the program.</EM></span>
- <A HREF="terminal_interface-curses__adb.htm#ref_2460_17">curses_freeall</A>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1860_14">Curses_Free_All</A>;
+ <A HREF="terminal_interface-curses__adb.htm#ref_2459_17">curses_freeall</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2031_14">Curses_Free_All</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_2473_13" HREF="terminal_interface-curses__ads.htm#ref_1852_13">Use_Extended_Names</A></span> (<span class="symbol"><A NAME="ref_2473_33" HREF="terminal_interface-curses__ads.htm#ref_1852_33">Enable</A></span> : Boolean) <b>return</b> Boolean
+ <b>function</b> <span class="symbol"><A NAME="ref_2472_13" HREF="terminal_interface-curses__ads.htm#ref_2023_13">Use_Extended_Names</A></span> (<span class="symbol"><A NAME="ref_2472_33" HREF="terminal_interface-curses__ads.htm#ref_2023_33">Enable</A></span> : Boolean) <b>return</b> Boolean
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2475_16">use_extended_namesC</A></span> (<span class="symbol"><A NAME="ref_2475_37" HREF="terminal_interface-curses__adb.htm#ref_2475_16">e</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2474_16">use_extended_namesC</A></span> (<span class="symbol"><A NAME="ref_2474_37" HREF="terminal_interface-curses__adb.htm#ref_2474_16">e</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, use_extended_namesC, "use_extended_names");
- <span class="symbol"><A NAME="ref_2478_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> :=
- <A HREF="terminal_interface-curses__adb.htm#ref_2475_16">use_extended_namesC</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1852_33">Enable</A>)));
+ <span class="symbol"><A NAME="ref_2477_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> :=
+ <A HREF="terminal_interface-curses__adb.htm#ref_2474_16">use_extended_namesC</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_2023_33">Enable</A>)));
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2478_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1926_4">Curses_Bool_False</A>) <b>then</b>
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2477_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>) <b>then</b>
<b>return</b> False;
<b>else</b>
<b>return</b> True;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1852_13">Use_Extended_Names</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2023_13">Use_Extended_Names</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_2488_14" HREF="terminal_interface-curses__ads.htm#ref_1868_14">Screen_Dump_To_File</A></span> (<span class="symbol"><A NAME="ref_2488_35" HREF="terminal_interface-curses__ads.htm#ref_1868_35">Filename</A></span> : String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2487_14" HREF="terminal_interface-curses__ads.htm#ref_2039_14">Screen_Dump_To_File</A></span> (<span class="symbol"><A NAME="ref_2487_35" HREF="terminal_interface-curses__ads.htm#ref_2039_35">Filename</A></span> : String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2490_16">scr_dump</A></span> (<span class="symbol"><A NAME="ref_2490_26" HREF="terminal_interface-curses__adb.htm#ref_2490_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2489_16">scr_dump</A></span> (<span class="symbol"><A NAME="ref_2489_26" HREF="terminal_interface-curses__adb.htm#ref_2489_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, scr_dump, "scr_dump");
- <span class="symbol"><A NAME="ref_2492_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1868_35">Filename</A>'Length);
- <span class="symbol"><A NAME="ref_2493_7">Length</A></span> : size_t;
+ <span class="symbol"><A NAME="ref_2491_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2039_35">Filename</A>'Length);
+ <span class="symbol"><A NAME="ref_2492_7">Length</A></span> : size_t;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1868_35">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2492_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2493_7">Length</A>);
- <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2490_16">scr_dump</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2492_7">Txt</A>) <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2039_35">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2491_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2492_7">Length</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2489_16">scr_dump</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2491_7">Txt</A>) <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1868_14">Screen_Dump_To_File</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2039_14">Screen_Dump_To_File</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2501_14" HREF="terminal_interface-curses__ads.htm#ref_1872_14">Screen_Restore_From_File</A></span> (<span class="symbol"><A NAME="ref_2501_40" HREF="terminal_interface-curses__ads.htm#ref_1872_40">Filename</A></span> : String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2500_14" HREF="terminal_interface-curses__ads.htm#ref_2043_14">Screen_Restore_From_File</A></span> (<span class="symbol"><A NAME="ref_2500_40" HREF="terminal_interface-curses__ads.htm#ref_2043_40">Filename</A></span> : String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2503_16">scr_restore</A></span> (<span class="symbol"><A NAME="ref_2503_29" HREF="terminal_interface-curses__adb.htm#ref_2503_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2502_16">scr_restore</A></span> (<span class="symbol"><A NAME="ref_2502_29" HREF="terminal_interface-curses__adb.htm#ref_2502_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, scr_restore, "scr_restore");
- <span class="symbol"><A NAME="ref_2505_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1872_40">Filename</A>'Length);
- <span class="symbol"><A NAME="ref_2506_7">Length</A></span> : size_t;
+ <span class="symbol"><A NAME="ref_2504_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2043_40">Filename</A>'Length);
+ <span class="symbol"><A NAME="ref_2505_7">Length</A></span> : size_t;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1872_40">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2505_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2506_7">Length</A>);
- <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2503_16">scr_restore</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2505_7">Txt</A>) <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2043_40">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2504_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2505_7">Length</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2502_16">scr_restore</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2504_7">Txt</A>) <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1872_14">Screen_Restore_From_File</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2043_14">Screen_Restore_From_File</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2514_14" HREF="terminal_interface-curses__ads.htm#ref_1876_14">Screen_Init_From_File</A></span> (<span class="symbol"><A NAME="ref_2514_37" HREF="terminal_interface-curses__ads.htm#ref_1876_37">Filename</A></span> : String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2513_14" HREF="terminal_interface-curses__ads.htm#ref_2047_14">Screen_Init_From_File</A></span> (<span class="symbol"><A NAME="ref_2513_37" HREF="terminal_interface-curses__ads.htm#ref_2047_37">Filename</A></span> : String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2516_16">scr_init</A></span> (<span class="symbol"><A NAME="ref_2516_26" HREF="terminal_interface-curses__adb.htm#ref_2516_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2515_16">scr_init</A></span> (<span class="symbol"><A NAME="ref_2515_26" HREF="terminal_interface-curses__adb.htm#ref_2515_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, scr_init, "scr_init");
- <span class="symbol"><A NAME="ref_2518_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1876_37">Filename</A>'Length);
- <span class="symbol"><A NAME="ref_2519_7">Length</A></span> : size_t;
+ <span class="symbol"><A NAME="ref_2517_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2047_37">Filename</A>'Length);
+ <span class="symbol"><A NAME="ref_2518_7">Length</A></span> : size_t;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1876_37">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2518_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2519_7">Length</A>);
- <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2516_16">scr_init</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2518_7">Txt</A>) <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2047_37">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2517_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2518_7">Length</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2515_16">scr_init</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2517_7">Txt</A>) <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1876_14">Screen_Init_From_File</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2047_14">Screen_Init_From_File</A>;
- <b>procedure</b> <span class="symbol"><A NAME="ref_2527_14" HREF="terminal_interface-curses__ads.htm#ref_1880_14">Screen_Set_File</A></span> (<span class="symbol"><A NAME="ref_2527_31" HREF="terminal_interface-curses__ads.htm#ref_1880_31">Filename</A></span> : String)
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2526_14" HREF="terminal_interface-curses__ads.htm#ref_2051_14">Screen_Set_File</A></span> (<span class="symbol"><A NAME="ref_2526_31" HREF="terminal_interface-curses__ads.htm#ref_2051_31">Filename</A></span> : String)
<b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2529_16">scr_set</A></span> (<span class="symbol"><A NAME="ref_2529_25" HREF="terminal_interface-curses__adb.htm#ref_2529_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_2528_16">scr_set</A></span> (<span class="symbol"><A NAME="ref_2528_25" HREF="terminal_interface-curses__adb.htm#ref_2528_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, scr_set, "scr_set");
- <span class="symbol"><A NAME="ref_2531_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1880_31">Filename</A>'Length);
- <span class="symbol"><A NAME="ref_2532_7">Length</A></span> : size_t;
+ <span class="symbol"><A NAME="ref_2530_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2051_31">Filename</A>'Length);
+ <span class="symbol"><A NAME="ref_2531_7">Length</A></span> : size_t;
<b>begin</b>
- To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1880_31">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2531_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2532_7">Length</A>);
- <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2529_16">scr_set</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2531_7">Txt</A>) <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2051_31">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2530_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2531_7">Length</A>);
+ <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2528_16">scr_set</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2530_7">Txt</A>) <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1880_14">Screen_Set_File</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2051_14">Screen_Set_File</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_2540_14" HREF="terminal_interface-curses__ads.htm#ref_1912_14">Resize</A></span> (<span class="symbol"><A NAME="ref_2540_22" HREF="terminal_interface-curses__ads.htm#ref_1912_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_2541_22" HREF="terminal_interface-curses__ads.htm#ref_1913_22">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_2542_22" HREF="terminal_interface-curses__ads.htm#ref_1914_22">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>) <b>is</b>
- <b>function</b> <span class="symbol"><A NAME="ref_2543_16">wresize</A></span> (<span class="symbol"><A NAME="ref_2543_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_2544_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
- <span class="symbol"><A NAME="ref_2545_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2539_14" HREF="terminal_interface-curses__ads.htm#ref_2083_14">Resize</A></span> (<span class="symbol"><A NAME="ref_2539_22" HREF="terminal_interface-curses__ads.htm#ref_2083_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_2540_22" HREF="terminal_interface-curses__ads.htm#ref_2084_22">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_2541_22" HREF="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>) <b>is</b>
+ <b>function</b> <span class="symbol"><A NAME="ref_2542_16">wresize</A></span> (<span class="symbol"><A NAME="ref_2542_25" HREF="terminal_interface-curses__adb.htm#ref_2542_16">win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_2543_25" HREF="terminal_interface-curses__adb.htm#ref_2542_16">lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
+ <span class="symbol"><A NAME="ref_2544_25" HREF="terminal_interface-curses__adb.htm#ref_2542_16">columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A>;
<b>pragma</b> Import (C, wresize);
<b>begin</b>
- <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2543_16">wresize</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1912_22">Win</A>,
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1913_22">Number_Of_Lines</A>),
- <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1914_22">Number_Of_Columns</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
- <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_384_4">Curses_Exception</A>;
+ <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2542_16">wresize</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2083_22">Win</A>,
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2084_22">Number_Of_Lines</A>),
+ <A HREF="terminal_interface-curses-aux__ads.htm#ref_48_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Columns</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_4">Curses_Err</A>
+ <b>then</b>
+ <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
<b>end</b> <b>if</b>;
- <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1912_14">Resize</A>;
+ <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2083_14">Resize</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses__ads.htm b/doc/html/ada/terminal_interface-curses__ads.htm
index 0d60bc433e6f..bb7831504648 100644
--- a/doc/html/ada/terminal_interface-curses__ads.htm
+++ b/doc/html/ada/terminal_interface-curses__ads.htm
@@ -24,7 +24,7 @@
<span class="comment"><EM>-- S P E C --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. --</EM></span>
+<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. --</EM></span>
<span class="comment"><EM>-- --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the --</EM></span>
@@ -52,372 +52,509 @@
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>-- Version Control:</EM></span>
-<span class="comment"><EM>-- @Revision: 1.44 @</EM></span>
-<span class="comment"><EM>-- @Date: 2011/03/19 23:05:56 @</EM></span>
+<span class="comment"><EM>-- @Revision: 1.47 @</EM></span>
+<span class="comment"><EM>-- @Date: 2014/05/24 21:31:57 @</EM></span>
<span class="comment"><EM>-- Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
-<span class="comment"><EM>-- curses binding.</EM></span>
-<span class="comment"><EM>-- This module is generated. Please don't change it manually!</EM></span>
-<span class="comment"><EM>-- Run the generator instead.</EM></span>
-<span class="comment"><EM>-- |</EM></span>
<b>with</b> System.Storage_Elements;
-<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <span class="comment"><EM>-- We need this for some assertions.</EM></span>
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C; <span class="comment"><EM>-- We need this for some assertions.</EM></span>
-<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_49_28" HREF="terminal_interface-curses__adb.htm#ref_50_33">Curses</A></span> <b>is</b>
- <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>);
- <b>pragma</b> Linker_Options ("-lncurses");
+<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>;
- <span class="symbol"><A NAME="ref_53_4">NC_Major_Version</A></span> : <b>constant</b> := 5; <span class="comment"><EM>-- Major version of the library</EM></span>
- <span class="symbol"><A NAME="ref_54_4">NC_Minor_Version</A></span> : <b>constant</b> := 9; <span class="comment"><EM>-- Minor version of the library</EM></span>
- <span class="symbol"><A NAME="ref_55_4">NC_Version</A></span> : <b>constant</b> String := "5.9"; <span class="comment"><EM>-- Version of library</EM></span>
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_47_28" HREF="terminal_interface-curses__adb.htm#ref_50_33">Curses</A></span> <b>is</b>
+ <b>pragma</b> Preelaborate (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>);
+ <b>pragma</b> Linker_Options ("-lncurses" &amp; <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</A>);
- <b>type</b> <span class="symbol"><A NAME="ref_57_9">Window</A></span> <b>is</b> <b>private</b>;
- <span class="symbol"><A NAME="ref_58_4">Null_Window</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="symbol"><A NAME="ref_51_4">Major_Version</A></span> : <b>constant</b> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_21_4">NCURSES_VERSION_MAJOR</A>;
+ <span class="symbol"><A NAME="ref_52_4">Minor_Version</A></span> : <b>constant</b> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_22_4">NCURSES_VERSION_MINOR</A>;
+ NC_Version : String <b>renames</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_23_4">Version</A>;
- <b>type</b> <span class="symbol"><A NAME="ref_60_9">Line_Position</A></span> <b>is</b> <b>new</b> Integer; <span class="comment"><EM>-- line coordinate</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_61_9">Column_Position</A></span> <b>is</b> <b>new</b> Integer; <span class="comment"><EM>-- column coordinate</EM></span>
+ <b>type</b> <span class="symbol"><A NAME="ref_55_9">Window</A></span> <b>is</b> <b>private</b>;
+ <span class="symbol"><A NAME="ref_56_4">Null_Window</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
- <b>subtype</b> <span class="symbol"><A NAME="ref_63_12">Line_Count</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> <b>range</b> 1 .. <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>'Last;
+ <b>type</b> <span class="symbol"><A NAME="ref_58_9">Line_Position</A></span> <b>is</b> <b>new</b> Integer; <span class="comment"><EM>-- line coordinate</EM></span>
+ <b>type</b> <span class="symbol"><A NAME="ref_59_9">Column_Position</A></span> <b>is</b> <b>new</b> Integer; <span class="comment"><EM>-- column coordinate</EM></span>
+
+ <b>subtype</b> <span class="symbol"><A NAME="ref_61_12">Line_Count</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> <b>range</b> 1 .. <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>'Last;
<span class="comment"><EM>-- Type to count lines. We do not allow null windows, so must be positive</EM></span>
- <b>subtype</b> <span class="symbol"><A NAME="ref_65_12">Column_Count</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> <b>range</b> 1 .. <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>'Last;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_63_12">Column_Count</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> <b>range</b> 1 .. <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>'Last;
<span class="comment"><EM>-- Type to count columns. We do not allow null windows, so must be positive</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_68_9">Key_Code</A></span> <b>is</b> <b>new</b> Integer;
+ <b>type</b> <span class="symbol"><A NAME="ref_66_9">Key_Code</A></span> <b>is</b> <b>new</b> Integer;
<span class="comment"><EM>-- That is anything including real characters, special keys and logical</EM></span>
<span class="comment"><EM>-- request codes.</EM></span>
<span class="comment"><EM>-- FIXME: The "-1" should be Curses_Err</EM></span>
- <b>subtype</b> <span class="symbol"><A NAME="ref_73_12">Real_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_68_9">Key_Code</A> <b>range</b> -1 .. 8#777#;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_71_12">Real_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A> <b>range</b> -1 .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_99_4">KEY_MAX</A>;
<span class="comment"><EM>-- This are the codes that potentially represent a real keystroke.</EM></span>
<span class="comment"><EM>-- Not all codes may be possible on a specific terminal. To check the</EM></span>
<span class="comment"><EM>-- availability of a special key, the Has_Key function is provided.</EM></span>
- <b>subtype</b> <span class="symbol"><A NAME="ref_78_12">Special_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>
- <b>range</b> 8#400# .. <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>'Last;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_76_12">Special_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>
+ <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>. <A HREF="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</A> - 1 .. <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>'Last;
<span class="comment"><EM>-- Type for a function- or special key number</EM></span>
- <b>subtype</b> <span class="symbol"><A NAME="ref_82_12">Normal_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A> <b>range</b>
+ <b>subtype</b> <span class="symbol"><A NAME="ref_80_12">Normal_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A> <b>range</b>
Character'Pos (Character'First) .. Character'Pos (Character'Last);
<span class="comment"><EM>-- This are the codes for regular (incl. non-graphical) characters.</EM></span>
+ <span class="comment"><EM>-- For those who like to use the original key names we produce them were</EM></span>
+ <span class="comment"><EM>-- they differ from the original.</EM></span>
+
<span class="comment"><EM>-- Constants for function- and special keys</EM></span>
- <span class="comment"><EM>--</EM></span>
- <span class="symbol"><A NAME="ref_88_4">Key_None</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#400#;
- <span class="symbol"><A NAME="ref_89_4">Key_Code_Yes</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#400#;
- <span class="symbol"><A NAME="ref_90_4">Key_Min</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#401#;
- <span class="symbol"><A NAME="ref_91_4">Key_Break</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#401#;
- <span class="symbol"><A NAME="ref_92_4">Key_Cursor_Down</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#402#;
- <span class="symbol"><A NAME="ref_93_4">Key_Cursor_Up</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#403#;
- <span class="symbol"><A NAME="ref_94_4">Key_Cursor_Left</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#404#;
- <span class="symbol"><A NAME="ref_95_4">Key_Cursor_Right</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#405#;
- <span class="symbol"><A NAME="ref_96_4">Key_Home</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#406#;
- <span class="symbol"><A NAME="ref_97_4">Key_Backspace</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#407#;
- <span class="symbol"><A NAME="ref_98_4">Key_F0</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#410#;
- <span class="symbol"><A NAME="ref_99_4">Key_F1</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#411#;
- <span class="symbol"><A NAME="ref_100_4">Key_F2</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#412#;
- <span class="symbol"><A NAME="ref_101_4">Key_F3</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#413#;
- <span class="symbol"><A NAME="ref_102_4">Key_F4</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#414#;
- <span class="symbol"><A NAME="ref_103_4">Key_F5</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#415#;
- <span class="symbol"><A NAME="ref_104_4">Key_F6</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#416#;
- <span class="symbol"><A NAME="ref_105_4">Key_F7</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#417#;
- <span class="symbol"><A NAME="ref_106_4">Key_F8</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#420#;
- <span class="symbol"><A NAME="ref_107_4">Key_F9</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#421#;
- <span class="symbol"><A NAME="ref_108_4">Key_F10</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#422#;
- <span class="symbol"><A NAME="ref_109_4">Key_F11</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#423#;
- <span class="symbol"><A NAME="ref_110_4">Key_F12</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#424#;
- <span class="symbol"><A NAME="ref_111_4">Key_F13</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#425#;
- <span class="symbol"><A NAME="ref_112_4">Key_F14</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#426#;
- <span class="symbol"><A NAME="ref_113_4">Key_F15</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#427#;
- <span class="symbol"><A NAME="ref_114_4">Key_F16</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#430#;
- <span class="symbol"><A NAME="ref_115_4">Key_F17</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#431#;
- <span class="symbol"><A NAME="ref_116_4">Key_F18</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#432#;
- <span class="symbol"><A NAME="ref_117_4">Key_F19</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#433#;
- <span class="symbol"><A NAME="ref_118_4">Key_F20</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#434#;
- <span class="symbol"><A NAME="ref_119_4">Key_F21</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#435#;
- <span class="symbol"><A NAME="ref_120_4">Key_F22</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#436#;
- <span class="symbol"><A NAME="ref_121_4">Key_F23</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#437#;
- <span class="symbol"><A NAME="ref_122_4">Key_F24</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#440#;
- <span class="symbol"><A NAME="ref_123_4">Key_Delete_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#510#;
- <span class="symbol"><A NAME="ref_124_4">Key_Insert_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#511#;
- <span class="symbol"><A NAME="ref_125_4">Key_Delete_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#512#;
- <span class="symbol"><A NAME="ref_126_4">Key_Insert_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#513#;
- <span class="symbol"><A NAME="ref_127_4">Key_Exit_Insert_Mode</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#514#;
- <span class="symbol"><A NAME="ref_128_4">Key_Clear_Screen</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#515#;
- <span class="symbol"><A NAME="ref_129_4">Key_Clear_End_Of_Screen</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#516#;
- <span class="symbol"><A NAME="ref_130_4">Key_Clear_End_Of_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#517#;
- <span class="symbol"><A NAME="ref_131_4">Key_Scroll_1_Forward</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#520#;
- <span class="symbol"><A NAME="ref_132_4">Key_Scroll_1_Backward</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#521#;
- <span class="symbol"><A NAME="ref_133_4">Key_Next_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#522#;
- <span class="symbol"><A NAME="ref_134_4">Key_Previous_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#523#;
- <span class="symbol"><A NAME="ref_135_4">Key_Set_Tab</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#524#;
- <span class="symbol"><A NAME="ref_136_4">Key_Clear_Tab</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#525#;
- <span class="symbol"><A NAME="ref_137_4">Key_Clear_All_Tabs</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#526#;
- <span class="symbol"><A NAME="ref_138_4">Key_Enter_Or_Send</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#527#;
- <span class="symbol"><A NAME="ref_139_4">Key_Soft_Reset</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#530#;
- <span class="symbol"><A NAME="ref_140_4">Key_Reset</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#531#;
- <span class="symbol"><A NAME="ref_141_4">Key_Print</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#532#;
- <span class="symbol"><A NAME="ref_142_4">Key_Bottom</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#533#;
- <span class="symbol"><A NAME="ref_143_4">Key_Upper_Left_Of_Keypad</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#534#;
- <span class="symbol"><A NAME="ref_144_4">Key_Upper_Right_Of_Keypad</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#535#;
- <span class="symbol"><A NAME="ref_145_4">Key_Center_Of_Keypad</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#536#;
- <span class="symbol"><A NAME="ref_146_4">Key_Lower_Left_Of_Keypad</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#537#;
- <span class="symbol"><A NAME="ref_147_4">Key_Lower_Right_Of_Keypad</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#540#;
- <span class="symbol"><A NAME="ref_148_4">Key_Back_Tab</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#541#;
- <span class="symbol"><A NAME="ref_149_4">Key_Beginning</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#542#;
- <span class="symbol"><A NAME="ref_150_4">Key_Cancel</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#543#;
- <span class="symbol"><A NAME="ref_151_4">Key_Close</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#544#;
- <span class="symbol"><A NAME="ref_152_4">Key_Command</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#545#;
- <span class="symbol"><A NAME="ref_153_4">Key_Copy</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#546#;
- <span class="symbol"><A NAME="ref_154_4">Key_Create</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#547#;
- <span class="symbol"><A NAME="ref_155_4">Key_End</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#550#;
- <span class="symbol"><A NAME="ref_156_4">Key_Exit</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#551#;
- <span class="symbol"><A NAME="ref_157_4">Key_Find</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#552#;
- <span class="symbol"><A NAME="ref_158_4">Key_Help</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#553#;
- <span class="symbol"><A NAME="ref_159_4">Key_Mark</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#554#;
- <span class="symbol"><A NAME="ref_160_4">Key_Message</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#555#;
- <span class="symbol"><A NAME="ref_161_4">Key_Move</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#556#;
- <span class="symbol"><A NAME="ref_162_4">Key_Next</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#557#;
- <span class="symbol"><A NAME="ref_163_4">Key_Open</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#560#;
- <span class="symbol"><A NAME="ref_164_4">Key_Options</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#561#;
- <span class="symbol"><A NAME="ref_165_4">Key_Previous</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#562#;
- <span class="symbol"><A NAME="ref_166_4">Key_Redo</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#563#;
- <span class="symbol"><A NAME="ref_167_4">Key_Reference</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#564#;
- <span class="symbol"><A NAME="ref_168_4">Key_Refresh</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#565#;
- <span class="symbol"><A NAME="ref_169_4">Key_Replace</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#566#;
- <span class="symbol"><A NAME="ref_170_4">Key_Restart</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#567#;
- <span class="symbol"><A NAME="ref_171_4">Key_Resume</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#570#;
- <span class="symbol"><A NAME="ref_172_4">Key_Save</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#571#;
- <span class="symbol"><A NAME="ref_173_4">Key_Shift_Begin</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#572#;
- <span class="symbol"><A NAME="ref_174_4">Key_Shift_Cancel</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#573#;
- <span class="symbol"><A NAME="ref_175_4">Key_Shift_Command</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#574#;
- <span class="symbol"><A NAME="ref_176_4">Key_Shift_Copy</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#575#;
- <span class="symbol"><A NAME="ref_177_4">Key_Shift_Create</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#576#;
- <span class="symbol"><A NAME="ref_178_4">Key_Shift_Delete_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#577#;
- <span class="symbol"><A NAME="ref_179_4">Key_Shift_Delete_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#600#;
- <span class="symbol"><A NAME="ref_180_4">Key_Select</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#601#;
- <span class="symbol"><A NAME="ref_181_4">Key_Shift_End</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#602#;
- <span class="symbol"><A NAME="ref_182_4">Key_Shift_Clear_End_Of_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#603#;
- <span class="symbol"><A NAME="ref_183_4">Key_Shift_Exit</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#604#;
- <span class="symbol"><A NAME="ref_184_4">Key_Shift_Find</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#605#;
- <span class="symbol"><A NAME="ref_185_4">Key_Shift_Help</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#606#;
- <span class="symbol"><A NAME="ref_186_4">Key_Shift_Home</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#607#;
- <span class="symbol"><A NAME="ref_187_4">Key_Shift_Insert_Char</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#610#;
- <span class="symbol"><A NAME="ref_188_4">Key_Shift_Cursor_Left</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#611#;
- <span class="symbol"><A NAME="ref_189_4">Key_Shift_Message</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#612#;
- <span class="symbol"><A NAME="ref_190_4">Key_Shift_Move</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#613#;
- <span class="symbol"><A NAME="ref_191_4">Key_Shift_Next_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#614#;
- <span class="symbol"><A NAME="ref_192_4">Key_Shift_Options</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#615#;
- <span class="symbol"><A NAME="ref_193_4">Key_Shift_Previous_Page</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#616#;
- <span class="symbol"><A NAME="ref_194_4">Key_Shift_Print</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#617#;
- <span class="symbol"><A NAME="ref_195_4">Key_Shift_Redo</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#620#;
- <span class="symbol"><A NAME="ref_196_4">Key_Shift_Replace</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#621#;
- <span class="symbol"><A NAME="ref_197_4">Key_Shift_Cursor_Right</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#622#;
- <span class="symbol"><A NAME="ref_198_4">Key_Shift_Resume</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#623#;
- <span class="symbol"><A NAME="ref_199_4">Key_Shift_Save</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#624#;
- <span class="symbol"><A NAME="ref_200_4">Key_Shift_Suspend</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#625#;
- <span class="symbol"><A NAME="ref_201_4">Key_Shift_Undo</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#626#;
- <span class="symbol"><A NAME="ref_202_4">Key_Suspend</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#627#;
- <span class="symbol"><A NAME="ref_203_4">Key_Undo</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#630#;
- <span class="symbol"><A NAME="ref_204_4">Key_Mouse</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#631#;
- <span class="symbol"><A NAME="ref_205_4">Key_Resize</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#632#;
-
- <span class="symbol"><A NAME="ref_207_4">Key_Max</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>
- := <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>'Last;
-
- <b>subtype</b> <span class="symbol"><A NAME="ref_210_12">User_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_68_9">Key_Code</A>
- <b>range</b> (<A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 129) .. <A HREF="terminal_interface-curses__ads.htm#ref_68_9">Key_Code</A>'Last;
+ <span class="symbol"><A NAME="ref_88_4">Key_None</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</A> - 1;
+ <span class="symbol"><A NAME="ref_90_4">Key_Min</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_98_4">KEY_MIN</A>;
+ <span class="symbol"><A NAME="ref_92_4">Key_Break</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_104_4">KEY_BREAK</A>;
+ <span class="symbol"><A NAME="ref_94_4">KEY_DOWN</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_105_4">KEY_DOWN</A>;
+ Key_Cursor_Down : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_94_4">KEY_DOWN</A>;
+ <span class="symbol"><A NAME="ref_97_4">KEY_UP</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_106_4">KEY_UP</A>;
+ Key_Cursor_Up : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_97_4">KEY_UP</A>;
+ <span class="symbol"><A NAME="ref_100_4">KEY_LEFT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_107_4">KEY_LEFT</A>;
+ Key_Cursor_Left : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_100_4">KEY_LEFT</A>;
+ <span class="symbol"><A NAME="ref_103_4">KEY_RIGHT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_108_4">KEY_RIGHT</A>;
+ Key_Cursor_Right : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_103_4">KEY_RIGHT</A>;
+ <span class="symbol"><A NAME="ref_106_4">Key_Home</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_109_4">KEY_HOME</A>;
+ <span class="symbol"><A NAME="ref_108_4">Key_Backspace</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_110_4">KEY_BACKSPACE</A>;
+ <span class="symbol"><A NAME="ref_110_4">Key_F0</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_111_4">KEY_F0</A>;
+ <span class="symbol"><A NAME="ref_112_4">Key_F1</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_112_4">KEY_F1</A>;
+ <span class="symbol"><A NAME="ref_114_4">Key_F2</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_113_4">KEY_F2</A>;
+ <span class="symbol"><A NAME="ref_116_4">Key_F3</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_114_4">KEY_F3</A>;
+ <span class="symbol"><A NAME="ref_118_4">Key_F4</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_115_4">KEY_F4</A>;
+ <span class="symbol"><A NAME="ref_120_4">Key_F5</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_116_4">KEY_F5</A>;
+ <span class="symbol"><A NAME="ref_122_4">Key_F6</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_117_4">KEY_F6</A>;
+ <span class="symbol"><A NAME="ref_124_4">Key_F7</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_118_4">KEY_F7</A>;
+ <span class="symbol"><A NAME="ref_126_4">Key_F8</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_119_4">KEY_F8</A>;
+ <span class="symbol"><A NAME="ref_128_4">Key_F9</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_120_4">KEY_F9</A>;
+ <span class="symbol"><A NAME="ref_130_4">Key_F10</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_121_4">KEY_F10</A>;
+ <span class="symbol"><A NAME="ref_132_4">Key_F11</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_122_4">KEY_F11</A>;
+ <span class="symbol"><A NAME="ref_134_4">Key_F12</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_123_4">KEY_F12</A>;
+ <span class="symbol"><A NAME="ref_136_4">Key_F13</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_124_4">KEY_F13</A>;
+ <span class="symbol"><A NAME="ref_138_4">Key_F14</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_125_4">KEY_F14</A>;
+ <span class="symbol"><A NAME="ref_140_4">Key_F15</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_126_4">KEY_F15</A>;
+ <span class="symbol"><A NAME="ref_142_4">Key_F16</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_127_4">KEY_F16</A>;
+ <span class="symbol"><A NAME="ref_144_4">Key_F17</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_128_4">KEY_F17</A>;
+ <span class="symbol"><A NAME="ref_146_4">Key_F18</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_129_4">KEY_F18</A>;
+ <span class="symbol"><A NAME="ref_148_4">Key_F19</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_130_4">KEY_F19</A>;
+ <span class="symbol"><A NAME="ref_150_4">Key_F20</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_131_4">KEY_F20</A>;
+ <span class="symbol"><A NAME="ref_152_4">Key_F21</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_132_4">KEY_F21</A>;
+ <span class="symbol"><A NAME="ref_154_4">Key_F22</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_133_4">KEY_F22</A>;
+ <span class="symbol"><A NAME="ref_156_4">Key_F23</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_134_4">KEY_F23</A>;
+ <span class="symbol"><A NAME="ref_158_4">Key_F24</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_135_4">KEY_F24</A>;
+ <span class="symbol"><A NAME="ref_160_4">KEY_DL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_136_4">KEY_DL</A>;
+ Key_Delete_Line : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_160_4">KEY_DL</A>;
+ <span class="symbol"><A NAME="ref_163_4">KEY_IL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_137_4">KEY_IL</A>;
+ Key_Insert_Line : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_163_4">KEY_IL</A>;
+ <span class="symbol"><A NAME="ref_166_4">KEY_DC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_138_4">KEY_DC</A>;
+ Key_Delete_Char : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_166_4">KEY_DC</A>;
+ <span class="symbol"><A NAME="ref_169_4">KEY_IC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_139_4">KEY_IC</A>;
+ Key_Insert_Char : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_169_4">KEY_IC</A>;
+ <span class="symbol"><A NAME="ref_172_4">KEY_EIC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_140_4">KEY_EIC</A>;
+ Key_Exit_Insert_Mode : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_172_4">KEY_EIC</A>;
+ <span class="symbol"><A NAME="ref_175_4">KEY_CLEAR</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_141_4">KEY_CLEAR</A>;
+ Key_Clear_Screen : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_175_4">KEY_CLEAR</A>;
+ <span class="symbol"><A NAME="ref_178_4">KEY_EOS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_142_4">KEY_EOS</A>;
+ Key_Clear_End_Of_Screen : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_178_4">KEY_EOS</A>;
+ <span class="symbol"><A NAME="ref_181_4">KEY_EOL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_143_4">KEY_EOL</A>;
+ Key_Clear_End_Of_Line : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_181_4">KEY_EOL</A>;
+ <span class="symbol"><A NAME="ref_184_4">KEY_SF</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_144_4">KEY_SF</A>;
+ Key_Scroll_1_Forward : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_184_4">KEY_SF</A>;
+ <span class="symbol"><A NAME="ref_187_4">KEY_SR</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_145_4">KEY_SR</A>;
+ Key_Scroll_1_Backward : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_187_4">KEY_SR</A>;
+ <span class="symbol"><A NAME="ref_190_4">KEY_NPAGE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_146_4">KEY_NPAGE</A>;
+ Key_Next_Page : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_190_4">KEY_NPAGE</A>;
+ <span class="symbol"><A NAME="ref_193_4">KEY_PPAGE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_147_4">KEY_PPAGE</A>;
+ Key_Previous_Page : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_193_4">KEY_PPAGE</A>;
+ <span class="symbol"><A NAME="ref_196_4">KEY_STAB</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_148_4">KEY_STAB</A>;
+ Key_Set_Tab : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_196_4">KEY_STAB</A>;
+ <span class="symbol"><A NAME="ref_199_4">KEY_CTAB</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_149_4">KEY_CTAB</A>;
+ Key_Clear_Tab : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_199_4">KEY_CTAB</A>;
+ <span class="symbol"><A NAME="ref_202_4">KEY_CATAB</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_150_4">KEY_CATAB</A>;
+ Key_Clear_All_Tabs : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_202_4">KEY_CATAB</A>;
+ <span class="symbol"><A NAME="ref_205_4">KEY_ENTER</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_151_4">KEY_ENTER</A>;
+ Key_Enter_Or_Send : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_205_4">KEY_ENTER</A>;
+ <span class="symbol"><A NAME="ref_208_4">KEY_SRESET</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_152_4">KEY_SRESET</A>;
+ Key_Soft_Reset : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_208_4">KEY_SRESET</A>;
+ <span class="symbol"><A NAME="ref_211_4">Key_Reset</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_153_4">KEY_RESET</A>;
+ <span class="symbol"><A NAME="ref_213_4">Key_Print</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_154_4">KEY_PRINT</A>;
+ <span class="symbol"><A NAME="ref_215_4">KEY_LL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_155_4">KEY_LL</A>;
+ Key_Bottom : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_215_4">KEY_LL</A>;
+ <span class="symbol"><A NAME="ref_218_4">KEY_A1</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_156_4">KEY_A1</A>;
+ Key_Upper_Left_Of_Keypad : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_218_4">KEY_A1</A>;
+ <span class="symbol"><A NAME="ref_221_4">KEY_A3</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_157_4">KEY_A3</A>;
+ Key_Upper_Right_Of_Keypad : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_221_4">KEY_A3</A>;
+ <span class="symbol"><A NAME="ref_224_4">KEY_B2</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_158_4">KEY_B2</A>;
+ Key_Center_Of_Keypad : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_224_4">KEY_B2</A>;
+ <span class="symbol"><A NAME="ref_227_4">KEY_C1</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_159_4">KEY_C1</A>;
+ Key_Lower_Left_Of_Keypad : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_227_4">KEY_C1</A>;
+ <span class="symbol"><A NAME="ref_230_4">KEY_C3</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_160_4">KEY_C3</A>;
+ Key_Lower_Right_Of_Keypad : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_230_4">KEY_C3</A>;
+ <span class="symbol"><A NAME="ref_233_4">KEY_BTAB</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_161_4">KEY_BTAB</A>;
+ Key_Back_Tab : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_233_4">KEY_BTAB</A>;
+ <span class="symbol"><A NAME="ref_236_4">KEY_BEG</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_162_4">KEY_BEG</A>;
+ Key_Beginning : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_236_4">KEY_BEG</A>;
+ <span class="symbol"><A NAME="ref_239_4">Key_Cancel</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_163_4">KEY_CANCEL</A>;
+ <span class="symbol"><A NAME="ref_241_4">Key_Close</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_164_4">KEY_CLOSE</A>;
+ <span class="symbol"><A NAME="ref_243_4">Key_Command</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_165_4">KEY_COMMAND</A>;
+ <span class="symbol"><A NAME="ref_245_4">Key_Copy</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_166_4">KEY_COPY</A>;
+ <span class="symbol"><A NAME="ref_247_4">Key_Create</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_167_4">KEY_CREATE</A>;
+ <span class="symbol"><A NAME="ref_249_4">Key_End</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_168_4">KEY_END</A>;
+ <span class="symbol"><A NAME="ref_251_4">Key_Exit</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_169_4">KEY_EXIT</A>;
+ <span class="symbol"><A NAME="ref_253_4">Key_Find</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_170_4">KEY_FIND</A>;
+ <span class="symbol"><A NAME="ref_255_4">Key_Help</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_171_4">KEY_HELP</A>;
+ <span class="symbol"><A NAME="ref_257_4">Key_Mark</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_172_4">KEY_MARK</A>;
+ <span class="symbol"><A NAME="ref_259_4">Key_Message</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_173_4">KEY_MESSAGE</A>;
+ <span class="symbol"><A NAME="ref_261_4">Key_Move</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_174_4">KEY_MOVE</A>;
+ <span class="symbol"><A NAME="ref_263_4">Key_Next</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_175_4">KEY_NEXT</A>;
+ <span class="symbol"><A NAME="ref_265_4">Key_Open</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_176_4">KEY_OPEN</A>;
+ <span class="symbol"><A NAME="ref_267_4">Key_Options</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_177_4">KEY_OPTIONS</A>;
+ <span class="symbol"><A NAME="ref_269_4">Key_Previous</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_178_4">KEY_PREVIOUS</A>;
+ <span class="symbol"><A NAME="ref_271_4">Key_Redo</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_179_4">KEY_REDO</A>;
+ <span class="symbol"><A NAME="ref_273_4">Key_Reference</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_180_4">KEY_REFERENCE</A>;
+ <span class="symbol"><A NAME="ref_275_4">Key_Refresh</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_181_4">KEY_REFRESH</A>;
+ <span class="symbol"><A NAME="ref_277_4">Key_Replace</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_182_4">KEY_REPLACE</A>;
+ <span class="symbol"><A NAME="ref_279_4">Key_Restart</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_183_4">KEY_RESTART</A>;
+ <span class="symbol"><A NAME="ref_281_4">Key_Resume</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_184_4">KEY_RESUME</A>;
+ <span class="symbol"><A NAME="ref_283_4">Key_Save</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_185_4">KEY_SAVE</A>;
+ <span class="symbol"><A NAME="ref_285_4">KEY_SBEG</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_186_4">KEY_SBEG</A>;
+ Key_Shift_Begin : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_285_4">KEY_SBEG</A>;
+ <span class="symbol"><A NAME="ref_288_4">KEY_SCANCEL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_187_4">KEY_SCANCEL</A>;
+ Key_Shift_Cancel : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_288_4">KEY_SCANCEL</A>;
+ <span class="symbol"><A NAME="ref_291_4">KEY_SCOMMAND</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_188_4">KEY_SCOMMAND</A>;
+ Key_Shift_Command : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_291_4">KEY_SCOMMAND</A>;
+ <span class="symbol"><A NAME="ref_294_4">KEY_SCOPY</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_189_4">KEY_SCOPY</A>;
+ Key_Shift_Copy : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_294_4">KEY_SCOPY</A>;
+ <span class="symbol"><A NAME="ref_297_4">KEY_SCREATE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_190_4">KEY_SCREATE</A>;
+ Key_Shift_Create : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_297_4">KEY_SCREATE</A>;
+ <span class="symbol"><A NAME="ref_300_4">KEY_SDC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_191_4">KEY_SDC</A>;
+ Key_Shift_Delete_Char : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_300_4">KEY_SDC</A>;
+ <span class="symbol"><A NAME="ref_303_4">KEY_SDL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_192_4">KEY_SDL</A>;
+ Key_Shift_Delete_Line : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_303_4">KEY_SDL</A>;
+ <span class="symbol"><A NAME="ref_306_4">Key_Select</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_193_4">KEY_SELECT</A>;
+ <span class="symbol"><A NAME="ref_308_4">KEY_SEND</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_194_4">KEY_SEND</A>;
+ Key_Shift_End : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_308_4">KEY_SEND</A>;
+ <span class="symbol"><A NAME="ref_311_4">KEY_SEOL</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_195_4">KEY_SEOL</A>;
+ Key_Shift_Clear_End_Of_Line : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_311_4">KEY_SEOL</A>;
+ <span class="symbol"><A NAME="ref_314_4">KEY_SEXIT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_196_4">KEY_SEXIT</A>;
+ Key_Shift_Exit : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_314_4">KEY_SEXIT</A>;
+ <span class="symbol"><A NAME="ref_317_4">KEY_SFIND</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_197_4">KEY_SFIND</A>;
+ Key_Shift_Find : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_317_4">KEY_SFIND</A>;
+ <span class="symbol"><A NAME="ref_320_4">KEY_SHELP</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_198_4">KEY_SHELP</A>;
+ Key_Shift_Help : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_320_4">KEY_SHELP</A>;
+ <span class="symbol"><A NAME="ref_323_4">KEY_SHOME</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_199_4">KEY_SHOME</A>;
+ Key_Shift_Home : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_323_4">KEY_SHOME</A>;
+ <span class="symbol"><A NAME="ref_326_4">KEY_SIC</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_200_4">KEY_SIC</A>;
+ Key_Shift_Insert_Char : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_326_4">KEY_SIC</A>;
+ <span class="symbol"><A NAME="ref_329_4">KEY_SLEFT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_201_4">KEY_SLEFT</A>;
+ Key_Shift_Cursor_Left : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_329_4">KEY_SLEFT</A>;
+ <span class="symbol"><A NAME="ref_332_4">KEY_SMESSAGE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_202_4">KEY_SMESSAGE</A>;
+ Key_Shift_Message : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_332_4">KEY_SMESSAGE</A>;
+ <span class="symbol"><A NAME="ref_335_4">KEY_SMOVE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_203_4">KEY_SMOVE</A>;
+ Key_Shift_Move : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_335_4">KEY_SMOVE</A>;
+ <span class="symbol"><A NAME="ref_338_4">KEY_SNEXT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_204_4">KEY_SNEXT</A>;
+ Key_Shift_Next_Page : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_338_4">KEY_SNEXT</A>;
+ <span class="symbol"><A NAME="ref_341_4">KEY_SOPTIONS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_205_4">KEY_SOPTIONS</A>;
+ Key_Shift_Options : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_341_4">KEY_SOPTIONS</A>;
+ <span class="symbol"><A NAME="ref_344_4">KEY_SPREVIOUS</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_206_4">KEY_SPREVIOUS</A>;
+ Key_Shift_Previous_Page : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_344_4">KEY_SPREVIOUS</A>;
+ <span class="symbol"><A NAME="ref_347_4">KEY_SPRINT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_207_4">KEY_SPRINT</A>;
+ Key_Shift_Print : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_347_4">KEY_SPRINT</A>;
+ <span class="symbol"><A NAME="ref_350_4">KEY_SREDO</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_208_4">KEY_SREDO</A>;
+ Key_Shift_Redo : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_350_4">KEY_SREDO</A>;
+ <span class="symbol"><A NAME="ref_353_4">KEY_SREPLACE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_209_4">KEY_SREPLACE</A>;
+ Key_Shift_Replace : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_4">KEY_SREPLACE</A>;
+ <span class="symbol"><A NAME="ref_356_4">KEY_SRIGHT</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_210_4">KEY_SRIGHT</A>;
+ Key_Shift_Cursor_Right : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_356_4">KEY_SRIGHT</A>;
+ <span class="symbol"><A NAME="ref_359_4">KEY_SRSUME</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_211_4">KEY_SRSUME</A>;
+ Key_Shift_Resume : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_359_4">KEY_SRSUME</A>;
+ <span class="symbol"><A NAME="ref_362_4">KEY_SSAVE</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_212_4">KEY_SSAVE</A>;
+ Key_Shift_Save : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_362_4">KEY_SSAVE</A>;
+ <span class="symbol"><A NAME="ref_365_4">KEY_SSUSPEND</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_213_4">KEY_SSUSPEND</A>;
+ Key_Shift_Suspend : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_365_4">KEY_SSUSPEND</A>;
+ <span class="symbol"><A NAME="ref_368_4">KEY_SUNDO</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_214_4">KEY_SUNDO</A>;
+ Key_Shift_Undo : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_368_4">KEY_SUNDO</A>;
+ <span class="symbol"><A NAME="ref_371_4">Key_Suspend</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_215_4">KEY_SUSPEND</A>;
+ <span class="symbol"><A NAME="ref_373_4">Key_Undo</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_216_4">KEY_UNDO</A>;
+ <span class="symbol"><A NAME="ref_375_4">Key_Mouse</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_217_4">KEY_MOUSE</A>;
+ <span class="symbol"><A NAME="ref_377_4">Key_Resize</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_218_4">KEY_RESIZE</A>;
+ <span class="symbol"><A NAME="ref_379_4">Key_Max</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>
+ := <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>'Last;
+
+ <b>subtype</b> <span class="symbol"><A NAME="ref_382_12">User_Key_Code</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>
+ <b>range</b> (<A HREF="terminal_interface-curses__ads.htm#ref_379_4">Key_Max</A> + 129) .. <A HREF="terminal_interface-curses__ads.htm#ref_66_9">Key_Code</A>'Last;
<span class="comment"><EM>-- This is reserved for user defined key codes. The range between Key_Max</EM></span>
<span class="comment"><EM>-- and the first user code is reserved for subsystems like menu and forms.</EM></span>
- <span class="comment"><EM>-- For those who like to use the original key names we produce them were</EM></span>
- <span class="comment"><EM>-- they differ from the original. Please note that they may differ in</EM></span>
- <span class="comment"><EM>-- lower/upper case.</EM></span>
- KEY_DOWN : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_92_4">Key_Cursor_Down</A>;
- KEY_UP : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_93_4">Key_Cursor_Up</A>;
- KEY_LEFT : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_94_4">Key_Cursor_Left</A>;
- KEY_RIGHT : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_95_4">Key_Cursor_Right</A>;
- KEY_DL : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_123_4">Key_Delete_Line</A>;
- KEY_IL : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_124_4">Key_Insert_Line</A>;
- KEY_DC : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_125_4">Key_Delete_Char</A>;
- KEY_IC : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_126_4">Key_Insert_Char</A>;
- KEY_EIC : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_127_4">Key_Exit_Insert_Mode</A>;
- KEY_CLEAR : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_128_4">Key_Clear_Screen</A>;
- KEY_EOS : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_129_4">Key_Clear_End_Of_Screen</A>;
- KEY_EOL : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_130_4">Key_Clear_End_Of_Line</A>;
- KEY_SF : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_131_4">Key_Scroll_1_Forward</A>;
- KEY_SR : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_132_4">Key_Scroll_1_Backward</A>;
- KEY_NPAGE : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_133_4">Key_Next_Page</A>;
- KEY_PPAGE : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_134_4">Key_Previous_Page</A>;
- KEY_STAB : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_135_4">Key_Set_Tab</A>;
- KEY_CTAB : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_136_4">Key_Clear_Tab</A>;
- KEY_CATAB : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_137_4">Key_Clear_All_Tabs</A>;
- KEY_ENTER : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_138_4">Key_Enter_Or_Send</A>;
- KEY_SRESET : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_139_4">Key_Soft_Reset</A>;
- KEY_LL : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_142_4">Key_Bottom</A>;
- KEY_A1 : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_143_4">Key_Upper_Left_Of_Keypad</A>;
- KEY_A3 : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_144_4">Key_Upper_Right_Of_Keypad</A>;
- KEY_B2 : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_145_4">Key_Center_Of_Keypad</A>;
- KEY_C1 : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_146_4">Key_Lower_Left_Of_Keypad</A>;
- KEY_C3 : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_147_4">Key_Lower_Right_Of_Keypad</A>;
- KEY_BTAB : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_148_4">Key_Back_Tab</A>;
- KEY_BEG : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_149_4">Key_Beginning</A>;
- KEY_SBEG : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_173_4">Key_Shift_Begin</A>;
- KEY_SCANCEL : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_174_4">Key_Shift_Cancel</A>;
- KEY_SCOMMAND : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_175_4">Key_Shift_Command</A>;
- KEY_SCOPY : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_176_4">Key_Shift_Copy</A>;
- KEY_SCREATE : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_177_4">Key_Shift_Create</A>;
- KEY_SDC : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_178_4">Key_Shift_Delete_Char</A>;
- KEY_SDL : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_179_4">Key_Shift_Delete_Line</A>;
- KEY_SEND : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_181_4">Key_Shift_End</A>;
- KEY_SEOL : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_182_4">Key_Shift_Clear_End_Of_Line</A>;
- KEY_SEXIT : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_183_4">Key_Shift_Exit</A>;
- KEY_SFIND : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_184_4">Key_Shift_Find</A>;
- KEY_SHELP : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_185_4">Key_Shift_Help</A>;
- KEY_SHOME : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_186_4">Key_Shift_Home</A>;
- KEY_SIC : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_187_4">Key_Shift_Insert_Char</A>;
- KEY_SLEFT : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_188_4">Key_Shift_Cursor_Left</A>;
- KEY_SMESSAGE : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_189_4">Key_Shift_Message</A>;
- KEY_SMOVE : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_190_4">Key_Shift_Move</A>;
- KEY_SNEXT : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_191_4">Key_Shift_Next_Page</A>;
- KEY_SOPTIONS : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_192_4">Key_Shift_Options</A>;
- KEY_SPREVIOUS : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_193_4">Key_Shift_Previous_Page</A>;
- KEY_SPRINT : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_194_4">Key_Shift_Print</A>;
- KEY_SREDO : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_195_4">Key_Shift_Redo</A>;
- KEY_SREPLACE : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_196_4">Key_Shift_Replace</A>;
- KEY_SRIGHT : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_197_4">Key_Shift_Cursor_Right</A>;
- KEY_SRSUME : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_198_4">Key_Shift_Resume</A>;
- KEY_SSAVE : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_199_4">Key_Shift_Save</A>;
- KEY_SSUSPEND : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_200_4">Key_Shift_Suspend</A>;
- KEY_SUNDO : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_201_4">Key_Shift_Undo</A>;
-
-<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
+ <span class="comment"><EM>--------------------------------------------------------------------------</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_278_9">Color_Number</A></span> <b>is</b> <b>range</b> -1 .. Integer (<A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short'Last);
- <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>'Size <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short'Size;
+ <b>type</b> <span class="symbol"><A NAME="ref_389_9">Color_Number</A></span> <b>is</b> <b>range</b> -1 .. Integer (<A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'Last);
+ <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>'Size <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'Size;
<span class="comment"><EM>-- (n)curses uses a short for the color index</EM></span>
<span class="comment"><EM>-- The model is, that a Color_Number is an index into an array of</EM></span>
<span class="comment"><EM>-- (potentially) definable colors. Some of those indices are</EM></span>
<span class="comment"><EM>-- predefined (see below), although they may not really exist.</EM></span>
- <span class="symbol"><A NAME="ref_285_4">Default_Color</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := -1;
- <span class="symbol"><A NAME="ref_286_4">Black</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 0;
- <span class="symbol"><A NAME="ref_287_4">Red</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 1;
- <span class="symbol"><A NAME="ref_288_4">Green</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 2;
- <span class="symbol"><A NAME="ref_289_4">Yellow</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 3;
- <span class="symbol"><A NAME="ref_290_4">Blue</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 4;
- <span class="symbol"><A NAME="ref_291_4">Magenta</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 5;
- <span class="symbol"><A NAME="ref_292_4">Cyan</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 6;
- <span class="symbol"><A NAME="ref_293_4">White</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 7;
-
- <b>type</b> <span class="symbol"><A NAME="ref_295_9">RGB_Value</A></span> <b>is</b> <b>range</b> 0 .. Integer (<A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short'Last);
- <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>'Size <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.short'Size;
+ <span class="symbol"><A NAME="ref_396_4">Black</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_69_4">COLOR_BLACK</A>;
+ <span class="symbol"><A NAME="ref_397_4">Red</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_70_4">COLOR_RED</A>;
+ <span class="symbol"><A NAME="ref_398_4">Green</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_71_4">COLOR_GREEN</A>;
+ <span class="symbol"><A NAME="ref_399_4">Yellow</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_72_4">COLOR_YELLOW</A>;
+ <span class="symbol"><A NAME="ref_400_4">Blue</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_73_4">COLOR_BLUE</A>;
+ <span class="symbol"><A NAME="ref_401_4">Magenta</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_74_4">COLOR_MAGENTA</A>;
+ <span class="symbol"><A NAME="ref_402_4">Cyan</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_75_4">COLOR_CYAN</A>;
+ <span class="symbol"><A NAME="ref_403_4">White</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_76_4">COLOR_WHITE</A>;
+
+ <b>type</b> <span class="symbol"><A NAME="ref_405_9">RGB_Value</A></span> <b>is</b> <b>range</b> 0 .. Integer (<A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'Last);
+ <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>'Size <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'Size;
<span class="comment"><EM>-- Some system may allow to redefine a color by setting RGB values.</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_299_9">Color_Pair</A></span> <b>is</b> <b>range</b> 0 .. 255;
- <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'Size <b>use</b> 8;
- <b>subtype</b> <span class="symbol"><A NAME="ref_301_12">Redefinable_Color_Pair</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> <b>range</b> 1 .. 255;
+ <b>type</b> <span class="symbol"><A NAME="ref_409_9">Color_Pair</A></span> <b>is</b> <b>range</b> 0 .. 255;
+ <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'Size <b>use</b> 8;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_411_12">Redefinable_Color_Pair</A></span> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> <b>range</b> 1 .. 255;
<span class="comment"><EM>-- (n)curses reserves 1 Byte for the color-pair number. Color Pair 0</EM></span>
<span class="comment"><EM>-- is fixed (Black &amp; White). A color pair is simply a combination of</EM></span>
<span class="comment"><EM>-- two colors described by Color_Numbers, one for the foreground and</EM></span>
<span class="comment"><EM>-- the other for the background</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_307_9">Character_Attribute_Set</A></span> <b>is</b>
+ <b>type</b> <span class="symbol"><A NAME="ref_417_9">Character_Attribute_Set</A></span> <b>is</b>
<b>record</b>
- <span class="symbol"><A NAME="ref_309_10">Stand_Out</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_310_10">Under_Line</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_311_10">Reverse_Video</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_312_10">Blink</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_313_10">Dim_Character</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_314_10">Bold_Character</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_315_10">Alternate_Character_Set</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_316_10">Invisible_Character</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_317_10">Protected_Character</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_318_10">Horizontal</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_319_10">Left</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_320_10">Low</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_321_10">Right</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_322_10">Top</A></span> : Boolean;
- <span class="symbol"><A NAME="ref_323_10">Vertical</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_419_10">Stand_Out</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_420_10">Under_Line</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_421_10">Reverse_Video</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_422_10">Blink</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_423_10">Dim_Character</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_424_10">Bold_Character</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_425_10">Protected_Character</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_426_10">Invisible_Character</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_427_10">Alternate_Character_Set</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_428_10">Horizontal</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_429_10">Left</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_430_10">Low</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_431_10">Right</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_432_10">Top</A></span> : Boolean;
+ <span class="symbol"><A NAME="ref_433_10">Vertical</A></span> : Boolean;
<b>end</b> <b>record</b>;
- <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>);
- <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> <b>use</b>
+ <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> <b>use</b>
<b>record</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_309_10">Stand_Out</A> <b>at</b> 0 <b>range</b> 0 .. 0;
- <A HREF="terminal_interface-curses__ads.htm#ref_310_10">Under_Line</A> <b>at</b> 0 <b>range</b> 1 .. 1;
- <A HREF="terminal_interface-curses__ads.htm#ref_311_10">Reverse_Video</A> <b>at</b> 0 <b>range</b> 2 .. 2;
- <A HREF="terminal_interface-curses__ads.htm#ref_312_10">Blink</A> <b>at</b> 0 <b>range</b> 3 .. 3;
- <A HREF="terminal_interface-curses__ads.htm#ref_313_10">Dim_Character</A> <b>at</b> 0 <b>range</b> 4 .. 4;
- <A HREF="terminal_interface-curses__ads.htm#ref_314_10">Bold_Character</A> <b>at</b> 0 <b>range</b> 5 .. 5;
- <A HREF="terminal_interface-curses__ads.htm#ref_315_10">Alternate_Character_Set</A> <b>at</b> 0 <b>range</b> 6 .. 6;
- <A HREF="terminal_interface-curses__ads.htm#ref_316_10">Invisible_Character</A> <b>at</b> 0 <b>range</b> 7 .. 7;
- <A HREF="terminal_interface-curses__ads.htm#ref_317_10">Protected_Character</A> <b>at</b> 0 <b>range</b> 8 .. 8;
- <A HREF="terminal_interface-curses__ads.htm#ref_318_10">Horizontal</A> <b>at</b> 0 <b>range</b> 9 .. 9;
- <A HREF="terminal_interface-curses__ads.htm#ref_319_10">Left</A> <b>at</b> 0 <b>range</b> 10 .. 10;
- <A HREF="terminal_interface-curses__ads.htm#ref_320_10">Low</A> <b>at</b> 0 <b>range</b> 11 .. 11;
- <A HREF="terminal_interface-curses__ads.htm#ref_321_10">Right</A> <b>at</b> 0 <b>range</b> 12 .. 12;
- <A HREF="terminal_interface-curses__ads.htm#ref_322_10">Top</A> <b>at</b> 0 <b>range</b> 13 .. 13;
- <A HREF="terminal_interface-curses__ads.htm#ref_323_10">Vertical</A> <b>at</b> 0 <b>range</b> 14 .. 14;
+ <A HREF="terminal_interface-curses__ads.htm#ref_419_10">Stand_Out</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_35_4">A_STANDOUT_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_36_4">A_STANDOUT_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_420_10">Under_Line</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_37_4">A_UNDERLINE_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_38_4">A_UNDERLINE_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_421_10">Reverse_Video</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_39_4">A_REVERSE_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_40_4">A_REVERSE_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_422_10">Blink</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_41_4">A_BLINK_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_42_4">A_BLINK_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_423_10">Dim_Character</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_43_4">A_DIM_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_44_4">A_DIM_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_424_10">Bold_Character</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_45_4">A_BOLD_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_46_4">A_BOLD_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_425_10">Protected_Character</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_47_4">A_PROTECT_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_48_4">A_PROTECT_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_426_10">Invisible_Character</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_49_4">A_INVIS_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_50_4">A_INVIS_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_427_10">Alternate_Character_Set</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_51_4">A_ALTCHARSET_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_52_4">A_ALTCHARSET_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_428_10">Horizontal</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_53_4">A_HORIZONTAL_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_54_4">A_HORIZONTAL_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_429_10">Left</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_55_4">A_LEFT_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_56_4">A_LEFT_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_430_10">Low</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_57_4">A_LOW_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_58_4">A_LOW_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_431_10">Right</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_59_4">A_RIGHT_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_60_4">A_RIGHT_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_432_10">Top</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_61_4">A_TOP_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_62_4">A_TOP_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_433_10">Vertical</A> <b>at</b> 0 <b>range</b>
+ <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_63_4">A_VERTICAL_First</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_64_4">A_VERTICAL_Last</A> - <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>;
<b>end</b> <b>record</b>;
- <b>pragma</b> Warnings (Off); <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>'Size <b>use</b> 16;
- <b>pragma</b> Warnings (On);
- <span class="comment"><EM>-- Please note: this rep. clause is generated and may be</EM></span>
- <span class="comment"><EM>-- different on your system.</EM></span>
- <span class="comment"><EM>-- (n)curses uses all but the lowest 16 Bits for Attributes.</EM></span>
- <span class="symbol"><A NAME="ref_351_4">Normal_Video</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := (<b>others</b> =&gt; False);
+ <span class="symbol"><A NAME="ref_485_4">Normal_Video</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := (<b>others</b> =&gt; False);
- <b>type</b> <span class="symbol"><A NAME="ref_353_9">Attributed_Character</A></span> <b>is</b>
+ <b>type</b> <span class="symbol"><A NAME="ref_487_9">Attributed_Character</A></span> <b>is</b>
<b>record</b>
- <span class="symbol"><A NAME="ref_355_10">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_356_10">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>;
- <span class="symbol"><A NAME="ref_357_10">Ch</A></span> : Character;
+ <span class="symbol"><A NAME="ref_489_10">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_490_10">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>;
+ <span class="symbol"><A NAME="ref_491_10">Ch</A></span> : Character;
<b>end</b> <b>record</b>;
- <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>);
+ <b>pragma</b> Convention (C_Pass_By_Copy, <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
<span class="comment"><EM>-- This is the counterpart for the chtype in C.</EM></span>
- <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> <b>use</b>
+ <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> <b>use</b>
<b>record</b>
- <A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> <b>at</b> 0 <b>range</b> 0 .. 7;
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> <b>at</b> 0 <b>range</b> 8 .. 15;
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> <b>at</b> 0 <b>range</b> 16 .. 31;
+ <A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_29_4">A_CHARTEXT_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_30_4">A_CHARTEXT_Last</A>;
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_31_4">A_COLOR_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_32_4">A_COLOR_Last</A>;
+ <b>pragma</b> Warnings (Off);
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> <b>at</b> 0 <b>range</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_33_4">Attr_First</A>
+ .. <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_34_4">Attr_Last</A>;
+ <b>pragma</b> Warnings (On);
<b>end</b> <b>record</b>;
- <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>'Size <b>use</b> 32;
- <span class="comment"><EM>-- Please note: this rep. clause is generated and may be</EM></span>
- <span class="comment"><EM>-- different on your system.</EM></span>
+ <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'Size <b>use</b> <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_65_4">chtype_Size</A>;
- <span class="symbol"><A NAME="ref_372_4">Default_Character</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>
- := (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A> =&gt; Character'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First,
- <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A> =&gt; (<b>others</b> =&gt; False)); <span class="comment"><EM>-- preelaboratable Normal_Video</EM></span>
+ <span class="symbol"><A NAME="ref_509_4">Default_Character</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
+ := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> =&gt; Character'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
+ <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> =&gt; (<b>others</b> =&gt; False)); <span class="comment"><EM>-- preelaboratable Normal_Video</EM></span>
- <b>type</b> Attributed_String <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>;
- <b>pragma</b> Pack (Attributed_String);
+ <b>type</b> Attributed_String <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <b>pragma</b> Convention (C, Attributed_String);
<span class="comment"><EM>-- In this binding we allow strings of attributed characters.</EM></span>
<span class="comment"><EM>------------------</EM></span>
<span class="comment"><EM>-- Exceptions --</EM></span>
<span class="comment"><EM>------------------</EM></span>
- <span class="symbol"><A NAME="ref_384_4">Curses_Exception</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_385_4">Wrong_Curses_Version</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_521_4">Curses_Exception</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_522_4">Wrong_Curses_Version</A></span> : <b>exception</b>;
<span class="comment"><EM>-- Those exceptions are raised by the ETI (Extended Terminal Interface)</EM></span>
<span class="comment"><EM>-- subpackets for Menu and Forms handling.</EM></span>
<span class="comment"><EM>--</EM></span>
- <span class="symbol"><A NAME="ref_390_4">Eti_System_Error</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_391_4">Eti_Bad_Argument</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_392_4">Eti_Posted</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_393_4">Eti_Connected</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_394_4">Eti_Bad_State</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_395_4">Eti_No_Room</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_396_4">Eti_Not_Posted</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_397_4">Eti_Unknown_Command</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_398_4">Eti_No_Match</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_399_4">Eti_Not_Selectable</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_400_4">Eti_Not_Connected</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_401_4">Eti_Request_Denied</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_402_4">Eti_Invalid_Field</A></span> : <b>exception</b>;
- <span class="symbol"><A NAME="ref_403_4">Eti_Current</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_527_4">Eti_System_Error</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_528_4">Eti_Bad_Argument</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_529_4">Eti_Posted</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_530_4">Eti_Connected</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_531_4">Eti_Bad_State</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_532_4">Eti_No_Room</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_533_4">Eti_Not_Posted</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_534_4">Eti_Unknown_Command</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_535_4">Eti_No_Match</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_536_4">Eti_Not_Selectable</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_537_4">Eti_Not_Connected</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_538_4">Eti_Request_Denied</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_539_4">Eti_Invalid_Field</A></span> : <b>exception</b>;
+ <span class="symbol"><A NAME="ref_540_4">Eti_Current</A></span> : <b>exception</b>;
<span class="comment"><EM>--------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- External C variables</EM></span>
@@ -427,154 +564,186 @@
<span class="comment"><EM>-- this is to use functions.</EM></span>
<span class="comment"><EM>--------------------------------------------------------------------------</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_413_13" HREF="terminal_interface-curses__adb.htm#ref_2355_13">Lines</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_413_13">Lines</A>);
+ <b>function</b> <span class="symbol"><A NAME="ref_550_13" HREF="terminal_interface-curses__adb.htm#ref_2354_13">Lines</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_550_13">Lines</A>);
- <b>function</b> <span class="symbol"><A NAME="ref_416_13" HREF="terminal_interface-curses__adb.htm#ref_2363_13">Columns</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_416_13">Columns</A>);
+ <b>function</b> <span class="symbol"><A NAME="ref_553_13" HREF="terminal_interface-curses__adb.htm#ref_2362_13">Columns</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_553_13">Columns</A>);
- <b>function</b> <span class="symbol"><A NAME="ref_419_13" HREF="terminal_interface-curses__adb.htm#ref_2371_13">Tab_Size</A></span> <b>return</b> Natural;
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_419_13">Tab_Size</A>);
+ <b>function</b> <span class="symbol"><A NAME="ref_556_13" HREF="terminal_interface-curses__adb.htm#ref_2370_13">Tab_Size</A></span> <b>return</b> Natural;
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_556_13">Tab_Size</A>);
- <b>function</b> <span class="symbol"><A NAME="ref_422_13" HREF="terminal_interface-curses__adb.htm#ref_2379_13">Number_Of_Colors</A></span> <b>return</b> Natural;
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_422_13">Number_Of_Colors</A>);
+ <b>function</b> <span class="symbol"><A NAME="ref_559_13" HREF="terminal_interface-curses__adb.htm#ref_2379_13">Number_Of_Colors</A></span> <b>return</b> Natural;
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A>);
- <b>function</b> <span class="symbol"><A NAME="ref_425_13" HREF="terminal_interface-curses__adb.htm#ref_2387_13">Number_Of_Color_Pairs</A></span> <b>return</b> Natural;
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_425_13">Number_Of_Color_Pairs</A>);
+ <b>function</b> <span class="symbol"><A NAME="ref_562_13" HREF="terminal_interface-curses__adb.htm#ref_2387_13">Number_Of_Color_Pairs</A></span> <b>return</b> Natural;
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_562_13">Number_Of_Color_Pairs</A>);
+
+ <b>subtype</b> <span class="symbol"><A NAME="ref_565_12">ACS_Index</A></span> <b>is</b> Character <b>range</b>
+ Character'Val (0) .. Character'Val (127);
+ <b>function</b> <span class="symbol"><A NAME="ref_567_13">ACS_Map</A></span> (<span class="symbol"><A NAME="ref_567_22" HREF="terminal_interface-curses__ads.htm#ref_567_13">Index</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <b>pragma</b> Import (C, ACS_Map, "acs_map_as_function");
- <b>type</b> C_ACS_Map <b>is</b> <b>array</b> (Character'Val (0) .. Character'Val (127))
- <b>of</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>;
- <span class="symbol"><A NAME="ref_430_4">ACS_Map</A></span> : C_ACS_Map;
- <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__ads.htm#ref_430_4">ACS_Map</A>, "acs_map");
- <span class="comment"><EM>--</EM></span>
- <span class="comment"><EM>--</EM></span>
<span class="comment"><EM>-- Constants for several characters from the Alternate Character Set</EM></span>
- <span class="comment"><EM>-- You must use these constants as indices into the ACS_Map array</EM></span>
- <span class="comment"><EM>-- to get the corresponding attributed character at runtime.</EM></span>
- <span class="comment"><EM>--</EM></span>
- <span class="symbol"><A NAME="ref_438_4">ACS_Upper_Left_Corner</A></span> : <b>constant</b> Character := 'l';
- <span class="symbol"><A NAME="ref_439_4">ACS_Lower_Left_Corner</A></span> : <b>constant</b> Character := 'm';
- <span class="symbol"><A NAME="ref_440_4">ACS_Upper_Right_Corner</A></span> : <b>constant</b> Character := 'k';
- <span class="symbol"><A NAME="ref_441_4">ACS_Lower_Right_Corner</A></span> : <b>constant</b> Character := 'j';
- <span class="symbol"><A NAME="ref_442_4">ACS_Left_Tee</A></span> : <b>constant</b> Character := 't';
- <span class="symbol"><A NAME="ref_443_4">ACS_Right_Tee</A></span> : <b>constant</b> Character := 'u';
- <span class="symbol"><A NAME="ref_444_4">ACS_Bottom_Tee</A></span> : <b>constant</b> Character := 'v';
- <span class="symbol"><A NAME="ref_445_4">ACS_Top_Tee</A></span> : <b>constant</b> Character := 'w';
- <span class="symbol"><A NAME="ref_446_4">ACS_Horizontal_Line</A></span> : <b>constant</b> Character := 'q';
- <span class="symbol"><A NAME="ref_447_4">ACS_Vertical_Line</A></span> : <b>constant</b> Character := 'x';
- <span class="symbol"><A NAME="ref_448_4">ACS_Plus_Symbol</A></span> : <b>constant</b> Character := 'n';
- <span class="symbol"><A NAME="ref_449_4">ACS_Scan_Line_1</A></span> : <b>constant</b> Character := 'o';
- <span class="symbol"><A NAME="ref_450_4">ACS_Scan_Line_9</A></span> : <b>constant</b> Character := 's';
- <span class="symbol"><A NAME="ref_451_4">ACS_Diamond</A></span> : <b>constant</b> Character := Character'Val (96);
- <span class="symbol"><A NAME="ref_452_4">ACS_Checker_Board</A></span> : <b>constant</b> Character := 'a';
- <span class="symbol"><A NAME="ref_453_4">ACS_Degree</A></span> : <b>constant</b> Character := 'f';
- <span class="symbol"><A NAME="ref_454_4">ACS_Plus_Minus</A></span> : <b>constant</b> Character := 'g';
- <span class="symbol"><A NAME="ref_455_4">ACS_Bullet</A></span> : <b>constant</b> Character := '~';
- <span class="symbol"><A NAME="ref_456_4">ACS_Left_Arrow</A></span> : <b>constant</b> Character := ',';
- <span class="symbol"><A NAME="ref_457_4">ACS_Right_Arrow</A></span> : <b>constant</b> Character := '+';
- <span class="symbol"><A NAME="ref_458_4">ACS_Down_Arrow</A></span> : <b>constant</b> Character := '.';
- <span class="symbol"><A NAME="ref_459_4">ACS_Up_Arrow</A></span> : <b>constant</b> Character := '-';
- <span class="symbol"><A NAME="ref_460_4">ACS_Board_Of_Squares</A></span> : <b>constant</b> Character := 'h';
- <span class="symbol"><A NAME="ref_461_4">ACS_Lantern</A></span> : <b>constant</b> Character := 'i';
- <span class="symbol"><A NAME="ref_462_4">ACS_Solid_Block</A></span> : <b>constant</b> Character := '0';
- <span class="symbol"><A NAME="ref_463_4">ACS_Scan_Line_3</A></span> : <b>constant</b> Character := 'p';
- <span class="symbol"><A NAME="ref_464_4">ACS_Scan_Line_7</A></span> : <b>constant</b> Character := 'r';
- <span class="symbol"><A NAME="ref_465_4">ACS_Less_Or_Equal</A></span> : <b>constant</b> Character := 'y';
- <span class="symbol"><A NAME="ref_466_4">ACS_Greater_Or_Equal</A></span> : <b>constant</b> Character := 'z';
- <span class="symbol"><A NAME="ref_467_4">ACS_PI</A></span> : <b>constant</b> Character := '{';
- <span class="symbol"><A NAME="ref_468_4">ACS_Not_Equal</A></span> : <b>constant</b> Character := '|';
- <span class="symbol"><A NAME="ref_469_4">ACS_Sterling</A></span> : <b>constant</b> Character := '}';
+ <span class="comment"><EM>-- You must use these constants as indices into the ACS_Map function</EM></span>
+ <span class="comment"><EM>-- to get the corresponding attributed character at runtime</EM></span>
+ <span class="symbol"><A NAME="ref_573_4">ACS_Upper_Left_Corner</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_222_4">ACS_ULCORNER</A>);
+ <span class="symbol"><A NAME="ref_575_4">ACS_Lower_Left_Corner</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_223_4">ACS_LLCORNER</A>);
+ <span class="symbol"><A NAME="ref_577_4">ACS_Upper_Right_Corner</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_224_4">ACS_URCORNER</A>);
+ <span class="symbol"><A NAME="ref_579_4">ACS_Lower_Right_Corner</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_225_4">ACS_LRCORNER</A>);
+ <span class="symbol"><A NAME="ref_581_4">ACS_Left_Tee</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_226_4">ACS_LTEE</A>);
+ <span class="symbol"><A NAME="ref_583_4">ACS_Right_Tee</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_227_4">ACS_RTEE</A>);
+ <span class="symbol"><A NAME="ref_585_4">ACS_Bottom_Tee</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_228_4">ACS_BTEE</A>);
+ <span class="symbol"><A NAME="ref_587_4">ACS_Top_Tee</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_229_4">ACS_TTEE</A>);
+ <span class="symbol"><A NAME="ref_589_4">ACS_Horizontal_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_230_4">ACS_HLINE</A>);
+ <span class="symbol"><A NAME="ref_591_4">ACS_Vertical_Line</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_231_4">ACS_VLINE</A>);
+ <span class="symbol"><A NAME="ref_593_4">ACS_Plus_Symbol</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_232_4">ACS_PLUS</A>);
+ <span class="symbol"><A NAME="ref_595_4">ACS_Scan_Line_1</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_233_4">ACS_S1</A>);
+ <span class="symbol"><A NAME="ref_597_4">ACS_Scan_Line_9</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_234_4">ACS_S9</A>);
+ <span class="symbol"><A NAME="ref_599_4">ACS_Diamond</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_235_4">ACS_DIAMOND</A>);
+ <span class="symbol"><A NAME="ref_601_4">ACS_Checker_Board</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_236_4">ACS_CKBOARD</A>);
+ <span class="symbol"><A NAME="ref_603_4">ACS_Degree</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_237_4">ACS_DEGREE</A>);
+ <span class="symbol"><A NAME="ref_605_4">ACS_Plus_Minus</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_238_4">ACS_PLMINUS</A>);
+ <span class="symbol"><A NAME="ref_607_4">ACS_Bullet</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_239_4">ACS_BULLET</A>);
+ <span class="symbol"><A NAME="ref_609_4">ACS_Left_Arrow</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_240_4">ACS_LARROW</A>);
+ <span class="symbol"><A NAME="ref_611_4">ACS_Right_Arrow</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_241_4">ACS_RARROW</A>);
+ <span class="symbol"><A NAME="ref_613_4">ACS_Down_Arrow</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_242_4">ACS_DARROW</A>);
+ <span class="symbol"><A NAME="ref_615_4">ACS_Up_Arrow</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_243_4">ACS_UARROW</A>);
+ <span class="symbol"><A NAME="ref_617_4">ACS_Board_Of_Squares</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_244_4">ACS_BOARD</A>);
+ <span class="symbol"><A NAME="ref_619_4">ACS_Lantern</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_245_4">ACS_LANTERN</A>);
+ <span class="symbol"><A NAME="ref_621_4">ACS_Solid_Block</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_246_4">ACS_BLOCK</A>);
+ <span class="symbol"><A NAME="ref_623_4">ACS_Scan_Line_3</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_247_4">ACS_S3</A>);
+ <span class="symbol"><A NAME="ref_625_4">ACS_Scan_Line_7</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_248_4">ACS_S7</A>);
+ <span class="symbol"><A NAME="ref_627_4">ACS_Less_Or_Equal</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_249_4">ACS_LEQUAL</A>);
+ <span class="symbol"><A NAME="ref_629_4">ACS_Greater_Or_Equal</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_250_4">ACS_GEQUAL</A>);
+ <span class="symbol"><A NAME="ref_631_4">ACS_PI</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_251_4">ACS_PI</A>);
+ <span class="symbol"><A NAME="ref_633_4">ACS_Not_Equal</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_252_4">ACS_NEQUAL</A>);
+ <span class="symbol"><A NAME="ref_635_4">ACS_Sterling</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_565_12">ACS_Index</A>
+ := Character'Val (<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_253_4">ACS_STERLING</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Not implemented: newterm, set_term, delscreen</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_1"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_477_13" HREF="terminal_interface-curses__adb.htm#ref_2339_13">Standard_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_1">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_644_13">Standard_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_initscr.3x.html">stdscr</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <b>pragma</b> Import (C, Standard_Window, "stdscr_as_function");
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_2"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_482_13" HREF="terminal_interface-curses__adb.htm#ref_2347_13">Current_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_2">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_650_13">Current_Window</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_initscr.3x.html">curscr</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_482_13">Current_Window</A>);
+ <b>pragma</b> Import (C, Current_Window, "curscr_as_function");
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_650_13">Current_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_3"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_487_14" HREF="terminal_interface-curses__adb.htm#ref_98_14">Init_Screen</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_3">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_656_14" HREF="terminal_interface-curses__adb.htm#ref_97_14">Init_Screen</A></span>;
- <span class="comment"><EM>-- #1A NAME="AFU_4"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_490_14">Init_Windows</A></span> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_14">Init_Screen</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_4">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_659_14">Init_Windows</A></span> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_initscr.3x.html">initscr()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_487_14">Init_Screen</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A>);
<span class="comment"><EM>-- pragma Inline (Init_Windows);</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_5"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_496_14" HREF="terminal_interface-curses__adb.htm#ref_111_14">End_Windows</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_5">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_665_14" HREF="terminal_interface-curses__adb.htm#ref_110_14">End_Windows</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_initscr.3x.html">endwin()</A></EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_498_14">End_Screen</A></span> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_496_14">End_Windows</A>;
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_496_14">End_Windows</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_667_14">End_Screen</A></span> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A>;
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A>);
<span class="comment"><EM>-- pragma Inline (End_Screen);</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_6"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_503_13" HREF="terminal_interface-curses__adb.htm#ref_121_13">Is_End_Window</A></span> <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_6">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_672_13" HREF="terminal_interface-curses__adb.htm#ref_120_13">Is_End_Window</A></span> <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_initscr.3x.html">isendwin()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_503_13">Is_End_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_672_13">Is_End_Window</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_move.3x.html">curs_move.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_7"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_512_14" HREF="terminal_interface-curses__adb.htm#ref_133_14">Move_Cursor</A></span> (<span class="symbol"><A NAME="ref_512_27" HREF="terminal_interface-curses__adb.htm#ref_133_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_513_27" HREF="terminal_interface-curses__adb.htm#ref_134_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_514_27" HREF="terminal_interface-curses__adb.htm#ref_135_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_7">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_681_14" HREF="terminal_interface-curses__adb.htm#ref_132_14">Move_Cursor</A></span> (<span class="symbol"><A NAME="ref_681_27" HREF="terminal_interface-curses__adb.htm#ref_132_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_682_27" HREF="terminal_interface-curses__adb.htm#ref_133_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_683_27" HREF="terminal_interface-curses__adb.htm#ref_134_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_move.3x.html">wmove()</A></EM></span>
<span class="comment"><EM>-- AKA: move()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_512_14">Move_Cursor</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_8"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_524_14" HREF="terminal_interface-curses__adb.htm#ref_148_14">Add</A></span> (<span class="symbol"><A NAME="ref_524_19" HREF="terminal_interface-curses__adb.htm#ref_148_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_525_19" HREF="terminal_interface-curses__adb.htm#ref_149_19">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_8">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_693_14" HREF="terminal_interface-curses__adb.htm#ref_147_14">Add</A></span> (<span class="symbol"><A NAME="ref_693_19" HREF="terminal_interface-curses__adb.htm#ref_147_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_694_19" HREF="terminal_interface-curses__adb.htm#ref_148_19">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_addch.3x.html">waddch()</A></EM></span>
<span class="comment"><EM>-- AKA: addch()</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_529_14" HREF="terminal_interface-curses__adb.htm#ref_160_14">Add</A></span> (<span class="symbol"><A NAME="ref_529_19" HREF="terminal_interface-curses__adb.htm#ref_160_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_530_19" HREF="terminal_interface-curses__adb.htm#ref_161_19">Ch</A></span> : Character);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_698_14" HREF="terminal_interface-curses__adb.htm#ref_159_14">Add</A></span> (<span class="symbol"><A NAME="ref_698_19" HREF="terminal_interface-curses__adb.htm#ref_159_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_699_19" HREF="terminal_interface-curses__adb.htm#ref_160_19">Ch</A></span> : Character);
<span class="comment"><EM>-- Add a single character at the current logical cursor position to</EM></span>
<span class="comment"><EM>-- the window. Use the current windows attributes.</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_9"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_535_14" HREF="terminal_interface-curses__adb.htm#ref_170_14">Add</A></span>
- (<span class="symbol"><A NAME="ref_536_7" HREF="terminal_interface-curses__adb.htm#ref_171_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_537_7" HREF="terminal_interface-curses__adb.htm#ref_172_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_538_7" HREF="terminal_interface-curses__adb.htm#ref_173_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_539_7" HREF="terminal_interface-curses__adb.htm#ref_174_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_9">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_704_14" HREF="terminal_interface-curses__adb.htm#ref_169_14">Add</A></span>
+ (<span class="symbol"><A NAME="ref_705_7" HREF="terminal_interface-curses__adb.htm#ref_170_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_706_7" HREF="terminal_interface-curses__adb.htm#ref_171_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_707_7" HREF="terminal_interface-curses__adb.htm#ref_172_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_708_7" HREF="terminal_interface-curses__adb.htm#ref_173_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_addch.3x.html">mvwaddch()</A></EM></span>
<span class="comment"><EM>-- AKA: mvaddch()</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_543_14" HREF="terminal_interface-curses__adb.htm#ref_189_14">Add</A></span>
- (<span class="symbol"><A NAME="ref_544_7" HREF="terminal_interface-curses__adb.htm#ref_190_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_545_7" HREF="terminal_interface-curses__adb.htm#ref_191_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_546_7" HREF="terminal_interface-curses__adb.htm#ref_192_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_547_7" HREF="terminal_interface-curses__adb.htm#ref_193_7">Ch</A></span> : Character);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_712_14" HREF="terminal_interface-curses__adb.htm#ref_189_14">Add</A></span>
+ (<span class="symbol"><A NAME="ref_713_7" HREF="terminal_interface-curses__adb.htm#ref_190_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_714_7" HREF="terminal_interface-curses__adb.htm#ref_191_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_715_7" HREF="terminal_interface-curses__adb.htm#ref_192_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_716_7" HREF="terminal_interface-curses__adb.htm#ref_193_7">Ch</A></span> : Character);
<span class="comment"><EM>-- Move to the position and add a single character into the window</EM></span>
<span class="comment"><EM>-- There are more Add routines, so the Inline pragma follows later</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_10"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_552_14" HREF="terminal_interface-curses__adb.htm#ref_204_14">Add_With_Immediate_Echo</A></span>
- (<span class="symbol"><A NAME="ref_553_7" HREF="terminal_interface-curses__adb.htm#ref_205_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_554_7" HREF="terminal_interface-curses__adb.htm#ref_206_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_10">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_721_14" HREF="terminal_interface-curses__adb.htm#ref_204_14">Add_With_Immediate_Echo</A></span>
+ (<span class="symbol"><A NAME="ref_722_7" HREF="terminal_interface-curses__adb.htm#ref_205_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_723_7" HREF="terminal_interface-curses__adb.htm#ref_206_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_addch.3x.html">wechochar()</A></EM></span>
<span class="comment"><EM>-- AKA: echochar()</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_558_14" HREF="terminal_interface-curses__adb.htm#ref_217_14">Add_With_Immediate_Echo</A></span>
- (<span class="symbol"><A NAME="ref_559_7" HREF="terminal_interface-curses__adb.htm#ref_218_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_560_7" HREF="terminal_interface-curses__adb.htm#ref_219_7">Ch</A></span> : Character);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_727_14" HREF="terminal_interface-curses__adb.htm#ref_217_14">Add_With_Immediate_Echo</A></span>
+ (<span class="symbol"><A NAME="ref_728_7" HREF="terminal_interface-curses__adb.htm#ref_218_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_729_7" HREF="terminal_interface-curses__adb.htm#ref_219_7">Ch</A></span> : Character);
<span class="comment"><EM>-- Add a character and do an immediate refresh of the screen.</EM></span>
<b>pragma</b> Inline (Add_With_Immediate_Echo);
@@ -583,105 +752,105 @@
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- Not Implemented: wcursyncup</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_11"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_570_13" HREF="terminal_interface-curses__adb.htm#ref_229_13">Create</A></span>
- (<span class="symbol"><A NAME="ref_571_7" HREF="terminal_interface-curses__adb.htm#ref_229_21">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_572_7" HREF="terminal_interface-curses__adb.htm#ref_230_21">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_573_7" HREF="terminal_interface-curses__adb.htm#ref_231_21">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_574_7" HREF="terminal_interface-curses__adb.htm#ref_232_21">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_11">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_739_13" HREF="terminal_interface-curses__adb.htm#ref_229_13">Create</A></span>
+ (<span class="symbol"><A NAME="ref_740_7" HREF="terminal_interface-curses__adb.htm#ref_229_21">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_741_7" HREF="terminal_interface-curses__adb.htm#ref_230_21">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_742_7" HREF="terminal_interface-curses__adb.htm#ref_231_21">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_743_7" HREF="terminal_interface-curses__adb.htm#ref_232_21">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- Not Implemented: Default Number_Of_Lines, Number_Of_Columns</EM></span>
<span class="comment"><EM>-- the C version lets them be 0, see the man page.</EM></span>
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">newwin()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_570_13">Create</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A>);
<b>function</b> New_Window
- (<span class="symbol"><A NAME="ref_581_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_582_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_583_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_584_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
- <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_570_13">Create</A>;
+ (<span class="symbol"><A NAME="ref_750_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_751_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_752_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_753_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
+ <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A>;
<span class="comment"><EM>-- pragma Inline (New_Window);</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_12"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_589_14" HREF="terminal_interface-curses__adb.htm#ref_252_14">Delete</A></span> (<span class="symbol"><A NAME="ref_589_22" HREF="terminal_interface-curses__adb.htm#ref_252_22">Win</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_12">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_758_14" HREF="terminal_interface-curses__adb.htm#ref_252_14">Delete</A></span> (<span class="symbol"><A NAME="ref_758_22" HREF="terminal_interface-curses__adb.htm#ref_252_22">Win</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">delwin()</A></EM></span>
<span class="comment"><EM>-- Reset Win to Null_Window</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_589_14">Delete</A>);
-
- <span class="comment"><EM>-- #1A NAME="AFU_13"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_595_13" HREF="terminal_interface-curses__adb.htm#ref_263_13">Sub_Window</A></span>
- (<span class="symbol"><A NAME="ref_596_7" HREF="terminal_interface-curses__adb.htm#ref_264_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_597_7" HREF="terminal_interface-curses__adb.htm#ref_265_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_598_7" HREF="terminal_interface-curses__adb.htm#ref_266_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_599_7" HREF="terminal_interface-curses__adb.htm#ref_267_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_600_7" HREF="terminal_interface-curses__adb.htm#ref_268_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_758_14">Delete</A>);
+
+ <span class="comment"><EM>-- <A NAME="AFU_13">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_764_13" HREF="terminal_interface-curses__adb.htm#ref_263_13">Sub_Window</A></span>
+ (<span class="symbol"><A NAME="ref_765_7" HREF="terminal_interface-curses__adb.htm#ref_264_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_766_7" HREF="terminal_interface-curses__adb.htm#ref_265_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_767_7" HREF="terminal_interface-curses__adb.htm#ref_266_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_768_7" HREF="terminal_interface-curses__adb.htm#ref_267_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_769_7" HREF="terminal_interface-curses__adb.htm#ref_268_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">subwin()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_595_13">Sub_Window</A>);
-
- <span class="comment"><EM>-- #1A NAME="AFU_14"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_605_13" HREF="terminal_interface-curses__adb.htm#ref_291_13">Derived_Window</A></span>
- (<span class="symbol"><A NAME="ref_606_7" HREF="terminal_interface-curses__adb.htm#ref_292_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_607_7" HREF="terminal_interface-curses__adb.htm#ref_293_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_608_7" HREF="terminal_interface-curses__adb.htm#ref_294_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_609_7" HREF="terminal_interface-curses__adb.htm#ref_295_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_610_7" HREF="terminal_interface-curses__adb.htm#ref_296_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_764_13">Sub_Window</A>);
+
+ <span class="comment"><EM>-- <A NAME="AFU_14">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_774_13" HREF="terminal_interface-curses__adb.htm#ref_291_13">Derived_Window</A></span>
+ (<span class="symbol"><A NAME="ref_775_7" HREF="terminal_interface-curses__adb.htm#ref_292_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_776_7" HREF="terminal_interface-curses__adb.htm#ref_293_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_777_7" HREF="terminal_interface-curses__adb.htm#ref_294_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_778_7" HREF="terminal_interface-curses__adb.htm#ref_295_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_779_7" HREF="terminal_interface-curses__adb.htm#ref_296_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">derwin()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_605_13">Derived_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_774_13">Derived_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_15"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_615_13" HREF="terminal_interface-curses__adb.htm#ref_319_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_615_24" HREF="terminal_interface-curses__adb.htm#ref_319_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_15">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_784_13" HREF="terminal_interface-curses__adb.htm#ref_319_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_784_24" HREF="terminal_interface-curses__adb.htm#ref_319_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">dupwin()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_615_13">Duplicate</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_784_13">Duplicate</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_16"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_620_14" HREF="terminal_interface-curses__adb.htm#ref_332_14">Move_Window</A></span> (<span class="symbol"><A NAME="ref_620_27" HREF="terminal_interface-curses__adb.htm#ref_332_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_621_27" HREF="terminal_interface-curses__adb.htm#ref_333_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_622_27" HREF="terminal_interface-curses__adb.htm#ref_334_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_16">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_789_14" HREF="terminal_interface-curses__adb.htm#ref_332_14">Move_Window</A></span> (<span class="symbol"><A NAME="ref_789_27" HREF="terminal_interface-curses__adb.htm#ref_332_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_790_27" HREF="terminal_interface-curses__adb.htm#ref_333_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_791_27" HREF="terminal_interface-curses__adb.htm#ref_334_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">mvwin()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_620_14">Move_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_789_14">Move_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_17"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_627_14" HREF="terminal_interface-curses__adb.htm#ref_346_14">Move_Derived_Window</A></span> (<span class="symbol"><A NAME="ref_627_35" HREF="terminal_interface-curses__adb.htm#ref_346_35">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_628_35" HREF="terminal_interface-curses__adb.htm#ref_347_35">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_629_35" HREF="terminal_interface-curses__adb.htm#ref_348_35">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_17">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_796_14" HREF="terminal_interface-curses__adb.htm#ref_346_14">Move_Derived_Window</A></span> (<span class="symbol"><A NAME="ref_796_35" HREF="terminal_interface-curses__adb.htm#ref_346_35">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_797_35" HREF="terminal_interface-curses__adb.htm#ref_347_35">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_798_35" HREF="terminal_interface-curses__adb.htm#ref_348_35">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">mvderwin()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_627_14">Move_Derived_Window</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_796_14">Move_Derived_Window</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_18"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_634_14">Synchronize_Upwards</A></span> (<span class="symbol"><A NAME="ref_634_35" HREF="terminal_interface-curses__ads.htm#ref_634_14">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_18">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_803_14">Synchronize_Upwards</A></span> (<span class="symbol"><A NAME="ref_803_35" HREF="terminal_interface-curses__ads.htm#ref_803_14">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">wsyncup()</A></EM></span>
<b>pragma</b> Import (C, Synchronize_Upwards, "wsyncup");
- <span class="comment"><EM>-- #1A NAME="AFU_19"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_639_14">Synchronize_Downwards</A></span> (<span class="symbol"><A NAME="ref_639_37" HREF="terminal_interface-curses__ads.htm#ref_639_14">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_19">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_808_14">Synchronize_Downwards</A></span> (<span class="symbol"><A NAME="ref_808_37" HREF="terminal_interface-curses__ads.htm#ref_808_14">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">wsyncdown()</A></EM></span>
<b>pragma</b> Import (C, Synchronize_Downwards, "wsyncdown");
- <span class="comment"><EM>-- #1A NAME="AFU_20"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_644_14" HREF="terminal_interface-curses__adb.htm#ref_360_14">Set_Synch_Mode</A></span> (<span class="symbol"><A NAME="ref_644_30" HREF="terminal_interface-curses__adb.htm#ref_360_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_645_30" HREF="terminal_interface-curses__adb.htm#ref_361_30">Mode</A></span> : Boolean := False);
+ <span class="comment"><EM>-- <A NAME="AFU_20">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_813_14" HREF="terminal_interface-curses__adb.htm#ref_360_14">Set_Synch_Mode</A></span> (<span class="symbol"><A NAME="ref_813_30" HREF="terminal_interface-curses__adb.htm#ref_360_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_814_30" HREF="terminal_interface-curses__adb.htm#ref_361_30">Mode</A></span> : Boolean := False);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_window.3x.html">syncok()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_644_14">Set_Synch_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_813_14">Set_Synch_Mode</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_21"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_654_14" HREF="terminal_interface-curses__adb.htm#ref_372_14">Add</A></span> (<span class="symbol"><A NAME="ref_654_19" HREF="terminal_interface-curses__adb.htm#ref_372_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_655_19" HREF="terminal_interface-curses__adb.htm#ref_373_19">Str</A></span> : String;
- <span class="symbol"><A NAME="ref_656_19" HREF="terminal_interface-curses__adb.htm#ref_374_19">Len</A></span> : Integer := -1);
+ <span class="comment"><EM>-- <A NAME="AFU_21">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_823_14" HREF="terminal_interface-curses__adb.htm#ref_372_14">Add</A></span> (<span class="symbol"><A NAME="ref_823_19" HREF="terminal_interface-curses__adb.htm#ref_372_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_824_19" HREF="terminal_interface-curses__adb.htm#ref_373_19">Str</A></span> : String;
+ <span class="symbol"><A NAME="ref_825_19" HREF="terminal_interface-curses__adb.htm#ref_374_19">Len</A></span> : Integer := -1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_addstr.3x.html">waddnstr()</A></EM></span>
<span class="comment"><EM>-- AKA: waddstr()</EM></span>
<span class="comment"><EM>-- AKA: addnstr()</EM></span>
<span class="comment"><EM>-- AKA: addstr()</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_22"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_663_14" HREF="terminal_interface-curses__adb.htm#ref_390_14">Add</A></span> (<span class="symbol"><A NAME="ref_663_19" HREF="terminal_interface-curses__adb.htm#ref_391_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_664_19" HREF="terminal_interface-curses__adb.htm#ref_392_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_665_19" HREF="terminal_interface-curses__adb.htm#ref_393_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_666_19" HREF="terminal_interface-curses__adb.htm#ref_394_7">Str</A></span> : String;
- <span class="symbol"><A NAME="ref_667_19" HREF="terminal_interface-curses__adb.htm#ref_395_7">Len</A></span> : Integer := -1);
+ <span class="comment"><EM>-- <A NAME="AFU_22">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_832_14" HREF="terminal_interface-curses__adb.htm#ref_390_14">Add</A></span> (<span class="symbol"><A NAME="ref_832_19" HREF="terminal_interface-curses__adb.htm#ref_391_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_833_19" HREF="terminal_interface-curses__adb.htm#ref_392_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_834_19" HREF="terminal_interface-curses__adb.htm#ref_393_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_835_19" HREF="terminal_interface-curses__adb.htm#ref_394_7">Str</A></span> : String;
+ <span class="symbol"><A NAME="ref_836_19" HREF="terminal_interface-curses__adb.htm#ref_395_7">Len</A></span> : Integer := -1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_addstr.3x.html">mvwaddnstr()</A></EM></span>
<span class="comment"><EM>-- AKA: mvwaddstr()</EM></span>
<span class="comment"><EM>-- AKA: mvaddnstr()</EM></span>
@@ -691,21 +860,21 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_23"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_678_14" HREF="terminal_interface-curses__adb.htm#ref_402_14">Add</A></span> (<span class="symbol"><A NAME="ref_678_19" HREF="terminal_interface-curses__adb.htm#ref_403_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_679_19" HREF="terminal_interface-curses__adb.htm#ref_404_7">Str</A></span> : Attributed_String;
- <span class="symbol"><A NAME="ref_680_19" HREF="terminal_interface-curses__adb.htm#ref_405_7">Len</A></span> : Integer := -1);
+ <span class="comment"><EM>-- <A NAME="AFU_23">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_847_14" HREF="terminal_interface-curses__adb.htm#ref_402_14">Add</A></span> (<span class="symbol"><A NAME="ref_847_19" HREF="terminal_interface-curses__adb.htm#ref_403_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_848_19" HREF="terminal_interface-curses__adb.htm#ref_404_7">Str</A></span> : Attributed_String;
+ <span class="symbol"><A NAME="ref_849_19" HREF="terminal_interface-curses__adb.htm#ref_405_7">Len</A></span> : Integer := -1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_addchstr.3x.html">waddchnstr()</A></EM></span>
<span class="comment"><EM>-- AKA: waddchstr()</EM></span>
<span class="comment"><EM>-- AKA: addchnstr()</EM></span>
<span class="comment"><EM>-- AKA: addchstr()</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_24"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_687_14" HREF="terminal_interface-curses__adb.htm#ref_425_14">Add</A></span> (<span class="symbol"><A NAME="ref_687_19" HREF="terminal_interface-curses__adb.htm#ref_426_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_688_19" HREF="terminal_interface-curses__adb.htm#ref_427_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_689_19" HREF="terminal_interface-curses__adb.htm#ref_428_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_690_19" HREF="terminal_interface-curses__adb.htm#ref_429_7">Str</A></span> : Attributed_String;
- <span class="symbol"><A NAME="ref_691_19" HREF="terminal_interface-curses__adb.htm#ref_430_7">Len</A></span> : Integer := -1);
+ <span class="comment"><EM>-- <A NAME="AFU_24">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_856_14" HREF="terminal_interface-curses__adb.htm#ref_426_14">Add</A></span> (<span class="symbol"><A NAME="ref_856_19" HREF="terminal_interface-curses__adb.htm#ref_427_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_857_19" HREF="terminal_interface-curses__adb.htm#ref_428_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_858_19" HREF="terminal_interface-curses__adb.htm#ref_429_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_859_19" HREF="terminal_interface-curses__adb.htm#ref_430_7">Str</A></span> : Attributed_String;
+ <span class="symbol"><A NAME="ref_860_19" HREF="terminal_interface-curses__adb.htm#ref_431_7">Len</A></span> : Integer := -1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_addchstr.3x.html">mvwaddchnstr()</A></EM></span>
<span class="comment"><EM>-- AKA: mvwaddchstr()</EM></span>
<span class="comment"><EM>-- AKA: mvaddchnstr()</EM></span>
@@ -718,92 +887,92 @@
<span class="comment"><EM>-- | Not implemented: mvhline, mvwhline, mvvline, mvwvline</EM></span>
<span class="comment"><EM>-- | use Move_Cursor then Horizontal_Line or Vertical_Line</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_25"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_705_14" HREF="terminal_interface-curses__adb.htm#ref_437_14">Border</A></span>
- (<span class="symbol"><A NAME="ref_706_7" HREF="terminal_interface-curses__adb.htm#ref_438_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_707_7" HREF="terminal_interface-curses__adb.htm#ref_439_7">Left_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_708_7" HREF="terminal_interface-curses__adb.htm#ref_440_7">Right_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_709_7" HREF="terminal_interface-curses__adb.htm#ref_441_7">Top_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_710_7" HREF="terminal_interface-curses__adb.htm#ref_442_7">Bottom_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_711_7" HREF="terminal_interface-curses__adb.htm#ref_443_7">Upper_Left_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_712_7" HREF="terminal_interface-curses__adb.htm#ref_444_7">Upper_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_713_7" HREF="terminal_interface-curses__adb.htm#ref_445_7">Lower_Left_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_714_7" HREF="terminal_interface-curses__adb.htm#ref_446_7">Lower_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>
+ <span class="comment"><EM>-- <A NAME="AFU_25">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_874_14" HREF="terminal_interface-curses__adb.htm#ref_438_14">Border</A></span>
+ (<span class="symbol"><A NAME="ref_875_7" HREF="terminal_interface-curses__adb.htm#ref_439_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_876_7" HREF="terminal_interface-curses__adb.htm#ref_440_7">Left_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_877_7" HREF="terminal_interface-curses__adb.htm#ref_441_7">Right_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_878_7" HREF="terminal_interface-curses__adb.htm#ref_442_7">Top_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_879_7" HREF="terminal_interface-curses__adb.htm#ref_443_7">Bottom_Side_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_880_7" HREF="terminal_interface-curses__adb.htm#ref_444_7">Upper_Left_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_881_7" HREF="terminal_interface-curses__adb.htm#ref_445_7">Upper_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_882_7" HREF="terminal_interface-curses__adb.htm#ref_446_7">Lower_Left_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_883_7" HREF="terminal_interface-curses__adb.htm#ref_447_7">Lower_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>
);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_border.3x.html">wborder()</A></EM></span>
<span class="comment"><EM>-- AKA: border()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_705_14">Border</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_26"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_721_14" HREF="terminal_interface-curses__adb.htm#ref_474_14">Box</A></span>
- (<span class="symbol"><A NAME="ref_722_7" HREF="terminal_interface-curses__adb.htm#ref_475_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_723_7" HREF="terminal_interface-curses__adb.htm#ref_476_7">Vertical_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>;
- <span class="symbol"><A NAME="ref_724_7" HREF="terminal_interface-curses__adb.htm#ref_477_7">Horizontal_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_26">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_890_14" HREF="terminal_interface-curses__adb.htm#ref_474_14">Box</A></span>
+ (<span class="symbol"><A NAME="ref_891_7" HREF="terminal_interface-curses__adb.htm#ref_475_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_892_7" HREF="terminal_interface-curses__adb.htm#ref_476_7">Vertical_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
+ <span class="symbol"><A NAME="ref_893_7" HREF="terminal_interface-curses__adb.htm#ref_477_7">Horizontal_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_border.3x.html">box()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_721_14">Box</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_890_14">Box</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_27"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_729_14" HREF="terminal_interface-curses__adb.htm#ref_485_14">Horizontal_Line</A></span>
- (<span class="symbol"><A NAME="ref_730_7" HREF="terminal_interface-curses__adb.htm#ref_486_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_731_7" HREF="terminal_interface-curses__adb.htm#ref_487_7">Line_Size</A></span> : Natural;
- <span class="symbol"><A NAME="ref_732_7" HREF="terminal_interface-curses__adb.htm#ref_488_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_27">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_898_14" HREF="terminal_interface-curses__adb.htm#ref_485_14">Horizontal_Line</A></span>
+ (<span class="symbol"><A NAME="ref_899_7" HREF="terminal_interface-curses__adb.htm#ref_486_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_900_7" HREF="terminal_interface-curses__adb.htm#ref_487_7">Line_Size</A></span> : Natural;
+ <span class="symbol"><A NAME="ref_901_7" HREF="terminal_interface-curses__adb.htm#ref_488_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_border.3x.html">whline()</A></EM></span>
<span class="comment"><EM>-- AKA: hline()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_729_14">Horizontal_Line</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_898_14">Horizontal_Line</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_28"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_738_14" HREF="terminal_interface-curses__adb.htm#ref_502_14">Vertical_Line</A></span>
- (<span class="symbol"><A NAME="ref_739_7" HREF="terminal_interface-curses__adb.htm#ref_503_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_740_7" HREF="terminal_interface-curses__adb.htm#ref_504_7">Line_Size</A></span> : Natural;
- <span class="symbol"><A NAME="ref_741_7" HREF="terminal_interface-curses__adb.htm#ref_505_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_372_4">Default_Character</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_28">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_907_14" HREF="terminal_interface-curses__adb.htm#ref_503_14">Vertical_Line</A></span>
+ (<span class="symbol"><A NAME="ref_908_7" HREF="terminal_interface-curses__adb.htm#ref_504_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_909_7" HREF="terminal_interface-curses__adb.htm#ref_505_7">Line_Size</A></span> : Natural;
+ <span class="symbol"><A NAME="ref_910_7" HREF="terminal_interface-curses__adb.htm#ref_506_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_border.3x.html">wvline()</A></EM></span>
<span class="comment"><EM>-- AKA: vline()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_738_14">Vertical_Line</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_907_14">Vertical_Line</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- Not implemented: mvgetch, mvwgetch</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_29"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_752_13" HREF="terminal_interface-curses__adb.htm#ref_520_13">Get_Keystroke</A></span> (<span class="symbol"><A NAME="ref_752_28" HREF="terminal_interface-curses__adb.htm#ref_520_28">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_29">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_921_13" HREF="terminal_interface-curses__adb.htm#ref_522_13">Get_Keystroke</A></span> (<span class="symbol"><A NAME="ref_921_28" HREF="terminal_interface-curses__adb.htm#ref_522_28">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_getch.3x.html">wgetch()</A></EM></span>
<span class="comment"><EM>-- AKA: getch()</EM></span>
<span class="comment"><EM>-- Get a character from the keyboard and echo it - if enabled - to the</EM></span>
<span class="comment"><EM>-- window.</EM></span>
<span class="comment"><EM>-- If for any reason (i.e. a timeout) we could not get a character the</EM></span>
<span class="comment"><EM>-- returned keycode is Key_None.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_752_13">Get_Keystroke</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_921_13">Get_Keystroke</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_30"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_763_14" HREF="terminal_interface-curses__adb.htm#ref_535_14">Undo_Keystroke</A></span> (<span class="symbol"><A NAME="ref_763_30" HREF="terminal_interface-curses__adb.htm#ref_535_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_30">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_932_14" HREF="terminal_interface-curses__adb.htm#ref_537_14">Undo_Keystroke</A></span> (<span class="symbol"><A NAME="ref_932_30" HREF="terminal_interface-curses__adb.htm#ref_537_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_getch.3x.html">ungetch()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_763_14">Undo_Keystroke</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_932_14">Undo_Keystroke</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_31"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_768_13" HREF="terminal_interface-curses__adb.htm#ref_545_13">Has_Key</A></span> (<span class="symbol"><A NAME="ref_768_22" HREF="terminal_interface-curses__adb.htm#ref_545_22">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>) <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_31">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_937_13" HREF="terminal_interface-curses__adb.htm#ref_547_13">Has_Key</A></span> (<span class="symbol"><A NAME="ref_937_22" HREF="terminal_interface-curses__adb.htm#ref_547_22">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_getch.3x.html">has_key()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_768_13">Has_Key</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A>);
<span class="comment"><EM>-- |</EM></span>
<span class="comment"><EM>-- | Some helper functions</EM></span>
<span class="comment"><EM>-- |</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_775_13" HREF="terminal_interface-curses__adb.htm#ref_557_13">Is_Function_Key</A></span> (<span class="symbol"><A NAME="ref_775_30" HREF="terminal_interface-curses__adb.htm#ref_557_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>) <b>return</b> Boolean;
+ <b>function</b> <span class="symbol"><A NAME="ref_944_13" HREF="terminal_interface-curses__adb.htm#ref_559_13">Is_Function_Key</A></span> (<span class="symbol"><A NAME="ref_944_30" HREF="terminal_interface-curses__adb.htm#ref_559_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- Return True if the Key is a function key (i.e. one of F0 .. F63)</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_775_13">Is_Function_Key</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A>);
- <b>subtype</b> <span class="symbol"><A NAME="ref_779_12">Function_Key_Number</A></span> <b>is</b> Integer <b>range</b> 0 .. 63;
+ <b>subtype</b> <span class="symbol"><A NAME="ref_948_12">Function_Key_Number</A></span> <b>is</b> Integer <b>range</b> 0 .. 63;
<span class="comment"><EM>-- (n)curses allows for 64 function keys.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_782_13" HREF="terminal_interface-curses__adb.htm#ref_569_13">Function_Key</A></span> (<span class="symbol"><A NAME="ref_782_27" HREF="terminal_interface-curses__adb.htm#ref_569_27">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_779_12">Function_Key_Number</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_951_13" HREF="terminal_interface-curses__adb.htm#ref_571_13">Function_Key</A></span> (<span class="symbol"><A NAME="ref_951_27" HREF="terminal_interface-curses__adb.htm#ref_571_27">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>;
<span class="comment"><EM>-- Return the number of the function key. If the code is not a</EM></span>
<span class="comment"><EM>-- function key, a CONSTRAINT_ERROR will be raised.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_782_13">Function_Key</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_951_13">Function_Key</A>);
- <b>function</b> <span class="symbol"><A NAME="ref_787_13" HREF="terminal_interface-curses__adb.htm#ref_580_13">Function_Key_Code</A></span> (<span class="symbol"><A NAME="ref_787_32" HREF="terminal_interface-curses__adb.htm#ref_580_32">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_779_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_956_13" HREF="terminal_interface-curses__adb.htm#ref_582_13">Function_Key_Code</A></span> (<span class="symbol"><A NAME="ref_956_32" HREF="terminal_interface-curses__adb.htm#ref_582_32">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>;
<span class="comment"><EM>-- Return the key code for a given function-key number.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_787_13">Function_Key_Code</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_956_13">Function_Key_Code</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></EM></span>
@@ -814,68 +983,68 @@
<span class="comment"><EM>-- PAIR_NUMBER</EM></span>
<span class="comment"><EM>-- PAIR_NUMBER(c) is the same as c.Color</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_32"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_801_14" HREF="terminal_interface-curses__adb.htm#ref_586_14">Standout</A></span> (<span class="symbol"><A NAME="ref_801_24" HREF="terminal_interface-curses__adb.htm#ref_586_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_802_24" HREF="terminal_interface-curses__adb.htm#ref_587_24">On</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_32">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_970_14" HREF="terminal_interface-curses__adb.htm#ref_588_14">Standout</A></span> (<span class="symbol"><A NAME="ref_970_24" HREF="terminal_interface-curses__adb.htm#ref_588_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_971_24" HREF="terminal_interface-curses__adb.htm#ref_589_24">On</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: wstandout()</EM></span>
<span class="comment"><EM>-- AKA: wstandend()</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_33"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_807_14" HREF="terminal_interface-curses__adb.htm#ref_606_14">Switch_Character_Attribute</A></span>
- (<span class="symbol"><A NAME="ref_808_7" HREF="terminal_interface-curses__adb.htm#ref_607_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_809_7" HREF="terminal_interface-curses__adb.htm#ref_608_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_810_7" HREF="terminal_interface-curses__adb.htm#ref_609_7">On</A></span> : Boolean := True); <span class="comment"><EM>-- if False we switch Off.</EM></span>
+ <span class="comment"><EM>-- <A NAME="AFU_33">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_976_14" HREF="terminal_interface-curses__adb.htm#ref_608_14">Switch_Character_Attribute</A></span>
+ (<span class="symbol"><A NAME="ref_977_7" HREF="terminal_interface-curses__adb.htm#ref_609_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_978_7" HREF="terminal_interface-curses__adb.htm#ref_610_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_979_7" HREF="terminal_interface-curses__adb.htm#ref_611_7">On</A></span> : Boolean := True); <span class="comment"><EM>-- if False we switch Off.</EM></span>
<span class="comment"><EM>-- Switches those Attributes set to true in the list.</EM></span>
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">wattron()</A></EM></span>
<span class="comment"><EM>-- AKA: wattroff()</EM></span>
<span class="comment"><EM>-- AKA: attron()</EM></span>
<span class="comment"><EM>-- AKA: attroff()</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_34"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_818_14" HREF="terminal_interface-curses__adb.htm#ref_634_14">Set_Character_Attributes</A></span>
- (<span class="symbol"><A NAME="ref_819_7" HREF="terminal_interface-curses__adb.htm#ref_635_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_820_7" HREF="terminal_interface-curses__adb.htm#ref_636_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_821_7" HREF="terminal_interface-curses__adb.htm#ref_637_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First);
+ <span class="comment"><EM>-- <A NAME="AFU_34">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_987_14" HREF="terminal_interface-curses__adb.htm#ref_636_14">Set_Character_Attributes</A></span>
+ (<span class="symbol"><A NAME="ref_988_7" HREF="terminal_interface-curses__adb.htm#ref_637_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_989_7" HREF="terminal_interface-curses__adb.htm#ref_638_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_990_7" HREF="terminal_interface-curses__adb.htm#ref_639_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">wattrset()</A></EM></span>
<span class="comment"><EM>-- AKA: attrset()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_818_14">Set_Character_Attributes</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_987_14">Set_Character_Attributes</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_35"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_827_13" HREF="terminal_interface-curses__adb.htm#ref_652_13">Get_Character_Attribute</A></span>
- (<span class="symbol"><A NAME="ref_828_7" HREF="terminal_interface-curses__adb.htm#ref_652_38">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_35">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_996_13" HREF="terminal_interface-curses__adb.htm#ref_653_13">Get_Character_Attribute</A></span>
+ (<span class="symbol"><A NAME="ref_997_7" HREF="terminal_interface-curses__adb.htm#ref_653_38">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">wattr_get()</A></EM></span>
<span class="comment"><EM>-- AKA: attr_get()</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_36"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_833_13" HREF="terminal_interface-curses__adb.htm#ref_675_13">Get_Character_Attribute</A></span>
- (<span class="symbol"><A NAME="ref_834_7" HREF="terminal_interface-curses__adb.htm#ref_675_38">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_36">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1002_13" HREF="terminal_interface-curses__adb.htm#ref_674_13">Get_Character_Attribute</A></span>
+ (<span class="symbol"><A NAME="ref_1003_7" HREF="terminal_interface-curses__adb.htm#ref_674_38">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">wattr_get()</A></EM></span>
<b>pragma</b> Inline (Get_Character_Attribute);
- <span class="comment"><EM>-- #1A NAME="AFU_37"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_839_14" HREF="terminal_interface-curses__adb.htm#ref_698_14">Set_Color</A></span> (<span class="symbol"><A NAME="ref_839_25" HREF="terminal_interface-curses__adb.htm#ref_698_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_840_25" HREF="terminal_interface-curses__adb.htm#ref_699_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_37">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1008_14" HREF="terminal_interface-curses__adb.htm#ref_695_14">Set_Color</A></span> (<span class="symbol"><A NAME="ref_1008_25" HREF="terminal_interface-curses__adb.htm#ref_695_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1009_25" HREF="terminal_interface-curses__adb.htm#ref_696_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">wcolor_set()</A></EM></span>
<span class="comment"><EM>-- AKA: color_set()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_839_14">Set_Color</A>);
-
- <span class="comment"><EM>-- #1A NAME="AFU_38"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_846_14" HREF="terminal_interface-curses__adb.htm#ref_713_14">Change_Attributes</A></span>
- (<span class="symbol"><A NAME="ref_847_7" HREF="terminal_interface-curses__adb.htm#ref_714_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_848_7" HREF="terminal_interface-curses__adb.htm#ref_715_7">Count</A></span> : Integer := -1;
- <span class="symbol"><A NAME="ref_849_7" HREF="terminal_interface-curses__adb.htm#ref_716_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_850_7" HREF="terminal_interface-curses__adb.htm#ref_717_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1008_14">Set_Color</A>);
+
+ <span class="comment"><EM>-- <A NAME="AFU_38">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1015_14" HREF="terminal_interface-curses__adb.htm#ref_711_14">Change_Attributes</A></span>
+ (<span class="symbol"><A NAME="ref_1016_7" HREF="terminal_interface-curses__adb.htm#ref_712_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1017_7" HREF="terminal_interface-curses__adb.htm#ref_713_7">Count</A></span> : Integer := -1;
+ <span class="symbol"><A NAME="ref_1018_7" HREF="terminal_interface-curses__adb.htm#ref_714_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_1019_7" HREF="terminal_interface-curses__adb.htm#ref_715_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">wchgat()</A></EM></span>
<span class="comment"><EM>-- AKA: chgat()</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_39"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_855_14" HREF="terminal_interface-curses__adb.htm#ref_736_14">Change_Attributes</A></span>
- (<span class="symbol"><A NAME="ref_856_7" HREF="terminal_interface-curses__adb.htm#ref_737_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_857_7" HREF="terminal_interface-curses__adb.htm#ref_738_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>'First;
- <span class="symbol"><A NAME="ref_858_7" HREF="terminal_interface-curses__adb.htm#ref_739_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>'First;
- <span class="symbol"><A NAME="ref_859_7" HREF="terminal_interface-curses__adb.htm#ref_740_7">Count</A></span> : Integer := -1;
- <span class="symbol"><A NAME="ref_860_7" HREF="terminal_interface-curses__adb.htm#ref_741_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_861_7" HREF="terminal_interface-curses__adb.htm#ref_742_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First);
+ <span class="comment"><EM>-- <A NAME="AFU_39">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1024_14" HREF="terminal_interface-curses__adb.htm#ref_736_14">Change_Attributes</A></span>
+ (<span class="symbol"><A NAME="ref_1025_7" HREF="terminal_interface-curses__adb.htm#ref_737_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1026_7" HREF="terminal_interface-curses__adb.htm#ref_738_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>'First;
+ <span class="symbol"><A NAME="ref_1027_7" HREF="terminal_interface-curses__adb.htm#ref_739_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>'First;
+ <span class="symbol"><A NAME="ref_1028_7" HREF="terminal_interface-curses__adb.htm#ref_740_7">Count</A></span> : Integer := -1;
+ <span class="symbol"><A NAME="ref_1029_7" HREF="terminal_interface-curses__adb.htm#ref_741_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_1030_7" HREF="terminal_interface-curses__adb.htm#ref_742_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_attr.3x.html">mvwchgat()</A></EM></span>
<span class="comment"><EM>-- AKA: mvchgat()</EM></span>
<b>pragma</b> Inline (Change_Attributes);
@@ -884,15 +1053,15 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_40"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_871_14" HREF="terminal_interface-curses__adb.htm#ref_749_14">Beep</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_40">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1040_14" HREF="terminal_interface-curses__adb.htm#ref_749_14">Beep</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_beep.3x.html">beep()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_871_14">Beep</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_41"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_876_14" HREF="terminal_interface-curses__adb.htm#ref_759_14">Flash_Screen</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_41">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1045_14" HREF="terminal_interface-curses__adb.htm#ref_759_14">Flash_Screen</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_beep.3x.html">flash()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_876_14">Flash_Screen</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1045_14">Flash_Screen</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></EM></span>
@@ -900,76 +1069,76 @@
<span class="comment"><EM>-- | Not implemented : typeahead</EM></span>
<span class="comment"><EM>--</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_42"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_887_14" HREF="terminal_interface-curses__adb.htm#ref_769_14">Set_Cbreak_Mode</A></span> (<span class="symbol"><A NAME="ref_887_31" HREF="terminal_interface-curses__adb.htm#ref_769_31">SwitchOn</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_42">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1056_14" HREF="terminal_interface-curses__adb.htm#ref_769_14">Set_Cbreak_Mode</A></span> (<span class="symbol"><A NAME="ref_1056_31" HREF="terminal_interface-curses__adb.htm#ref_769_31">SwitchOn</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">cbreak()</A></EM></span>
<span class="comment"><EM>-- AKA: nocbreak()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_887_14">Set_Cbreak_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1056_14">Set_Cbreak_Mode</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_43"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_893_14" HREF="terminal_interface-curses__adb.htm#ref_788_14">Set_Raw_Mode</A></span> (<span class="symbol"><A NAME="ref_893_28" HREF="terminal_interface-curses__adb.htm#ref_788_28">SwitchOn</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_43">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1062_14" HREF="terminal_interface-curses__adb.htm#ref_788_14">Set_Raw_Mode</A></span> (<span class="symbol"><A NAME="ref_1062_28" HREF="terminal_interface-curses__adb.htm#ref_788_28">SwitchOn</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">raw()</A></EM></span>
<span class="comment"><EM>-- AKA: noraw()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_893_14">Set_Raw_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1062_14">Set_Raw_Mode</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_44"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_899_14" HREF="terminal_interface-curses__adb.htm#ref_807_14">Set_Echo_Mode</A></span> (<span class="symbol"><A NAME="ref_899_29" HREF="terminal_interface-curses__adb.htm#ref_807_29">SwitchOn</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_44">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1068_14" HREF="terminal_interface-curses__adb.htm#ref_807_14">Set_Echo_Mode</A></span> (<span class="symbol"><A NAME="ref_1068_29" HREF="terminal_interface-curses__adb.htm#ref_807_29">SwitchOn</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">echo()</A></EM></span>
<span class="comment"><EM>-- AKA: noecho()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_899_14">Set_Echo_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1068_14">Set_Echo_Mode</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_45"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_905_14" HREF="terminal_interface-curses__adb.htm#ref_826_14">Set_Meta_Mode</A></span> (<span class="symbol"><A NAME="ref_905_29" HREF="terminal_interface-curses__adb.htm#ref_826_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_906_29" HREF="terminal_interface-curses__adb.htm#ref_827_29">SwitchOn</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_45">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1074_14" HREF="terminal_interface-curses__adb.htm#ref_826_14">Set_Meta_Mode</A></span> (<span class="symbol"><A NAME="ref_1074_29" HREF="terminal_interface-curses__adb.htm#ref_826_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1075_29" HREF="terminal_interface-curses__adb.htm#ref_827_29">SwitchOn</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">meta()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_905_14">Set_Meta_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1074_14">Set_Meta_Mode</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_46"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_911_14" HREF="terminal_interface-curses__adb.htm#ref_837_14">Set_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_911_31" HREF="terminal_interface-curses__adb.htm#ref_837_31">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_912_31" HREF="terminal_interface-curses__adb.htm#ref_838_31">SwitchOn</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_46">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1080_14" HREF="terminal_interface-curses__adb.htm#ref_837_14">Set_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_1080_31" HREF="terminal_interface-curses__adb.htm#ref_837_31">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1081_31" HREF="terminal_interface-curses__adb.htm#ref_838_31">SwitchOn</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">keypad()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_911_14">Set_KeyPad_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1080_14">Set_KeyPad_Mode</A>);
- <b>function</b> <span class="symbol"><A NAME="ref_916_13" HREF="terminal_interface-curses__adb.htm#ref_848_13">Get_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_916_30" HREF="terminal_interface-curses__adb.htm#ref_848_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
+ <b>function</b> <span class="symbol"><A NAME="ref_1085_13" HREF="terminal_interface-curses__adb.htm#ref_848_13">Get_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_1085_30" HREF="terminal_interface-curses__adb.htm#ref_848_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
<b>return</b> Boolean;
<span class="comment"><EM>-- This has no pendant in C. There you've to look into the WINDOWS</EM></span>
<span class="comment"><EM>-- structure to get the value. Bad practice, not repeated in Ada.</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_921_9">Half_Delay_Amount</A></span> <b>is</b> <b>range</b> 1 .. 255;
+ <b>type</b> <span class="symbol"><A NAME="ref_1090_9">Half_Delay_Amount</A></span> <b>is</b> <b>range</b> 1 .. 255;
- <span class="comment"><EM>-- #1A NAME="AFU_47"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_924_14" HREF="terminal_interface-curses__adb.htm#ref_857_14">Half_Delay</A></span> (<span class="symbol"><A NAME="ref_924_26" HREF="terminal_interface-curses__adb.htm#ref_857_26">Amount</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_921_9">Half_Delay_Amount</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_47">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1093_14" HREF="terminal_interface-curses__adb.htm#ref_857_14">Half_Delay</A></span> (<span class="symbol"><A NAME="ref_1093_26" HREF="terminal_interface-curses__adb.htm#ref_857_26">Amount</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1090_9">Half_Delay_Amount</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">halfdelay()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_924_14">Half_Delay</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1093_14">Half_Delay</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_48"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_929_14" HREF="terminal_interface-curses__adb.htm#ref_867_14">Set_Flush_On_Interrupt_Mode</A></span>
- (<span class="symbol"><A NAME="ref_930_7" HREF="terminal_interface-curses__adb.htm#ref_868_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_931_7" HREF="terminal_interface-curses__adb.htm#ref_869_7">Mode</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_48">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1098_14" HREF="terminal_interface-curses__adb.htm#ref_867_14">Set_Flush_On_Interrupt_Mode</A></span>
+ (<span class="symbol"><A NAME="ref_1099_7" HREF="terminal_interface-curses__adb.htm#ref_868_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1100_7" HREF="terminal_interface-curses__adb.htm#ref_869_7">Mode</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">intrflush()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_929_14">Set_Flush_On_Interrupt_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1098_14">Set_Flush_On_Interrupt_Mode</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_49"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_936_14" HREF="terminal_interface-curses__adb.htm#ref_879_14">Set_Queue_Interrupt_Mode</A></span>
- (<span class="symbol"><A NAME="ref_937_7" HREF="terminal_interface-curses__adb.htm#ref_880_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_938_7" HREF="terminal_interface-curses__adb.htm#ref_881_7">Flush</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_49">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1105_14" HREF="terminal_interface-curses__adb.htm#ref_879_14">Set_Queue_Interrupt_Mode</A></span>
+ (<span class="symbol"><A NAME="ref_1106_7" HREF="terminal_interface-curses__adb.htm#ref_880_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1107_7" HREF="terminal_interface-curses__adb.htm#ref_881_7">Flush</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">qiflush()</A></EM></span>
<span class="comment"><EM>-- AKA: noqiflush()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_936_14">Set_Queue_Interrupt_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1105_14">Set_Queue_Interrupt_Mode</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_50"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_944_14" HREF="terminal_interface-curses__adb.htm#ref_898_14">Set_NoDelay_Mode</A></span>
- (<span class="symbol"><A NAME="ref_945_7" HREF="terminal_interface-curses__adb.htm#ref_899_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_946_7" HREF="terminal_interface-curses__adb.htm#ref_900_7">Mode</A></span> : Boolean := False);
+ <span class="comment"><EM>-- <A NAME="AFU_50">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1113_14" HREF="terminal_interface-curses__adb.htm#ref_898_14">Set_NoDelay_Mode</A></span>
+ (<span class="symbol"><A NAME="ref_1114_7" HREF="terminal_interface-curses__adb.htm#ref_899_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1115_7" HREF="terminal_interface-curses__adb.htm#ref_900_7">Mode</A></span> : Boolean := False);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">nodelay()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_944_14">Set_NoDelay_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1113_14">Set_NoDelay_Mode</A>);
- <b>type</b> <span class="symbol"><A NAME="ref_950_9">Timeout_Mode</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_950_26">Blocking</A></span>, <span class="symbol"><A NAME="ref_950_36">Non_Blocking</A></span>, <span class="symbol"><A NAME="ref_950_50">Delayed</A></span>);
+ <b>type</b> <span class="symbol"><A NAME="ref_1119_9">Timeout_Mode</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1119_26">Blocking</A></span>, <span class="symbol"><A NAME="ref_1119_36">Non_Blocking</A></span>, <span class="symbol"><A NAME="ref_1119_50">Delayed</A></span>);
- <span class="comment"><EM>-- #1A NAME="AFU_51"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_953_14" HREF="terminal_interface-curses__adb.htm#ref_910_14">Set_Timeout_Mode</A></span> (<span class="symbol"><A NAME="ref_953_32" HREF="terminal_interface-curses__adb.htm#ref_910_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_954_32" HREF="terminal_interface-curses__adb.htm#ref_911_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_950_9">Timeout_Mode</A>;
- <span class="symbol"><A NAME="ref_955_32" HREF="terminal_interface-curses__adb.htm#ref_912_32">Amount</A></span> : Natural); <span class="comment"><EM>-- in Milliseconds</EM></span>
+ <span class="comment"><EM>-- <A NAME="AFU_51">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1122_14" HREF="terminal_interface-curses__adb.htm#ref_910_14">Set_Timeout_Mode</A></span> (<span class="symbol"><A NAME="ref_1122_32" HREF="terminal_interface-curses__adb.htm#ref_910_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1123_32" HREF="terminal_interface-curses__adb.htm#ref_911_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1119_9">Timeout_Mode</A>;
+ <span class="symbol"><A NAME="ref_1124_32" HREF="terminal_interface-curses__adb.htm#ref_912_32">Amount</A></span> : Natural); <span class="comment"><EM>-- in Milliseconds</EM></span>
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">wtimeout()</A></EM></span>
<span class="comment"><EM>-- AKA: timeout()</EM></span>
<span class="comment"><EM>-- Instead of overloading the semantic of the sign of amount, we</EM></span>
@@ -978,109 +1147,109 @@
<span class="comment"><EM>-- evaluated.</EM></span>
<span class="comment"><EM>-- We do not inline this procedure.</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_52"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_965_14" HREF="terminal_interface-curses__adb.htm#ref_931_14">Set_Escape_Timer_Mode</A></span>
- (<span class="symbol"><A NAME="ref_966_7" HREF="terminal_interface-curses__adb.htm#ref_932_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_967_7" HREF="terminal_interface-curses__adb.htm#ref_933_7">Timer_Off</A></span> : Boolean := False);
+ <span class="comment"><EM>-- <A NAME="AFU_52">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1134_14" HREF="terminal_interface-curses__adb.htm#ref_931_14">Set_Escape_Timer_Mode</A></span>
+ (<span class="symbol"><A NAME="ref_1135_7" HREF="terminal_interface-curses__adb.htm#ref_932_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1136_7" HREF="terminal_interface-curses__adb.htm#ref_933_7">Timer_Off</A></span> : Boolean := False);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inopts.3x.html">notimeout()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_965_14">Set_Escape_Timer_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1134_14">Set_Escape_Timer_Mode</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_53"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_976_14" HREF="terminal_interface-curses__adb.htm#ref_945_14">Set_NL_Mode</A></span> (<span class="symbol"><A NAME="ref_976_27" HREF="terminal_interface-curses__adb.htm#ref_945_27">SwitchOn</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_53">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1145_14" HREF="terminal_interface-curses__adb.htm#ref_946_14">Set_NL_Mode</A></span> (<span class="symbol"><A NAME="ref_1145_27" HREF="terminal_interface-curses__adb.htm#ref_946_27">SwitchOn</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">nl()</A></EM></span>
<span class="comment"><EM>-- AKA: nonl()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_976_14">Set_NL_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1145_14">Set_NL_Mode</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_54"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_982_14" HREF="terminal_interface-curses__adb.htm#ref_964_14">Clear_On_Next_Update</A></span>
- (<span class="symbol"><A NAME="ref_983_7" HREF="terminal_interface-curses__adb.htm#ref_965_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_984_7" HREF="terminal_interface-curses__adb.htm#ref_966_7">Do_Clear</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_54">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1151_14" HREF="terminal_interface-curses__adb.htm#ref_965_14">Clear_On_Next_Update</A></span>
+ (<span class="symbol"><A NAME="ref_1152_7" HREF="terminal_interface-curses__adb.htm#ref_966_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1153_7" HREF="terminal_interface-curses__adb.htm#ref_967_7">Do_Clear</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">clearok()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_982_14">Clear_On_Next_Update</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1151_14">Clear_On_Next_Update</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_55"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_989_14" HREF="terminal_interface-curses__adb.htm#ref_976_14">Use_Insert_Delete_Line</A></span>
- (<span class="symbol"><A NAME="ref_990_7" HREF="terminal_interface-curses__adb.htm#ref_977_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_991_7" HREF="terminal_interface-curses__adb.htm#ref_978_7">Do_Idl</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_55">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1158_14" HREF="terminal_interface-curses__adb.htm#ref_977_14">Use_Insert_Delete_Line</A></span>
+ (<span class="symbol"><A NAME="ref_1159_7" HREF="terminal_interface-curses__adb.htm#ref_978_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1160_7" HREF="terminal_interface-curses__adb.htm#ref_979_7">Do_Idl</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">idlok()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_989_14">Use_Insert_Delete_Line</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1158_14">Use_Insert_Delete_Line</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_56"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_996_14" HREF="terminal_interface-curses__adb.htm#ref_988_14">Use_Insert_Delete_Character</A></span>
- (<span class="symbol"><A NAME="ref_997_7" HREF="terminal_interface-curses__adb.htm#ref_989_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_998_7" HREF="terminal_interface-curses__adb.htm#ref_990_7">Do_Idc</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_56">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1165_14" HREF="terminal_interface-curses__adb.htm#ref_989_14">Use_Insert_Delete_Character</A></span>
+ (<span class="symbol"><A NAME="ref_1166_7" HREF="terminal_interface-curses__adb.htm#ref_990_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1167_7" HREF="terminal_interface-curses__adb.htm#ref_991_7">Do_Idc</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">idcok()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_996_14">Use_Insert_Delete_Character</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1165_14">Use_Insert_Delete_Character</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_57"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1003_14" HREF="terminal_interface-curses__adb.htm#ref_998_14">Leave_Cursor_After_Update</A></span>
- (<span class="symbol"><A NAME="ref_1004_7" HREF="terminal_interface-curses__adb.htm#ref_999_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1005_7" HREF="terminal_interface-curses__adb.htm#ref_1000_7">Do_Leave</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_57">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1172_14" HREF="terminal_interface-curses__adb.htm#ref_999_14">Leave_Cursor_After_Update</A></span>
+ (<span class="symbol"><A NAME="ref_1173_7" HREF="terminal_interface-curses__adb.htm#ref_1000_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1174_7" HREF="terminal_interface-curses__adb.htm#ref_1001_7">Do_Leave</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">leaveok()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1003_14">Leave_Cursor_After_Update</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1172_14">Leave_Cursor_After_Update</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_58"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1010_14" HREF="terminal_interface-curses__adb.htm#ref_1010_14">Immediate_Update_Mode</A></span>
- (<span class="symbol"><A NAME="ref_1011_7" HREF="terminal_interface-curses__adb.htm#ref_1011_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1012_7" HREF="terminal_interface-curses__adb.htm#ref_1012_7">Mode</A></span> : Boolean := False);
+ <span class="comment"><EM>-- <A NAME="AFU_58">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1179_14" HREF="terminal_interface-curses__adb.htm#ref_1011_14">Immediate_Update_Mode</A></span>
+ (<span class="symbol"><A NAME="ref_1180_7" HREF="terminal_interface-curses__adb.htm#ref_1012_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1181_7" HREF="terminal_interface-curses__adb.htm#ref_1013_7">Mode</A></span> : Boolean := False);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">immedok()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1010_14">Immediate_Update_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1179_14">Immediate_Update_Mode</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_59"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1017_14" HREF="terminal_interface-curses__adb.htm#ref_1020_14">Allow_Scrolling</A></span>
- (<span class="symbol"><A NAME="ref_1018_7" HREF="terminal_interface-curses__adb.htm#ref_1021_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1019_7" HREF="terminal_interface-curses__adb.htm#ref_1022_7">Mode</A></span> : Boolean := False);
+ <span class="comment"><EM>-- <A NAME="AFU_59">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1186_14" HREF="terminal_interface-curses__adb.htm#ref_1021_14">Allow_Scrolling</A></span>
+ (<span class="symbol"><A NAME="ref_1187_7" HREF="terminal_interface-curses__adb.htm#ref_1022_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1188_7" HREF="terminal_interface-curses__adb.htm#ref_1023_7">Mode</A></span> : Boolean := False);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">scrollok()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1017_14">Allow_Scrolling</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1186_14">Allow_Scrolling</A>);
- <b>function</b> <span class="symbol"><A NAME="ref_1023_13" HREF="terminal_interface-curses__adb.htm#ref_1032_13">Scrolling_Allowed</A></span> (<span class="symbol"><A NAME="ref_1023_32" HREF="terminal_interface-curses__adb.htm#ref_1032_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>) <b>return</b> Boolean;
+ <b>function</b> <span class="symbol"><A NAME="ref_1192_13" HREF="terminal_interface-curses__adb.htm#ref_1033_13">Scrolling_Allowed</A></span> (<span class="symbol"><A NAME="ref_1192_32" HREF="terminal_interface-curses__adb.htm#ref_1033_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- There is no such function in the C interface.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1023_13">Scrolling_Allowed</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_60"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1028_14" HREF="terminal_interface-curses__adb.htm#ref_1041_14">Set_Scroll_Region</A></span>
- (<span class="symbol"><A NAME="ref_1029_7" HREF="terminal_interface-curses__adb.htm#ref_1042_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1030_7" HREF="terminal_interface-curses__adb.htm#ref_1043_7">Top_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1031_7" HREF="terminal_interface-curses__adb.htm#ref_1044_7">Bottom_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_60">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1197_14" HREF="terminal_interface-curses__adb.htm#ref_1042_14">Set_Scroll_Region</A></span>
+ (<span class="symbol"><A NAME="ref_1198_7" HREF="terminal_interface-curses__adb.htm#ref_1043_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1199_7" HREF="terminal_interface-curses__adb.htm#ref_1044_7">Top_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1200_7" HREF="terminal_interface-curses__adb.htm#ref_1045_7">Bottom_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_outopts.3x.html">wsetscrreg()</A></EM></span>
<span class="comment"><EM>-- AKA: setscrreg()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1028_14">Set_Scroll_Region</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1197_14">Set_Scroll_Region</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_61"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1041_14" HREF="terminal_interface-curses__adb.htm#ref_1057_14">Update_Screen</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_61">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1210_14" HREF="terminal_interface-curses__adb.htm#ref_1059_14">Update_Screen</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_refresh.3x.html">doupdate()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1041_14">Update_Screen</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1210_14">Update_Screen</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_62"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1046_14" HREF="terminal_interface-curses__adb.htm#ref_1067_14">Refresh</A></span> (<span class="symbol"><A NAME="ref_1046_23" HREF="terminal_interface-curses__adb.htm#ref_1067_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_62">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1215_14" HREF="terminal_interface-curses__adb.htm#ref_1069_14">Refresh</A></span> (<span class="symbol"><A NAME="ref_1215_23" HREF="terminal_interface-curses__adb.htm#ref_1069_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_refresh.3x.html">wrefresh()</A></EM></span>
<span class="comment"><EM>-- There is an overloaded Refresh for Pads.</EM></span>
<span class="comment"><EM>-- The Inline pragma appears there</EM></span>
<span class="comment"><EM>-- AKA: refresh()</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_63"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1053_14" HREF="terminal_interface-curses__adb.htm#ref_1077_14">Refresh_Without_Update</A></span>
- (<span class="symbol"><A NAME="ref_1054_7" HREF="terminal_interface-curses__adb.htm#ref_1078_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_63">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1222_14" HREF="terminal_interface-curses__adb.htm#ref_1079_14">Refresh_Without_Update</A></span>
+ (<span class="symbol"><A NAME="ref_1223_7" HREF="terminal_interface-curses__adb.htm#ref_1080_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_refresh.3x.html">wnoutrefresh()</A></EM></span>
<span class="comment"><EM>-- There is an overloaded Refresh_Without_Update for Pads.</EM></span>
<span class="comment"><EM>-- The Inline pragma appears there</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_64"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1060_14" HREF="terminal_interface-curses__adb.htm#ref_1088_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1060_22" HREF="terminal_interface-curses__adb.htm#ref_1088_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_64">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1229_14" HREF="terminal_interface-curses__adb.htm#ref_1090_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1229_22" HREF="terminal_interface-curses__adb.htm#ref_1090_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_refresh.3x.html">redrawwin()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_65"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1064_14" HREF="terminal_interface-curses__adb.htm#ref_1098_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1064_22" HREF="terminal_interface-curses__adb.htm#ref_1099_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1065_22" HREF="terminal_interface-curses__adb.htm#ref_1100_7">Begin_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1066_22" HREF="terminal_interface-curses__adb.htm#ref_1101_7">Line_Count</A></span> : Positive);
+ <span class="comment"><EM>-- <A NAME="AFU_65">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1233_14" HREF="terminal_interface-curses__adb.htm#ref_1100_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1233_22" HREF="terminal_interface-curses__adb.htm#ref_1101_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1234_22" HREF="terminal_interface-curses__adb.htm#ref_1102_7">Begin_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1235_22" HREF="terminal_interface-curses__adb.htm#ref_1103_7">Line_Count</A></span> : Positive);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_refresh.3x.html">wredrawln()</A></EM></span>
<b>pragma</b> Inline (Redraw);
@@ -1088,99 +1257,99 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_66"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1075_14" HREF="terminal_interface-curses__adb.htm#ref_1115_14">Erase</A></span> (<span class="symbol"><A NAME="ref_1075_21" HREF="terminal_interface-curses__adb.htm#ref_1115_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_66">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1244_14" HREF="terminal_interface-curses__adb.htm#ref_1118_14">Erase</A></span> (<span class="symbol"><A NAME="ref_1244_21" HREF="terminal_interface-curses__adb.htm#ref_1118_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_clear.3x.html">werase()</A></EM></span>
<span class="comment"><EM>-- AKA: erase()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1075_14">Erase</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1244_14">Erase</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_67"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1081_14" HREF="terminal_interface-curses__adb.htm#ref_1125_14">Clear</A></span>
- (<span class="symbol"><A NAME="ref_1082_7" HREF="terminal_interface-curses__adb.htm#ref_1125_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_67">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1250_14" HREF="terminal_interface-curses__adb.htm#ref_1128_14">Clear</A></span>
+ (<span class="symbol"><A NAME="ref_1251_7" HREF="terminal_interface-curses__adb.htm#ref_1128_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_clear.3x.html">wclear()</A></EM></span>
<span class="comment"><EM>-- AKA: clear()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1081_14">Clear</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_68"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1088_14" HREF="terminal_interface-curses__adb.htm#ref_1135_14">Clear_To_End_Of_Screen</A></span>
- (<span class="symbol"><A NAME="ref_1089_7" HREF="terminal_interface-curses__adb.htm#ref_1135_38">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_68">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1257_14" HREF="terminal_interface-curses__adb.htm#ref_1138_14">Clear_To_End_Of_Screen</A></span>
+ (<span class="symbol"><A NAME="ref_1258_7" HREF="terminal_interface-curses__adb.htm#ref_1138_38">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_clear.3x.html">wclrtobot()</A></EM></span>
<span class="comment"><EM>-- AKA: clrtobot()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1088_14">Clear_To_End_Of_Screen</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1257_14">Clear_To_End_Of_Screen</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_69"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1095_14" HREF="terminal_interface-curses__adb.htm#ref_1145_14">Clear_To_End_Of_Line</A></span>
- (<span class="symbol"><A NAME="ref_1096_7" HREF="terminal_interface-curses__adb.htm#ref_1145_36">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_69">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1264_14" HREF="terminal_interface-curses__adb.htm#ref_1148_14">Clear_To_End_Of_Line</A></span>
+ (<span class="symbol"><A NAME="ref_1265_7" HREF="terminal_interface-curses__adb.htm#ref_1148_36">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_clear.3x.html">wclrtoeol()</A></EM></span>
<span class="comment"><EM>-- AKA: clrtoeol()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1095_14">Clear_To_End_Of_Line</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1264_14">Clear_To_End_Of_Line</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_70"#2|</EM></span>
+ <span class="comment"><EM>-- <A NAME="AFU_70">|</A></EM></span>
<span class="comment"><EM>-- TODO: we could have Set_Background(Window; Character_Attribute_Set)</EM></span>
<span class="comment"><EM>-- because in C it is common to see bkgdset(A_BOLD) or</EM></span>
<span class="comment"><EM>-- bkgdset(COLOR_PAIR(n))</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1109_14" HREF="terminal_interface-curses__adb.htm#ref_1155_14">Set_Background</A></span>
- (<span class="symbol"><A NAME="ref_1110_7" HREF="terminal_interface-curses__adb.htm#ref_1156_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1111_7" HREF="terminal_interface-curses__adb.htm#ref_1157_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1278_14" HREF="terminal_interface-curses__adb.htm#ref_1158_14">Set_Background</A></span>
+ (<span class="symbol"><A NAME="ref_1279_7" HREF="terminal_interface-curses__adb.htm#ref_1159_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1280_7" HREF="terminal_interface-curses__adb.htm#ref_1160_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgdset()</A></EM></span>
<span class="comment"><EM>-- AKA: bkgdset()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1109_14">Set_Background</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1278_14">Set_Background</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_71"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1117_14" HREF="terminal_interface-curses__adb.htm#ref_1165_14">Change_Background</A></span>
- (<span class="symbol"><A NAME="ref_1118_7" HREF="terminal_interface-curses__adb.htm#ref_1166_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1119_7" HREF="terminal_interface-curses__adb.htm#ref_1167_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_71">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1286_14" HREF="terminal_interface-curses__adb.htm#ref_1168_14">Change_Background</A></span>
+ (<span class="symbol"><A NAME="ref_1287_7" HREF="terminal_interface-curses__adb.htm#ref_1169_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1288_7" HREF="terminal_interface-curses__adb.htm#ref_1170_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgd()</A></EM></span>
<span class="comment"><EM>-- AKA: bkgd()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1117_14">Change_Background</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1286_14">Change_Background</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_72"#2|</EM></span>
+ <span class="comment"><EM>-- <A NAME="AFU_72">|</A></EM></span>
<span class="comment"><EM>-- ? wbkgdget is not listed in curs_bkgd, getbkgd is thpough.</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1126_13" HREF="terminal_interface-curses__adb.htm#ref_1177_13">Get_Background</A></span> (<span class="symbol"><A NAME="ref_1126_29" HREF="terminal_interface-curses__adb.htm#ref_1177_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>;
+ <b>function</b> <span class="symbol"><A NAME="ref_1295_13" HREF="terminal_interface-curses__adb.htm#ref_1181_13">Get_Background</A></span> (<span class="symbol"><A NAME="ref_1295_29" HREF="terminal_interface-curses__adb.htm#ref_1181_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgdget()</A></EM></span>
<span class="comment"><EM>-- AKA: bkgdget()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1126_13">Get_Background</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1295_13">Get_Background</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_73"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1137_14" HREF="terminal_interface-curses__adb.htm#ref_1213_14">Untouch</A></span> (<span class="symbol"><A NAME="ref_1137_23" HREF="terminal_interface-curses__adb.htm#ref_1213_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_73">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1306_14" HREF="terminal_interface-curses__adb.htm#ref_1218_14">Untouch</A></span> (<span class="symbol"><A NAME="ref_1306_23" HREF="terminal_interface-curses__adb.htm#ref_1218_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_touch.3x.html">untouchwin()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1137_14">Untouch</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1306_14">Untouch</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_74"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1142_14" HREF="terminal_interface-curses__adb.htm#ref_1203_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1142_21" HREF="terminal_interface-curses__adb.htm#ref_1203_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_74">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1311_14" HREF="terminal_interface-curses__adb.htm#ref_1208_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1311_21" HREF="terminal_interface-curses__adb.htm#ref_1208_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_touch.3x.html">touchwin()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_75"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1146_14" HREF="terminal_interface-curses__adb.htm#ref_1223_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1146_21" HREF="terminal_interface-curses__adb.htm#ref_1223_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1147_21" HREF="terminal_interface-curses__adb.htm#ref_1224_21">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1148_21" HREF="terminal_interface-curses__adb.htm#ref_1225_21">Count</A></span> : Positive);
+ <span class="comment"><EM>-- <A NAME="AFU_75">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1315_14" HREF="terminal_interface-curses__adb.htm#ref_1228_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1315_21" HREF="terminal_interface-curses__adb.htm#ref_1228_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1316_21" HREF="terminal_interface-curses__adb.htm#ref_1229_21">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1317_21" HREF="terminal_interface-curses__adb.htm#ref_1230_21">Count</A></span> : Positive);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_touch.3x.html">touchline()</A></EM></span>
<b>pragma</b> Inline (Touch);
- <span class="comment"><EM>-- #1A NAME="AFU_76"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1153_14" HREF="terminal_interface-curses__adb.htm#ref_1186_14">Change_Lines_Status</A></span> (<span class="symbol"><A NAME="ref_1153_35" HREF="terminal_interface-curses__adb.htm#ref_1186_35">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1154_35" HREF="terminal_interface-curses__adb.htm#ref_1187_35">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1155_35" HREF="terminal_interface-curses__adb.htm#ref_1188_35">Count</A></span> : Positive;
- <span class="symbol"><A NAME="ref_1156_35" HREF="terminal_interface-curses__adb.htm#ref_1189_35">State</A></span> : Boolean);
+ <span class="comment"><EM>-- <A NAME="AFU_76">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1322_14" HREF="terminal_interface-curses__adb.htm#ref_1190_14">Change_Lines_Status</A></span> (<span class="symbol"><A NAME="ref_1322_35" HREF="terminal_interface-curses__adb.htm#ref_1190_35">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1323_35" HREF="terminal_interface-curses__adb.htm#ref_1191_35">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1324_35" HREF="terminal_interface-curses__adb.htm#ref_1192_35">Count</A></span> : Positive;
+ <span class="symbol"><A NAME="ref_1325_35" HREF="terminal_interface-curses__adb.htm#ref_1193_35">State</A></span> : Boolean);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_touch.3x.html">wtouchln()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1153_14">Change_Lines_Status</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_77"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1161_13" HREF="terminal_interface-curses__adb.htm#ref_1231_13">Is_Touched</A></span> (<span class="symbol"><A NAME="ref_1161_25" HREF="terminal_interface-curses__adb.htm#ref_1232_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1162_25" HREF="terminal_interface-curses__adb.htm#ref_1233_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>) <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_77">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1330_13" HREF="terminal_interface-curses__adb.htm#ref_1236_13">Is_Touched</A></span> (<span class="symbol"><A NAME="ref_1330_25" HREF="terminal_interface-curses__adb.htm#ref_1237_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1331_25" HREF="terminal_interface-curses__adb.htm#ref_1238_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_touch.3x.html">is_linetouched()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_78"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1166_13" HREF="terminal_interface-curses__adb.htm#ref_1245_13">Is_Touched</A></span> (<span class="symbol"><A NAME="ref_1166_25" HREF="terminal_interface-curses__adb.htm#ref_1246_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>) <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_78">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1335_13" HREF="terminal_interface-curses__adb.htm#ref_1250_13">Is_Touched</A></span> (<span class="symbol"><A NAME="ref_1335_25" HREF="terminal_interface-curses__adb.htm#ref_1251_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_touch.3x.html">is_wintouched()</A></EM></span>
<b>pragma</b> Inline (Is_Touched);
@@ -1188,176 +1357,176 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_79"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1175_14" HREF="terminal_interface-curses__adb.htm#ref_1258_14">Copy</A></span>
- (<span class="symbol"><A NAME="ref_1176_7" HREF="terminal_interface-curses__adb.htm#ref_1259_7">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1177_7" HREF="terminal_interface-curses__adb.htm#ref_1260_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1178_7" HREF="terminal_interface-curses__adb.htm#ref_1261_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1179_7" HREF="terminal_interface-curses__adb.htm#ref_1262_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1180_7" HREF="terminal_interface-curses__adb.htm#ref_1263_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1181_7" HREF="terminal_interface-curses__adb.htm#ref_1264_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1182_7" HREF="terminal_interface-curses__adb.htm#ref_1265_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1183_7" HREF="terminal_interface-curses__adb.htm#ref_1266_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1184_7" HREF="terminal_interface-curses__adb.htm#ref_1267_7">Non_Destructive_Mode</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_79">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1344_14" HREF="terminal_interface-curses__adb.htm#ref_1263_14">Copy</A></span>
+ (<span class="symbol"><A NAME="ref_1345_7" HREF="terminal_interface-curses__adb.htm#ref_1264_7">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1346_7" HREF="terminal_interface-curses__adb.htm#ref_1265_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1347_7" HREF="terminal_interface-curses__adb.htm#ref_1266_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1348_7" HREF="terminal_interface-curses__adb.htm#ref_1267_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1349_7" HREF="terminal_interface-curses__adb.htm#ref_1268_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1350_7" HREF="terminal_interface-curses__adb.htm#ref_1269_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1351_7" HREF="terminal_interface-curses__adb.htm#ref_1270_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1352_7" HREF="terminal_interface-curses__adb.htm#ref_1271_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1353_7" HREF="terminal_interface-curses__adb.htm#ref_1272_7">Non_Destructive_Mode</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_overlay.3x.html">copywin()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1175_14">Copy</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1344_14">Copy</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_80"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1189_14" HREF="terminal_interface-curses__adb.htm#ref_1294_14">Overwrite</A></span> (<span class="symbol"><A NAME="ref_1189_25" HREF="terminal_interface-curses__adb.htm#ref_1295_7">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1190_25" HREF="terminal_interface-curses__adb.htm#ref_1296_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_80">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1358_14" HREF="terminal_interface-curses__adb.htm#ref_1300_14">Overwrite</A></span> (<span class="symbol"><A NAME="ref_1358_25" HREF="terminal_interface-curses__adb.htm#ref_1301_7">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1359_25" HREF="terminal_interface-curses__adb.htm#ref_1302_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_overlay.3x.html">overwrite()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1189_14">Overwrite</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1358_14">Overwrite</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_81"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1195_14" HREF="terminal_interface-curses__adb.htm#ref_1306_14">Overlay</A></span> (<span class="symbol"><A NAME="ref_1195_23" HREF="terminal_interface-curses__adb.htm#ref_1307_7">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1196_23" HREF="terminal_interface-curses__adb.htm#ref_1308_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_81">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1364_14" HREF="terminal_interface-curses__adb.htm#ref_1312_14">Overlay</A></span> (<span class="symbol"><A NAME="ref_1364_23" HREF="terminal_interface-curses__adb.htm#ref_1313_7">Source_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1365_23" HREF="terminal_interface-curses__adb.htm#ref_1314_7">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_overlay.3x.html">overlay()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1195_14">Overlay</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1364_14">Overlay</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_82"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1205_14" HREF="terminal_interface-curses__adb.htm#ref_1319_14">Insert_Delete_Lines</A></span>
- (<span class="symbol"><A NAME="ref_1206_7" HREF="terminal_interface-curses__adb.htm#ref_1320_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1207_7" HREF="terminal_interface-curses__adb.htm#ref_1321_7">Lines</A></span> : Integer := 1); <span class="comment"><EM>-- default is to insert one line above</EM></span>
+ <span class="comment"><EM>-- <A NAME="AFU_82">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1374_14" HREF="terminal_interface-curses__adb.htm#ref_1325_14">Insert_Delete_Lines</A></span>
+ (<span class="symbol"><A NAME="ref_1375_7" HREF="terminal_interface-curses__adb.htm#ref_1326_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1376_7" HREF="terminal_interface-curses__adb.htm#ref_1327_7">Lines</A></span> : Integer := 1); <span class="comment"><EM>-- default is to insert one line above</EM></span>
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_deleteln.3x.html">winsdelln()</A></EM></span>
<span class="comment"><EM>-- AKA: insdelln()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1205_14">Insert_Delete_Lines</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_83"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1213_14" HREF="terminal_interface-curses__adb.htm#ref_1331_14">Delete_Line</A></span> (<span class="symbol"><A NAME="ref_1213_27" HREF="terminal_interface-curses__adb.htm#ref_1331_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_83">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1382_14" HREF="terminal_interface-curses__adb.htm#ref_1337_14">Delete_Line</A></span> (<span class="symbol"><A NAME="ref_1382_27" HREF="terminal_interface-curses__adb.htm#ref_1337_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_deleteln.3x.html">wdeleteln()</A></EM></span>
<span class="comment"><EM>-- AKA: deleteln()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1213_14">Delete_Line</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1382_14">Delete_Line</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_84"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1219_14" HREF="terminal_interface-curses__adb.htm#ref_1337_14">Insert_Line</A></span> (<span class="symbol"><A NAME="ref_1219_27" HREF="terminal_interface-curses__adb.htm#ref_1337_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_84">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1388_14" HREF="terminal_interface-curses__adb.htm#ref_1343_14">Insert_Line</A></span> (<span class="symbol"><A NAME="ref_1388_27" HREF="terminal_interface-curses__adb.htm#ref_1343_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_deleteln.3x.html">winsertln()</A></EM></span>
<span class="comment"><EM>-- AKA: insertln()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1219_14">Insert_Line</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1388_14">Insert_Line</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_getyx.3x.html">curs_getyx.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_85"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1229_14" HREF="terminal_interface-curses__adb.htm#ref_1344_14">Get_Size</A></span>
- (<span class="symbol"><A NAME="ref_1230_7" HREF="terminal_interface-curses__adb.htm#ref_1345_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1231_7" HREF="terminal_interface-curses__adb.htm#ref_1346_7">Number_Of_Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_1232_7" HREF="terminal_interface-curses__adb.htm#ref_1347_7">Number_Of_Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_85">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1398_14" HREF="terminal_interface-curses__adb.htm#ref_1350_14">Get_Size</A></span>
+ (<span class="symbol"><A NAME="ref_1399_7" HREF="terminal_interface-curses__adb.htm#ref_1351_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1400_7" HREF="terminal_interface-curses__adb.htm#ref_1352_7">Number_Of_Lines</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_1401_7" HREF="terminal_interface-curses__adb.htm#ref_1353_7">Number_Of_Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_getyx.3x.html">getmaxyx()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Get_Size</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_86"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1237_14" HREF="terminal_interface-curses__adb.htm#ref_1362_14">Get_Window_Position</A></span>
- (<span class="symbol"><A NAME="ref_1238_7" HREF="terminal_interface-curses__adb.htm#ref_1363_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1239_7" HREF="terminal_interface-curses__adb.htm#ref_1364_7">Top_Left_Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1240_7" HREF="terminal_interface-curses__adb.htm#ref_1365_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_86">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1406_14" HREF="terminal_interface-curses__adb.htm#ref_1368_14">Get_Window_Position</A></span>
+ (<span class="symbol"><A NAME="ref_1407_7" HREF="terminal_interface-curses__adb.htm#ref_1369_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1408_7" HREF="terminal_interface-curses__adb.htm#ref_1370_7">Top_Left_Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1409_7" HREF="terminal_interface-curses__adb.htm#ref_1371_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_getyx.3x.html">getbegyx()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1237_14">Get_Window_Position</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1406_14">Get_Window_Position</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_87"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1245_14" HREF="terminal_interface-curses__adb.htm#ref_1380_14">Get_Cursor_Position</A></span>
- (<span class="symbol"><A NAME="ref_1246_7" HREF="terminal_interface-curses__adb.htm#ref_1381_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1247_7" HREF="terminal_interface-curses__adb.htm#ref_1382_7">Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1248_7" HREF="terminal_interface-curses__adb.htm#ref_1383_7">Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_87">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1414_14" HREF="terminal_interface-curses__adb.htm#ref_1386_14">Get_Cursor_Position</A></span>
+ (<span class="symbol"><A NAME="ref_1415_7" HREF="terminal_interface-curses__adb.htm#ref_1387_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1416_7" HREF="terminal_interface-curses__adb.htm#ref_1388_7">Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1417_7" HREF="terminal_interface-curses__adb.htm#ref_1389_7">Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_getyx.3x.html">getyx()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1245_14">Get_Cursor_Position</A>);
-
- <span class="comment"><EM>-- #1A NAME="AFU_88"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1253_14" HREF="terminal_interface-curses__adb.htm#ref_1398_14">Get_Origin_Relative_To_Parent</A></span>
- (<span class="symbol"><A NAME="ref_1254_7" HREF="terminal_interface-curses__adb.htm#ref_1399_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1255_7" HREF="terminal_interface-curses__adb.htm#ref_1400_7">Top_Left_Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1256_7" HREF="terminal_interface-curses__adb.htm#ref_1401_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1257_7" HREF="terminal_interface-curses__adb.htm#ref_1402_7">Is_Not_A_Subwindow</A></span> : <b>out</b> Boolean);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A>);
+
+ <span class="comment"><EM>-- <A NAME="AFU_88">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1422_14" HREF="terminal_interface-curses__adb.htm#ref_1404_14">Get_Origin_Relative_To_Parent</A></span>
+ (<span class="symbol"><A NAME="ref_1423_7" HREF="terminal_interface-curses__adb.htm#ref_1405_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1424_7" HREF="terminal_interface-curses__adb.htm#ref_1406_7">Top_Left_Line</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1425_7" HREF="terminal_interface-curses__adb.htm#ref_1407_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1426_7" HREF="terminal_interface-curses__adb.htm#ref_1408_7">Is_Not_A_Subwindow</A></span> : <b>out</b> Boolean);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_getyx.3x.html">getparyx()</A></EM></span>
<span class="comment"><EM>-- Instead of placing -1 in the coordinates as return, we use a Boolean</EM></span>
<span class="comment"><EM>-- to return the info that the window has no parent.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1253_14">Get_Origin_Relative_To_Parent</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1422_14">Get_Origin_Relative_To_Parent</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_89"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1268_13" HREF="terminal_interface-curses__adb.htm#ref_1424_13">New_Pad</A></span> (<span class="symbol"><A NAME="ref_1268_22" HREF="terminal_interface-curses__adb.htm#ref_1424_22">Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_1269_22" HREF="terminal_interface-curses__adb.htm#ref_1425_22">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_89">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1437_13" HREF="terminal_interface-curses__adb.htm#ref_1430_13">New_Pad</A></span> (<span class="symbol"><A NAME="ref_1437_22" HREF="terminal_interface-curses__adb.htm#ref_1430_22">Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_1438_22" HREF="terminal_interface-curses__adb.htm#ref_1431_22">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_pad.3x.html">newpad()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1268_13">New_Pad</A>);
-
- <span class="comment"><EM>-- #1A NAME="AFU_90"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1274_13" HREF="terminal_interface-curses__adb.htm#ref_1439_13">Sub_Pad</A></span>
- (<span class="symbol"><A NAME="ref_1275_7" HREF="terminal_interface-curses__adb.htm#ref_1440_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1276_7" HREF="terminal_interface-curses__adb.htm#ref_1441_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_1277_7" HREF="terminal_interface-curses__adb.htm#ref_1442_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
- <span class="symbol"><A NAME="ref_1278_7" HREF="terminal_interface-curses__adb.htm#ref_1443_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1279_7" HREF="terminal_interface-curses__adb.htm#ref_1444_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1437_13">New_Pad</A>);
+
+ <span class="comment"><EM>-- <A NAME="AFU_90">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1443_13" HREF="terminal_interface-curses__adb.htm#ref_1445_13">Sub_Pad</A></span>
+ (<span class="symbol"><A NAME="ref_1444_7" HREF="terminal_interface-curses__adb.htm#ref_1446_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1445_7" HREF="terminal_interface-curses__adb.htm#ref_1447_7">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_1446_7" HREF="terminal_interface-curses__adb.htm#ref_1448_7">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
+ <span class="symbol"><A NAME="ref_1447_7" HREF="terminal_interface-curses__adb.htm#ref_1449_7">First_Line_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1448_7" HREF="terminal_interface-curses__adb.htm#ref_1450_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_pad.3x.html">subpad()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1274_13">Sub_Pad</A>);
-
- <span class="comment"><EM>-- #1A NAME="AFU_91"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1284_14" HREF="terminal_interface-curses__adb.htm#ref_1467_14">Refresh</A></span>
- (<span class="symbol"><A NAME="ref_1285_7" HREF="terminal_interface-curses__adb.htm#ref_1468_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1286_7" HREF="terminal_interface-curses__adb.htm#ref_1469_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1287_7" HREF="terminal_interface-curses__adb.htm#ref_1470_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1288_7" HREF="terminal_interface-curses__adb.htm#ref_1471_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1289_7" HREF="terminal_interface-curses__adb.htm#ref_1472_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1290_7" HREF="terminal_interface-curses__adb.htm#ref_1473_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1291_7" HREF="terminal_interface-curses__adb.htm#ref_1474_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1443_13">Sub_Pad</A>);
+
+ <span class="comment"><EM>-- <A NAME="AFU_91">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1453_14" HREF="terminal_interface-curses__adb.htm#ref_1473_14">Refresh</A></span>
+ (<span class="symbol"><A NAME="ref_1454_7" HREF="terminal_interface-curses__adb.htm#ref_1474_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1455_7" HREF="terminal_interface-curses__adb.htm#ref_1475_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1456_7" HREF="terminal_interface-curses__adb.htm#ref_1476_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1457_7" HREF="terminal_interface-curses__adb.htm#ref_1477_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1458_7" HREF="terminal_interface-curses__adb.htm#ref_1478_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1459_7" HREF="terminal_interface-curses__adb.htm#ref_1479_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1460_7" HREF="terminal_interface-curses__adb.htm#ref_1480_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_pad.3x.html">prefresh()</A></EM></span>
<b>pragma</b> Inline (Refresh);
- <span class="comment"><EM>-- #1A NAME="AFU_92"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1296_14" HREF="terminal_interface-curses__adb.htm#ref_1497_14">Refresh_Without_Update</A></span>
- (<span class="symbol"><A NAME="ref_1297_7" HREF="terminal_interface-curses__adb.htm#ref_1498_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1298_7" HREF="terminal_interface-curses__adb.htm#ref_1499_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1299_7" HREF="terminal_interface-curses__adb.htm#ref_1500_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1300_7" HREF="terminal_interface-curses__adb.htm#ref_1501_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1301_7" HREF="terminal_interface-curses__adb.htm#ref_1502_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1302_7" HREF="terminal_interface-curses__adb.htm#ref_1503_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1303_7" HREF="terminal_interface-curses__adb.htm#ref_1504_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_92">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1465_14" HREF="terminal_interface-curses__adb.htm#ref_1504_14">Refresh_Without_Update</A></span>
+ (<span class="symbol"><A NAME="ref_1466_7" HREF="terminal_interface-curses__adb.htm#ref_1505_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1467_7" HREF="terminal_interface-curses__adb.htm#ref_1506_7">Source_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1468_7" HREF="terminal_interface-curses__adb.htm#ref_1507_7">Source_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1469_7" HREF="terminal_interface-curses__adb.htm#ref_1508_7">Destination_Top_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1470_7" HREF="terminal_interface-curses__adb.htm#ref_1509_7">Destination_Left_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1471_7" HREF="terminal_interface-curses__adb.htm#ref_1510_7">Destination_Bottom_Row</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1472_7" HREF="terminal_interface-curses__adb.htm#ref_1511_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_pad.3x.html">pnoutrefresh()</A></EM></span>
<b>pragma</b> Inline (Refresh_Without_Update);
- <span class="comment"><EM>-- #1A NAME="AFU_93"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1308_14" HREF="terminal_interface-curses__adb.htm#ref_1527_14">Add_Character_To_Pad_And_Echo_It</A></span>
- (<span class="symbol"><A NAME="ref_1309_7" HREF="terminal_interface-curses__adb.htm#ref_1528_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1310_7" HREF="terminal_interface-curses__adb.htm#ref_1529_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_93">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1477_14" HREF="terminal_interface-curses__adb.htm#ref_1535_14">Add_Character_To_Pad_And_Echo_It</A></span>
+ (<span class="symbol"><A NAME="ref_1478_7" HREF="terminal_interface-curses__adb.htm#ref_1536_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1479_7" HREF="terminal_interface-curses__adb.htm#ref_1537_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_pad.3x.html">pechochar()</A></EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1313_14" HREF="terminal_interface-curses__adb.htm#ref_1540_14">Add_Character_To_Pad_And_Echo_It</A></span>
- (<span class="symbol"><A NAME="ref_1314_7" HREF="terminal_interface-curses__adb.htm#ref_1541_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1315_7" HREF="terminal_interface-curses__adb.htm#ref_1542_7">Ch</A></span> : Character);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1482_14" HREF="terminal_interface-curses__adb.htm#ref_1548_14">Add_Character_To_Pad_And_Echo_It</A></span>
+ (<span class="symbol"><A NAME="ref_1483_7" HREF="terminal_interface-curses__adb.htm#ref_1549_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1484_7" HREF="terminal_interface-curses__adb.htm#ref_1550_7">Ch</A></span> : Character);
<b>pragma</b> Inline (Add_Character_To_Pad_And_Echo_It);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_scroll.3x.html">curs_scroll.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_94"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1323_14" HREF="terminal_interface-curses__adb.htm#ref_1552_14">Scroll</A></span> (<span class="symbol"><A NAME="ref_1323_22" HREF="terminal_interface-curses__adb.htm#ref_1552_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1324_22" HREF="terminal_interface-curses__adb.htm#ref_1553_22">Amount</A></span> : Integer := 1);
+ <span class="comment"><EM>-- <A NAME="AFU_94">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1492_14" HREF="terminal_interface-curses__adb.htm#ref_1560_14">Scroll</A></span> (<span class="symbol"><A NAME="ref_1492_22" HREF="terminal_interface-curses__adb.htm#ref_1560_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1493_22" HREF="terminal_interface-curses__adb.htm#ref_1561_22">Amount</A></span> : Integer := 1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_scroll.3x.html">wscrl()</A></EM></span>
<span class="comment"><EM>-- AKA: scroll()</EM></span>
<span class="comment"><EM>-- AKA: scrl()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1323_14">Scroll</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1492_14">Scroll</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_delch.3x.html">curs_delch.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_95"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1335_14" HREF="terminal_interface-curses__adb.htm#ref_1565_14">Delete_Character</A></span> (<span class="symbol"><A NAME="ref_1335_32" HREF="terminal_interface-curses__adb.htm#ref_1565_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_95">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1504_14" HREF="terminal_interface-curses__adb.htm#ref_1573_14">Delete_Character</A></span> (<span class="symbol"><A NAME="ref_1504_32" HREF="terminal_interface-curses__adb.htm#ref_1573_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_delch.3x.html">wdelch()</A></EM></span>
<span class="comment"><EM>-- AKA: delch()</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_96"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1340_14" HREF="terminal_interface-curses__adb.htm#ref_1575_14">Delete_Character</A></span>
- (<span class="symbol"><A NAME="ref_1341_7" HREF="terminal_interface-curses__adb.htm#ref_1576_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1342_7" HREF="terminal_interface-curses__adb.htm#ref_1577_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1343_7" HREF="terminal_interface-curses__adb.htm#ref_1578_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_96">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1509_14" HREF="terminal_interface-curses__adb.htm#ref_1583_14">Delete_Character</A></span>
+ (<span class="symbol"><A NAME="ref_1510_7" HREF="terminal_interface-curses__adb.htm#ref_1584_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1511_7" HREF="terminal_interface-curses__adb.htm#ref_1585_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1512_7" HREF="terminal_interface-curses__adb.htm#ref_1586_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_delch.3x.html">mvwdelch()</A></EM></span>
<span class="comment"><EM>-- AKA: mvdelch()</EM></span>
<b>pragma</b> Inline (Delete_Character);
@@ -1366,17 +1535,17 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_97"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1353_13" HREF="terminal_interface-curses__adb.htm#ref_1590_13">Peek</A></span> (<span class="symbol"><A NAME="ref_1353_19" HREF="terminal_interface-curses__adb.htm#ref_1590_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>)
- <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_97">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1522_13" HREF="terminal_interface-curses__adb.htm#ref_1598_13">Peek</A></span> (<span class="symbol"><A NAME="ref_1522_19" HREF="terminal_interface-curses__adb.htm#ref_1598_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
+ <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="comment"><EM>-- AKA: inch()</EM></span>
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inch.3x.html">winch()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_98"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1359_13" HREF="terminal_interface-curses__adb.htm#ref_1599_13">Peek</A></span>
- (<span class="symbol"><A NAME="ref_1360_7" HREF="terminal_interface-curses__adb.htm#ref_1600_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1361_7" HREF="terminal_interface-curses__adb.htm#ref_1601_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1362_7" HREF="terminal_interface-curses__adb.htm#ref_1602_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_98">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1528_13" HREF="terminal_interface-curses__adb.htm#ref_1607_13">Peek</A></span>
+ (<span class="symbol"><A NAME="ref_1529_7" HREF="terminal_interface-curses__adb.htm#ref_1608_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1530_7" HREF="terminal_interface-curses__adb.htm#ref_1609_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1531_7" HREF="terminal_interface-curses__adb.htm#ref_1610_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inch.3x.html">mvwinch()</A></EM></span>
<span class="comment"><EM>-- AKA: mvinch()</EM></span>
<span class="comment"><EM>-- More Peek's follow, pragma Inline appears later.</EM></span>
@@ -1385,17 +1554,17 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_99"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1372_14" HREF="terminal_interface-curses__adb.htm#ref_1612_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1372_22" HREF="terminal_interface-curses__adb.htm#ref_1612_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1373_22" HREF="terminal_interface-curses__adb.htm#ref_1613_22">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_99">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1541_14" HREF="terminal_interface-curses__adb.htm#ref_1620_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1541_22" HREF="terminal_interface-curses__adb.htm#ref_1620_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1542_22" HREF="terminal_interface-curses__adb.htm#ref_1621_22">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_insch.3x.html">winsch()</A></EM></span>
<span class="comment"><EM>-- AKA: insch()</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_100"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1378_14" HREF="terminal_interface-curses__adb.htm#ref_1623_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1378_22" HREF="terminal_interface-curses__adb.htm#ref_1624_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1379_22" HREF="terminal_interface-curses__adb.htm#ref_1625_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1380_22" HREF="terminal_interface-curses__adb.htm#ref_1626_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1381_22" HREF="terminal_interface-curses__adb.htm#ref_1627_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_100">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1547_14" HREF="terminal_interface-curses__adb.htm#ref_1631_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1547_22" HREF="terminal_interface-curses__adb.htm#ref_1632_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1548_22" HREF="terminal_interface-curses__adb.htm#ref_1633_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1549_22" HREF="terminal_interface-curses__adb.htm#ref_1634_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1550_22" HREF="terminal_interface-curses__adb.htm#ref_1635_7">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_insch.3x.html">mvwinsch()</A></EM></span>
<span class="comment"><EM>-- AKA: mvinsch()</EM></span>
@@ -1403,21 +1572,21 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_insstr.3x.html">curs_insstr.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_101"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1390_14" HREF="terminal_interface-curses__adb.htm#ref_1643_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1390_22" HREF="terminal_interface-curses__adb.htm#ref_1643_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1391_22" HREF="terminal_interface-curses__adb.htm#ref_1644_22">Str</A></span> : String;
- <span class="symbol"><A NAME="ref_1392_22" HREF="terminal_interface-curses__adb.htm#ref_1645_22">Len</A></span> : Integer := -1);
+ <span class="comment"><EM>-- <A NAME="AFU_101">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1559_14" HREF="terminal_interface-curses__adb.htm#ref_1652_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1559_22" HREF="terminal_interface-curses__adb.htm#ref_1652_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1560_22" HREF="terminal_interface-curses__adb.htm#ref_1653_22">Str</A></span> : String;
+ <span class="symbol"><A NAME="ref_1561_22" HREF="terminal_interface-curses__adb.htm#ref_1654_22">Len</A></span> : Integer := -1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_insstr.3x.html">winsnstr()</A></EM></span>
<span class="comment"><EM>-- AKA: winsstr()</EM></span>
<span class="comment"><EM>-- AKA: insnstr()</EM></span>
<span class="comment"><EM>-- AKA: insstr()</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_102"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1399_14" HREF="terminal_interface-curses__adb.htm#ref_1661_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1399_22" HREF="terminal_interface-curses__adb.htm#ref_1662_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1400_22" HREF="terminal_interface-curses__adb.htm#ref_1663_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1401_22" HREF="terminal_interface-curses__adb.htm#ref_1664_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1402_22" HREF="terminal_interface-curses__adb.htm#ref_1665_7">Str</A></span> : String;
- <span class="symbol"><A NAME="ref_1403_22" HREF="terminal_interface-curses__adb.htm#ref_1666_7">Len</A></span> : Integer := -1);
+ <span class="comment"><EM>-- <A NAME="AFU_102">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1568_14" HREF="terminal_interface-curses__adb.htm#ref_1670_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1568_22" HREF="terminal_interface-curses__adb.htm#ref_1671_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1569_22" HREF="terminal_interface-curses__adb.htm#ref_1672_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1570_22" HREF="terminal_interface-curses__adb.htm#ref_1673_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1571_22" HREF="terminal_interface-curses__adb.htm#ref_1674_7">Str</A></span> : String;
+ <span class="symbol"><A NAME="ref_1572_22" HREF="terminal_interface-curses__adb.htm#ref_1675_7">Len</A></span> : Integer := -1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_insstr.3x.html">mvwinsnstr()</A></EM></span>
<span class="comment"><EM>-- AKA: mvwinsstr()</EM></span>
<span class="comment"><EM>-- AKA: mvinsnstr()</EM></span>
@@ -1428,21 +1597,21 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_103"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1415_14" HREF="terminal_interface-curses__adb.htm#ref_1685_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1415_20" HREF="terminal_interface-curses__adb.htm#ref_1685_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1416_20" HREF="terminal_interface-curses__adb.htm#ref_1686_20">Str</A></span> : <b>out</b> String;
- <span class="symbol"><A NAME="ref_1417_20" HREF="terminal_interface-curses__adb.htm#ref_1687_20">Len</A></span> : Integer := -1);
+ <span class="comment"><EM>-- <A NAME="AFU_103">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1584_14" HREF="terminal_interface-curses__adb.htm#ref_1695_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1584_20" HREF="terminal_interface-curses__adb.htm#ref_1695_20">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1585_20" HREF="terminal_interface-curses__adb.htm#ref_1696_20">Str</A></span> : <b>out</b> String;
+ <span class="symbol"><A NAME="ref_1586_20" HREF="terminal_interface-curses__adb.htm#ref_1697_20">Len</A></span> : Integer := -1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_instr.3x.html">winnstr()</A></EM></span>
<span class="comment"><EM>-- AKA: winstr()</EM></span>
<span class="comment"><EM>-- AKA: innstr()</EM></span>
<span class="comment"><EM>-- AKA: instr()</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_104"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1424_14" HREF="terminal_interface-curses__adb.htm#ref_1714_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1424_20" HREF="terminal_interface-curses__adb.htm#ref_1715_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1425_20" HREF="terminal_interface-curses__adb.htm#ref_1716_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1426_20" HREF="terminal_interface-curses__adb.htm#ref_1717_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1427_20" HREF="terminal_interface-curses__adb.htm#ref_1718_7">Str</A></span> : <b>out</b> String;
- <span class="symbol"><A NAME="ref_1428_20" HREF="terminal_interface-curses__adb.htm#ref_1719_7">Len</A></span> : Integer := -1);
+ <span class="comment"><EM>-- <A NAME="AFU_104">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1593_14" HREF="terminal_interface-curses__adb.htm#ref_1724_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1593_20" HREF="terminal_interface-curses__adb.htm#ref_1725_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1594_20" HREF="terminal_interface-curses__adb.htm#ref_1726_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1595_20" HREF="terminal_interface-curses__adb.htm#ref_1727_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1596_20" HREF="terminal_interface-curses__adb.htm#ref_1728_7">Str</A></span> : <b>out</b> String;
+ <span class="symbol"><A NAME="ref_1597_20" HREF="terminal_interface-curses__adb.htm#ref_1729_7">Len</A></span> : Integer := -1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_instr.3x.html">mvwinnstr()</A></EM></span>
<span class="comment"><EM>-- AKA: mvwinstr()</EM></span>
<span class="comment"><EM>-- AKA: mvinnstr()</EM></span>
@@ -1452,21 +1621,21 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_105"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1439_14" HREF="terminal_interface-curses__adb.htm#ref_1726_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1439_20" HREF="terminal_interface-curses__adb.htm#ref_1727_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1440_20" HREF="terminal_interface-curses__adb.htm#ref_1728_7">Str</A></span> : <b>out</b> Attributed_String;
- <span class="symbol"><A NAME="ref_1441_20" HREF="terminal_interface-curses__adb.htm#ref_1729_7">Len</A></span> : Integer := -1);
+ <span class="comment"><EM>-- <A NAME="AFU_105">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1608_14" HREF="terminal_interface-curses__adb.htm#ref_1736_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1608_20" HREF="terminal_interface-curses__adb.htm#ref_1737_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1609_20" HREF="terminal_interface-curses__adb.htm#ref_1738_7">Str</A></span> : <b>out</b> Attributed_String;
+ <span class="symbol"><A NAME="ref_1610_20" HREF="terminal_interface-curses__adb.htm#ref_1739_7">Len</A></span> : Integer := -1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inchstr.3x.html">winchnstr()</A></EM></span>
<span class="comment"><EM>-- AKA: winchstr()</EM></span>
<span class="comment"><EM>-- AKA: inchnstr()</EM></span>
<span class="comment"><EM>-- AKA: inchstr()</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_106"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1448_14" HREF="terminal_interface-curses__adb.htm#ref_1763_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1448_20" HREF="terminal_interface-curses__adb.htm#ref_1764_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1449_20" HREF="terminal_interface-curses__adb.htm#ref_1765_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1450_20" HREF="terminal_interface-curses__adb.htm#ref_1766_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1451_20" HREF="terminal_interface-curses__adb.htm#ref_1767_7">Str</A></span> : <b>out</b> Attributed_String;
- <span class="symbol"><A NAME="ref_1452_20" HREF="terminal_interface-curses__adb.htm#ref_1768_7">Len</A></span> : Integer := -1);
+ <span class="comment"><EM>-- <A NAME="AFU_106">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1617_14" HREF="terminal_interface-curses__adb.htm#ref_1773_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1617_20" HREF="terminal_interface-curses__adb.htm#ref_1774_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1618_20" HREF="terminal_interface-curses__adb.htm#ref_1775_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1619_20" HREF="terminal_interface-curses__adb.htm#ref_1776_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1620_20" HREF="terminal_interface-curses__adb.htm#ref_1777_7">Str</A></span> : <b>out</b> Attributed_String;
+ <span class="symbol"><A NAME="ref_1621_20" HREF="terminal_interface-curses__adb.htm#ref_1778_7">Len</A></span> : Integer := -1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_inchstr.3x.html">mvwinchnstr()</A></EM></span>
<span class="comment"><EM>-- AKA: mvwinchstr()</EM></span>
<span class="comment"><EM>-- AKA: mvinchnstr()</EM></span>
@@ -1477,10 +1646,10 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_107"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1464_14" HREF="terminal_interface-curses__adb.htm#ref_1775_14">Get</A></span> (<span class="symbol"><A NAME="ref_1464_19" HREF="terminal_interface-curses__adb.htm#ref_1775_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1465_19" HREF="terminal_interface-curses__adb.htm#ref_1776_19">Str</A></span> : <b>out</b> String;
- <span class="symbol"><A NAME="ref_1466_19" HREF="terminal_interface-curses__adb.htm#ref_1777_19">Len</A></span> : Integer := -1);
+ <span class="comment"><EM>-- <A NAME="AFU_107">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1633_14" HREF="terminal_interface-curses__adb.htm#ref_1785_14">Get</A></span> (<span class="symbol"><A NAME="ref_1633_19" HREF="terminal_interface-curses__adb.htm#ref_1785_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1634_19" HREF="terminal_interface-curses__adb.htm#ref_1786_19">Str</A></span> : <b>out</b> String;
+ <span class="symbol"><A NAME="ref_1635_19" HREF="terminal_interface-curses__adb.htm#ref_1787_19">Len</A></span> : Integer := -1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_getstr.3x.html">wgetnstr()</A></EM></span>
<span class="comment"><EM>-- AKA: wgetstr()</EM></span>
<span class="comment"><EM>-- AKA: getnstr()</EM></span>
@@ -1488,12 +1657,12 @@
<span class="comment"><EM>-- actually getstr is not supported because that results in buffer</EM></span>
<span class="comment"><EM>-- overflows.</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_108"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1475_14" HREF="terminal_interface-curses__adb.htm#ref_1804_14">Get</A></span> (<span class="symbol"><A NAME="ref_1475_19" HREF="terminal_interface-curses__adb.htm#ref_1805_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1476_19" HREF="terminal_interface-curses__adb.htm#ref_1806_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1477_19" HREF="terminal_interface-curses__adb.htm#ref_1807_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1478_19" HREF="terminal_interface-curses__adb.htm#ref_1808_7">Str</A></span> : <b>out</b> String;
- <span class="symbol"><A NAME="ref_1479_19" HREF="terminal_interface-curses__adb.htm#ref_1809_7">Len</A></span> : Integer := -1);
+ <span class="comment"><EM>-- <A NAME="AFU_108">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1644_14" HREF="terminal_interface-curses__adb.htm#ref_1814_14">Get</A></span> (<span class="symbol"><A NAME="ref_1644_19" HREF="terminal_interface-curses__adb.htm#ref_1815_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1645_19" HREF="terminal_interface-curses__adb.htm#ref_1816_7">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1646_19" HREF="terminal_interface-curses__adb.htm#ref_1817_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1647_19" HREF="terminal_interface-curses__adb.htm#ref_1818_7">Str</A></span> : <b>out</b> String;
+ <span class="symbol"><A NAME="ref_1648_19" HREF="terminal_interface-curses__adb.htm#ref_1819_7">Len</A></span> : Integer := -1);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_getstr.3x.html">mvwgetnstr()</A></EM></span>
<span class="comment"><EM>-- AKA: mvwgetstr()</EM></span>
<span class="comment"><EM>-- AKA: mvgetnstr()</EM></span>
@@ -1506,90 +1675,90 @@
<span class="comment"><EM>-- Not Implemented: slk_attr_on, slk_attr_off, slk_attr_set</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_1492_9">Soft_Label_Key_Format</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1492_35">Three_Two_Three</A></span>,
- <span class="symbol"><A NAME="ref_1493_35">Four_Four</A></span>,
- <span class="symbol"><A NAME="ref_1494_35">PC_Style</A></span>, <span class="comment"><EM>-- ncurses specific</EM></span>
- <span class="symbol"><A NAME="ref_1495_35">PC_Style_With_Index</A></span>); <span class="comment"><EM>-- "</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_1496_9">Label_Number</A></span> <b>is</b> <b>new</b> Positive <b>range</b> 1 .. 12;
- <b>type</b> <span class="symbol"><A NAME="ref_1497_9">Label_Justification</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1497_33">Left</A></span>, <span class="symbol"><A NAME="ref_1497_39">Centered</A></span>, <span class="symbol"><A NAME="ref_1497_49">Right</A></span>);
+ <b>type</b> <span class="symbol"><A NAME="ref_1661_9">Soft_Label_Key_Format</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1661_35">Three_Two_Three</A></span>,
+ <span class="symbol"><A NAME="ref_1662_35">Four_Four</A></span>,
+ <span class="symbol"><A NAME="ref_1663_35">PC_Style</A></span>, <span class="comment"><EM>-- ncurses specific</EM></span>
+ <span class="symbol"><A NAME="ref_1664_35">PC_Style_With_Index</A></span>); <span class="comment"><EM>-- "</EM></span>
+ <b>type</b> <span class="symbol"><A NAME="ref_1665_9">Label_Number</A></span> <b>is</b> <b>new</b> Positive <b>range</b> 1 .. 12;
+ <b>type</b> <span class="symbol"><A NAME="ref_1666_9">Label_Justification</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1666_33">Left</A></span>, <span class="symbol"><A NAME="ref_1666_39">Centered</A></span>, <span class="symbol"><A NAME="ref_1666_49">Right</A></span>);
- <span class="comment"><EM>-- #1A NAME="AFU_109"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1500_14" HREF="terminal_interface-curses__adb.htm#ref_1816_14">Init_Soft_Label_Keys</A></span>
- (<span class="symbol"><A NAME="ref_1501_7" HREF="terminal_interface-curses__adb.htm#ref_1817_7">Format</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1492_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1492_35">Three_Two_Three</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_109">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1669_14" HREF="terminal_interface-curses__adb.htm#ref_1826_14">Init_Soft_Label_Keys</A></span>
+ (<span class="symbol"><A NAME="ref_1670_7" HREF="terminal_interface-curses__adb.htm#ref_1827_7">Format</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1661_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1661_35">Three_Two_Three</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_init()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1500_14">Init_Soft_Label_Keys</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1669_14">Init_Soft_Label_Keys</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_110"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1506_14" HREF="terminal_interface-curses__adb.htm#ref_1827_14">Set_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1506_34" HREF="terminal_interface-curses__adb.htm#ref_1827_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1496_9">Label_Number</A>;
- <span class="symbol"><A NAME="ref_1507_34" HREF="terminal_interface-curses__adb.htm#ref_1828_34">Text</A></span> : String;
- <span class="symbol"><A NAME="ref_1508_34" HREF="terminal_interface-curses__adb.htm#ref_1829_34">Fmt</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1497_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1497_33">Left</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_110">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1675_14" HREF="terminal_interface-curses__adb.htm#ref_1837_14">Set_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1675_34" HREF="terminal_interface-curses__adb.htm#ref_1837_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>;
+ <span class="symbol"><A NAME="ref_1676_34" HREF="terminal_interface-curses__adb.htm#ref_1838_34">Text</A></span> : String;
+ <span class="symbol"><A NAME="ref_1677_34" HREF="terminal_interface-curses__adb.htm#ref_1839_34">Fmt</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1666_33">Left</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_set()</A></EM></span>
<span class="comment"><EM>-- We do not inline this procedure</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_111"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1513_14" HREF="terminal_interface-curses__adb.htm#ref_1846_14">Refresh_Soft_Label_Keys</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_111">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1682_14" HREF="terminal_interface-curses__adb.htm#ref_1857_14">Refresh_Soft_Label_Keys</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_refresh()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1513_14">Refresh_Soft_Label_Keys</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1682_14">Refresh_Soft_Label_Keys</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_112"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1518_14" HREF="terminal_interface-curses__adb.htm#ref_1856_14">Refresh_Soft_Label_Keys_Without_Update</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_112">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1687_14" HREF="terminal_interface-curses__adb.htm#ref_1867_14">Refresh_Soft_Label_Keys_Without_Update</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_noutrefresh()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1518_14">Refresh_Soft_Label_Keys_Without_Update</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1687_14">Refresh_Soft_Label_Keys_Without_Update</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_113"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1523_14" HREF="terminal_interface-curses__adb.htm#ref_1866_14">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1523_34" HREF="terminal_interface-curses__adb.htm#ref_1866_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1496_9">Label_Number</A>;
- <span class="symbol"><A NAME="ref_1524_34" HREF="terminal_interface-curses__adb.htm#ref_1867_34">Text</A></span> : <b>out</b> String);
+ <span class="comment"><EM>-- <A NAME="AFU_113">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1692_14" HREF="terminal_interface-curses__adb.htm#ref_1877_14">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1692_34" HREF="terminal_interface-curses__adb.htm#ref_1877_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>;
+ <span class="symbol"><A NAME="ref_1693_34" HREF="terminal_interface-curses__adb.htm#ref_1878_34">Text</A></span> : <b>out</b> String);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_label()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_114"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1528_13" HREF="terminal_interface-curses__adb.htm#ref_1875_13">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1528_33" HREF="terminal_interface-curses__adb.htm#ref_1875_33">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1496_9">Label_Number</A>) <b>return</b> String;
+ <span class="comment"><EM>-- <A NAME="AFU_114">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1697_13" HREF="terminal_interface-curses__adb.htm#ref_1886_13">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1697_33" HREF="terminal_interface-curses__adb.htm#ref_1886_33">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>) <b>return</b> String;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_label()</A></EM></span>
<span class="comment"><EM>-- Same as function</EM></span>
<b>pragma</b> Inline (Get_Soft_Label_Key);
- <span class="comment"><EM>-- #1A NAME="AFU_115"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1534_14" HREF="terminal_interface-curses__adb.htm#ref_1883_14">Clear_Soft_Label_Keys</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_115">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1703_14" HREF="terminal_interface-curses__adb.htm#ref_1894_14">Clear_Soft_Label_Keys</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_clear()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1534_14">Clear_Soft_Label_Keys</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1703_14">Clear_Soft_Label_Keys</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_116"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1539_14" HREF="terminal_interface-curses__adb.htm#ref_1893_14">Restore_Soft_Label_Keys</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_116">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1708_14" HREF="terminal_interface-curses__adb.htm#ref_1904_14">Restore_Soft_Label_Keys</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_restore()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1539_14">Restore_Soft_Label_Keys</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1708_14">Restore_Soft_Label_Keys</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_117"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1544_14" HREF="terminal_interface-curses__adb.htm#ref_1903_14">Touch_Soft_Label_Keys</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_117">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1713_14" HREF="terminal_interface-curses__adb.htm#ref_1914_14">Touch_Soft_Label_Keys</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_touch()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1544_14">Touch_Soft_Label_Keys</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1713_14">Touch_Soft_Label_Keys</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_118"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1549_14" HREF="terminal_interface-curses__adb.htm#ref_1913_14">Switch_Soft_Label_Key_Attributes</A></span>
- (<span class="symbol"><A NAME="ref_1550_7" HREF="terminal_interface-curses__adb.htm#ref_1914_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
- <span class="symbol"><A NAME="ref_1551_7" HREF="terminal_interface-curses__adb.htm#ref_1915_7">On</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_118">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1718_14" HREF="terminal_interface-curses__adb.htm#ref_1924_14">Switch_Soft_Label_Key_Attributes</A></span>
+ (<span class="symbol"><A NAME="ref_1719_7" HREF="terminal_interface-curses__adb.htm#ref_1925_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
+ <span class="symbol"><A NAME="ref_1720_7" HREF="terminal_interface-curses__adb.htm#ref_1926_7">On</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_attron()</A></EM></span>
<span class="comment"><EM>-- AKA: slk_attroff()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1549_14">Switch_Soft_Label_Key_Attributes</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1718_14">Switch_Soft_Label_Key_Attributes</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_119"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1557_14" HREF="terminal_interface-curses__adb.htm#ref_1937_14">Set_Soft_Label_Key_Attributes</A></span>
- (<span class="symbol"><A NAME="ref_1558_7" HREF="terminal_interface-curses__adb.htm#ref_1938_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
- <span class="symbol"><A NAME="ref_1559_7" HREF="terminal_interface-curses__adb.htm#ref_1939_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First);
+ <span class="comment"><EM>-- <A NAME="AFU_119">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1726_14" HREF="terminal_interface-curses__adb.htm#ref_1948_14">Set_Soft_Label_Key_Attributes</A></span>
+ (<span class="symbol"><A NAME="ref_1727_7" HREF="terminal_interface-curses__adb.htm#ref_1949_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
+ <span class="symbol"><A NAME="ref_1728_7" HREF="terminal_interface-curses__adb.htm#ref_1950_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_attrset()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1557_14">Set_Soft_Label_Key_Attributes</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1726_14">Set_Soft_Label_Key_Attributes</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_120"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1564_13" HREF="terminal_interface-curses__adb.htm#ref_1953_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_120">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1733_13" HREF="terminal_interface-curses__adb.htm#ref_1964_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_attr()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_121"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1568_13" HREF="terminal_interface-curses__adb.htm#ref_1963_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_121">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1737_13" HREF="terminal_interface-curses__adb.htm#ref_1974_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_attr()</A></EM></span>
<b>pragma</b> Inline (Get_Soft_Label_Key_Attributes);
- <span class="comment"><EM>-- #1A NAME="AFU_122"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1573_14" HREF="terminal_interface-curses__adb.htm#ref_1973_14">Set_Soft_Label_Key_Color</A></span> (<span class="symbol"><A NAME="ref_1573_40" HREF="terminal_interface-curses__adb.htm#ref_1973_40">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_122">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1742_14" HREF="terminal_interface-curses__adb.htm#ref_1984_14">Set_Soft_Label_Key_Color</A></span> (<span class="symbol"><A NAME="ref_1742_40" HREF="terminal_interface-curses__adb.htm#ref_1984_40">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_slk.3x.html">slk_color()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1573_14">Set_Soft_Label_Key_Color</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1742_14">Set_Soft_Label_Key_Color</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/keybound.3x.html">keybound.3x</A></EM></span>
@@ -1600,21 +1769,21 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/keyok.3x.html">keyok.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_123"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1587_14" HREF="terminal_interface-curses__adb.htm#ref_1984_14">Enable_Key</A></span> (<span class="symbol"><A NAME="ref_1587_26" HREF="terminal_interface-curses__adb.htm#ref_1984_26">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>;
- <span class="symbol"><A NAME="ref_1588_26" HREF="terminal_interface-curses__adb.htm#ref_1985_26">Enable</A></span> : Boolean := True);
+ <span class="comment"><EM>-- <A NAME="AFU_123">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1756_14" HREF="terminal_interface-curses__adb.htm#ref_1995_14">Enable_Key</A></span> (<span class="symbol"><A NAME="ref_1756_26" HREF="terminal_interface-curses__adb.htm#ref_1995_26">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>;
+ <span class="symbol"><A NAME="ref_1757_26" HREF="terminal_interface-curses__adb.htm#ref_1996_26">Enable</A></span> : Boolean := True);
<span class="comment"><EM>-- AKA: <A HREF="../man/keyok.3x.html">keyok()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1587_14">Enable_Key</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1756_14">Enable_Key</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/define_key.3x.html">define_key.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_124"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1597_14" HREF="terminal_interface-curses__adb.htm#ref_1997_14">Define_Key</A></span> (<span class="symbol"><A NAME="ref_1597_26" HREF="terminal_interface-curses__adb.htm#ref_1997_26">Definition</A></span> : String;
- <span class="symbol"><A NAME="ref_1598_26" HREF="terminal_interface-curses__adb.htm#ref_1998_26">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_124">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1766_14" HREF="terminal_interface-curses__adb.htm#ref_2009_14">Define_Key</A></span> (<span class="symbol"><A NAME="ref_1766_26" HREF="terminal_interface-curses__adb.htm#ref_2009_26">Definition</A></span> : String;
+ <span class="symbol"><A NAME="ref_1767_26" HREF="terminal_interface-curses__adb.htm#ref_2010_26">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/define_key.3x.html">define_key()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1597_14">Define_Key</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1766_14">Define_Key</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_util.3x.html">curs_util.3x</A></EM></span>
@@ -1624,89 +1793,89 @@
<span class="comment"><EM>-- | putwin, getwin are in the child package PutWin</EM></span>
<span class="comment"><EM>--</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_125"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1611_14" HREF="terminal_interface-curses__adb.htm#ref_90_14">Key_Name</A></span> (<span class="symbol"><A NAME="ref_1611_24" HREF="terminal_interface-curses__adb.htm#ref_90_24">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>;
- <span class="symbol"><A NAME="ref_1612_24" HREF="terminal_interface-curses__adb.htm#ref_91_24">Name</A></span> : <b>out</b> String);
+ <span class="comment"><EM>-- <A NAME="AFU_125">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1780_14" HREF="terminal_interface-curses__adb.htm#ref_89_14">Key_Name</A></span> (<span class="symbol"><A NAME="ref_1780_24" HREF="terminal_interface-curses__adb.htm#ref_89_24">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>;
+ <span class="symbol"><A NAME="ref_1781_24" HREF="terminal_interface-curses__adb.htm#ref_90_24">Name</A></span> : <b>out</b> String);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_util.3x.html">keyname()</A></EM></span>
<span class="comment"><EM>-- The external name for a real keystroke.</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_126"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1617_13" HREF="terminal_interface-curses__adb.htm#ref_62_13">Key_Name</A></span> (<span class="symbol"><A NAME="ref_1617_23" HREF="terminal_interface-curses__adb.htm#ref_62_23">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>) <b>return</b> String;
+ <span class="comment"><EM>-- <A NAME="AFU_126">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1786_13" HREF="terminal_interface-curses__adb.htm#ref_61_13">Key_Name</A></span> (<span class="symbol"><A NAME="ref_1786_23" HREF="terminal_interface-curses__adb.htm#ref_61_23">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>) <b>return</b> String;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_util.3x.html">keyname()</A></EM></span>
<span class="comment"><EM>-- Same as function</EM></span>
<span class="comment"><EM>-- We do not inline this routine</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_127"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1623_14" HREF="terminal_interface-curses__adb.htm#ref_2013_14">Un_Control</A></span> (<span class="symbol"><A NAME="ref_1623_26" HREF="terminal_interface-curses__adb.htm#ref_2013_26">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>;
- <span class="symbol"><A NAME="ref_1624_26" HREF="terminal_interface-curses__adb.htm#ref_2014_26">Str</A></span> : <b>out</b> String);
+ <span class="comment"><EM>-- <A NAME="AFU_127">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1792_14" HREF="terminal_interface-curses__adb.htm#ref_2025_14">Un_Control</A></span> (<span class="symbol"><A NAME="ref_1792_26" HREF="terminal_interface-curses__adb.htm#ref_2025_26">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
+ <span class="symbol"><A NAME="ref_1793_26" HREF="terminal_interface-curses__adb.htm#ref_2026_26">Str</A></span> : <b>out</b> String);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_util.3x.html">unctrl()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_128"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1628_13" HREF="terminal_interface-curses__adb.htm#ref_2022_13">Un_Control</A></span> (<span class="symbol"><A NAME="ref_1628_25" HREF="terminal_interface-curses__adb.htm#ref_2022_25">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A>) <b>return</b> String;
+ <span class="comment"><EM>-- <A NAME="AFU_128">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1797_13" HREF="terminal_interface-curses__adb.htm#ref_2034_13">Un_Control</A></span> (<span class="symbol"><A NAME="ref_1797_25" HREF="terminal_interface-curses__adb.htm#ref_2034_25">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> String;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_util.3x.html">unctrl()</A></EM></span>
<span class="comment"><EM>-- Same as function</EM></span>
<b>pragma</b> Inline (Un_Control);
- <span class="comment"><EM>-- #1A NAME="AFU_129"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1634_14" HREF="terminal_interface-curses__adb.htm#ref_2030_14">Delay_Output</A></span> (<span class="symbol"><A NAME="ref_1634_28" HREF="terminal_interface-curses__adb.htm#ref_2030_28">Msecs</A></span> : Natural);
+ <span class="comment"><EM>-- <A NAME="AFU_129">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1803_14" HREF="terminal_interface-curses__adb.htm#ref_2042_14">Delay_Output</A></span> (<span class="symbol"><A NAME="ref_1803_28" HREF="terminal_interface-curses__adb.htm#ref_2042_28">Msecs</A></span> : Natural);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_util.3x.html">delay_output()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1634_14">Delay_Output</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1803_14">Delay_Output</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_130"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1639_14" HREF="terminal_interface-curses__adb.htm#ref_2040_14">Flush_Input</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_130">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1808_14" HREF="terminal_interface-curses__adb.htm#ref_2052_14">Flush_Input</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_util.3x.html">flushinp()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1639_14">Flush_Input</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1808_14">Flush_Input</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_131"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1648_13" HREF="terminal_interface-curses__adb.htm#ref_2050_13">Baudrate</A></span> <b>return</b> Natural;
+ <span class="comment"><EM>-- <A NAME="AFU_131">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1817_13" HREF="terminal_interface-curses__adb.htm#ref_2062_13">Baudrate</A></span> <b>return</b> Natural;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">baudrate()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1648_13">Baudrate</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1817_13">Baudrate</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_132"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1653_13" HREF="terminal_interface-curses__adb.htm#ref_2058_13">Erase_Character</A></span> <b>return</b> Character;
+ <span class="comment"><EM>-- <A NAME="AFU_132">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1822_13" HREF="terminal_interface-curses__adb.htm#ref_2070_13">Erase_Character</A></span> <b>return</b> Character;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">erasechar()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1653_13">Erase_Character</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1822_13">Erase_Character</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_133"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1658_13" HREF="terminal_interface-curses__adb.htm#ref_2066_13">Kill_Character</A></span> <b>return</b> Character;
+ <span class="comment"><EM>-- <A NAME="AFU_133">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1827_13" HREF="terminal_interface-curses__adb.htm#ref_2078_13">Kill_Character</A></span> <b>return</b> Character;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">killchar()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1658_13">Kill_Character</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1827_13">Kill_Character</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_134"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1663_13" HREF="terminal_interface-curses__adb.htm#ref_2074_13">Has_Insert_Character</A></span> <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_134">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1832_13" HREF="terminal_interface-curses__adb.htm#ref_2086_13">Has_Insert_Character</A></span> <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">has_ic()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1663_13">Has_Insert_Character</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1832_13">Has_Insert_Character</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_135"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1668_13" HREF="terminal_interface-curses__adb.htm#ref_2086_13">Has_Insert_Line</A></span> <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_135">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1837_13" HREF="terminal_interface-curses__adb.htm#ref_2098_13">Has_Insert_Line</A></span> <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">has_il()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1668_13">Has_Insert_Line</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1837_13">Has_Insert_Line</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_136"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1673_13" HREF="terminal_interface-curses__adb.htm#ref_2098_13">Supported_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+ <span class="comment"><EM>-- <A NAME="AFU_136">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1842_13" HREF="terminal_interface-curses__adb.htm#ref_2110_13">Supported_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">termattrs()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1673_13">Supported_Attributes</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1842_13">Supported_Attributes</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_137"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1678_14" HREF="terminal_interface-curses__adb.htm#ref_2108_14">Long_Name</A></span> (<span class="symbol"><A NAME="ref_1678_25" HREF="terminal_interface-curses__adb.htm#ref_2108_25">Name</A></span> : <b>out</b> String);
+ <span class="comment"><EM>-- <A NAME="AFU_137">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1847_14" HREF="terminal_interface-curses__adb.htm#ref_2120_14">Long_Name</A></span> (<span class="symbol"><A NAME="ref_1847_25" HREF="terminal_interface-curses__adb.htm#ref_2120_25">Name</A></span> : <b>out</b> String);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">longname()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_138"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1682_13" HREF="terminal_interface-curses__adb.htm#ref_2116_13">Long_Name</A></span> <b>return</b> String;
+ <span class="comment"><EM>-- <A NAME="AFU_138">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1851_13" HREF="terminal_interface-curses__adb.htm#ref_2128_13">Long_Name</A></span> <b>return</b> String;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">longname()</A></EM></span>
<span class="comment"><EM>-- Same as function</EM></span>
<b>pragma</b> Inline (Long_Name);
- <span class="comment"><EM>-- #1A NAME="AFU_139"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1688_14" HREF="terminal_interface-curses__adb.htm#ref_2124_14">Terminal_Name</A></span> (<span class="symbol"><A NAME="ref_1688_29" HREF="terminal_interface-curses__adb.htm#ref_2124_29">Name</A></span> : <b>out</b> String);
+ <span class="comment"><EM>-- <A NAME="AFU_139">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1857_14" HREF="terminal_interface-curses__adb.htm#ref_2136_14">Terminal_Name</A></span> (<span class="symbol"><A NAME="ref_1857_29" HREF="terminal_interface-curses__adb.htm#ref_2136_29">Name</A></span> : <b>out</b> String);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">termname()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_140"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1692_13" HREF="terminal_interface-curses__adb.htm#ref_2132_13">Terminal_Name</A></span> <b>return</b> String;
+ <span class="comment"><EM>-- <A NAME="AFU_140">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1861_13" HREF="terminal_interface-curses__adb.htm#ref_2144_13">Terminal_Name</A></span> <b>return</b> String;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_termattrs.3x.html">termname()</A></EM></span>
<span class="comment"><EM>-- Same as function</EM></span>
<b>pragma</b> Inline (Terminal_Name);
@@ -1721,119 +1890,119 @@
<span class="comment"><EM>-- In C you often see something like c = c | COLOR_PAIR(n);</EM></span>
<span class="comment"><EM>-- This is equivalent to c.Color := n;</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_141"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1708_14">Start_Color</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_141">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1877_14">Start_Color</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">start_color()</A></EM></span>
<b>pragma</b> Import (C, Start_Color, "start_color");
- <span class="comment"><EM>-- #1A NAME="AFU_142"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1713_14" HREF="terminal_interface-curses__adb.htm#ref_2140_14">Init_Pair</A></span> (<span class="symbol"><A NAME="ref_1713_25" HREF="terminal_interface-curses__adb.htm#ref_2140_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_301_12">Redefinable_Color_Pair</A>;
- <span class="symbol"><A NAME="ref_1714_25" HREF="terminal_interface-curses__adb.htm#ref_2141_25">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
- <span class="symbol"><A NAME="ref_1715_25" HREF="terminal_interface-curses__adb.htm#ref_2142_25">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_142">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1882_14" HREF="terminal_interface-curses__adb.htm#ref_2152_14">Init_Pair</A></span> (<span class="symbol"><A NAME="ref_1882_25" HREF="terminal_interface-curses__adb.htm#ref_2152_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_411_12">Redefinable_Color_Pair</A>;
+ <span class="symbol"><A NAME="ref_1883_25" HREF="terminal_interface-curses__adb.htm#ref_2153_25">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
+ <span class="symbol"><A NAME="ref_1884_25" HREF="terminal_interface-curses__adb.htm#ref_2154_25">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">init_pair()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1713_14">Init_Pair</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1882_14">Init_Pair</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_143"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1720_14" HREF="terminal_interface-curses__adb.htm#ref_2162_14">Pair_Content</A></span> (<span class="symbol"><A NAME="ref_1720_28" HREF="terminal_interface-curses__adb.htm#ref_2162_28">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>;
- <span class="symbol"><A NAME="ref_1721_28" HREF="terminal_interface-curses__adb.htm#ref_2163_28">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
- <span class="symbol"><A NAME="ref_1722_28" HREF="terminal_interface-curses__adb.htm#ref_2164_28">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_143">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1889_14" HREF="terminal_interface-curses__adb.htm#ref_2176_14">Pair_Content</A></span> (<span class="symbol"><A NAME="ref_1889_28" HREF="terminal_interface-curses__adb.htm#ref_2176_28">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>;
+ <span class="symbol"><A NAME="ref_1890_28" HREF="terminal_interface-curses__adb.htm#ref_2177_28">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
+ <span class="symbol"><A NAME="ref_1891_28" HREF="terminal_interface-curses__adb.htm#ref_2178_28">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">pair_content()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1720_14">Pair_Content</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1889_14">Pair_Content</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_144"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1727_13" HREF="terminal_interface-curses__adb.htm#ref_2182_13">Has_Colors</A></span> <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_144">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1896_13" HREF="terminal_interface-curses__adb.htm#ref_2196_13">Has_Colors</A></span> <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">has_colors()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1727_13">Has_Colors</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1896_13">Has_Colors</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_145"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1732_14" HREF="terminal_interface-curses__adb.htm#ref_2194_14">Init_Color</A></span> (<span class="symbol"><A NAME="ref_1732_26" HREF="terminal_interface-curses__adb.htm#ref_2194_26">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
- <span class="symbol"><A NAME="ref_1733_26" HREF="terminal_interface-curses__adb.htm#ref_2195_26">Red</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
- <span class="symbol"><A NAME="ref_1734_26" HREF="terminal_interface-curses__adb.htm#ref_2196_26">Green</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
- <span class="symbol"><A NAME="ref_1735_26" HREF="terminal_interface-curses__adb.htm#ref_2197_26">Blue</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_145">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1901_14" HREF="terminal_interface-curses__adb.htm#ref_2208_14">Init_Color</A></span> (<span class="symbol"><A NAME="ref_1901_26" HREF="terminal_interface-curses__adb.htm#ref_2208_26">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
+ <span class="symbol"><A NAME="ref_1902_26" HREF="terminal_interface-curses__adb.htm#ref_2209_26">Red</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
+ <span class="symbol"><A NAME="ref_1903_26" HREF="terminal_interface-curses__adb.htm#ref_2210_26">Green</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
+ <span class="symbol"><A NAME="ref_1904_26" HREF="terminal_interface-curses__adb.htm#ref_2211_26">Blue</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">init_color()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1732_14">Init_Color</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1901_14">Init_Color</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_146"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1740_13" HREF="terminal_interface-curses__adb.htm#ref_2211_13">Can_Change_Color</A></span> <b>return</b> Boolean;
+ <span class="comment"><EM>-- <A NAME="AFU_146">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_1909_13" HREF="terminal_interface-curses__adb.htm#ref_2226_13">Can_Change_Color</A></span> <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">can_change_color()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1740_13">Can_Change_Color</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1909_13">Can_Change_Color</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_147"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1745_14" HREF="terminal_interface-curses__adb.htm#ref_2223_14">Color_Content</A></span> (<span class="symbol"><A NAME="ref_1745_29" HREF="terminal_interface-curses__adb.htm#ref_2223_29">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
- <span class="symbol"><A NAME="ref_1746_29" HREF="terminal_interface-curses__adb.htm#ref_2224_29">Red</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
- <span class="symbol"><A NAME="ref_1747_29" HREF="terminal_interface-curses__adb.htm#ref_2225_29">Green</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
- <span class="symbol"><A NAME="ref_1748_29" HREF="terminal_interface-curses__adb.htm#ref_2226_29">Blue</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_147">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1914_14" HREF="terminal_interface-curses__adb.htm#ref_2238_14">Color_Content</A></span> (<span class="symbol"><A NAME="ref_1914_29" HREF="terminal_interface-curses__adb.htm#ref_2238_29">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
+ <span class="symbol"><A NAME="ref_1915_29" HREF="terminal_interface-curses__adb.htm#ref_2239_29">Red</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
+ <span class="symbol"><A NAME="ref_1916_29" HREF="terminal_interface-curses__adb.htm#ref_2240_29">Green</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
+ <span class="symbol"><A NAME="ref_1917_29" HREF="terminal_interface-curses__adb.htm#ref_2241_29">Blue</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_color.3x.html">color_content()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1745_14">Color_Content</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1914_14">Color_Content</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Not implemented: getsyx, setsyx</EM></span>
<span class="comment"><EM>--</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_1757_9">Curses_Mode</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1757_25">Curses</A></span>, <span class="symbol"><A NAME="ref_1757_33">Shell</A></span>);
+ <b>type</b> <span class="symbol"><A NAME="ref_1926_9">Curses_Mode</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1926_25">Curses</A></span>, <span class="symbol"><A NAME="ref_1926_33">Shell</A></span>);
- <span class="comment"><EM>-- #1A NAME="AFU_148"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1760_14" HREF="terminal_interface-curses__adb.htm#ref_2247_14">Save_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_1760_32" HREF="terminal_interface-curses__adb.htm#ref_2247_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1757_9">Curses_Mode</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_148">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1929_14" HREF="terminal_interface-curses__adb.htm#ref_2263_14">Save_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_1929_32" HREF="terminal_interface-curses__adb.htm#ref_2263_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Mode</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">def_prog_mode()</A></EM></span>
<span class="comment"><EM>-- AKA: def_shell_mode()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1760_14">Save_Curses_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1929_14">Save_Curses_Mode</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_149"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1766_14" HREF="terminal_interface-curses__adb.htm#ref_2265_14">Reset_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_1766_33" HREF="terminal_interface-curses__adb.htm#ref_2265_33">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1757_9">Curses_Mode</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_149">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1935_14" HREF="terminal_interface-curses__adb.htm#ref_2281_14">Reset_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_1935_33" HREF="terminal_interface-curses__adb.htm#ref_2281_33">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Mode</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">reset_prog_mode()</A></EM></span>
<span class="comment"><EM>-- AKA: reset_shell_mode()</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1766_14">Reset_Curses_Mode</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1935_14">Reset_Curses_Mode</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_150"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1772_14" HREF="terminal_interface-curses__adb.htm#ref_2283_14">Save_Terminal_State</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_150">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1941_14" HREF="terminal_interface-curses__adb.htm#ref_2299_14">Save_Terminal_State</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">savetty()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1772_14">Save_Terminal_State</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1941_14">Save_Terminal_State</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_151"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1777_14" HREF="terminal_interface-curses__adb.htm#ref_2293_14">Reset_Terminal_State</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_151">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1946_14" HREF="terminal_interface-curses__adb.htm#ref_2309_14">Reset_Terminal_State</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">resetty();</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1777_14">Reset_Terminal_State</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1946_14">Reset_Terminal_State</A>);
- <b>type</b> <span class="symbol"><A NAME="ref_1781_9">Stdscr_Init_Proc</A></span> <b>is</b> <b>access</b>
- <b>function</b> (<span class="symbol"><A NAME="ref_1782_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
- <span class="symbol"><A NAME="ref_1783_17">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>) <b>return</b> Integer;
- <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses__ads.htm#ref_1781_9">Stdscr_Init_Proc</A>);
+ <b>type</b> <span class="symbol"><A NAME="ref_1950_9">Stdscr_Init_Proc</A></span> <b>is</b> <b>access</b>
+ <b>function</b> (<span class="symbol"><A NAME="ref_1951_17" HREF="terminal_interface-curses__ads.htm#ref_1950_9">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
+ <span class="symbol"><A NAME="ref_1952_17" HREF="terminal_interface-curses__ads.htm#ref_1950_9">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>) <b>return</b> Integer;
+ <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses__ads.htm#ref_1950_9">Stdscr_Init_Proc</A>);
<span class="comment"><EM>-- N.B.: the return value is actually ignored, but it seems to be</EM></span>
<span class="comment"><EM>-- a good practice to return 0 if you think all went fine</EM></span>
<span class="comment"><EM>-- and -1 otherwise.</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_152"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1790_14" HREF="terminal_interface-curses__adb.htm#ref_2303_14">Rip_Off_Lines</A></span> (<span class="symbol"><A NAME="ref_1790_29" HREF="terminal_interface-curses__adb.htm#ref_2303_29">Lines</A></span> : Integer;
- <span class="symbol"><A NAME="ref_1791_29" HREF="terminal_interface-curses__adb.htm#ref_2304_29">Proc</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1781_9">Stdscr_Init_Proc</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_152">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1959_14" HREF="terminal_interface-curses__adb.htm#ref_2319_14">Rip_Off_Lines</A></span> (<span class="symbol"><A NAME="ref_1959_29" HREF="terminal_interface-curses__adb.htm#ref_2319_29">Lines</A></span> : Integer;
+ <span class="symbol"><A NAME="ref_1960_29" HREF="terminal_interface-curses__adb.htm#ref_2320_29">Proc</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1950_9">Stdscr_Init_Proc</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">ripoffline()</A></EM></span>
<span class="comment"><EM>-- N.B.: to be more precise, this uses a ncurses specific enhancement of</EM></span>
<span class="comment"><EM>-- ripoffline(), in which the Lines argument absolute value is the</EM></span>
<span class="comment"><EM>-- number of lines to be ripped of. The official ripoffline() only</EM></span>
<span class="comment"><EM>-- uses the sign of Lines to remove a single line from bottom or top.</EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1790_14">Rip_Off_Lines</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1959_14">Rip_Off_Lines</A>);
- <b>type</b> <span class="symbol"><A NAME="ref_1799_9">Cursor_Visibility</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1799_31">Invisible</A></span>, <span class="symbol"><A NAME="ref_1799_42">Normal</A></span>, <span class="symbol"><A NAME="ref_1799_50">Very_Visible</A></span>);
+ <b>type</b> <span class="symbol"><A NAME="ref_1968_9">Cursor_Visibility</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1968_31">Invisible</A></span>, <span class="symbol"><A NAME="ref_1968_42">Normal</A></span>, <span class="symbol"><A NAME="ref_1968_50">Very_Visible</A></span>);
- <span class="comment"><EM>-- #1A NAME="AFU_153"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1802_14" HREF="terminal_interface-curses__adb.htm#ref_2315_14">Set_Cursor_Visibility</A></span> (<span class="symbol"><A NAME="ref_1802_37" HREF="terminal_interface-curses__adb.htm#ref_2315_37">Visibility</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_1799_9">Cursor_Visibility</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_153">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1971_14" HREF="terminal_interface-curses__adb.htm#ref_2331_14">Set_Cursor_Visibility</A></span> (<span class="symbol"><A NAME="ref_1971_37" HREF="terminal_interface-curses__adb.htm#ref_2331_37">Visibility</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_1968_9">Cursor_Visibility</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">curs_set()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1802_14">Set_Cursor_Visibility</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1971_14">Set_Cursor_Visibility</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_154"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1807_14" HREF="terminal_interface-curses__adb.htm#ref_2328_14">Nap_Milli_Seconds</A></span> (<span class="symbol"><A NAME="ref_1807_33" HREF="terminal_interface-curses__adb.htm#ref_2328_33">Ms</A></span> : Natural);
+ <span class="comment"><EM>-- <A NAME="AFU_154">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1976_14" HREF="terminal_interface-curses__adb.htm#ref_2344_14">Nap_Milli_Seconds</A></span> (<span class="symbol"><A NAME="ref_1976_33" HREF="terminal_interface-curses__adb.htm#ref_2344_33">Ms</A></span> : Natural);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_kernel.3x.html">napms()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1807_14">Nap_Milli_Seconds</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1976_14">Nap_Milli_Seconds</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Some useful helpers.</EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_1814_9">Transform_Direction</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1814_33">From_Screen</A></span>, <span class="symbol"><A NAME="ref_1814_46">To_Screen</A></span>);
- <b>procedure</b> <span class="symbol"><A NAME="ref_1815_14" HREF="terminal_interface-curses__adb.htm#ref_2396_14">Transform_Coordinates</A></span>
- (<span class="symbol"><A NAME="ref_1816_7" HREF="terminal_interface-curses__adb.htm#ref_2397_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1817_7" HREF="terminal_interface-curses__adb.htm#ref_2398_7">Line</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
- <span class="symbol"><A NAME="ref_1818_7" HREF="terminal_interface-curses__adb.htm#ref_2399_7">Column</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
- <span class="symbol"><A NAME="ref_1819_7" HREF="terminal_interface-curses__adb.htm#ref_2400_7">Dir</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1814_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1814_33">From_Screen</A>);
+ <b>type</b> <span class="symbol"><A NAME="ref_1983_9">Transform_Direction</A></span> <b>is</b> (<span class="symbol"><A NAME="ref_1983_33">From_Screen</A></span>, <span class="symbol"><A NAME="ref_1983_46">To_Screen</A></span>);
+ <b>procedure</b> <span class="symbol"><A NAME="ref_1984_14" HREF="terminal_interface-curses__adb.htm#ref_2395_14">Transform_Coordinates</A></span>
+ (<span class="symbol"><A NAME="ref_1985_7" HREF="terminal_interface-curses__adb.htm#ref_2396_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_1986_7" HREF="terminal_interface-curses__adb.htm#ref_2397_7">Line</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
+ <span class="symbol"><A NAME="ref_1987_7" HREF="terminal_interface-curses__adb.htm#ref_2398_7">Column</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
+ <span class="symbol"><A NAME="ref_1988_7" HREF="terminal_interface-curses__adb.htm#ref_2399_7">Dir</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1983_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1983_33">From_Screen</A>);
<span class="comment"><EM>-- This procedure transforms screen coordinates into coordinates relative</EM></span>
<span class="comment"><EM>-- to the window and vice versa, depending on the Dir parameter.</EM></span>
<span class="comment"><EM>-- Screen coordinates are the position information for the physical device.</EM></span>
@@ -1845,56 +2014,58 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/default_colors.3x.html">default_colors.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_155"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1832_14" HREF="terminal_interface-curses__adb.htm#ref_2425_14">Use_Default_Colors</A></span>;
+ <span class="symbol"><A NAME="ref_2000_4">Default_Color</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := -1;
+
+ <span class="comment"><EM>-- <A NAME="AFU_155">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2003_14" HREF="terminal_interface-curses__adb.htm#ref_2424_14">Use_Default_Colors</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/default_colors.3x.html">use_default_colors()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1832_14">Use_Default_Colors</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_2003_14">Use_Default_Colors</A>);
- <span class="comment"><EM>-- #1A NAME="AFU_156"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1837_14" HREF="terminal_interface-curses__adb.htm#ref_2435_14">Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_1837_37" HREF="terminal_interface-curses__adb.htm#ref_2435_37">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_285_4">Default_Color</A>;
- <span class="symbol"><A NAME="ref_1838_37" HREF="terminal_interface-curses__adb.htm#ref_2436_37">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_285_4">Default_Color</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_156">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2008_14" HREF="terminal_interface-curses__adb.htm#ref_2434_14">Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2008_37" HREF="terminal_interface-curses__adb.htm#ref_2434_37">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2000_4">Default_Color</A>;
+ <span class="symbol"><A NAME="ref_2009_37" HREF="terminal_interface-curses__adb.htm#ref_2435_37">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2000_4">Default_Color</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/default_colors.3x.html">assume_default_colors()</A></EM></span>
- <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1837_14">Assume_Default_Colors</A>);
+ <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_2008_14">Assume_Default_Colors</A>);
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_157"#2|</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1847_13" HREF="terminal_interface-curses__adb.htm#ref_2450_13">Curses_Version</A></span> <b>return</b> String;
+ <span class="comment"><EM>-- <A NAME="AFU_157">|</A></EM></span>
+ <b>function</b> <span class="symbol"><A NAME="ref_2018_13" HREF="terminal_interface-curses__adb.htm#ref_2449_13">Curses_Version</A></span> <b>return</b> String;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_extend.3x.html">curses_version()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_158"#2|</EM></span>
+ <span class="comment"><EM>-- <A NAME="AFU_158">|</A></EM></span>
<span class="comment"><EM>-- The returnvalue is the previous setting of the flag</EM></span>
- <b>function</b> <span class="symbol"><A NAME="ref_1852_13" HREF="terminal_interface-curses__adb.htm#ref_2473_13">Use_Extended_Names</A></span> (<span class="symbol"><A NAME="ref_1852_33" HREF="terminal_interface-curses__adb.htm#ref_2473_33">Enable</A></span> : Boolean) <b>return</b> Boolean;
+ <b>function</b> <span class="symbol"><A NAME="ref_2023_13" HREF="terminal_interface-curses__adb.htm#ref_2472_13">Use_Extended_Names</A></span> (<span class="symbol"><A NAME="ref_2023_33" HREF="terminal_interface-curses__adb.htm#ref_2472_33">Enable</A></span> : Boolean) <b>return</b> Boolean;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_extend.3x.html">use_extended_names()</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_159"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1860_14" HREF="terminal_interface-curses__adb.htm#ref_2459_14">Curses_Free_All</A></span>;
+ <span class="comment"><EM>-- <A NAME="AFU_159">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2031_14" HREF="terminal_interface-curses__adb.htm#ref_2458_14">Curses_Free_All</A></span>;
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_trace.3x.html">_nc_freeall()</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
<span class="comment"><EM>-- | Man page <A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_160"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1868_14" HREF="terminal_interface-curses__adb.htm#ref_2488_14">Screen_Dump_To_File</A></span> (<span class="symbol"><A NAME="ref_1868_35" HREF="terminal_interface-curses__adb.htm#ref_2488_35">Filename</A></span> : String);
+ <span class="comment"><EM>-- <A NAME="AFU_160">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2039_14" HREF="terminal_interface-curses__adb.htm#ref_2487_14">Screen_Dump_To_File</A></span> (<span class="symbol"><A NAME="ref_2039_35" HREF="terminal_interface-curses__adb.htm#ref_2487_35">Filename</A></span> : String);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_dump()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_161"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1872_14" HREF="terminal_interface-curses__adb.htm#ref_2501_14">Screen_Restore_From_File</A></span> (<span class="symbol"><A NAME="ref_1872_40" HREF="terminal_interface-curses__adb.htm#ref_2501_40">Filename</A></span> : String);
+ <span class="comment"><EM>-- <A NAME="AFU_161">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2043_14" HREF="terminal_interface-curses__adb.htm#ref_2500_14">Screen_Restore_From_File</A></span> (<span class="symbol"><A NAME="ref_2043_40" HREF="terminal_interface-curses__adb.htm#ref_2500_40">Filename</A></span> : String);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_restore()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_162"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1876_14" HREF="terminal_interface-curses__adb.htm#ref_2514_14">Screen_Init_From_File</A></span> (<span class="symbol"><A NAME="ref_1876_37" HREF="terminal_interface-curses__adb.htm#ref_2514_37">Filename</A></span> : String);
+ <span class="comment"><EM>-- <A NAME="AFU_162">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2047_14" HREF="terminal_interface-curses__adb.htm#ref_2513_14">Screen_Init_From_File</A></span> (<span class="symbol"><A NAME="ref_2047_37" HREF="terminal_interface-curses__adb.htm#ref_2513_37">Filename</A></span> : String);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_init()</A></EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_163"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1880_14" HREF="terminal_interface-curses__adb.htm#ref_2527_14">Screen_Set_File</A></span> (<span class="symbol"><A NAME="ref_1880_31" HREF="terminal_interface-curses__adb.htm#ref_2527_31">Filename</A></span> : String);
+ <span class="comment"><EM>-- <A NAME="AFU_163">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2051_14" HREF="terminal_interface-curses__adb.htm#ref_2526_14">Screen_Set_File</A></span> (<span class="symbol"><A NAME="ref_2051_31" HREF="terminal_interface-curses__adb.htm#ref_2526_31">Filename</A></span> : String);
<span class="comment"><EM>-- AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_set()</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
@@ -1925,22 +2096,25 @@
<span class="comment"><EM>-- | Man page <A HREF="../man/wresize.3x.html">wresize.3x</A></EM></span>
<span class="comment"><EM>-- |=====================================================================</EM></span>
- <span class="comment"><EM>-- #1A NAME="AFU_164"#2|</EM></span>
- <b>procedure</b> <span class="symbol"><A NAME="ref_1912_14" HREF="terminal_interface-curses__adb.htm#ref_2540_14">Resize</A></span> (<span class="symbol"><A NAME="ref_1912_22" HREF="terminal_interface-curses__adb.htm#ref_2540_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_477_13">Standard_Window</A>;
- <span class="symbol"><A NAME="ref_1913_22" HREF="terminal_interface-curses__adb.htm#ref_2541_22">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
- <span class="symbol"><A NAME="ref_1914_22" HREF="terminal_interface-curses__adb.htm#ref_2542_22">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>);
+ <span class="comment"><EM>-- <A NAME="AFU_164">|</A></EM></span>
+ <b>procedure</b> <span class="symbol"><A NAME="ref_2083_14" HREF="terminal_interface-curses__adb.htm#ref_2539_14">Resize</A></span> (<span class="symbol"><A NAME="ref_2083_22" HREF="terminal_interface-curses__adb.htm#ref_2539_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
+ <span class="symbol"><A NAME="ref_2084_22" HREF="terminal_interface-curses__adb.htm#ref_2540_22">Number_Of_Lines</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
+ <span class="symbol"><A NAME="ref_2085_22" HREF="terminal_interface-curses__adb.htm#ref_2541_22">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>);
<span class="comment"><EM>-- AKA: <A HREF="../man/wresize.3x.html">wresize()</A></EM></span>
<b>private</b>
- <b>type</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
- <A HREF="terminal_interface-curses__ads.htm#ref_58_4">Null_Window</A> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := 0;
+ <b>type</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+ <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := 0;
<span class="comment"><EM>-- The next constants are generated and may be different on your</EM></span>
<span class="comment"><EM>-- architecture.</EM></span>
<span class="comment"><EM>--</EM></span>
- <span class="symbol"><A NAME="ref_1924_4">Sizeof_bool</A></span> : <b>constant</b> Natural := 1; <span class="comment"><EM>-- bool</EM></span>
- <b>type</b> <span class="symbol"><A NAME="ref_1925_9">Curses_Bool</A></span> <b>is</b> <b>mod</b> 2 ** <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char'Size;
- <span class="symbol"><A NAME="ref_1926_4">Curses_Bool_False</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_1925_9">Curses_Bool</A> := 0;
-<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>;
+ <span class="symbol"><A NAME="ref_2096_4">Sizeof_Bool</A></span> : <b>constant</b> := <A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_11_4">Sizeof_Bool</A>;
+
+ <b>type</b> <span class="symbol"><A NAME="ref_2098_9">Curses_Bool</A></span> <b>is</b> <b>mod</b> 2 ** <A HREF="terminal_interface-curses__ads.htm#ref_2096_4">Sizeof_Bool</A>;
+
+ <span class="symbol"><A NAME="ref_2100_4">Curses_Bool_False</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> := 0;
+
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>;
</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses_constants__ads.htm b/doc/html/ada/terminal_interface-curses_constants__ads.htm
new file mode 100644
index 000000000000..e57ea4a0c9b7
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses_constants__ads.htm
@@ -0,0 +1,401 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<TITLE>terminal_interface-curses_constants.ads</TITLE>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<style type="text/css">
+*.comment {
+ color: green;
+}
+*.symbol {
+ color: red;
+}
+</style>
+</HEAD>
+<BODY>
+<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses_constants.ads </H1></DIV><HR>
+<PRE>
+<span class="comment"><EM>-- Generated by the C program ./generate (source ./gen.c).</EM></span>
+<span class="comment"><EM>-- Do not edit this file directly.</EM></span>
+<span class="comment"><EM>-- The values provided here may vary on your system.</EM></span>
+
+<b>with</b> System;
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_6_28">Curses_Constants</A></span> <b>is</b>
+ <b>pragma</b> Pure;
+
+ <span class="symbol"><A NAME="ref_9_4">DFT_ARG_SUFFIX</A></span> : <b>constant</b> String := "";
+ <span class="symbol"><A NAME="ref_10_4">Bit_Order</A></span> : <b>constant</b> System.Bit_Order := System.Low_Order_First;
+ <span class="symbol"><A NAME="ref_11_4">Sizeof_Bool</A></span> : <b>constant</b> := 8;
+ <span class="symbol"><A NAME="ref_12_4">OK</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_13_4">ERR</A></span> : <b>constant</b> := -1;
+ <b>pragma</b> Warnings (Off); <span class="comment"><EM>-- redefinition of Standard.True and False</EM></span>
+ <span class="symbol"><A NAME="ref_15_4">TRUE</A></span> : <b>constant</b> := 1;
+ <span class="symbol"><A NAME="ref_16_4">FALSE</A></span> : <b>constant</b> := 0;
+ <b>pragma</b> Warnings (On);
+
+ <span class="comment"><EM>-- Version of the ncurses library from extensions(3NCURSES)</EM></span>
+
+ <span class="symbol"><A NAME="ref_21_4">NCURSES_VERSION_MAJOR</A></span> : <b>constant</b> := 6;
+ <span class="symbol"><A NAME="ref_22_4">NCURSES_VERSION_MINOR</A></span> : <b>constant</b> := 1;
+ <span class="symbol"><A NAME="ref_23_4">Version</A></span> : <b>constant</b> String := "6.1";
+
+ <span class="comment"><EM>-- Character non-color attributes from attr(3NCURSES)</EM></span>
+
+ <span class="comment"><EM>-- attr_t and chtype may be signed in C.</EM></span>
+ <b>type</b> <span class="symbol"><A NAME="ref_28_9">attr_t</A></span> <b>is</b> <b>mod</b> 2 ** 32;
+ <span class="symbol"><A NAME="ref_29_4">A_CHARTEXT_First</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_30_4">A_CHARTEXT_Last</A></span> : <b>constant</b> := 7;
+ <span class="symbol"><A NAME="ref_31_4">A_COLOR_First</A></span> : <b>constant</b> := 8;
+ <span class="symbol"><A NAME="ref_32_4">A_COLOR_Last</A></span> : <b>constant</b> := 15;
+ <span class="symbol"><A NAME="ref_33_4">Attr_First</A></span> : <b>constant</b> := 16;
+ <span class="symbol"><A NAME="ref_34_4">Attr_Last</A></span> : <b>constant</b> := 31;
+ <span class="symbol"><A NAME="ref_35_4">A_STANDOUT_First</A></span> : <b>constant</b> := 16;
+ <span class="symbol"><A NAME="ref_36_4">A_STANDOUT_Last</A></span> : <b>constant</b> := 16;
+ <span class="symbol"><A NAME="ref_37_4">A_UNDERLINE_First</A></span> : <b>constant</b> := 17;
+ <span class="symbol"><A NAME="ref_38_4">A_UNDERLINE_Last</A></span> : <b>constant</b> := 17;
+ <span class="symbol"><A NAME="ref_39_4">A_REVERSE_First</A></span> : <b>constant</b> := 18;
+ <span class="symbol"><A NAME="ref_40_4">A_REVERSE_Last</A></span> : <b>constant</b> := 18;
+ <span class="symbol"><A NAME="ref_41_4">A_BLINK_First</A></span> : <b>constant</b> := 19;
+ <span class="symbol"><A NAME="ref_42_4">A_BLINK_Last</A></span> : <b>constant</b> := 19;
+ <span class="symbol"><A NAME="ref_43_4">A_DIM_First</A></span> : <b>constant</b> := 20;
+ <span class="symbol"><A NAME="ref_44_4">A_DIM_Last</A></span> : <b>constant</b> := 20;
+ <span class="symbol"><A NAME="ref_45_4">A_BOLD_First</A></span> : <b>constant</b> := 21;
+ <span class="symbol"><A NAME="ref_46_4">A_BOLD_Last</A></span> : <b>constant</b> := 21;
+ <span class="symbol"><A NAME="ref_47_4">A_PROTECT_First</A></span> : <b>constant</b> := 24;
+ <span class="symbol"><A NAME="ref_48_4">A_PROTECT_Last</A></span> : <b>constant</b> := 24;
+ <span class="symbol"><A NAME="ref_49_4">A_INVIS_First</A></span> : <b>constant</b> := 23;
+ <span class="symbol"><A NAME="ref_50_4">A_INVIS_Last</A></span> : <b>constant</b> := 23;
+ <span class="symbol"><A NAME="ref_51_4">A_ALTCHARSET_First</A></span> : <b>constant</b> := 22;
+ <span class="symbol"><A NAME="ref_52_4">A_ALTCHARSET_Last</A></span> : <b>constant</b> := 22;
+ <span class="symbol"><A NAME="ref_53_4">A_HORIZONTAL_First</A></span> : <b>constant</b> := 25;
+ <span class="symbol"><A NAME="ref_54_4">A_HORIZONTAL_Last</A></span> : <b>constant</b> := 25;
+ <span class="symbol"><A NAME="ref_55_4">A_LEFT_First</A></span> : <b>constant</b> := 26;
+ <span class="symbol"><A NAME="ref_56_4">A_LEFT_Last</A></span> : <b>constant</b> := 26;
+ <span class="symbol"><A NAME="ref_57_4">A_LOW_First</A></span> : <b>constant</b> := 27;
+ <span class="symbol"><A NAME="ref_58_4">A_LOW_Last</A></span> : <b>constant</b> := 27;
+ <span class="symbol"><A NAME="ref_59_4">A_RIGHT_First</A></span> : <b>constant</b> := 28;
+ <span class="symbol"><A NAME="ref_60_4">A_RIGHT_Last</A></span> : <b>constant</b> := 28;
+ <span class="symbol"><A NAME="ref_61_4">A_TOP_First</A></span> : <b>constant</b> := 29;
+ <span class="symbol"><A NAME="ref_62_4">A_TOP_Last</A></span> : <b>constant</b> := 29;
+ <span class="symbol"><A NAME="ref_63_4">A_VERTICAL_First</A></span> : <b>constant</b> := 30;
+ <span class="symbol"><A NAME="ref_64_4">A_VERTICAL_Last</A></span> : <b>constant</b> := 30;
+ <span class="symbol"><A NAME="ref_65_4">chtype_Size</A></span> : <b>constant</b> := 32;
+
+ <span class="comment"><EM>-- predefined color numbers from color(3NCURSES)</EM></span>
+
+ <span class="symbol"><A NAME="ref_69_4">COLOR_BLACK</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_70_4">COLOR_RED</A></span> : <b>constant</b> := 1;
+ <span class="symbol"><A NAME="ref_71_4">COLOR_GREEN</A></span> : <b>constant</b> := 2;
+ <span class="symbol"><A NAME="ref_72_4">COLOR_YELLOW</A></span> : <b>constant</b> := 3;
+ <span class="symbol"><A NAME="ref_73_4">COLOR_BLUE</A></span> : <b>constant</b> := 4;
+ <span class="symbol"><A NAME="ref_74_4">COLOR_MAGENTA</A></span> : <b>constant</b> := 5;
+ <span class="symbol"><A NAME="ref_75_4">COLOR_CYAN</A></span> : <b>constant</b> := 6;
+ <span class="symbol"><A NAME="ref_76_4">COLOR_WHITE</A></span> : <b>constant</b> := 7;
+
+ <span class="comment"><EM>-- ETI return codes from ncurses.h</EM></span>
+
+ <span class="symbol"><A NAME="ref_80_4">E_OK</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_81_4">E_SYSTEM_ERROR</A></span> : <b>constant</b> := -1;
+ <span class="symbol"><A NAME="ref_82_4">E_BAD_ARGUMENT</A></span> : <b>constant</b> := -2;
+ <span class="symbol"><A NAME="ref_83_4">E_POSTED</A></span> : <b>constant</b> := -3;
+ <span class="symbol"><A NAME="ref_84_4">E_CONNECTED</A></span> : <b>constant</b> := -4;
+ <span class="symbol"><A NAME="ref_85_4">E_BAD_STATE</A></span> : <b>constant</b> := -5;
+ <span class="symbol"><A NAME="ref_86_4">E_NO_ROOM</A></span> : <b>constant</b> := -6;
+ <span class="symbol"><A NAME="ref_87_4">E_NOT_POSTED</A></span> : <b>constant</b> := -7;
+ <span class="symbol"><A NAME="ref_88_4">E_UNKNOWN_COMMAND</A></span> : <b>constant</b> := -8;
+ <span class="symbol"><A NAME="ref_89_4">E_NO_MATCH</A></span> : <b>constant</b> := -9;
+ <span class="symbol"><A NAME="ref_90_4">E_NOT_SELECTABLE</A></span> : <b>constant</b> := -10;
+ <span class="symbol"><A NAME="ref_91_4">E_NOT_CONNECTED</A></span> : <b>constant</b> := -11;
+ <span class="symbol"><A NAME="ref_92_4">E_REQUEST_DENIED</A></span> : <b>constant</b> := -12;
+ <span class="symbol"><A NAME="ref_93_4">E_INVALID_FIELD</A></span> : <b>constant</b> := -13;
+ <span class="symbol"><A NAME="ref_94_4">E_CURRENT</A></span> : <b>constant</b> := -14;
+
+ <span class="comment"><EM>-- Input key codes not defined in any ncurses manpage</EM></span>
+
+ <span class="symbol"><A NAME="ref_98_4">KEY_MIN</A></span> : <b>constant</b> := 257;
+ <span class="symbol"><A NAME="ref_99_4">KEY_MAX</A></span> : <b>constant</b> := 511;
+ <span class="symbol"><A NAME="ref_100_4">KEY_CODE_YES</A></span> : <b>constant</b> := 256;
+
+ <span class="comment"><EM>-- Input key codes from getch(3NCURSES)</EM></span>
+
+ <span class="symbol"><A NAME="ref_104_4">KEY_BREAK</A></span> : <b>constant</b> := 257;
+ <span class="symbol"><A NAME="ref_105_4">KEY_DOWN</A></span> : <b>constant</b> := 258;
+ <span class="symbol"><A NAME="ref_106_4">KEY_UP</A></span> : <b>constant</b> := 259;
+ <span class="symbol"><A NAME="ref_107_4">KEY_LEFT</A></span> : <b>constant</b> := 260;
+ <span class="symbol"><A NAME="ref_108_4">KEY_RIGHT</A></span> : <b>constant</b> := 261;
+ <span class="symbol"><A NAME="ref_109_4">KEY_HOME</A></span> : <b>constant</b> := 262;
+ <span class="symbol"><A NAME="ref_110_4">KEY_BACKSPACE</A></span> : <b>constant</b> := 263;
+ <span class="symbol"><A NAME="ref_111_4">KEY_F0</A></span> : <b>constant</b> := 264;
+ <span class="symbol"><A NAME="ref_112_4">KEY_F1</A></span> : <b>constant</b> := 265;
+ <span class="symbol"><A NAME="ref_113_4">KEY_F2</A></span> : <b>constant</b> := 266;
+ <span class="symbol"><A NAME="ref_114_4">KEY_F3</A></span> : <b>constant</b> := 267;
+ <span class="symbol"><A NAME="ref_115_4">KEY_F4</A></span> : <b>constant</b> := 268;
+ <span class="symbol"><A NAME="ref_116_4">KEY_F5</A></span> : <b>constant</b> := 269;
+ <span class="symbol"><A NAME="ref_117_4">KEY_F6</A></span> : <b>constant</b> := 270;
+ <span class="symbol"><A NAME="ref_118_4">KEY_F7</A></span> : <b>constant</b> := 271;
+ <span class="symbol"><A NAME="ref_119_4">KEY_F8</A></span> : <b>constant</b> := 272;
+ <span class="symbol"><A NAME="ref_120_4">KEY_F9</A></span> : <b>constant</b> := 273;
+ <span class="symbol"><A NAME="ref_121_4">KEY_F10</A></span> : <b>constant</b> := 274;
+ <span class="symbol"><A NAME="ref_122_4">KEY_F11</A></span> : <b>constant</b> := 275;
+ <span class="symbol"><A NAME="ref_123_4">KEY_F12</A></span> : <b>constant</b> := 276;
+ <span class="symbol"><A NAME="ref_124_4">KEY_F13</A></span> : <b>constant</b> := 277;
+ <span class="symbol"><A NAME="ref_125_4">KEY_F14</A></span> : <b>constant</b> := 278;
+ <span class="symbol"><A NAME="ref_126_4">KEY_F15</A></span> : <b>constant</b> := 279;
+ <span class="symbol"><A NAME="ref_127_4">KEY_F16</A></span> : <b>constant</b> := 280;
+ <span class="symbol"><A NAME="ref_128_4">KEY_F17</A></span> : <b>constant</b> := 281;
+ <span class="symbol"><A NAME="ref_129_4">KEY_F18</A></span> : <b>constant</b> := 282;
+ <span class="symbol"><A NAME="ref_130_4">KEY_F19</A></span> : <b>constant</b> := 283;
+ <span class="symbol"><A NAME="ref_131_4">KEY_F20</A></span> : <b>constant</b> := 284;
+ <span class="symbol"><A NAME="ref_132_4">KEY_F21</A></span> : <b>constant</b> := 285;
+ <span class="symbol"><A NAME="ref_133_4">KEY_F22</A></span> : <b>constant</b> := 286;
+ <span class="symbol"><A NAME="ref_134_4">KEY_F23</A></span> : <b>constant</b> := 287;
+ <span class="symbol"><A NAME="ref_135_4">KEY_F24</A></span> : <b>constant</b> := 288;
+ <span class="symbol"><A NAME="ref_136_4">KEY_DL</A></span> : <b>constant</b> := 328;
+ <span class="symbol"><A NAME="ref_137_4">KEY_IL</A></span> : <b>constant</b> := 329;
+ <span class="symbol"><A NAME="ref_138_4">KEY_DC</A></span> : <b>constant</b> := 330;
+ <span class="symbol"><A NAME="ref_139_4">KEY_IC</A></span> : <b>constant</b> := 331;
+ <span class="symbol"><A NAME="ref_140_4">KEY_EIC</A></span> : <b>constant</b> := 332;
+ <span class="symbol"><A NAME="ref_141_4">KEY_CLEAR</A></span> : <b>constant</b> := 333;
+ <span class="symbol"><A NAME="ref_142_4">KEY_EOS</A></span> : <b>constant</b> := 334;
+ <span class="symbol"><A NAME="ref_143_4">KEY_EOL</A></span> : <b>constant</b> := 335;
+ <span class="symbol"><A NAME="ref_144_4">KEY_SF</A></span> : <b>constant</b> := 336;
+ <span class="symbol"><A NAME="ref_145_4">KEY_SR</A></span> : <b>constant</b> := 337;
+ <span class="symbol"><A NAME="ref_146_4">KEY_NPAGE</A></span> : <b>constant</b> := 338;
+ <span class="symbol"><A NAME="ref_147_4">KEY_PPAGE</A></span> : <b>constant</b> := 339;
+ <span class="symbol"><A NAME="ref_148_4">KEY_STAB</A></span> : <b>constant</b> := 340;
+ <span class="symbol"><A NAME="ref_149_4">KEY_CTAB</A></span> : <b>constant</b> := 341;
+ <span class="symbol"><A NAME="ref_150_4">KEY_CATAB</A></span> : <b>constant</b> := 342;
+ <span class="symbol"><A NAME="ref_151_4">KEY_ENTER</A></span> : <b>constant</b> := 343;
+ <span class="symbol"><A NAME="ref_152_4">KEY_SRESET</A></span> : <b>constant</b> := 344;
+ <span class="symbol"><A NAME="ref_153_4">KEY_RESET</A></span> : <b>constant</b> := 345;
+ <span class="symbol"><A NAME="ref_154_4">KEY_PRINT</A></span> : <b>constant</b> := 346;
+ <span class="symbol"><A NAME="ref_155_4">KEY_LL</A></span> : <b>constant</b> := 347;
+ <span class="symbol"><A NAME="ref_156_4">KEY_A1</A></span> : <b>constant</b> := 348;
+ <span class="symbol"><A NAME="ref_157_4">KEY_A3</A></span> : <b>constant</b> := 349;
+ <span class="symbol"><A NAME="ref_158_4">KEY_B2</A></span> : <b>constant</b> := 350;
+ <span class="symbol"><A NAME="ref_159_4">KEY_C1</A></span> : <b>constant</b> := 351;
+ <span class="symbol"><A NAME="ref_160_4">KEY_C3</A></span> : <b>constant</b> := 352;
+ <span class="symbol"><A NAME="ref_161_4">KEY_BTAB</A></span> : <b>constant</b> := 353;
+ <span class="symbol"><A NAME="ref_162_4">KEY_BEG</A></span> : <b>constant</b> := 354;
+ <span class="symbol"><A NAME="ref_163_4">KEY_CANCEL</A></span> : <b>constant</b> := 355;
+ <span class="symbol"><A NAME="ref_164_4">KEY_CLOSE</A></span> : <b>constant</b> := 356;
+ <span class="symbol"><A NAME="ref_165_4">KEY_COMMAND</A></span> : <b>constant</b> := 357;
+ <span class="symbol"><A NAME="ref_166_4">KEY_COPY</A></span> : <b>constant</b> := 358;
+ <span class="symbol"><A NAME="ref_167_4">KEY_CREATE</A></span> : <b>constant</b> := 359;
+ <span class="symbol"><A NAME="ref_168_4">KEY_END</A></span> : <b>constant</b> := 360;
+ <span class="symbol"><A NAME="ref_169_4">KEY_EXIT</A></span> : <b>constant</b> := 361;
+ <span class="symbol"><A NAME="ref_170_4">KEY_FIND</A></span> : <b>constant</b> := 362;
+ <span class="symbol"><A NAME="ref_171_4">KEY_HELP</A></span> : <b>constant</b> := 363;
+ <span class="symbol"><A NAME="ref_172_4">KEY_MARK</A></span> : <b>constant</b> := 364;
+ <span class="symbol"><A NAME="ref_173_4">KEY_MESSAGE</A></span> : <b>constant</b> := 365;
+ <span class="symbol"><A NAME="ref_174_4">KEY_MOVE</A></span> : <b>constant</b> := 366;
+ <span class="symbol"><A NAME="ref_175_4">KEY_NEXT</A></span> : <b>constant</b> := 367;
+ <span class="symbol"><A NAME="ref_176_4">KEY_OPEN</A></span> : <b>constant</b> := 368;
+ <span class="symbol"><A NAME="ref_177_4">KEY_OPTIONS</A></span> : <b>constant</b> := 369;
+ <span class="symbol"><A NAME="ref_178_4">KEY_PREVIOUS</A></span> : <b>constant</b> := 370;
+ <span class="symbol"><A NAME="ref_179_4">KEY_REDO</A></span> : <b>constant</b> := 371;
+ <span class="symbol"><A NAME="ref_180_4">KEY_REFERENCE</A></span> : <b>constant</b> := 372;
+ <span class="symbol"><A NAME="ref_181_4">KEY_REFRESH</A></span> : <b>constant</b> := 373;
+ <span class="symbol"><A NAME="ref_182_4">KEY_REPLACE</A></span> : <b>constant</b> := 374;
+ <span class="symbol"><A NAME="ref_183_4">KEY_RESTART</A></span> : <b>constant</b> := 375;
+ <span class="symbol"><A NAME="ref_184_4">KEY_RESUME</A></span> : <b>constant</b> := 376;
+ <span class="symbol"><A NAME="ref_185_4">KEY_SAVE</A></span> : <b>constant</b> := 377;
+ <span class="symbol"><A NAME="ref_186_4">KEY_SBEG</A></span> : <b>constant</b> := 378;
+ <span class="symbol"><A NAME="ref_187_4">KEY_SCANCEL</A></span> : <b>constant</b> := 379;
+ <span class="symbol"><A NAME="ref_188_4">KEY_SCOMMAND</A></span> : <b>constant</b> := 380;
+ <span class="symbol"><A NAME="ref_189_4">KEY_SCOPY</A></span> : <b>constant</b> := 381;
+ <span class="symbol"><A NAME="ref_190_4">KEY_SCREATE</A></span> : <b>constant</b> := 382;
+ <span class="symbol"><A NAME="ref_191_4">KEY_SDC</A></span> : <b>constant</b> := 383;
+ <span class="symbol"><A NAME="ref_192_4">KEY_SDL</A></span> : <b>constant</b> := 384;
+ <span class="symbol"><A NAME="ref_193_4">KEY_SELECT</A></span> : <b>constant</b> := 385;
+ <span class="symbol"><A NAME="ref_194_4">KEY_SEND</A></span> : <b>constant</b> := 386;
+ <span class="symbol"><A NAME="ref_195_4">KEY_SEOL</A></span> : <b>constant</b> := 387;
+ <span class="symbol"><A NAME="ref_196_4">KEY_SEXIT</A></span> : <b>constant</b> := 388;
+ <span class="symbol"><A NAME="ref_197_4">KEY_SFIND</A></span> : <b>constant</b> := 389;
+ <span class="symbol"><A NAME="ref_198_4">KEY_SHELP</A></span> : <b>constant</b> := 390;
+ <span class="symbol"><A NAME="ref_199_4">KEY_SHOME</A></span> : <b>constant</b> := 391;
+ <span class="symbol"><A NAME="ref_200_4">KEY_SIC</A></span> : <b>constant</b> := 392;
+ <span class="symbol"><A NAME="ref_201_4">KEY_SLEFT</A></span> : <b>constant</b> := 393;
+ <span class="symbol"><A NAME="ref_202_4">KEY_SMESSAGE</A></span> : <b>constant</b> := 394;
+ <span class="symbol"><A NAME="ref_203_4">KEY_SMOVE</A></span> : <b>constant</b> := 395;
+ <span class="symbol"><A NAME="ref_204_4">KEY_SNEXT</A></span> : <b>constant</b> := 396;
+ <span class="symbol"><A NAME="ref_205_4">KEY_SOPTIONS</A></span> : <b>constant</b> := 397;
+ <span class="symbol"><A NAME="ref_206_4">KEY_SPREVIOUS</A></span> : <b>constant</b> := 398;
+ <span class="symbol"><A NAME="ref_207_4">KEY_SPRINT</A></span> : <b>constant</b> := 399;
+ <span class="symbol"><A NAME="ref_208_4">KEY_SREDO</A></span> : <b>constant</b> := 400;
+ <span class="symbol"><A NAME="ref_209_4">KEY_SREPLACE</A></span> : <b>constant</b> := 401;
+ <span class="symbol"><A NAME="ref_210_4">KEY_SRIGHT</A></span> : <b>constant</b> := 402;
+ <span class="symbol"><A NAME="ref_211_4">KEY_SRSUME</A></span> : <b>constant</b> := 403;
+ <span class="symbol"><A NAME="ref_212_4">KEY_SSAVE</A></span> : <b>constant</b> := 404;
+ <span class="symbol"><A NAME="ref_213_4">KEY_SSUSPEND</A></span> : <b>constant</b> := 405;
+ <span class="symbol"><A NAME="ref_214_4">KEY_SUNDO</A></span> : <b>constant</b> := 406;
+ <span class="symbol"><A NAME="ref_215_4">KEY_SUSPEND</A></span> : <b>constant</b> := 407;
+ <span class="symbol"><A NAME="ref_216_4">KEY_UNDO</A></span> : <b>constant</b> := 408;
+ <span class="symbol"><A NAME="ref_217_4">KEY_MOUSE</A></span> : <b>constant</b> := 409;
+ <span class="symbol"><A NAME="ref_218_4">KEY_RESIZE</A></span> : <b>constant</b> := 410;
+
+ <span class="comment"><EM>-- alternate character codes (ACS) from addch(3NCURSES)</EM></span>
+
+ <span class="symbol"><A NAME="ref_222_4">ACS_ULCORNER</A></span> : <b>constant</b> := 108;
+ <span class="symbol"><A NAME="ref_223_4">ACS_LLCORNER</A></span> : <b>constant</b> := 109;
+ <span class="symbol"><A NAME="ref_224_4">ACS_URCORNER</A></span> : <b>constant</b> := 107;
+ <span class="symbol"><A NAME="ref_225_4">ACS_LRCORNER</A></span> : <b>constant</b> := 106;
+ <span class="symbol"><A NAME="ref_226_4">ACS_LTEE</A></span> : <b>constant</b> := 116;
+ <span class="symbol"><A NAME="ref_227_4">ACS_RTEE</A></span> : <b>constant</b> := 117;
+ <span class="symbol"><A NAME="ref_228_4">ACS_BTEE</A></span> : <b>constant</b> := 118;
+ <span class="symbol"><A NAME="ref_229_4">ACS_TTEE</A></span> : <b>constant</b> := 119;
+ <span class="symbol"><A NAME="ref_230_4">ACS_HLINE</A></span> : <b>constant</b> := 113;
+ <span class="symbol"><A NAME="ref_231_4">ACS_VLINE</A></span> : <b>constant</b> := 120;
+ <span class="symbol"><A NAME="ref_232_4">ACS_PLUS</A></span> : <b>constant</b> := 110;
+ <span class="symbol"><A NAME="ref_233_4">ACS_S1</A></span> : <b>constant</b> := 111;
+ <span class="symbol"><A NAME="ref_234_4">ACS_S9</A></span> : <b>constant</b> := 115;
+ <span class="symbol"><A NAME="ref_235_4">ACS_DIAMOND</A></span> : <b>constant</b> := 96;
+ <span class="symbol"><A NAME="ref_236_4">ACS_CKBOARD</A></span> : <b>constant</b> := 97;
+ <span class="symbol"><A NAME="ref_237_4">ACS_DEGREE</A></span> : <b>constant</b> := 102;
+ <span class="symbol"><A NAME="ref_238_4">ACS_PLMINUS</A></span> : <b>constant</b> := 103;
+ <span class="symbol"><A NAME="ref_239_4">ACS_BULLET</A></span> : <b>constant</b> := 126;
+ <span class="symbol"><A NAME="ref_240_4">ACS_LARROW</A></span> : <b>constant</b> := 44;
+ <span class="symbol"><A NAME="ref_241_4">ACS_RARROW</A></span> : <b>constant</b> := 43;
+ <span class="symbol"><A NAME="ref_242_4">ACS_DARROW</A></span> : <b>constant</b> := 46;
+ <span class="symbol"><A NAME="ref_243_4">ACS_UARROW</A></span> : <b>constant</b> := 45;
+ <span class="symbol"><A NAME="ref_244_4">ACS_BOARD</A></span> : <b>constant</b> := 104;
+ <span class="symbol"><A NAME="ref_245_4">ACS_LANTERN</A></span> : <b>constant</b> := 105;
+ <span class="symbol"><A NAME="ref_246_4">ACS_BLOCK</A></span> : <b>constant</b> := 48;
+ <span class="symbol"><A NAME="ref_247_4">ACS_S3</A></span> : <b>constant</b> := 112;
+ <span class="symbol"><A NAME="ref_248_4">ACS_S7</A></span> : <b>constant</b> := 114;
+ <span class="symbol"><A NAME="ref_249_4">ACS_LEQUAL</A></span> : <b>constant</b> := 121;
+ <span class="symbol"><A NAME="ref_250_4">ACS_GEQUAL</A></span> : <b>constant</b> := 122;
+ <span class="symbol"><A NAME="ref_251_4">ACS_PI</A></span> : <b>constant</b> := 123;
+ <span class="symbol"><A NAME="ref_252_4">ACS_NEQUAL</A></span> : <b>constant</b> := 124;
+ <span class="symbol"><A NAME="ref_253_4">ACS_STERLING</A></span> : <b>constant</b> := 125;
+
+ <span class="comment"><EM>-- Menu_Options from opts(3MENU)</EM></span>
+
+ <span class="symbol"><A NAME="ref_257_4">O_ONEVALUE_First</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_258_4">O_ONEVALUE_Last</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_259_4">O_SHOWDESC_First</A></span> : <b>constant</b> := 1;
+ <span class="symbol"><A NAME="ref_260_4">O_SHOWDESC_Last</A></span> : <b>constant</b> := 1;
+ <span class="symbol"><A NAME="ref_261_4">O_ROWMAJOR_First</A></span> : <b>constant</b> := 2;
+ <span class="symbol"><A NAME="ref_262_4">O_ROWMAJOR_Last</A></span> : <b>constant</b> := 2;
+ <span class="symbol"><A NAME="ref_263_4">O_IGNORECASE_First</A></span> : <b>constant</b> := 3;
+ <span class="symbol"><A NAME="ref_264_4">O_IGNORECASE_Last</A></span> : <b>constant</b> := 3;
+ <span class="symbol"><A NAME="ref_265_4">O_SHOWMATCH_First</A></span> : <b>constant</b> := 4;
+ <span class="symbol"><A NAME="ref_266_4">O_SHOWMATCH_Last</A></span> : <b>constant</b> := 4;
+ <span class="symbol"><A NAME="ref_267_4">O_NONCYCLIC_First</A></span> : <b>constant</b> := 5;
+ <span class="symbol"><A NAME="ref_268_4">O_NONCYCLIC_Last</A></span> : <b>constant</b> := 5;
+ <span class="symbol"><A NAME="ref_269_4">Menu_Options_Size</A></span> : <b>constant</b> := 32;
+
+ <span class="comment"><EM>-- Item_Options from menu_opts(3MENU)</EM></span>
+
+ <span class="symbol"><A NAME="ref_273_4">O_SELECTABLE_First</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_274_4">O_SELECTABLE_Last</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_275_4">Item_Options_Size</A></span> : <b>constant</b> := 32;
+
+ <span class="comment"><EM>-- Field_Options from field_opts(3FORM)</EM></span>
+
+ <span class="symbol"><A NAME="ref_279_4">O_VISIBLE_First</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_280_4">O_VISIBLE_Last</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_281_4">O_ACTIVE_First</A></span> : <b>constant</b> := 1;
+ <span class="symbol"><A NAME="ref_282_4">O_ACTIVE_Last</A></span> : <b>constant</b> := 1;
+ <span class="symbol"><A NAME="ref_283_4">O_PUBLIC_First</A></span> : <b>constant</b> := 2;
+ <span class="symbol"><A NAME="ref_284_4">O_PUBLIC_Last</A></span> : <b>constant</b> := 2;
+ <span class="symbol"><A NAME="ref_285_4">O_EDIT_First</A></span> : <b>constant</b> := 3;
+ <span class="symbol"><A NAME="ref_286_4">O_EDIT_Last</A></span> : <b>constant</b> := 3;
+ <span class="symbol"><A NAME="ref_287_4">O_WRAP_First</A></span> : <b>constant</b> := 4;
+ <span class="symbol"><A NAME="ref_288_4">O_WRAP_Last</A></span> : <b>constant</b> := 4;
+ <span class="symbol"><A NAME="ref_289_4">O_BLANK_First</A></span> : <b>constant</b> := 5;
+ <span class="symbol"><A NAME="ref_290_4">O_BLANK_Last</A></span> : <b>constant</b> := 5;
+ <span class="symbol"><A NAME="ref_291_4">O_AUTOSKIP_First</A></span> : <b>constant</b> := 6;
+ <span class="symbol"><A NAME="ref_292_4">O_AUTOSKIP_Last</A></span> : <b>constant</b> := 6;
+ <span class="symbol"><A NAME="ref_293_4">O_NULLOK_First</A></span> : <b>constant</b> := 7;
+ <span class="symbol"><A NAME="ref_294_4">O_NULLOK_Last</A></span> : <b>constant</b> := 7;
+ <span class="symbol"><A NAME="ref_295_4">O_PASSOK_First</A></span> : <b>constant</b> := 8;
+ <span class="symbol"><A NAME="ref_296_4">O_PASSOK_Last</A></span> : <b>constant</b> := 8;
+ <span class="symbol"><A NAME="ref_297_4">O_STATIC_First</A></span> : <b>constant</b> := 9;
+ <span class="symbol"><A NAME="ref_298_4">O_STATIC_Last</A></span> : <b>constant</b> := 9;
+ <span class="symbol"><A NAME="ref_299_4">Field_Options_Size</A></span> : <b>constant</b> := 32;
+
+ <span class="comment"><EM>-- Field_Options from opts(3FORM)</EM></span>
+
+ <span class="symbol"><A NAME="ref_303_4">O_NL_OVERLOAD_First</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_304_4">O_NL_OVERLOAD_Last</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_305_4">O_BS_OVERLOAD_First</A></span> : <b>constant</b> := 1;
+ <span class="symbol"><A NAME="ref_306_4">O_BS_OVERLOAD_Last</A></span> : <b>constant</b> := 1;
+
+ <span class="comment"><EM>-- MEVENT structure from mouse(3NCURSES)</EM></span>
+
+ <span class="symbol"><A NAME="ref_310_4">MEVENT_id_First</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_311_4">MEVENT_id_Last</A></span> : <b>constant</b> := 15;
+ <span class="symbol"><A NAME="ref_312_4">MEVENT_x_First</A></span> : <b>constant</b> := 32;
+ <span class="symbol"><A NAME="ref_313_4">MEVENT_x_Last</A></span> : <b>constant</b> := 63;
+ <span class="symbol"><A NAME="ref_314_4">MEVENT_y_First</A></span> : <b>constant</b> := 64;
+ <span class="symbol"><A NAME="ref_315_4">MEVENT_y_Last</A></span> : <b>constant</b> := 95;
+ <span class="symbol"><A NAME="ref_316_4">MEVENT_z_First</A></span> : <b>constant</b> := 96;
+ <span class="symbol"><A NAME="ref_317_4">MEVENT_z_Last</A></span> : <b>constant</b> := 127;
+ <span class="symbol"><A NAME="ref_318_4">MEVENT_bstate_First</A></span> : <b>constant</b> := 128;
+ <span class="symbol"><A NAME="ref_319_4">MEVENT_bstate_Last</A></span> : <b>constant</b> := 159;
+ <span class="symbol"><A NAME="ref_320_4">MEVENT_Size</A></span> : <b>constant</b> := 160;
+
+ <span class="comment"><EM>-- mouse events from mouse(3NCURSES)</EM></span>
+
+ <span class="symbol"><A NAME="ref_324_4">BUTTON1_RELEASED</A></span> : <b>constant</b> := 1;
+ <span class="symbol"><A NAME="ref_325_4">BUTTON1_PRESSED</A></span> : <b>constant</b> := 2;
+ <span class="symbol"><A NAME="ref_326_4">BUTTON1_CLICKED</A></span> : <b>constant</b> := 4;
+ <span class="symbol"><A NAME="ref_327_4">BUTTON1_DOUBLE_CLICKED</A></span> : <b>constant</b> := 8;
+ <span class="symbol"><A NAME="ref_328_4">BUTTON1_TRIPLE_CLICKED</A></span> : <b>constant</b> := 16;
+ <span class="symbol"><A NAME="ref_329_4">all_events_button_1</A></span> : <b>constant</b> := 31;
+ <span class="symbol"><A NAME="ref_330_4">BUTTON2_RELEASED</A></span> : <b>constant</b> := 32;
+ <span class="symbol"><A NAME="ref_331_4">BUTTON2_PRESSED</A></span> : <b>constant</b> := 64;
+ <span class="symbol"><A NAME="ref_332_4">BUTTON2_CLICKED</A></span> : <b>constant</b> := 128;
+ <span class="symbol"><A NAME="ref_333_4">BUTTON2_DOUBLE_CLICKED</A></span> : <b>constant</b> := 256;
+ <span class="symbol"><A NAME="ref_334_4">BUTTON2_TRIPLE_CLICKED</A></span> : <b>constant</b> := 512;
+ <span class="symbol"><A NAME="ref_335_4">all_events_button_2</A></span> : <b>constant</b> := 992;
+ <span class="symbol"><A NAME="ref_336_4">BUTTON3_RELEASED</A></span> : <b>constant</b> := 1024;
+ <span class="symbol"><A NAME="ref_337_4">BUTTON3_PRESSED</A></span> : <b>constant</b> := 2048;
+ <span class="symbol"><A NAME="ref_338_4">BUTTON3_CLICKED</A></span> : <b>constant</b> := 4096;
+ <span class="symbol"><A NAME="ref_339_4">BUTTON3_DOUBLE_CLICKED</A></span> : <b>constant</b> := 8192;
+ <span class="symbol"><A NAME="ref_340_4">BUTTON3_TRIPLE_CLICKED</A></span> : <b>constant</b> := 16384;
+ <span class="symbol"><A NAME="ref_341_4">all_events_button_3</A></span> : <b>constant</b> := 31744;
+ <span class="symbol"><A NAME="ref_342_4">BUTTON4_RELEASED</A></span> : <b>constant</b> := 32768;
+ <span class="symbol"><A NAME="ref_343_4">BUTTON4_PRESSED</A></span> : <b>constant</b> := 65536;
+ <span class="symbol"><A NAME="ref_344_4">BUTTON4_CLICKED</A></span> : <b>constant</b> := 131072;
+ <span class="symbol"><A NAME="ref_345_4">BUTTON4_DOUBLE_CLICKED</A></span> : <b>constant</b> := 262144;
+ <span class="symbol"><A NAME="ref_346_4">BUTTON4_TRIPLE_CLICKED</A></span> : <b>constant</b> := 524288;
+ <span class="symbol"><A NAME="ref_347_4">all_events_button_4</A></span> : <b>constant</b> := 1015808;
+ <span class="symbol"><A NAME="ref_348_4">BUTTON_CTRL</A></span> : <b>constant</b> := 33554432;
+ <span class="symbol"><A NAME="ref_349_4">BUTTON_SHIFT</A></span> : <b>constant</b> := 67108864;
+ <span class="symbol"><A NAME="ref_350_4">BUTTON_ALT</A></span> : <b>constant</b> := 134217728;
+ <span class="symbol"><A NAME="ref_351_4">REPORT_MOUSE_POSITION</A></span> : <b>constant</b> := 268435456;
+ <span class="symbol"><A NAME="ref_352_4">ALL_MOUSE_EVENTS</A></span> : <b>constant</b> := 268435455;
+
+ <span class="comment"><EM>-- trace selection from trace(3NCURSES)</EM></span>
+
+ <span class="symbol"><A NAME="ref_356_4">TRACE_TIMES_First</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_357_4">TRACE_TIMES_Last</A></span> : <b>constant</b> := 0;
+ <span class="symbol"><A NAME="ref_358_4">TRACE_TPUTS_First</A></span> : <b>constant</b> := 1;
+ <span class="symbol"><A NAME="ref_359_4">TRACE_TPUTS_Last</A></span> : <b>constant</b> := 1;
+ <span class="symbol"><A NAME="ref_360_4">TRACE_UPDATE_First</A></span> : <b>constant</b> := 2;
+ <span class="symbol"><A NAME="ref_361_4">TRACE_UPDATE_Last</A></span> : <b>constant</b> := 2;
+ <span class="symbol"><A NAME="ref_362_4">TRACE_MOVE_First</A></span> : <b>constant</b> := 3;
+ <span class="symbol"><A NAME="ref_363_4">TRACE_MOVE_Last</A></span> : <b>constant</b> := 3;
+ <span class="symbol"><A NAME="ref_364_4">TRACE_CHARPUT_First</A></span> : <b>constant</b> := 4;
+ <span class="symbol"><A NAME="ref_365_4">TRACE_CHARPUT_Last</A></span> : <b>constant</b> := 4;
+ <span class="symbol"><A NAME="ref_366_4">TRACE_CALLS_First</A></span> : <b>constant</b> := 5;
+ <span class="symbol"><A NAME="ref_367_4">TRACE_CALLS_Last</A></span> : <b>constant</b> := 5;
+ <span class="symbol"><A NAME="ref_368_4">TRACE_VIRTPUT_First</A></span> : <b>constant</b> := 6;
+ <span class="symbol"><A NAME="ref_369_4">TRACE_VIRTPUT_Last</A></span> : <b>constant</b> := 6;
+ <span class="symbol"><A NAME="ref_370_4">TRACE_IEVENT_First</A></span> : <b>constant</b> := 7;
+ <span class="symbol"><A NAME="ref_371_4">TRACE_IEVENT_Last</A></span> : <b>constant</b> := 7;
+ <span class="symbol"><A NAME="ref_372_4">TRACE_BITS_First</A></span> : <b>constant</b> := 8;
+ <span class="symbol"><A NAME="ref_373_4">TRACE_BITS_Last</A></span> : <b>constant</b> := 8;
+ <span class="symbol"><A NAME="ref_374_4">TRACE_ICALLS_First</A></span> : <b>constant</b> := 9;
+ <span class="symbol"><A NAME="ref_375_4">TRACE_ICALLS_Last</A></span> : <b>constant</b> := 9;
+ <span class="symbol"><A NAME="ref_376_4">TRACE_CCALLS_First</A></span> : <b>constant</b> := 10;
+ <span class="symbol"><A NAME="ref_377_4">TRACE_CCALLS_Last</A></span> : <b>constant</b> := 10;
+ <span class="symbol"><A NAME="ref_378_4">TRACE_DATABASE_First</A></span> : <b>constant</b> := 11;
+ <span class="symbol"><A NAME="ref_379_4">TRACE_DATABASE_Last</A></span> : <b>constant</b> := 11;
+ <span class="symbol"><A NAME="ref_380_4">TRACE_ATTRS_First</A></span> : <b>constant</b> := 12;
+ <span class="symbol"><A NAME="ref_381_4">TRACE_ATTRS_Last</A></span> : <b>constant</b> := 12;
+ <span class="symbol"><A NAME="ref_382_4">Trace_Size</A></span> : <b>constant</b> := 32;
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</A>;
+</PRE></BODY></HTML>
diff --git a/doc/html/announce.html b/doc/html/announce.html
index ffc115de1e66..45c0c1254da0 100644
--- a/doc/html/announce.html
+++ b/doc/html/announce.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
- $Id: announce.html,v 1.56 2013/05/17 23:34:26 tom Exp $
+ $Id: announce.html,v 1.59 2018/01/27 02:10:10 tom Exp $
****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,361 +28,2932 @@
* authorization. *
****************************************************************************
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 6 November 2007), see www.w3.org">
+ "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
- <title>Announcing ncurses 5.9</title>
+ <title>Announcing ncurses 6.1</title>
<link rev="made" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content=
"text/html; charset=us-ascii">
+ <style type="text/css">
+p,li { max-width:700px; }
+ dd { max-width:630px; }
+ *.main-name {
+ font-style: italic;
+ font-variant: small-caps;
+ }
+ *.part-name {
+ font-family: "Andale Mono", "Monotype.com", monospace;
+ font-size: 12pt;
+ font-weight: bold;
+ }
+ </style>
</head>
<body>
- <h1>Announcing ncurses 5.9</h1>The ncurses (new curses)
+ <h1 class="no-header">Announcing ncurses 6.1</h1>
+
+ <h2><a name="h2-overview" id="h2-overview">Overview</a></h2>
+
+ <p>The <span class="main-name">ncurses</span> (new curses)
library is a free software emulation of curses in System V
- Release 4.0, and more. It uses terminfo format, supports pads and
- color and multiple highlights and forms characters and
- function-key mapping, and has all the other SYSV-curses
- enhancements over BSD curses.
+ Release 4.0 (SVr4), and more. It uses terminfo format, supports
+ pads and color and multiple highlights and forms characters and
+ function-key mapping, and has all the other SVr4-curses
+ enhancements over BSD curses. SVr4 curses became the basis of
+ X/Open Curses.</p>
<p>In mid-June 1995, the maintainer of 4.4BSD curses declared
that he considered 4.4BSD curses obsolete, and encouraged the
- keepers of Unix releases such as BSD/OS, FreeBSD and NetBSD to
- switch over to ncurses.</p>
+ keepers of <span class="main-name">unix</span> releases such as
+ BSD/OS, FreeBSD and NetBSD to switch over to <span class=
+ "main-name">ncurses</span>.</p>
+
+ <p>Since 1995, <span class="main-name">ncurses</span> has been
+ ported to many systems:</p>
- <p>The ncurses code was developed under GNU/Linux. It has been in
- use for some time with OpenBSD as the system curses library, and
- on FreeBSD and NetBSD as an external package. It should port
- easily to any ANSI/POSIX-conforming UNIX. It has even been ported
- to OS/2 Warp!</p>
+ <ul>
+ <li>It is used in almost every system based on the Linux kernel
+ (aside from some embedded applications).</li>
+
+ <li>It is used as the system curses library on OpenBSD, FreeBSD
+ and OSX.</li>
+
+ <li>It is used in environments such as Cygwin and MinGW. The
+ first of these was EMX on OS/2 Warp.</li>
+
+ <li>It is used (though usually not as the <em>system</em>
+ curses) on all of the vendor <span class=
+ "main-name">unix</span> systems, e.g., AIX, HP-UX, IRIX64, SCO,
+ Solaris, Tru64.</li>
+
+ <li>It should work readily on any ANSI/POSIX-conforming
+ <span class="main-name">unix</span>.</li>
+ </ul>
<p>The distribution includes the library and support utilities,
- including a terminfo compiler tic(1), a decompiler infocmp(1),
- clear(1), tput(1), tset(1), and a termcap conversion tool
- captoinfo(1). Full manual pages are provided for the library and
- tools.</p>
-
- <p>The ncurses distribution is available via anonymous FTP at the
- GNU distribution site <a href=
- "ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</a>&nbsp;.<br>
-
- It is also available at <a href=
- "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a>&nbsp;.</p>
-
- <h1>Release Notes</h1>This release is designed to be upward
- compatible from ncurses 5.0 through 5.8; very few applications
- will require recompilation, depending on the platform. These are
- the highlights from the change-log since ncurses 5.8 release.
- <p>
- This is a bug-fix release, correcting a small number of urgent problems
- in the ncurses library from the 5.8 release.
- <p>
- It also improves the Ada95 binding:
- <ul>
- <li>fixes a longstanding portability problem with its use of the
- <a href="http://invisible-island.net/ncurses/man/form_fieldtype.3x">set_field_type</a>
- function. Because that function uses variable-length argument lists,
- its interface with gnat does not work with certain platforms.
- <li>improves configurability and portability, particularly when built
- separately from the main ncurses tree. The 5.8 release introduced
- scripts which can be used to construct separate tarballs for the
- Ada95 and ncurses examples.
- <p>Those were a proof of concept. For the 5.9 release, those
- scripts are augmented with rpm- and dpkg-scripts used in test builds
- against a variety of gnat- and system ncurses versions as old as
- gnat 3.15 and ncurses 5.4 (see snapshots and systems tested
- <a href="http://invisible-island.net/ncurses/ncurses-Ada95.html">here</a>.
- <li>additional improvements were made for portability of the
- ncurses examples, adding rpm- and dpkg-scripts for test-builds.
- See
- <a href="http://invisible-island.net/ncurses/ncurses-examples.html">this page</a>
- for snapshots and other information.
- </ul>
-
- <h1>Features of Ncurses</h1>The ncurses package is fully
- compatible with SVr4 (System V Release 4) curses:
-
- <ul>
- <li>All 257 of the SVr4 calls have been implemented (and are
- documented).</li>
-
- <li>Full support for SVr4 curses features including keyboard
- mapping, color, forms-drawing with ACS characters, and
- automatic recognition of keypad and function keys.</li>
-
- <li>An emulation of the SVr4 panels library, supporting a stack
- of windows with backing store, is included.</li>
-
- <li>An emulation of the SVr4 menus library, supporting a
- uniform but flexible interface for menu programming, is
- included.</li>
-
- <li>An emulation of the SVr4 form library, supporting data
- collection through on-screen forms, is included.</li>
-
- <li>Binary terminfo entries generated by the ncurses tic(1)
- implementation are bit-for-bit-compatible with the entry format
- SVr4 curses uses.</li>
-
- <li>The utilities have options to allow you to filter terminfo
- entries for use with less capable
- <strong>curses</strong>/<strong>terminfo</strong> versions such
- as the HP/UX and AIX ports.</li>
- </ul>The ncurses package also has many useful extensions over
- SVr4:
-
- <ul>
- <li>The API is 8-bit clean and base-level conformant with the
- X/OPEN curses specification, XSI curses (that is, it implements
- all BASE level features, and most EXTENDED features). It
- includes many function calls not supported under SVr4 curses
- (but portability of all calls is documented so you can use the
- SVr4 subset only).</li>
-
- <li>Unlike SVr3 curses, ncurses can write to the
- rightmost-bottommost corner of the screen if your terminal has
- an insert-character capability.</li>
-
- <li>Ada95 and C++ bindings.</li>
-
- <li>Support for mouse event reporting with X Window xterm and
- FreeBSD and OS/2 console windows.</li>
-
- <li>Extended mouse support via Alessandro Rubini's gpm
- package.</li>
-
- <li>The function <code>wresize</code> allows you to resize
- windows, preserving their data.</li>
-
- <li>The function <code>use_default_colors</code> allows you to
- use the terminal's default colors for the default color pair,
- achieving the effect of transparent colors.</li>
-
- <li>The functions <code>keyok</code> and
- <code>define_key</code> allow you to better control the use of
- function keys, e.g., disabling the ncurses KEY_MOUSE, or by
- defining more than one control sequence to map to a given key
- code.</li>
-
- <li>Support for 256-color terminals, such as modern xterm, when
- configured using the <code>--enable-ext-colors</code>
- option.</li>
-
- <li>Support for 16-color terminals, such as <em>aixterm</em>
- and <em>modern xterm</em>.</li>
-
- <li>Better cursor-movement optimization. The package now
- features a cursor-local-movement computation more efficient
- than either BSD's or System V's.</li>
-
- <li>Super hardware scrolling support. The screen-update code
- incorporates a novel, simple, and cheap algorithm that enables
- it to make optimal use of hardware scrolling, line-insertion,
- and line-deletion for screen-line movements. This algorithm is
- more powerful than the 4.4BSD curses <code>quickch</code>
- routine.</li>
-
- <li>Real support for terminals with the magic-cookie glitch.
- The screen-update code will refrain from drawing a highlight if
- the magic- cookie unattributed spaces required just before the
- beginning and after the end would step on a non-space
- character. It will automatically shift highlight boundaries
- when doing so would make it possible to draw the highlight
- without changing the visual appearance of the screen.</li>
-
- <li>It is possible to generate the library with a list of
- pre-loaded fallback entries linked to it so that it can serve
- those terminal types even when no terminfo tree or termcap file
- is accessible (this may be useful for support of
- screen-oriented programs that must run in single-user
- mode).</li>
+ including</p>
- <li>The tic(1)/captoinfo utility provided with ncurses has the
- ability to translate many termcaps from the XENIX, IBM and
- AT&amp;T extension sets.</li>
-
- <li>A BSD-like tset(1) utility is provided.</li>
-
- <li>The ncurses library and utilities will automatically read
- terminfo entries from $HOME/.terminfo if it exists, and compile
- to that directory if it exists and the user has no write access
- to the system directory. This feature makes it easier for users
- to have personal terminfo entries without giving up access to
- the system terminfo directory.</li>
-
- <li>You may specify a path of directories to search for
- compiled descriptions with the environment variable
- TERMINFO_DIRS (this generalizes the feature provided by
- TERMINFO under stock System V.)</li>
-
- <li>In terminfo source files, use capabilities may refer not
- just to other entries in the same source file (as in System V)
- but also to compiled entries in either the system terminfo
- directory or the user's $HOME/.terminfo directory.</li>
-
- <li>A script (<strong>capconvert</strong>) is provided to help
- BSD users transition from termcap to terminfo. It gathers the
- information in a TERMCAP environment variable and/or a
- ~/.termcap local entries file and converts it to an equivalent
- local terminfo tree under $HOME/.terminfo.</li>
-
- <li>Automatic fallback to the /etc/termcap file can be compiled
- in when it is not possible to build a terminfo tree. This
- feature is neither fast nor cheap, you don't want to use it
- unless you have to, but it's there.</li>
-
- <li>The table-of-entries utility <strong>toe</strong> makes it
- easy for users to see exactly what terminal types are available
- on the system.</li>
-
- <li>The library meets the XSI requirement that every macro
- entry point have a corresponding function which may be linked
- (and will be prototype-checked) if the macro definition is
- disabled with <code>#undef</code>.</li>
-
- <li>An HTML "Introduction to Programming with NCURSES" document
- provides a narrative introduction to the curses programming
- interface.</li>
- </ul>
-
- <h1>State of the Package</h1>Numerous bugs present in earlier
- versions have been fixed; the library is far more reliable than
- it used to be. Bounds checking in many `dangerous' entry points
- has been improved. The code is now type-safe according to gcc
- -Wall. The library has been checked for malloc leaks and arena
- corruption by the Purify memory-allocation tester.
-
- <p>The ncurses code has been tested with a wide variety of
- applications including (versions starting with those noted):</p>
+ <ul>
+ <li><a href=
+ "https://invisible-island.net/ncurses/man/captoinfo.1m.html"><span class="part-name">
+ captoinfo</span></a>, a termcap conversion tool</li>
+
+ <li><a href=
+ "https://invisible-island.net/ncurses/man/clear.1.html"><span class="part-name">
+ clear</span></a>, utility for clearing the screen</li>
+
+ <li><a href=
+ "https://invisible-island.net/ncurses/man/infocmp.1m.html"><span class="part-name">
+ infocmp</span></a>, the terminfo decompiler</li>
+
+ <li><a href=
+ "https://invisible-island.net/ncurses/man/tabs.1.html"><span class="part-name">
+ tabs</span></a>, set tabs on a terminal</li>
+
+ <li><a href=
+ "https://invisible-island.net/ncurses/man/tic.1m.html"><span class="part-name">
+ tic</span></a>, the terminfo compiler</li>
+
+ <li><a href=
+ "https://invisible-island.net/ncurses/man/toe.1m.html"><span class="part-name">
+ toe</span></a>, list (table of) terminfo entries</li>
+
+ <li><a href=
+ "https://invisible-island.net/ncurses/man/tput.1.html"><span class="part-name">
+ tput</span></a>, utility for retrieving terminal capabilities
+ in shell scripts</li>
+
+ <li><a href=
+ "https://invisible-island.net/ncurses/man/tset.1.html"><span class="part-name">
+ tset</span></a>, to initialize the terminal</li>
+ </ul>
- <dl>
- <dt>cdk</dt>
+ <p>Full manual pages are provided for the library and tools.</p>
- <dd>Curses Development Kit<br>
- <a href=
- "http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</a><br>
+ <p>The <span class="main-name">ncurses</span> distribution is
+ available at <span class="main-name">ncurses</span>' <a href=
+ "https://invisible-island.net/ncurses/">homepage</a>:</p>
+ <blockquote>
+ <p><a href=
+ "ftp://ftp.invisible-island.net/ncurses/">ftp://ftp.invisible-island.net/ncurses/</a>
+ or<br>
<a href=
- "http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a></dd>
+ "https://invisible-mirror.net/archives/ncurses/">https://invisible-mirror.net/archives/ncurses/</a>&nbsp;.</p>
+ </blockquote>
- <dt>ded</dt>
+ <p>It is also available via anonymous FTP at the GNU distribution
+ site</p>
- <dd>directory-editor<br>
- <a href=
- "http://invisible-island.net/ded/">http://invisible-island.net/ded/</a></dd>
+ <blockquote>
+ <p><a href=
+ "ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</a>&nbsp;.</p>
+ </blockquote>
- <dt>dialog</dt>
+ <h2><a name="h2-release-notes" id="h2-release-notes">Release
+ Notes</a></h2>
- <dd>the underlying application used in Slackware's setup, and
- the basis for similar applications on GNU/Linux.<br>
- <a href=
- "http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</a></dd>
+ <p>These notes are for <span class="main-name">ncurses</span>
+ 6.1, released <strong>January 27, 2018</strong>.</p>
- <dt>lynx</dt>
+ <p>This release is designed to be source-compatible with
+ <span class="main-name">ncurses</span> 5.0 through 6.0; providing
+ extensions to the application binary interface (ABI). Although
+ the source can still be configured to support the <span class=
+ "main-name">ncurses</span> 5 ABI, the intent of the release is to
+ provide extensions to the <span class="main-name">ncurses</span>
+ <strong>6</strong> ABI:</p>
- <dd>the character-screen WWW browser<br>
- <a href=
- "http://lynx.isc.org/release/">http://lynx.isc.org/release/</a></dd>
+ <ul>
+ <li>
+ <p>improve integration of <span class="part-name">tput</span>
+ and <span class="part-name">tset</span></p>
+ </li>
+
+ <li>
+ <p>provide support for extended numeric capabilities.</p>
+ </li>
+ </ul>
- <dt>Midnight Commander</dt>
+ <p>There are, of course, numerous other improvements, listed in
+ this announcement.</p>
- <dd>file manager<br>
- <a href=
- "http://www.midnight-commander.org/">http://www.midnight-commander.org/</a></dd>
+ <p>The release notes also mention some bug-fixes, but are focused
+ on new features and improvements to existing features since
+ <span class="main-name">ncurses</span> 6.0 release.</p>
+
+ <h3><a name="h3-library" id="h3-library">Library
+ improvements</a></h3>
+
+ <h4><a name="h4-new-library" id="h4-new-library">New
+ features</a></h4>
+
+ <p>The improved integration of <span class=
+ "part-name">tput</span> and <span class="part-name">tset</span>
+ made only small changes to the libraries. However, supporting
+ extended numeric capabilities required a few changes:</p>
- <dt>mutt</dt>
+ <ul>
+ <li>
+ <p>The <code>TERMINAL</code> structure in
+ <code>&lt;term.h&gt;</code> is now opaque. Doing that allowed
+ making the structure larger, to hold the extended numeric
+ data.</p>
+
+ <p>A few applications required changes during development of
+ <span class="main-name">ncurses&nbsp;6.1</span> because those
+ applications misused the members of that structure, e.g.,
+ directly modifying it rather than using <a href=
+ "https://invisible-island.net/ncurses/man/curs_kernel.3x.html#h3-def_prog_mode_-def_shell_mode">
+ def_prog_mode</a>.</p>
+ </li>
+
+ <li>
+ <p>Having made <code>TERMINAL</code> opaque (and because none
+ of the library functions use anything except a pointer to
+ <code>TERMINAL</code>), it was possible to increase the size
+ of the structure, adding to the end.</p>
+
+ <p>Existing applications which were linked to the
+ <span class="part-name">ncurses&nbsp;6.0</span> high-level
+ (<em>ncurses</em>, <em>ncursesw</em>) and low-level
+ (<em>tinfo</em>, <em>tinfo</em>) libraries should not require
+ re-linking since the binary interface did not change, nor did
+ the structure offsets with <code>TERMINAL</code> change.</p>
+
+ <p>A few applications use the inner <code>TERMTYPE</code>
+ structure's offsets to refer to terminfo capabilities within
+ that structure. Again, those do not require modification
+ because their offsets within <code>TERMINAL</code> did not
+ change.</p>
+ </li>
+
+ <li>
+ <p>When configured for wide-characters, i.e.,
+ &ldquo;ncursesw&rdquo; the <code>TERMINAL</code> structure is
+ extended.</p>
+
+ <p>The new data in <code>TERMINAL</code> holds the same
+ information as <code>TERMTYPE</code>, but with larger numbers
+ (&ldquo;int&rdquo; versus &ldquo;short&rdquo;). It is named
+ <code>TERMTYPE2</code>.</p>
+
+ <p>The library uses this structure internally in preference
+ to <code>TERMTYPE</code>, referring to <code>TERMTYPE</code>
+ only to initialize it for applications that use the
+ capabilities defined in <code>&lt;term.h&gt;</code></p>
+ </li>
+
+ <li>
+ <p>When configured for 8-bit (narrow) characters, the
+ <code>TERMTYPE2</code> structure is not used.</p>
+ </li>
+
+ <li>The updated application binary interface is 6.1.20171230
+ (used for new <a href=
+ "https://invisible-island.net/ncurses/ncurses-mapsyms.html">versioned
+ symbols</a>), although the interface changes were developed
+ several months previously.</li>
+ </ul>
+
+ <p>The motivation for making this extension came from noticing
+ that <a href=
+ "https://invisible-island.net/ncurses/tctest.html#bsd42-numeric-caps">
+ termcap applications</a> could (though not <a href=
+ "https://invisible-island.net/ncurses/ncurses-slang.html#cause_numbers">
+ realistically</a>) use larger numbers than would fit in 16-bits,
+ and the fact that the number of color pairs for a 256-color xterm
+ could not be expressed in terminfo (i.e., 32767 versus 65536).
+ Also, a few terminals support direct-colors, which could use the
+ extension.</p>
+
+ <p>Generally speaking, applications that use internal details of
+ a library are unsupported. There was exactly one exception for
+ <span class="main-name">ncurses</span>: the <span class=
+ "main-name">tack</span> program <em>used</em> the internal
+ details of <code>TERMINAL</code>, because it provides an
+ ncurses-specific feature for interactively modifying a terminfo
+ description and writing the updated description to a text-file.
+ It was possible to not only separate <span class=
+ "main-name">tack</span> from these <a href=
+ "https://invisible-island.net/ncurses/tack.html#portable">internal
+ details of <span class="main-name">ncurses</span></a>, but to
+ generalize it so that the program works with Unix curses
+ (omitting the ncurses-specific feature). That was released as
+ <a href=
+ "https://invisible-island.net/ncurses/tack/CHANGES.html#index-t20170726">
+ <span class="main-name">tack</span>&nbsp;1.08</a> in July
+ 2017.</p>
+
+ <p>While making changes to <span class="main-name">tack</span> to
+ eliminate its dependency upon <span class=
+ "main-name">ncurses</span> internals, the publicly-visible
+ details of those internals were reviewed, and some symbols were
+ moved to private header files, while others were marked
+ explicitly as <span class="main-name">ncurses</span> internals.
+ Future releases of <span class="main-name">ncurses</span> may
+ eliminate some of those symbols (such as those used by
+ <span class="main-name">tack</span>&nbsp;1.07) because they are
+ neither part of the API or the ABI.</p>
+
+ <p>Using the <code>TERMTYPE2</code> extended numeric
+ capabilities, it is possible to support both color pair values
+ and color values past 32767. Taking compatibility into account,
+ developers readily understand that neither function signatures
+ nor structure offsets change. Also, existing functions have to
+ operate with the extended numbers. Most of that work is internal
+ to the library. For the external interfaces, a hybrid approach
+ was used:</p>
- <dd>mail utility<br>
- <a href="http://www.mutt.org/">http://www.mutt.org/</a></dd>
+ <ul>
+ <li>
+ <p>X/Open Curses defined function prototypes such as
+ <code>wattr_set</code> with an unused parameter, for
+ &ldquo;future&rdquo; use. After 25 years, the future is here:
+ <span class="main-name">ncurses</span> uses the parameter to
+ augment color pair values as described in the <a href=
+ "https://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-EXTENSIONS">
+ manual page</a>.</p>
+ </li>
+
+ <li>
+ <p>Other functions such as those defining color pairs did not
+ have a corresponding <em>reserved</em> parameter. For those,
+ <span class="main-name">ncurses</span> defines extended
+ versions such as <code>init_extended_pair</code> (versus
+ <code>init_pair</code>), <code>init_extended_color</code>
+ (versus <code>init_color</code>).</p>
+ </li>
+ </ul>
+
+ <p>Additionally, to improve performance other changes (and
+ extensions) are provided in this release:</p>
+
+ <ul>
+ <li>
+ <p>Several new functions simplify management of large sets of
+ color pairs: <code>reset_color_pairs</code>,
+ <code>alloc_pair</code>, <code>find_pair</code> and
+ <code>free_pair</code>.</p>
+ </li>
+
+ <li>
+ <p>New "RGB" extension capability for direct-color support is
+ used to improve performance of
+ <code>color_content</code>.</p>
+ </li>
+
+ <li>
+ <p>The internal <code>colorpair_t</code> is now a struct,
+ eliminating an internal 8-bit limit on colors</p>
+ </li>
+
+ <li>
+ <p>Allocation for <code>SCREEN</code>'s color-pair table
+ starts small, grows on demand up to the limit given in the
+ terminal description.</p>
+ </li>
+
+ <li>
+ <p><code>setcchar</code> and <code>getcchar</code> now treat
+ a negative color-pair as an error.</p>
+ </li>
+ </ul>
+
+ <h4><a name="h4-fixes-library" id="h4-fixes-library">Other
+ improvements</a></h4>
+
+ <p>These are new or revised features:</p>
+
+ <ul>
+ <li>
+ <p>modify <code>c++/etip.h.in</code> to accommodate
+ deprecation of throw and throws in c++17</p>
+ </li>
+
+ <li>
+ <p>add new function <code>unfocus_current_field</code></p>
+ </li>
+
+ <li>
+ <p>add option to preserve leading whitespace in form
+ fields</p>
+ </li>
+
+ <li>
+ <p>add a macro for <code>is_linetouched</code> and adjust the
+ function's return value to make it possible for most
+ applications to check for an error-return.</p>
+ </li>
+
+ <li>
+ <p>add build-time utility <code>report_offsets</code> to help
+ show when the various configurations of tinfo library are
+ compatible or not.</p>
+ </li>
+ </ul>
- <dt>ncftp</dt>
+ <p>These were done to limit or ultimately deprecate features:</p>
- <dd>file-transfer utility<br>
- <a href="http://www.ncftp.com/">http://www.ncftp.com/</a></dd>
+ <ul>
+ <li>
+ <p>drop two symbols obsoleted in 2004:
+ <code>_nc_check_termtype</code>, and
+ <code>_nc_resolve_uses</code></p>
+ </li>
+
+ <li>
+ <p>move <code>_nc_tracebits</code>, <code>_tracedump</code>
+ and <code>_tracemouse</code> to <code>curses.priv.h</code>,
+ since they are not part of the suggested ABI6.</p>
+ </li>
+
+ <li>
+ <p>mark some structs in form/menu/panel libraries as
+ potentially opaque without modifying API/ABI.</p>
+ </li>
+
+ <li>
+ <p>ifdef'd header-file definition of <code>mouse_trafo</code>
+ with <code>NCURSES_NOMACROS</code></p>
+ </li>
+
+ <li>
+ <p>remove initialization-check for calling <code>napms</code>
+ in the term-driver configuration; none is needed.</p>
+ </li>
+
+ <li>
+ <p>modify <code>trace</code> to avoid overwriting existing
+ file</p>
+ </li>
+ </ul>
+
+ <p>These are improvements to existing features:</p>
+
+ <ul>
+ <li>
+ <p>modify <code>make_hash</code> to allow building with
+ address-sanitizer, assuming that <code>--disable-leaks</code>
+ is configured.</p>
+ </li>
+
+ <li>
+ <p>move <code>SCREEN</code> field for <code>use_tioctl</code>
+ data before the ncursesw fields, and limit that to the
+ sp-funcs configuration to improve termlib compatibility</p>
+ </li>
+
+ <li>
+ <p>modify db-iterator:</p>
+
+ <ul>
+ <li>
+ <p>ignore zero-length files in db-iterator; these are
+ useful for instance to suppress
+ <code>$HOME/.terminfo</code> when not wanted.</p>
+ </li>
+
+ <li>
+ <p>modify <code>update_getenv</code> to ensure that
+ environment variables which are not initially set will be
+ checked later if an application happens to set them</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>modify <code>_nc_outc_wrapper</code> to use the standard
+ output if the screen was not initialized, rather than
+ returning an error.</p>
+ </li>
+
+ <li>
+ <p>improve checks for low-level terminfo functions when the
+ terminal has not been initialized.</p>
+ </li>
+
+ <li>
+ <p>modify <code>set_curterm</code> to update
+ <code>ttytype[]</code> data used by longname/p&gt;</p>
+ </li>
+
+ <li>
+ <p>modify <code>_nc_get_screensize</code> to allow for
+ <code>use_env</code> and <code>use_tioctl</code> state to be
+ per-screen when sp-funcs are configured, better matching the
+ behavior when using the term-driver configuration.</p>
+ </li>
+
+ <li>
+ <p>remove an early-return from <code>_nc_do_color,</code>
+ which can interfere with data needed by <code>bkgd</code>
+ when <span class="main-name">ncurses</span> is configured
+ with extended colors</p>
+ </li>
+
+ <li>
+ <p>incorporate <code>A_COLOR</code> mask into
+ <code>COLOR_PAIR</code>, in case user application provides an
+ out-of-range pair number</p>
+ </li>
+
+ <li>
+ <p>modify logic for <code>endwin</code>-state to be able to
+ detect the case where the screen was never initialized, using
+ that to trigger a flush of <span class=
+ "main-name">ncurses'</span> buffer for <code>mvcur</code>,
+ e.g., in the sample program <span class=
+ "part-name">dots_mvcur</span> for the term-driver
+ configuration.</p>
+ </li>
+ </ul>
+
+ <p>These are corrections to existing features:</p>
+
+ <ul>
+ <li>
+ <p>fixes for writing extended color pairs in
+ <code>putwin</code>.</p>
+ </li>
+
+ <li>
+ <p>modify no-leaks code for <code>lib_cur_term.c</code> to
+ account for the <code>tgetent</code> cache.</p>
+ </li>
+
+ <li>
+ <p>amend handling of the <code>repeat_char</code> capability
+ in <code>EmitRange</code> to avoid scope creep: translate the
+ character to the alternate character set when the alternate
+ character set is enabled, and do not use
+ <code>repeat_char</code> for characters past 255.</p>
+ </li>
+
+ <li>
+ <p>improve wide-character implementation of
+ <code>myADDNSTR</code> in <code>frm_driver.c</code>, which
+ was inconsistent with the normal implementation.</p>
+ </li>
+
+ <li>
+ <p>modify <code>winnstr</code> and <code>winchnstr</code> to
+ return error if the output pointer is null, as well as adding
+ a null pointer check of the window pointer for better
+ compatibility with other implementations.</p>
+ </li>
+
+ <li>
+ <p>modify <code>setupterm</code> to save original tty-modes
+ so that <code>erasechar</code> works as expected. Also modify
+ <code>_nc_setupscreen</code> to avoid redundant calls to get
+ original tty-modes.</p>
+ </li>
+
+ <li>
+ <p>modify <code>wattr_set</code> and <code>wattr_get</code>
+ to return <code>ERR</code> if <em>win</em>-parameter is null,
+ as documented.</p>
+ </li>
+
+ <li>
+ <p>correct order of initialization for traces in
+ <code>use_env</code> and <code>use_tioctl</code> versus first
+ <code>_tracef</code> calls.</p>
+ </li>
+
+ <li>
+ <p>correct parameters for <code>copywin</code> call in
+ <code>_nc_Synchronize_Attributes</code></p>
+ </li>
+
+ <li>
+ <p>flush the standard output in <code>_nc_flush</code> for
+ the case where <code>SP</code> is zero, e.g., when called via
+ <code>putp</code>. This fixes a scenario where
+ &ldquo;tput&nbsp;flash&rdquo; did not work after changes in
+ 20130112.</p>
+ </li>
+
+ <li>
+ <p>amend internal use of <code>tputs</code> to consistently
+ use the number of lines affected, e.g., for insert/delete
+ character operations. While merging terminfo source early in
+ 1995, several descriptions used the
+ &ldquo;<code>*</code>&rdquo; proportional delay for these
+ operations, prompting a change in <code>doupdate</code>.</p>
+ </li>
+
+ <li>
+ <p>correct return-value of extended <code>putwin</code>.</p>
+ </li>
+
+ <li>
+ <p>double-width multibyte characters were not counted
+ properly in <code>winsnstr</code> and
+ <code>wins_nwstr</code>.</p>
+ </li>
+
+ <li>
+ <p>amend fix for <code>_nc_ripoffline</code> from 20091031 to
+ make <code>test/ditto.c</code> work in threaded
+ configuration.</p>
+ </li>
+
+ <li>
+ <p>modify <code>_nc_viscbuf2</code> and
+ <code>_tracecchar_t2</code> to trace wide-characters as a
+ whole rather than their multibyte equivalents.</p>
+ </li>
+
+ <li>
+ <p>minor fix in <code>wadd_wchnstr</code> to ensure that each
+ cell has nonzero width.</p>
+ </li>
+
+ <li>
+ <p>move <code>PUTC_INIT</code> calls next to
+ <code>wcrtomb</code> calls, to avoid carry-over of error
+ status when processing Unicode values which are not
+ mapped.</p>
+ </li>
+
+ <li>
+ <p>add missing assignment in <code>lib_getch.c</code> to make
+ <code>notimeout</code> work</p>
+ </li>
+ </ul>
+
+ <h3><a name="h3-programs" id="h3-programs">Program
+ improvements</a></h3>
+
+ <p>While reviewing user feedback, it became apparent that the
+ differences between <a href=
+ "https://invisible-island.net/ncurses/man/tset.1.html#h3-reset---reinitialization">
+ <span class="part-name">reset</span></a> (an alias for
+ <span class="part-name">tset</span>) and &ldquo;<span class=
+ "part-name">tput reset</span>&rdquo; were confusing:</p>
+
+ <ul>
+ <li>one (<a href=
+ "https://invisible-island.net/ncurses/man/tset.1.html">tset</a>)
+ updated the terminal modes, but used only part of the terminfo
+ capabilities for initialization, while</li>
+
+ <li>the other (<a href=
+ "https://invisible-island.net/ncurses/man/tput.1.html"><span class="part-name">tput</span></a>)
+ used all of the terminal capabilities while neglecting the
+ terminal modes.</li>
+ </ul>
+
+ <p>On further investigation, it turned out that the differences
+ were largely an accident due to the way those programs had
+ evolved.</p>
+
+ <p>This release eliminates the unnecessary differences, using the
+ same approach for <span class="part-name">tput</span>'s
+ <em>init</em> (initialization), <em>reset</em> and <em>clear</em>
+ operations as the separate <a href=
+ "https://invisible-island.net/ncurses/man/tset.1.html#h3-reset---reinitialization">
+ reset</a> and <a href=
+ "https://invisible-island.net/ncurses/man/clear.1.html"><span class="part-name">
+ clear</span></a> programs. Doing this does not change the
+ command-line options; existing scripts are unaffected.</p>
+
+ <p>These are the user-visible changes for the three programs
+ (<span class="part-name">tput</span>, <span class=
+ "part-name">tset</span> and <span class=
+ "part-name">clear</span>):</p>
+
+ <ul>
+ <li>
+ <p>add the terminal-mode parts of &ldquo;<span class=
+ "part-name">reset</span>&rdquo; (aka <span class=
+ "part-name">tset</span>) to the &ldquo;<code>tput
+ reset</code>&rdquo; command, making the two almost the same
+ except for window-size.</p>
+ </li>
+
+ <li>
+ <p>improve <span class="part-name">tput</span>'s check for
+ being called as &ldquo;init&rdquo; or &ldquo;reset&rdquo; to
+ allow for transformed names.</p>
+ </li>
+
+ <li>
+ <p>add &ldquo;clear&rdquo; as a possible link/alias to
+ <span class="part-name">tput</span>.</p>
+ </li>
+
+ <li>
+ <p>amend changes for <span class="part-name">tput</span> to
+ reset tty modes to &ldquo;sane&rdquo; if the program is run
+ as &ldquo;reset&rdquo;, like <span class=
+ "part-name">tset</span>. Likewise, ensure that <span class=
+ "part-name">tset</span> sends either reset- or
+ init-strings.</p>
+ </li>
+
+ <li>
+ <p>add <code>-x</code> option to <span class=
+ "part-name">clear</span>/<span class="part-name">tput</span>
+ to make the <code>E3</code> extension optional</p>
+ </li>
+
+ <li>
+ <p>add functionality of
+ &ldquo;<code>tset&nbsp;-w</code>&rdquo; to <span class=
+ "part-name">tput</span>, like the
+ &ldquo;<code>-c</code>&rdquo; feature this is not optional in
+ <span class="part-name">tput</span>.</p>
+ </li>
+
+ <li>
+ <p>add options <code>-T</code> and <code>-V</code> to
+ <span class="part-name">clear</span> command for
+ compatibility with <span class="part-name">tput</span>.</p>
+ </li>
+
+ <li>
+ <p>drop long-obsolete &ldquo;<code>-n</code>&rdquo; option
+ from <span class="part-name">tset</span>.</p>
+ </li>
+
+ <li>
+ <p>modify <span class="part-name">tset</span>'s assignment to
+ <code>TERM</code> in its output to reflect the name by which
+ the terminal description is found, rather than the primary
+ name. That was an unnecessary part from the initial
+ conversion of <span class="part-name">tset</span> from
+ termcap to terminfo. The termcap library in 4.3BSD did this
+ to avoid using the short 2-character name</p>
+ </li>
+
+ <li>
+ <p>remove a restriction in <span class=
+ "part-name">tput</span>'s support for termcap names which
+ omitted capabilities normally not shown in termcap
+ translations</p>
+ </li>
+
+ <li>
+ <p>add usage message to <span class="part-name">clear</span>
+ command</p>
+ </li>
+
+ <li>
+ <p>improve usage messages for <span class=
+ "part-name">tset</span> and <span class=
+ "part-name">tput</span>.</p>
+ </li>
+ </ul>
+
+ <p>Other user-visible improvements and new features include:</p>
+
+ <ul>
+ <li>
+ <p>modify <span class="part-name">tic</span>/<span class=
+ "part-name">infocmp</span> display of numeric values to use
+ hexadecimal when they are "close" to a power of two, making
+ the result more readable.</p>
+ </li>
+
+ <li>
+ <p>add &ldquo;<code>-W</code>&rdquo; option to <span class=
+ "part-name">tic</span>/<span class="part-name">infocmp</span>
+ to force long strings to wrap.</p>
+
+ <ul>
+ <li>
+ <p>This is in addition to the
+ &ldquo;<code>-w</code>&rdquo; option which attempts to
+ fit capabilities into a given line-length.</p>
+ </li>
+
+ <li>
+ <p>If &ldquo;<code>-f</code>&rdquo; option splits line,
+ do not further split it with
+ &ldquo;<code>-W</code>&rdquo;.</p>
+ </li>
+
+ <li>
+ <p>Begin a new line when adding
+ &ldquo;<code>use=</code>&rdquo; after a wrapped line.</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>add &ldquo;<code>-q</code>&rdquo; option to <span class=
+ "part-name">infocmp</span> to suppress the
+ &ldquo;<code>Reconstructed from</code>&rdquo; comment from
+ the header, and a corresponding option to <span class=
+ "part-name">tic</span> to suppress all comments from the
+ &ldquo;<code>tic -I</code>&rdquo; output.</p>
+ </li>
+
+ <li>
+ <p>Sorted options in usage message for <span class=
+ "part-name">infocmp</span>, to make it simpler to see unused
+ letters.</p>
+ </li>
+
+ <li>
+ <p>Updated usage message for <span class=
+ "part-name">tic</span>, adding &ldquo;<code>-0</code>&rdquo;
+ option.</p>
+ </li>
+
+ <li>
+ <p>add <span class="part-name">infocmp</span>/<span class=
+ "part-name">tic</span> &ldquo;<code>-Q</code>&rdquo; option,
+ which allows one to dump the compiled form of the terminal
+ entry, in hexadecimal or base64:</p>
+
+ <ul>
+ <li>A &ldquo;<code>b64:</code>&rdquo; prefix in the
+ <code>TERMINFO</code> variable tells the terminfo reader to
+ use base64 according to RFC-3548 as well as RFC-4648
+ url/filename-safe format.</li>
+
+ <li>A &ldquo;<code>hex:</code>&rdquo; prefix tells the
+ terminfo reader to accept hexadecimal data as generated by
+ &ldquo;<code>infocmp -0qQ1</code>&rdquo;.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <p>Other less-visible improvements and new features include:</p>
+
+ <ul>
+ <li>
+ <p>modify utility headers such as <code>tic.h</code> to make
+ it clearer which are externals that are used by <span class=
+ "main-name">tack</span>.</p>
+ </li>
+
+ <li>
+ <p>add &ldquo;<code>reset</code>&rdquo; to list of programs
+ whose names might change in manpages due to
+ program-transformation configure options.</p>
+ </li>
+
+ <li>
+ <p>modify &ldquo;<code>-T</code>&rdquo; option of
+ <span class="part-name">clear</span> and <span class=
+ "part-name">tput</span> to call <code>use_tioctl</code> to
+ obtain the operating system's notion of the screensize if
+ possible.</p>
+ </li>
+
+ <li>
+ <p>add check in <span class="part-name">tput</span> for
+ init/reset operands to ensure those use a terminal.</p>
+ </li>
+
+ <li>
+ <p>modify programs <span class="part-name">clear</span>,
+ <span class="part-name">tabs</span>, <span class=
+ "part-name">tput</span> and <span class=
+ "part-name">tset</span> to pass the actual tty file
+ descriptor to setupterm rather than the standard output or
+ error, making padding work.</p>
+ </li>
+
+ <li>
+ <p>change <span class="part-name">tset</span>'s
+ initialization to allow it to get settings from the standard
+ input as well as <code>/dev/tty</code>, to be more effective
+ when output or error are redirected.</p>
+ </li>
+
+ <li>
+ <p>amend check in <span class="part-name">tput</span>,
+ <span class="part-name">tabs</span> and <span class=
+ "part-name">clear</span> to allow those to use the
+ database-only features in <span class="part-name">cron</span>
+ if a &ldquo;<code>-T</code>&rdquo; option gives a suitable
+ terminal name.</p>
+ </li>
+
+ <li>
+ <p>improve error message from <span class=
+ "part-name">tset</span>/<span class="part-name">reset</span>
+ when both stderr/stdout are redirected to a file or pipe.</p>
+ </li>
+ </ul>
+
+ <p>Several of the less apparent features deal with translation of
+ terminfo to termcap (and the reverse), with corresponding checks
+ by <span class="part-name">tic</span>:</p>
+
+ <ul>
+ <li>
+ <p>modify check in <code>fmt_entry</code> to handle a
+ cancelled reset string. Make similar fixes in other parts of
+ <code>dump_entry.c</code> and <code>tput.c</code></p>
+ </li>
+
+ <li>
+ <p>correct read of terminfo entry in which all strings are
+ absent or explicitly cancelled. Before this fix, the result
+ was that all were treated as only absent.</p>
+ </li>
+
+ <li>
+ <p>modify <span class="part-name">infocmp</span> to suppress
+ mixture of absent/cancelled capabilities that would only show
+ as &ldquo;<code>NULL, NULL</code>&rdquo;, unless the
+ &ldquo;<code>-q</code>&rdquo; option is used, e.g., to show
+ &ldquo;<code>-, @</code>&rdquo; or &ldquo;<code>@,
+ -</code>&rdquo;.</p>
+ </li>
+
+ <li>
+ <p>correct a warning from <span class="part-name">tic</span>
+ about keys which are the same, to skip over missing/cancelled
+ values.</p>
+ </li>
+
+ <li>
+ <p>add check in <span class="part-name">tic</span> for use of
+ bold, etc., video attributes in the color capabilities,
+ accounting whether the feature is listed in
+ <code>ncv</code>.</p>
+ </li>
+
+ <li>
+ <p>add check in <span class="part-name">tic</span> for
+ unnecessary use of &ldquo;<code>2</code>&rdquo; to denote a
+ shifted special key.</p>
+ </li>
+
+ <li>
+ <p>improve check in <span class="part-name">tic</span> for
+ delays by also warning about beep/flash when a delay is not
+ embedded, or if those use the VT100 reverse video escape
+ without using a delay.</p>
+ </li>
+
+ <li>
+ <p>improve checks in <code>trim_sgr0</code>, comp_parse.c and
+ parse_entry.c, for cancelled string capabilities.</p>
+ </li>
+
+ <li>
+ <p>add check in <span class="part-name">tic</span> for some
+ syntax errors of delays, as well as use of proportional
+ delays for non-line capabilities.</p>
+ </li>
+
+ <li>
+ <p>add check in <span class="part-name">tic</span> for
+ conflict between <code>ritm</code>, <code>rmso</code>,
+ <code>rmul</code> versus <code>sgr0</code>.</p>
+ </li>
+
+ <li>
+ <p>add check in <code>_nc_parse_entry</code> for invalid
+ entry name, setting the name to
+ &ldquo;<code>invalid</code>&rdquo; to avoid problems storing
+ entries.</p>
+ </li>
+
+ <li>
+ <p>improve <code>_nc_tparm_analyze</code>, using that to
+ extend the checks made by <span class="part-name">tic</span>
+ for reporting inconsistencies between the expected number of
+ parameters for a capability and the actual.</p>
+ </li>
+
+ <li>
+ <p>remove <span class="part-name">tic</span> warning about
+ &ldquo;<code>^?</code>&rdquo; in string capabilities, which
+ was marked as an extension; however all Unix implementations
+ support this and X/Open Curses does not address it. On the
+ other hand, <a href=
+ "https://invisible-island.net/ncurses/tctest.html#bsd42-ctl-question">
+ BSD termcap</a> did not support this feature (until the
+ <a href=
+ "https://invisible-island.net/ncurses/tctest.html#freebsd-ctl-question">
+ mid-1990s</a>).</p>
+
+ <p>in <code>_nc_infotocap</code>, added a check to ensure
+ that terminfo &ldquo;<code>^?</code>&rdquo; is not written to
+ termcap.</p>
+ </li>
+
+ <li>
+ <p>modify <code>sscanf</code> calls in
+ <code>_nc_infotocap</code> for patterns
+ &ldquo;<code>%{number}%+%c</code>&rdquo; and
+ &ldquo;<code>%'char'%+%c</code>&rdquo; to check that the
+ final character is really &ldquo;<code>c</code>&rdquo;,
+ avoiding a case in icl6404 which cannot be converted to
+ termcap.</p>
+ </li>
+
+ <li>
+ <p>in <code>_nc_tic_expand</code> and
+ <code>_nc_infotocap</code>, improved string-length check when
+ deciding whether to use &ldquo;<code>^X</code>&rdquo; or
+ &ldquo;<code>\xxx</code>&rdquo; format for control
+ characters, to make the output of <span class=
+ "part-name">tic</span>/<span class="part-name">infocmp</span>
+ more predictable.</p>
+ </li>
+
+ <li>
+ <p>limited termcap &ldquo;<code>%d</code>&rdquo; width to 2
+ digits on input, and use &ldquo;<code>%2</code>&rdquo; in
+ preference to &ldquo;<code>%02</code>&rdquo; on output.</p>
+ </li>
+
+ <li>
+ <p>correct terminfo/termcap conversion of
+ &ldquo;<code>%02</code>&rdquo; and
+ &ldquo;<code>%03</code>&rdquo; into
+ &ldquo;<code>%2</code>&rdquo; and
+ &ldquo;<code>%3</code>&rdquo;; the result repeated the last
+ character.</p>
+ </li>
+ </ul>
+
+ <h4><a name="h4-examples" id="h4-examples">Examples</a></h4>
+
+ <p>Along with the library and utilities, many improvements were
+ made to the <a href=
+ "https://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>.</p>
+
+ <p>These changes were made to demonstrate new extensions in
+ <span class="main-name">ncurses</span>:</p>
+
+ <ul>
+ <li>
+ <p>add <span class="part-name">demo_new_pair</span> program,
+ to demonstrate <a href=
+ "https://invisible-island.net/ncurses/man/new_pair.3x.html#h3-alloc_pair">
+ <code>alloc_pair</code></a>, <a href=
+ "https://invisible-island.net/ncurses/man/new_pair.3x.html#h3-find_pair">
+ <code>find_pair</code></a> and <a href=
+ "https://invisible-island.net/ncurses/man/new_pair.3x.html#h3-free_pair">
+ <code>free_pair</code></a> functions.</p>
+
+ <p>This program iterates over the possible color
+ combinations, allocating or initializing color pairs. For
+ best results, choose screen-width dividing evenly into the
+ number of colors. e.g.,</p>
+
+ <blockquote>
+ <table summary="sample layouts for demo_new_pair">
+ <tr>
+ <td><code>32x64,32x128</code>&nbsp;&nbsp;</td>
+
+ <td>256 colors</td>
+ </tr>
+
+ <tr>
+ <td><code>24x44,24x88</code></td>
+
+ <td>88 colors</td>
+ </tr>
+
+ <tr>
+ <td><code>32x64,24x128</code></td>
+
+ <td>16 colors</td>
+ </tr>
+ </table>
+ </blockquote>
+ </li>
+
+ <li>
+ <p>add <span class="part-name">extended_color</span> program,
+ like the older <span class="part-name">color_set</span>
+ program, but using the extended color functions, with and
+ without the SP-functions interface.</p>
+ </li>
+
+ <li>
+ <p>add <span class="part-name">picsmap</span> program to fill
+ in some testing issues not met by <span class=
+ "part-name">dots</span>, using this as the third example in a
+ comparison of the <a href=
+ "https://invisible-island.net/ncurses/ncurses-slang.html#compare_picsmap">
+ ncurses versus slang</a> libraries.</p>
+
+ <p>The program can directly read X bitmap and pixmap files,
+ displaying a picture. It can read other image files using
+ <span class="part-name">ImageMagick</span>'s <span class=
+ "part-name">convert</span> program to translate the image
+ into text.</p>
+
+ <p>For 16-, 88- and 256-color terminal descriptions,
+ <span class="part-name">picsmap</span> can load a palette
+ file which tells it which color palette entries to use. For
+ direct-colors, the terminal descriptions use the
+ <code>RGB</code> extension capability.</p>
+ </li>
+ </ul>
- <dt>nvi</dt>
+ <p>There are other new example programs and a few scripts:</p>
- <dd>New vi versions 1.50 are able to use ncurses versions 1.9.7
- and later.<br>
+ <ul>
+ <li>
+ <p>add <span class="part-name">dots_xcurses</span> program to
+ illustrate a different approach used for extended colors
+ which can be contrasted with <span class=
+ "part-name">dots_curses</span>.</p>
+ </li>
+
+ <li>
+ <p>add <span class="part-name">list_keys</span> program show
+ function keys for one or more terminal descriptions. It uses
+ <span class="main-name">ncurses'</span>s convention of
+ modifiers for special keys, based on xterm.</p>
+ </li>
+
+ <li>
+ <p>add <span class="part-name">padview</span> program, to
+ compare pads with direct updates in the <span class=
+ "part-name">view</span> program.</p>
+ </li>
+
+ <li>
+ <p>add <span class="part-name">sp_tinfo</span> program to
+ exercise the SP-functions extension of the low-level terminfo
+ library.</p>
+ </li>
+
+ <li>
+ <p>add test-programs for <code>termattrs</code> and
+ <code>term_attrs</code> functions.</p>
+ </li>
+
+ <li>
+ <p>add <span class="part-name">test_sgr</span> program to
+ exercise all combinations of the sgr capability.</p>
+ </li>
+
+ <li>
+ <p>add <span class="part-name">tput-colorcube</span> demo
+ script, imitating xterm's 88- and 256-color scripts using
+ <span class="part-name">tput</span>.</p>
+ </li>
+
+ <li>
+ <p>add <span class="part-name">tput-initc</span> script to
+ demonstrate how <span class="part-name">tput</span> may be
+ used to initialize a color palette from a data file.</p>
+ </li>
+ </ul>
+
+ <p>A variety of improvements were made to existing programs, both
+ new features as well as options added to make the set of programs
+ more consistent.</p>
+
+ <p>The <span class="part-name">ncurses</span> program is the
+ largest; a proportionately large number of changes were made to
+ it:</p>
+
+ <ul>
+ <li>
+ <p>modify a/A screens to make exiting on an escape character
+ depend on the start of keypad and timeout modes, to allow
+ better testing of function-keys.</p>
+
+ <p>add &ldquo;<code>t</code>&rdquo; toggle for
+ <code>notimeout</code> function.</p>
+ </li>
+
+ <li>
+ <p>modify layout of b/B screens to allow for additional
+ annotation on the right margin; some terminals with partial
+ support did not display well.</p>
+ </li>
+
+ <li>
+ <p>modify c/C screens to allow for extended color pairs.</p>
+
+ <p>add z/Z <em>zoom</em> feature to make extended color pairs
+ easier to test.</p>
+
+ <p>modify test-screens to take advantage of wide screens,
+ reducing the number of lines used for 88- and 256-colors.</p>
+ </li>
+
+ <li>
+ <p>modify &ldquo;<code>d</code>&rdquo; edit-color screen to
+ optionally read xterm color palette directly from terminal,
+ as well as handling <code>KEY_RESIZE</code> and
+ screen-repainting with control/L and control/R.</p>
+ </li>
+
+ <li>
+ <p>add examples to &ldquo;<code>F</code>&rdquo; screen for
+ <code>WACS_D_PLUS</code> and <code>WACS_T_PLUS</code>.</p>
+ </li>
+
+ <li>
+ <p>improve &ldquo;<code>g</code>&rdquo; screen, correcting
+ ifdef which made the legend not reflect changes to keypad-
+ and scroll-modes. Added check for return-value of
+ <code>putwin</code>.</p>
+ </li>
+
+ <li>
+ <p>make &ldquo;<code>s</code>&rdquo; test easier to
+ understand which subtests are available</p>
+
+ <p>add a corresponding &ldquo;<code>S</code>&rdquo;
+ wide-character overlap test-screen.</p>
+ </li>
+
+ <li>
+ <p>add &ldquo;<code>v</code>&rdquo; screen to show
+ <code>baudrate</code> and other values.</p>
+ </li>
+ </ul>
+
+ <p>These changes were made to the other examples:</p>
+
+ <ul>
+ <li>
+ <p>modify <span class="part-name">blue</span> program to use
+ Unicode values for card-glyphs when available, as well as
+ improving the check for CP437 and CP850.</p>
+ </li>
+
+ <li>
+ <p>improve <span class="part-name">demo_menus</span> program,
+ allowing mouse-click on the menu-headers to switch the active
+ menu. This requires a new extension option
+ <code>O_MOUSE_MENU</code> to tell the menu driver to put
+ mouse events which do not apply to the active menu back into
+ the queue so that the application can handle the event.</p>
+ </li>
+
+ <li>
+ <p>correct logic in <span class=
+ "part-name">demo_terminfo</span> program for
+ &ldquo;<code>-f</code>&rdquo; option</p>
+ </li>
+
+ <li>
+ <p>modify <span class="part-name">ditto</span> program to
+ allow <code>$XTERM_PROG</code> environment variable to
+ override "xterm" as the name of the program to run in the
+ threaded configuration.</p>
+ </li>
+
+ <li>
+ <p>add several options to the &ldquo;<em>dots</em>&rdquo;
+ test-programs.</p>
+ </li>
+
+ <li>
+ <p>modify <span class="part-name">filter</span> program:</p>
+
+ <ul>
+ <li>illustrate an alternative to <code>getnstr</code>, that
+ polls for input while updating a clock on the right margin
+ as well as responding to window size-changes.</li>
+
+ <li>adapt logic used in <a href=
+ "https://invisible-island.net/dialog/"><span class=
+ "main-name">dialog</span></a> <a href=
+ "https://invisible-island.net/dialog/manpage/dialog.html#h3-Common-Options">
+ &ldquo;<code>--keep-tite</code>&rdquo; option</a> for
+ <span class="part-name">filter</span> program as the "-a"
+ option. When set, <span class="part-name">filter</span>
+ attempts to suppress the alternate screen.</li>
+ </ul>
+ </li>
+
+ <li>
+ <p>modify <span class="part-name">knight</span> program to
+ provide the "slow" solution for small screens using
+ &ldquo;<code>R</code>&rdquo;, noting that Warnsdorf's method
+ is easily done with &ldquo;<code>a</code>&rdquo;.</p>
+ </li>
+
+ <li>
+ <p>modify the <span class="part-name">savescreen</span>
+ program to add test patterns that exercise 88-, 256-, etc.,
+ colors.</p>
+ </li>
+
+ <li>
+ <p>add options to <span class="part-name">test_arrays</span>,
+ for selecting termcap vs terminfo, etc.</p>
+ </li>
+
+ <li>
+ <p>modify the <span class="part-name">view</span>
+ program:</p>
+
+ <ul>
+ <li>expand tabs using the ncurses library rather than in
+ the test-program.</li>
+
+ <li>eliminate the &ldquo;<code>-n</code>&rdquo; option by
+ simply reading the whole file.</li>
+
+ <li>implement page up/down commands.</li>
+
+ <li>remove the very old <code>SIGWINCH</code> example; just
+ use <code>KEY_RESIZE</code>.</li>
+ </ul>
+ </li>
+
+ <li>
+ <p>improve animation in <span class="part-name">xmas</span>
+ program by adding a time-delay in <code>blinkit</code>.</p>
+ </li>
+
+ <li>
+ <p>modify several test-programs which call
+ <code>use_default_colors</code> to consistently do this only
+ if the &ldquo;<code>-d</code>&rdquo; option is given.</p>
+ </li>
+
+ <li>
+ <p>modify the install-rule for ncurses-examples to put the
+ data files in the data directory, e.g.,
+ <code>/usr/share/ncurses-examples</code>.</p>
+ </li>
+
+ <li>
+ <p>modify several test programs to use new
+ <code>popup_msgs</code> function, adapted from the
+ help-screen used in the <code>edit_field</code> program.</p>
+ </li>
+
+ <li>
+ <p>modify test data for xterm palettes to use the newer
+ color4/color12 values.</p>
+ </li>
+
+ <li>
+ <p>improve the <span class="part-name">tracemunch</span>
+ script:</p>
+
+ <ul>
+ <li>show screenXX pointers and thread identifiers as
+ names.</li>
+
+ <li>chang address-parameters of <code>add_wch</code>,
+ <code>color_content</code> and <code>pair_content</code> to
+ dummy parameters.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <h3><a name="h3-database" id="h3-database">Terminal
+ database</a></h3>
+
+ <p>There are several new terminal descriptions:</p>
+
+ <blockquote>
+ <p><code>dumb-emacs-ansi</code>, <code>dvtm</code>,
+ <code>dvtm-256color</code>, <code>fbterm</code>,
+ <code>iterm2</code>, <code>linux-m1</code> <em>minitel
+ entries</em>, <code>putty-noapp</code>, <code>viewdata</code>,
+ and <code>vt100+4bsd</code> <em>building-block</em>.</p>
+
+ <p><code>xterm+noalt</code>, <code>xterm+titlestack</code>,
+ <code>xterm+alt1049</code>, <code>xterm+alt+title</code>
+ <em>building blocks</em> and <code>xterm+direct</code>,
+ <code>xterm+indirect</code>, <code>xterm-direct</code>. from
<a href=
- "https://sites.google.com/a/bostic.com/keithbostic/nvi">https://sites.google.com/a/bostic.com/keithbostic/nvi</a><br>
- </dd>
+ "https://invisible-island.net/xterm/xterm.log.html#xterm_331">xterm
+ patch #331</a>.</p>
+
+ <p>several other &ldquo;<code>-direct</code>&rdquo;
+ descriptions to address the differences of other terminal
+ emulators versus <code>xterm-direct</code>.</p>
+ </blockquote>
- <dt>pinfo</dt>
+ <p>There are many changes to existing terminal descriptions. Some
+ were updates to several descriptions:</p>
- <dd>Lynx-like info browser. <a href=
- "https://alioth.debian.org/projects/pinfo/">https://alioth.debian.org/projects/pinfo/</a></dd>
+ <ul>
+ <li>use <code>xterm+sm+1006</code> in several terminal
+ descriptions which were validated as supporting the extended
+ mouse feature for their respective terminal emulators.</li>
- <dt>tin</dt>
+ <li>corrected <em>sgr</em>/<em>sgr0</em> strings in a few cases
+ reported by <span class="part-name">tic</span>, making those
+ correspond to the non-<em>sgr</em> settings where they differ,
+ but otherwise use ECMA-48 consistently.</li>
- <dd>newsreader, supporting color, MIME <a href=
- "http://www.tin.org/">http://www.tin.org/</a></dd>
- </dl>as well as some that use ncurses for the terminfo support
- alone:
+ <li>add 0.1sec mandatory delay to <em>flash</em> capabilities
+ using the VT100 reverse-video control</li>
+ </ul>
+
+ <p>while others affected specific descriptions. These were
+ retested, to take into account new/undocumented changes by their
+ developers:</p>
+
+ <blockquote>
+ <p><code>iterm</code>, <code>minitel</code>, <code>st</code>,
+ <code>viewdata</code>, <code>nsterm</code></p>
+ </blockquote>
+
+ <p>while these are specific fixes based on user reports, or
+ warnings from <span class="part-name">tic</span>:</p>
<dl>
- <dt>minicom</dt>
+ <dt><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#toc-_A_N_S_I__S_Y_S__I_S_O_6429__E_C_M_A-48__Capabilities">
+ <code>ansi</code> <em>building blocks</em></a></dt>
+
+ <dd>
+ <ul>
+ <li>restored <em>rmir</em>/<em>smir</em> in
+ <code>ansi+idc</code> to better match original
+ <code>ansiterm+idc</code>, add alias
+ <code>ansiterm</code></li>
+ </ul>
+ </dd>
- <dd>terminal emulator<br>
- <a href=
- "http://alioth.debian.org/projects/minicom/">http://alioth.debian.org/projects/minicom/</a></dd>
+ <dt><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-icl6404">
+ <code>icl6402</code></a></dt>
- <dt>vile</dt>
+ <dd>
+ <ul>
+ <li>corrected missing comma-separator between string
+ capabilities in <code>icl6402</code> and
+ <code>m2-nam</code></li>
+ </ul>
+ </dd>
- <dd>vi-like-emacs<br>
- <a href=
- "http://invisible-island.net/vile/">http://invisible-island.net/vile/</a></dd>
+ <dt><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-interix">
+ <code>interix</code></a></dt>
+
+ <dd>
+ <ul>
+ <li>updated using <span class="main-name">tack</span> and
+ SFU with Windows 7 Ultimate.</li>
+
+ <li>used <code>^?</code> for <em>kdch1</em></li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#toc-_Linux_consoles">
+ <code>linux</code></a></dt>
+
+ <dd>
+ <ul>
+ <li>made <code>linux3.0</code> entry the default
+ <strong><code>linux</code></strong> entry</li>
+
+ <li>modify <code>linux2.6</code> entry to improve
+ line-drawing so that the <code>linux3.0</code> entry can be
+ used in non-UTF-8 mode</li>
+
+ <li>omitted selection of ISO-8859-1 for G0 in enacs
+ capability from linux2.6 entry, to avoid conflict with the
+ user-defined mapping. The reset feature uses ISO-8859-1 in
+ any case.</li>
+
+ <li>modify <em>flash</em> capability for <code>linux</code>
+ and <code>wyse</code> entries to put the delay between the
+ reverse/normal escapes rather than after</li>
+
+ <li>modify <code>linux-16color</code> to not mask dim,
+ standout or reverse with the <em>ncv</em> capability</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#toc-_Open_B_S_D_consoles">
+ <code>pccon</code> <em>entries</em></a></dt>
+
+ <dd>
+ <ul>
+ <li>fixed some inconsistencies in the
+ <code><em>pccon*</em></code> entries</li>
+
+ <li>add bold to <code>pccon+sgr+acs</code> and
+ <code>pccon-base</code></li>
+
+ <li>add keys f12-f124 to <code>pccon+keys</code></li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#toc-_Tmux">
+ <code>tmux</code></a></dt>
+
+ <dd>
+ <ul>
+ <li>corrected <em>sgr</em> string, which used
+ <code>screen</code>'s "standout" code rather than the
+ standard code.</li>
+
+ <li>add settings corresponding to <code>xterm-keys</code>
+ option to reflect upcoming change to make that option
+ <em>"on"</em> by default</li>
+
+ <li>uncanceled <em>Ms</em></li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#toc-_D_E_C__V_T100_and_compatibles">
+ <code>vt100</code></a></dt>
+
+ <dd>
+ <ul>
+ <li>modify <code>vt100</code> <em>rs2</em> string to reset
+ vt52 mode and scrolling regions</li>
+
+ <li>corrected <em>rs2</em> string for
+ <code>vt100-nam</code></li>
+
+ <li>made minor fixes for <code>vt100+4bsd</code>, e.g.,
+ delay in <em>sgr</em> for consistency</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#toc-_G_N_O_M_E__V_T_E_">
+ <code>vte</code></a></dt>
+
+ <dd>
+ <ul>
+ <li>moved SGR 24 and 27 from <code>vte-2014</code> to
+ <code>vte-2012</code></li>
+
+ <li>add a few capabilities fixed in recent <em>VTE</em>
+ development</li>
+ </ul>
+ </dd>
+
+ <dt><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#toc-_X_T_E_R_M">
+ <code>xterm</code></a></dt>
+
+ <dd>
+ <ul>
+ <li>add <em>rep</em> to <code>xterm-new</code>, available
+ since <a href=
+ "https://invisible-island.net/xterm/xterm.log.html#xterm_32">
+ late 1996</a>.</li>
+
+ <li>modify <code>xterm+256color</code> and
+ <code>xterm+256setaf</code> to use correct number of color
+ pairs.</li>
+
+ <li>modify <em>rs1</em> for <code>xterm-16color</code>,
+ <code>xterm-88color</code> and <code>xterm-256color</code>
+ to reset palette using <em>oc</em> string as in
+ <code>linux</code> entry.</li>
+
+ <li>add <em>rs1</em> capability to
+ <code>xterm-256color</code></li>
+
+ <li>add <em>oc</em> capability to
+ <code>xterm+256color</code>, allowing palette reset for
+ <span class="main-name">xterm</span></li>
+
+ <li>add <em>op</em> to <code>xterm+256setaf</code></li>
+
+ <li>modify <code>xterm-r5</code>, <code>xterm-r6</code> and
+ <code>xterm-xf86-v32</code> to use <code>xterm+kbs</code>
+ to match <a href=
+ "https://invisible-island.net/xterm/xterm.log.html#xterm_272">
+ xterm #272</a>, reflecting packager's changes</li>
+
+ <li>used ANSI reply for <em>u8</em> in
+ <code>xterm-new</code>, to reflect vt220-style responses
+ that could be returned.</li>
+
+ <li>made <code>xterm-pcolor</code> <em>sgr</em> consistent
+ with other capabilities</li>
+ </ul>
+ </dd>
</dl>
- <p>The ncurses distribution includes a selection of test programs
- (including a few games).</p>
+ <p>A few entries use extensions (user-defined terminal
+ capabilities):</p>
+
+ <ul>
+ <li>add <em>rmxx</em>/<em>smxx</em> ECMA-48 strikeout extension
+ to <code>tmux</code> and <code>xterm-basic</code></li>
+
+ <li>used <em>RGB</em> capability in new <em>*-direct</em>
+ entries to denote direct-color feature.</li>
+ </ul>
+
+ <h3><a name="h3-documentation" id=
+ "h3-documentation">Documentation</a></h3>
+
+ <p>As usual, this release</p>
+
+ <ul>
+ <li>
+ <p>improves documentation by describing new features,</p>
+ </li>
+
+ <li>
+ <p>attempts to improve the description of features which
+ users have found confusing</p>
+ </li>
+
+ <li>
+ <p>fills in overlooked descriptions of features which were
+ described in the <a href=
+ "https://invisible-island.net/ncurses/NEWS.html">NEWS</a>
+ file but treated sketchily in manual pages.</p>
+ </li>
+ </ul>
+
+ <p>In particular,</p>
+
+ <ul>
+ <li>
+ <p>Since the underlying features for <a href=
+ "https://invisible-island.net/ncurses/man/clear.1.html#h2-HISTORY">
+ <span class="part-name">tset</span></a>, <a href=
+ "https://invisible-island.net/ncurses/man/clear.1.html#h2-HISTORY">
+ <span class="part-name">tput</span></a>, and <a href=
+ "https://invisible-island.net/ncurses/man/clear.1.html#h2-HISTORY">
+ <span class="part-name">clear</span></a> have been better
+ integrated, the documentation now includes information on how
+ those tools evolved.</p>
+
+ <p>In addition to explaining the improved integration of the
+ tools, the manual pages made it easier to see how the tools
+ are similar and how they are different.</p>
+ </li>
+
+ <li>
+ <p>The <code>addch</code> manual page has additional
+ information on <a href=
+ "https://invisible-island.net/ncurses/man/curs_addch.3x.html#h2-PORTABILITY">
+ portability</a> and differences from other
+ implementations.</p>
+ </li>
+
+ <li>
+ <p>The discussion of color-pairs in the <em>attributes</em>
+ manual page is improved in its <a href=
+ "https://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-HISTORY">
+ history section</a>.</p>
+ </li>
+
+ <li>
+ <p>The documentation of the <code>chtype</code>,
+ <code>cchar_t</code> types and the attribute values which can
+ be stored in those types, in particular the <a href=
+ "https://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-HISTORY">
+ history</a> and <a href=
+ "https://invisible-island.net/ncurses/man/curs_attr.3x.html#h2-PORTABILITY">
+ portability</a> sections of the <em>attributes</em> manual
+ page, has been improved.</p>
+ </li>
+
+ <li>
+ <p>improve discussion of <a href=
+ "https://invisible-island.net/ncurses/man/curs_mouse.3x.html#h2-PORTABILITY">
+ portability</a> in the <em>mouse</em> manual.</p>
+ </li>
+
+ <li>
+ <p>The <em>pad</em> manual page has a section on the <a href=
+ "https://invisible-island.net/ncurses/man/curs_pad.3x.html#h2-PORTABILITY">
+ origin and portability</a> of pads.</p>
+ </li>
+
+ <li>
+ <p>Differences between SVr4 and X/Open Curses soft-keys are
+ discussed in a new section on <a href=
+ "https://invisible-island.net/ncurses/man/curs_slk.3x.html#h2-PORTABILITY">
+ portability</a>.</p>
+ </li>
+
+ <li>
+ <p>There are updated/improved notes on portability in the
+ <a href=
+ "https://invisible-island.net/ncurses/man/resizeterm.3x.html#h2-PORTABILITY">
+ resizeterm</a> and <a href=
+ "https://invisible-island.net/ncurses/man/wresize.3x.html#h2-PORTABILITY">
+ wresize</a> manual pages.</p>
+ </li>
+ </ul>
+
+ <p>In addition to providing background information to explain
+ these features and show how they evolved, there are corrections,
+ clarifications, etc.:</p>
+
+ <ul>
+ <li>
+ <p>add note in the <a href=
+ "https://invisible-island.net/ncurses/man/curs_addch.3x.html#h3-ACS-Symbols">
+ <em>addch</em></a> manual about line-drawing when it depends
+ upon UTF-8.</p>
+ </li>
+
+ <li>
+ <p>improve discussion of line-drawing characters in the
+ <a href=
+ "https://invisible-island.net/ncurses/man/curs_add_wch.3x.html">
+ <em>add_wch</em></a> manual.</p>
+ </li>
+
+ <li>
+ <p>explain in <a href=
+ "https://invisible-island.net/ncurses/man/clear.1.html#h2-DESCRIPTION">
+ <span class="part-name">clear</span></a>'s manual page that
+ it writes to the standard output.</p>
+ </li>
+
+ <li>
+ <p>improve description of <a href=
+ "https://invisible-island.net/ncurses/man/curs_initscr.3x.html#h3-endwin">
+ <em>endwin</em></a>.</p>
+ </li>
+
+ <li>
+ <p>improve discussion of field validation in the <a href=
+ "https://invisible-island.net/ncurses/man/form_driver.3x.html">
+ <em>form driver</em></a> manual page.</p>
+ </li>
+
+ <li>
+ <p>clarify the use of <code>wint_t</code> vs
+ <code>wchar_t</code> in <a href=
+ "https://invisible-island.net/ncurses/man/curs_get_wstr.3x.html#h2-RETURN-VALUE">
+ <em>get_wstr</em></a> manual page.</p>
+ </li>
+
+ <li>
+ <p>clarify in the <a href=
+ "https://invisible-island.net/ncurses/man/curs_getch.3x.html#h3-Predefined-key-codes">
+ <em>getch</em></a> manual that the keypad mode affects an
+ application's ability to read <code>KEY_MOUSE</code> codes,
+ but does not affect <code>KEY_RESIZE</code>.</p>
+
+ <p>trim some obsolete/incorrect wording about
+ <code>EINTR</code> from the <em>getch</em> manual page</p>
+
+ <p>improve manual pages for <a href=
+ "https://invisible-island.net/ncurses/man/curs_getch.3x.html#h3-Keypad-Mode">
+ <em>getch</em></a> and <a href=
+ "https://invisible-island.net/ncurses/man/curs_get_wch.3x.html#h2-DESCRIPTION">
+ <em>get_wch</em></a> to point out that they might return
+ user-defined values which have no predefined names in
+ <code>&lt;curses.h&gt;</code></p>
+ </li>
+
+ <li>
+ <p>improve description of the <code>-R</code> option in the
+ <a href=
+ "https://invisible-island.net/ncurses/man/infocmp.1m.html"><span class="part-name">
+ infocmp</span></a> manual page</p>
+ </li>
+
+ <li>
+ <p>clarify in the <a href=
+ "https://invisible-island.net/ncurses/man/resizeterm.3x.html#h2-NOTES">
+ <em>resizeterm</em></a> manual page how
+ <code>KEY_RESIZE</code> is pushed onto the input stream.</p>
+ </li>
+
+ <li>
+ <p>document return value of <a href=
+ "https://invisible-island.net/ncurses/man/curs_extend.3x#h2-RETURN-VALUE">
+ <code>use_extended_names</code></a></p>
+ </li>
+
+ <li>
+ <p>document differences in <a href=
+ "https://invisible-island.net/ncurses/man/curs_variables.3x.html#h2-PORTABILITY">
+ <code>ESCDELAY</code></a> versus AIX's implementation in the
+ <em>variables</em> manual page.</p>
+ </li>
+
+ <li>
+ <p>The <code>_nc_free_tinfo</code> function is now documented
+ in the <a href=
+ "https://invisible-island.net/ncurses/man/curs_memleaks.3x.html">
+ <em>memory-leaks</em></a> manual page, because it could be
+ used in <span class="main-name">tack</span> for memory-leak
+ checking.</p>
+ </li>
+
+ <li>
+ <p>add a note to the <a href=
+ "https://invisible-island.net/ncurses/man/tic.1m.html"><span class="part-name">
+ tic</span></a> manual page about -W versus -f options.</p>
+ </li>
+
+ <li>
+ <p>improve <em>terminfo manual</em> description of <a href=
+ "https://invisible-island.net/ncurses/man/terminfo.5.html#h3-Terminfo-Capabilities-Syntax">
+ terminfo syntax</a>.</p>
+
+ <p>improve terminfo manual page discussion of <a href=
+ "https://invisible-island.net/ncurses/man/terminfo.5.html#h3-Line-Graphics">
+ control- and graphics- characters</a>.</p>
+
+ <p>improve <a href=
+ "https://invisible-island.net/ncurses/man/terminfo.5.html#h3-Color-Handling">
+ color-handling</a> section in terminfo manual page</p>
+ </li>
+
+ <li>
+ <p>clarify description in <a href=
+ "https://invisible-island.net/ncurses/man/tput.1.html#h2-PORTABILITY">
+ <span class="part-name">tput</span></a> manual page regarding
+ support for termcap names</p>
+
+ <p>update <a href=
+ "https://invisible-island.net/ncurses/man/tput.1.html#h3-Aliases">
+ <span class="part-name">tput</span></a> manual page to
+ reflect changes to manipulate terminal modes by sharing
+ functions with <span class="part-name">tset</span>.</p>
+ </li>
+
+ <li>
+ <p>clarify in manual pages that the optional verbose option
+ level of <a href=
+ "https://invisible-island.net/ncurses/man/tic.1m.html#h2-OPTIONS">
+ <span class="part-name">tic</span></a> and <a href=
+ "https://invisible-island.net/ncurses/man/infocmp.1m.html#h3-Other-Options">
+ <span class="part-name">infocmp</span></a> is available only
+ when <span class="main-name">ncurses</span> is configured for
+ tracing.</p>
+ </li>
+
+ <li>
+ <p>improve manual page description of <a href=
+ "https://invisible-island.net/ncurses/man/tset.1.html"><em>tset/reset</em></a>
+ versus window-size.</p>
+ </li>
+
+ <li>
+ <p>improve description of <a href=
+ "https://invisible-island.net/ncurses/man/curs_termcap.3x.html#h3-FORMATTING-CAPABILITIES">
+ <em>tgoto</em></a> parameters</p>
+ </li>
+ </ul>
+
+ <p>There are new manual pages:</p>
+
+ <ul>
+ <li><a href=
+ "https://invisible-island.net/ncurses/man/user_caps.5.html"><em>
+ user_caps</em></a> documents the terminfo extensions used by
+ <span class="main-name">ncurses</span>.</li>
+
+ <li>
+ <p><a href=
+ "https://invisible-island.net/ncurses/man/scr_dump.5.html"><em>
+ scr_dump</em></a> documents the screen-dump format.</p>
+ </li>
+ </ul>
+
+ <p>Some of the improvements are more subtle, relating to the way
+ the information is presented:</p>
+
+ <ul>
+ <li>
+ <p>Made minor fixes to manpage <em>NAME/SYNOPSIS</em>
+ sections to consistently use rule that either all functions
+ which are prototyped in <em>SYNOPSIS</em> are listed in the
+ <em>NAME</em> section, or the manual-page name is the sole
+ item listed in the <em>NAME</em> section. The latter is used
+ to reduce clutter, e.g., for the top-level library manual
+ pages as well as for certain feature-pages such as <a href=
+ "https://invisible-island.net/ncurses/man/curs_sp_funcs.3x.html">
+ <em>SP-funcs</em></a> and <a href=
+ "https://invisible-island.net/ncurses/man/curs_threads.3x.html">
+ <em>threading</em></a>.</p>
+ </li>
+
+ <li>
+ <p>improve manual pages for utilities with respect to POSIX
+ versus X/Open Curses.</p>
+ </li>
+
+ <li>
+ <p>improve organization of the <a href=
+ "https://invisible-island.net/ncurses/man/curs_attr.3x.html"><em>
+ attributes</em></a> and <a href=
+ "/ncurses/man/curs_color.3x.html"><em>color</em></a> manual
+ pages.</p>
+ </li>
+ </ul>
+
+ <h3><a name="h3-bug-fixes" id="h3-bug-fixes">Interesting
+ bug-fixes</a></h3>
+
+ <ul>
+ <li>
+ <p>modify <span class="part-name">toe</span> to not exit if
+ unable to read a terminal description, e.g., if there is a
+ permission problem.</p>
+ </li>
+
+ <li>
+ <p>correct 20100515 change for weak signals versus
+ sigprocmask</p>
+ </li>
+
+ <li>work around Ada tool-breakage in Debian 9 and later by
+ invoking <code>gprconfig</code> to specify the C compiler to be
+ used by <code>gnatmake</code>, and conditionally suppressing
+ <code>Library_Options</code> line for static libraries.</li>
+
+ <li>
+ <p>There were, as well, several bug-fixes to handle illegal
+ input for <span class="part-name">tic</span>. Because those
+ did not correspond to useful terminal descriptions, most
+ users are unaffected.</p>
+ </li>
+ </ul>
+
+ <h3><a name="h3-config-config" id=
+ "h3-config-config">Configuration changes</a></h3>
+
+ <h4><a name="h4-config-major" id="h4-config-major">Major
+ changes</a></h4>
+
+ <p>This release provides a new binary format for terminal
+ descriptions that use extended numeric capabilities. Applications
+ built with the wide-character <em>ncursesw</em> library can use
+ these extended numbers.</p>
+
+ <ul>
+ <li>
+ <p>This includes utilities such as <span class=
+ "part-name">tic</span> and <span class=
+ "part-name">infocmp</span>, because (as noted in <a href=
+ "#h4-new-library"><em>New features</em></a>), the feature
+ relies upon an extension to the low-level <em>tinfo</em>
+ library.</p>
+ </li>
+
+ <li>
+ <p>A few software packagers use a configuration option of
+ <span class="main-name">ncurses</span> which allows the
+ low-level <em>tinfo</em> library to be shared between the
+ high-level <em>ncurses</em> and <em>ncursesw</em> libraries.
+ This new feature was designed to work in that configuration
+ as well.</p>
+ </li>
+ </ul>
+
+ <p>Other applications (i.e., using the 8-bit <em>ncurses</em>
+ library) which read the extended terminal descriptions see those
+ numeric capabilities set to the maximum value for a signed 16-bit
+ number.</p>
+
+ <p>Older versions of <span class="main-name">ncurses</span>'
+ <span class="part-name">tic</span> accept out-of-range numeric
+ capabilities, storing those as the maximum value for a signed
+ 16-bit number. Other implementations of curses (mentioned in the
+ discussion of <a href=
+ "https://invisible-island.net/ncurses/ncurses-slang.html#compare_picsmap">
+ <span class="part-name">picsmap</span></a>) give zero for these
+ out-of-range capabilities.</p>
+
+ <h4><a name="h4-config-options" id=
+ "h4-config-options">Configuration options</a></h4>
+
+ <p>These changes provide support for <span class=
+ "main-name">tack</span> 1.08, released in <a href=
+ "https://invisible-island.net/ncurses/tack/CHANGES.html#index-t20170726">
+ July 2017</a>:</p>
+
+ <ul>
+ <li>
+ <p>add <code>--without-tack</code> configure option to refine
+ <code>--with-progs</code> configure option. Normally
+ <span class="main-name">tack</span> is built outside the
+ <span class="main-name">ncurses</span> tree, but a few
+ packagers combine it during the build. If
+ <code>term_entry.h</code> is installed, there is no advantage
+ to in-tree builds.</p>
+ </li>
+
+ <li>
+ <p>adjust configure-script to define
+ <code>HAVE_CURSES_DATA_BOOLNAMES</code> symbol needed for
+ <span class="main-name">tack</span> 1.08 when built in-tree.
+ Rather than relying upon internal "_nc_" functions,
+ <span class="main-name">tack</span> now uses the boolean,
+ number and string capability name-arrays provided by
+ <span class="main-name">ncurses</span> and SVr4 Unix curses.
+ It still uses <code>term_entry.h</code> for the definitions
+ of the extended capability arrays.</p>
+ </li>
+
+ <li>
+ <p>add dependency upon ncurses_cfg.h to <span class=
+ "part-name">tic</span>'s header-files; any program using
+ <span class="part-name">tic</span>-library will have to
+ supply this file. Legacy <span class="main-name">tack</span>
+ versions supply this file; ongoing <span class=
+ "main-name">tack</span> development has dropped the
+ dependency upon <span class="part-name">tic</span>-library
+ and new releases will not be affected.</p>
+ </li>
+ </ul>
+
+ <p>Other changes to the configure-script and generated files
+ include</p>
+
+ <ul>
+ <li>
+ <p>add configure options to disable checks for form, menu and
+ panel libraries so that ncurses-examples can be built with
+ non-SVr4 curses implementations.</p>
+ </li>
+
+ <li>
+ <p>add configure option <code>--enable-opaque-curses</code>
+ for <em>ncurses</em> library and similar options for the
+ other libraries.</p>
+ </li>
+
+ <li>
+ <p>add configure option <code>--disable-wattr-macros</code>
+ for use in cases where one wants to use the same headers for
+ ncurses5/ncurses6 development, by suppressing the
+ <em>wattr*</em> macros which differ due to the introduction
+ of extended colors</p>
+ </li>
+
+ <li>
+ <p>modify configure macro for shared-library rules to use
+ <code>-Wl,-rpath</code> rather than <code>-rpath</code> to
+ work around a bug in <span class="part-name">scons</span></p>
+ </li>
+
+ <li>
+ <p>improve ncurses-examples' configure script to define as
+ needed <code>NCURSES_WIDECHAR</code> for platforms where
+ <code>_XOPEN_SOURCE_EXTENDED</code> does not work. Also
+ modified the test program to ensure that if building with
+ <span class="main-name">ncurses</span>, that the
+ <code>cchar_t</code> type is checked, since that is normally
+ (since <a href=
+ "https://invisible-island.net/ncurses/NEWS.html#t20111030">20111030</a>)
+ ifdef'd depending on this test.</p>
+ </li>
+
+ <li>
+ <p>modify configure script to handle the case where
+ <span class="part-name">tic</span>-library is renamed, but
+ the <code>--with-debug</code> option is used by itself
+ without normal or shared libraries</p>
+ </li>
+
+ <li>
+ <p>modify editing script which generates resulting.map to
+ work with the clang configuration on recent FreeBSD, which
+ gives an error on an empty "local" section.</p>
+ </li>
+
+ <li>
+ <p>improve configure check for setting the
+ <code>WILDCARD_SYMS</code> variable; on ppc64 the variable is
+ in the <strong><em>Data</em></strong> section rather than
+ <strong><em>Text</em></strong>.</p>
+ </li>
+
+ <li>
+ <p>correct result of configure option
+ <code>--without-fallbacks</code>, which caused FALLBACK_LIST
+ to be set to "no"</p>
+ </li>
+
+ <li>
+ <p>modify <code>--with-pkg-config-libdir</code> option to
+ make it possible to install &ldquo;.pc&rdquo; files even if
+ <span class="part-name">pkg-config</span> is not found. Limit
+ this change, to suppress the actual install if it is not
+ overridden to a valid directory at install time.</p>
+ </li>
+
+ <li>
+ <p>disallow &ldquo;no&rdquo; as a possible value for
+ <code>--with-shlib-version</code> option, overlooked in
+ cleanup-changes for <a href=
+ "https://invisible-island.net/ncurses/NEWS.html#t20000708">20000708</a>.</p>
+ </li>
+ </ul>
+
+ <h3><a name="h3-portability" id=
+ "h3-portability">Portability</a></h3>
+
+ <p>Many of the portability changes are implemented via the
+ configure script:</p>
+
+ <ul>
+ <li>
+ <p>improve configure script's <code>CF_CC_ENV_FLAGS</code>
+ macro to allow for compiler wrappers such as <span class=
+ "part-name">ccache</span>. This change moves only the
+ preprocessor, optimization and warning flags to
+ <code>CPPFLAGS</code> and <code>CFLAGS</code>, leaving the
+ residue in <code>CC</code>. That happens to work for
+ <span class="part-name">gcc</span>'s various
+ &ldquo;model&rdquo; options, but may require tuning for other
+ compilers.</p>
+ </li>
+
+ <li>
+ <p>modify ncurses-examples' configure script to use
+ <span class="part-name">pkg-config</span> for the extra
+ form/menu/panel libraries, to be more consistent with the
+ handling of the curses/ncurses library.</p>
+ </li>
+
+ <li>
+ <p>add configuration checks to build with <a href=
+ "https://invisible-island.net/ncurses/ncurses-netbsd.html">NetBSD
+ curses</a>, which for example lacks <a href=
+ "https://invisible-island.net/ncurses/man/curs_util.3x.html#h3-use_env">
+ <code>use_env</code></a>.</p>
+ </li>
+
+ <li>
+ <p>change ncurses-examples to use <code>attr_t</code> vs
+ <code>chtype</code> to follow X/Open documentation more
+ closely since Solaris xpg4-curses uses different values for
+ <code>WA_<em>xxx</em></code> vs <code>A_<em>xxx</em></code>
+ that rely on attr_t being an unsigned short. Tru64 aka OSF1,
+ HPUX, AIX did as <span class="main-name">ncurses</span> does,
+ equating the two sets.</p>
+ </li>
+
+ <li>
+ <p>modify several test programs to reflect that <span class=
+ "main-name">ncurses</span> honors existing signal handlers in
+ initscr, while other implementations do not.</p>
+ </li>
+
+ <li>
+ <p>add configure check for <code>openpty</code> to
+ ncurses-examples' configure script, for <span class=
+ "part-name">ditto</span>.</p>
+ </li>
+
+ <li>
+ <p>improve check for working <code>poll</code> function by
+ using <code>posix_openpt</code> as a fallback in case there
+ is no valid terminal on the standard input</p>
+ </li>
+
+ <li>
+ <p>modify ncurses-examples' configure script to check for
+ <span class="part-name">pthread</span> dependency of
+ <em>ncursest</em> or <em>ncursestw</em> library when building
+ the <span class="main-name">ncurses</span> examples, e.g., in
+ case weak symbols are used.</p>
+ </li>
+
+ <li>
+ <p>add checks in ncurses-examples' configure script for some
+ functions neither in 4.3BSD curses, nor based on X/Open
+ Curses:</p>
+
+ <ul>
+ <li>
+ <p>modify a loop limit in firework.c to work around
+ absense of limit checks in some libraries.</p>
+ </li>
+
+ <li>
+ <p>fill the last row of a window with
+ &ldquo;<code>?</code>&rdquo; in firstlast if waddch does
+ not return <code>ERR</code> on the lower-right
+ corner.</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>build-fixes for the Portland Group (PGI) compilers</p>
+
+ <ul>
+ <li>
+ <p>accept whitespace in <span class=
+ "part-name">sed</span> expression for generating
+ expanded.c</p>
+ </li>
+
+ <li>
+ <p>modify configure check that g++ compiler warnings are
+ not used.</p>
+ </li>
+
+ <li>
+ <p>add configure check for -fPIC option needed for shared
+ libraries.</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>modify configure script for clang as used on FreeBSD, to
+ work around clang's differences in exit codes vs gcc.</p>
+ </li>
+
+ <li>
+ <p>fixes for configure/build using clang on OSX</p>
+
+ <ul>
+ <li>
+ <p>do not redefine &ldquo;inline&rdquo; in
+ <code>ncurses_cfg.h</code>; this was originally to solve
+ a problem with gcc/g++, but is aggravated by clang's
+ misuse of symbols to pretend it is gcc.</p>
+ </li>
+
+ <li>
+ <p>add braces to configure script to prevent unwanted
+ addition of &ldquo;<code>-lstdc++</code>&rdquo; option to
+ the <code>CXXLIBS</code> symbol.</p>
+ </li>
+
+ <li>
+ <p>improve/update test-program used for checking
+ existence of stdc++ library.</p>
+ </li>
+
+ <li>
+ <p>if <code>$CXXLIBS</code> is set, the linkage test uses
+ that in addition to <code>$LIBS</code>.</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>fixes for OS/2:</p>
+
+ <ul>
+ <li>
+ <p>use button instead of <code>kbuf[0]</code> in
+ EMX-specific part of <code>lib_mouse.c</code></p>
+ </li>
+
+ <li>
+ <p>support building with <span class=
+ "part-name">libtool</span> on OS/2</p>
+ </li>
+
+ <li>
+ <p>use stdc++ library with OS/2 kLIBC</p>
+ </li>
+
+ <li>
+ <p>clear configure script's <code>cf_XOPEN_SOURCE</code>
+ for OS/2, to work with its header files</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>add &ldquo;newer&rdquo; baudrate symbols to the <a href=
+ "https://invisible-island.net/ncurses/man/curs_termattrs.3x.html#h3-baudrate">
+ <code>baudrate</code></a> function in the ncurses library as
+ well as to a corresponding table in <span class=
+ "part-name">tset</span>.</p>
+ </li>
+
+ <li>
+ <p>modify ncurses-examples <span class=
+ "part-name">savescreen</span> to work with AIX and HPUX.</p>
+ </li>
+
+ <li>
+ <p>define <code>WIN32_LEAN_AND_MEAN</code> for MinGW port,
+ making builds faster.</p>
+ </li>
+
+ <li>
+ <p>add a configure check for <em>wcwidth</em> versus the
+ <span class="main-name">ncurses</span> line-drawing
+ characters, to use in special-casing systems such as Solaris.
+ Solaris, however, requires a special case that maps Unicode
+ line-drawing characters into the acsc string for non-Unicode
+ locales. Solaris also has a misconfigured wcwidth which marks
+ all of the line drawing characters as double-width.</p>
+ </li>
+
+ <li>
+ <p>string-hacks (non-standard):</p>
+
+ <ul>
+ <li>
+ <p>fix configure script to record when
+ <code>strlcat</code> is found on OpenBSD.</p>
+ </li>
+
+ <li>
+ <p>add <code>--enable-string-hacks</code> option to
+ ncurses-examples' configure script.</p>
+ </li>
+
+ <li>
+ <p>completed string-hacks for <em>sprintf</em>, etc.,
+ including the ncurses-examples programs.</p>
+ </li>
+
+ <li>
+ <p>make <code>--enable-string-hacks</code> option work
+ with Debian by checking for the "bsd" library and its
+ associated "&lt;bsd/string.h&gt;" header.</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>workaround for Debian's antique/unmaintained version of
+ mawk:</p>
+
+ <ul>
+ <li>
+ <p>see Debian #65617, which was fixed in <span class=
+ "main-name">mawk</span>'s upstream releases in <a href=
+ "https://invisible-island.net/mawk/CHANGES.html#t20090727">
+ 2009</a>.</p>
+ </li>
+
+ <li>
+ <p>related fixes when building link_test.</p>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <hr>
+
+ <h2><a name="h2-features" id="h2-features">Features of
+ <span class="main-name">ncurses</span></a></h2>
+
+ <p>The <span class="main-name">ncurses</span> package is fully
+ upward-compatible with SVr4 (System V Release 4) curses:</p>
+
+ <ul>
+ <li>
+ <p>All of the SVr4 calls have been implemented (and are
+ documented).</p>
+ </li>
+
+ <li>
+ <p><span class="main-name">ncurses</span> supports all of the
+ for SVr4 curses features including keyboard mapping, color,
+ forms-drawing with ACS characters, and automatic recognition
+ of keypad and function keys.</p>
+ </li>
+
+ <li>
+ <p><span class="main-name">ncurses</span> provides these SVr4
+ add-on libraries (not part of X/Open Curses):</p>
+
+ <ul>
+ <li>
+ <p>the panels library, supporting a stack of windows with
+ backing store.</p>
+ </li>
+
+ <li>
+ <p>the menus library, supporting a uniform but flexible
+ interface for menu programming.</p>
+ </li>
+
+ <li>
+ <p>the form library, supporting data collection through
+ on-screen forms.</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p><span class="main-name">ncurses</span>'s terminal database
+ is fully compatible with that used by SVr4 curses.</p>
+
+ <ul>
+ <li>
+ <p><span class="main-name">ncurses</span> supports
+ user-defined capabilities which it can see, but which are
+ hidden from SVr4 curses applications using the
+ <em>same</em> terminal database.</p>
+ </li>
+
+ <li>
+ <p>It can be optionally configured to match the format
+ used in related systems such as AIX and Tru64.</p>
+ </li>
+
+ <li>
+ <p>Alternatively, <span class="main-name">ncurses</span>
+ can be configured to use hashed databases rather than the
+ directory of files used by SVr4 curses.</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>The <span class="main-name">ncurses</span> utilities have
+ options to allow you to filter terminfo entries for use with
+ less capable <em>curses</em>/<em>terminfo</em> versions such
+ as the HP/UX and AIX ports.</p>
+ </li>
+ </ul>
+
+ <p>The <span class="main-name">ncurses</span> package also has
+ many useful extensions over SVr4:</p>
+
+ <ul>
+ <li>
+ <p>The API is 8-bit clean and base-level conformant with the
+ X/OPEN curses specification, XSI curses (that is, it
+ implements all BASE level features, and most EXTENDED
+ features). It includes many function calls not supported
+ under SVr4 curses (but portability of all calls is documented
+ so you can use the SVr4 subset only).</p>
+ </li>
+
+ <li>
+ <p>Unlike SVr3 curses, <span class="main-name">ncurses</span>
+ can write to the rightmost-bottommost corner of the screen if
+ your terminal has an insert-character capability.</p>
+ </li>
+
+ <li>
+ <p>Ada95 and C++ bindings.</p>
+ </li>
+
+ <li>
+ <p>Support for mouse event reporting with X Window xterm and
+ FreeBSD and OS/2 console windows.</p>
+ </li>
+
+ <li>
+ <p>Extended mouse support via Alessandro Rubini's gpm
+ package.</p>
+ </li>
+
+ <li>
+ <p>The function <code>wresize</code> allows you to resize
+ windows, preserving their data.</p>
+ </li>
+
+ <li>
+ <p>The function <code>use_default_colors</code> allows you to
+ use the terminal's default colors for the default color pair,
+ achieving the effect of transparent colors.</p>
+ </li>
+
+ <li>
+ <p>The functions <code>keyok</code> and
+ <code>define_key</code> allow you to better control the use
+ of function keys, e.g., disabling the <span class=
+ "main-name">ncurses</span> KEY_MOUSE, or by defining more
+ than one control sequence to map to a given key code.</p>
+ </li>
+
+ <li>
+ <p>Support for 256-color terminals, such as modern xterm.</p>
+ </li>
+
+ <li>
+ <p>Support for 16-color terminals, such as <em>aixterm</em>
+ and <em>modern xterm</em>.</p>
+ </li>
+
+ <li>
+ <p>Better cursor-movement optimization. The package now
+ features a cursor-local-movement computation more efficient
+ than either BSD's or System V's.</p>
+ </li>
+
+ <li>
+ <p>Super hardware scrolling support. The screen-update code
+ incorporates a novel, simple, and cheap algorithm that
+ enables it to make optimal use of hardware scrolling,
+ line-insertion, and line-deletion for screen-line movements.
+ This algorithm is more powerful than the 4.4BSD curses
+ <code>quickch</code> routine.</p>
+ </li>
+
+ <li>
+ <p>Real support for terminals with the magic-cookie glitch.
+ The screen-update code will refrain from drawing a highlight
+ if the magic- cookie unattributed spaces required just before
+ the beginning and after the end would step on a non-space
+ character. It will automatically shift highlight boundaries
+ when doing so would make it possible to draw the highlight
+ without changing the visual appearance of the screen.</p>
+ </li>
+
+ <li>
+ <p>It is possible to generate the library with a list of
+ pre-loaded fallback entries linked to it so that it can serve
+ those terminal types even when no terminfo tree or termcap
+ file is accessible (this may be useful for support of
+ screen-oriented programs that must run in single-user
+ mode).</p>
+ </li>
+
+ <li>
+ <p>The <a href=
+ "https://invisible-island.net/ncurses/man/tic.1m.html"><span class="part-name">
+ tic</span></a>/<a href=
+ "https://invisible-island.net/ncurses/man/captoinfo.1m.html">captoinfo</a>
+ utility provided with <span class="main-name">ncurses</span>
+ has the ability to translate many termcaps from the XENIX,
+ IBM and AT&amp;T extension sets.</p>
+ </li>
+
+ <li>
+ <p>A BSD-like <a href=
+ "https://invisible-island.net/ncurses/man/tset.1.html"><span class="part-name">
+ tset</span></a> utility is provided.</p>
+ </li>
+
+ <li>
+ <p>The <span class="main-name">ncurses</span> library and
+ utilities will automatically read terminfo entries from
+ $HOME/.terminfo if it exists, and compile to that directory
+ if it exists and the user has no write access to the system
+ directory. This feature makes it easier for users to have
+ personal terminfo entries without giving up access to the
+ system terminfo directory.</p>
+ </li>
+
+ <li>
+ <p>You may specify a path of directories to search for
+ compiled descriptions with the environment variable
+ TERMINFO_DIRS (this generalizes the feature provided by
+ TERMINFO under stock System V.)</p>
+ </li>
+
+ <li>
+ <p>In terminfo source files, use capabilities may refer not
+ just to other entries in the same source file (as in System
+ V) but also to compiled entries in either the system terminfo
+ directory or the user's $HOME/.terminfo directory.</p>
+ </li>
+
+ <li>
+ <p>The table-of-entries utility <a href=
+ "https://invisible-island.net/ncurses/man/toe.1m.html"><span class="part-name">
+ toe</span></a> makes it easy for users to see exactly what
+ terminal types are available on the system.</p>
+ </li>
+
+ <li>
+ <p>The library meets the XSI requirement that every macro
+ entry point have a corresponding function which may be linked
+ (and will be prototype-checked) if the macro definition is
+ disabled with <code>#undef</code>.</p>
+ </li>
+
+ <li>
+ <p>Extensive documentation is provided (see the <em><a href=
+ "https://invisible-island.net/ncurses/ncurses.faq.html#additional_reading">
+ Additional Reading</a></em> section of the <em><a href=
+ "https://invisible-island.net/ncurses/ncurses.faq.html"><span class="main-name">
+ ncurses</span> FAQ</a></em> for online documentation).</p>
+ </li>
+ </ul>
+
+ <h2><a name="h2-who-uses" id="h2-who-uses">Applications using
+ <span class="main-name">ncurses</span></a></h2>
+
+ <p>The <span class="main-name">ncurses</span> distribution
+ includes a selection of test programs (including a few games).
+ These are available separately as <a href=
+ "https://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a></p>
+
+ <p>The ncurses library has been tested with a wide variety of
+ applications including:</p>
+
+ <blockquote>
+ <dl>
+ <dt><span class="part-name">aptitude</span></dt>
+
+ <dd>
+ <p>FrontEnd to Apt, the debian package manager</p>
+
+ <p><a href=
+ "https://wiki.debian.org/Aptitude">https://wiki.debian.org/Aptitude</a></p>
+ </dd>
+
+ <dt><span class="part-name">cdk</span></dt>
+
+ <dd>
+ <p>Curses Development Kit</p>
+
+ <p><a href=
+ "https://invisible-island.net/cdk/">https://invisible-island.net/cdk/</a><br>
+ </p>
+ </dd>
+
+ <dt><span class="part-name">ded</span></dt>
+
+ <dd>
+ <p>directory-editor</p>
+
+ <p><a href=
+ "https://invisible-island.net/ded/">https://invisible-island.net/ded/</a></p>
+ </dd>
+
+ <dt><span class="part-name">dialog</span></dt>
+
+ <dd>
+ <p>the underlying application used in Slackware's setup,
+ and the basis for similar install/configure applications on
+ many systems.</p>
+
+ <p><a href=
+ "https://invisible-island.net/dialog/">https://invisible-island.net/dialog/</a></p>
+ </dd>
+
+ <dt><span class="part-name">lynx</span></dt>
+
+ <dd>
+ <p>the text WWW browser</p>
+
+ <p><a href=
+ "https://lynx.invisible-island.net/">https://lynx.invisible-island.net/</a></p>
+ </dd>
+
+ <dt><span class="part-name">mutt</span></dt>
+
+ <dd>
+ <p>mail utility</p>
+
+ <p><a href=
+ "http://www.mutt.org/">http://www.mutt.org/</a></p>
+ </dd>
+
+ <dt><span class="part-name">ncftp</span></dt>
+
+ <dd>
+ <p>file-transfer utility</p>
- <h2>Who's Who and What's What</h2>Zeyd Ben-Halim started it from
- a previous package pcurses, written by Pavel Curtis. Eric S.
+ <p><a href=
+ "https://www.ncftp.com/">https://www.ncftp.com/</a></p>
+ </dd>
+
+ <dt><span class="part-name">nvi</span></dt>
+
+ <dd>
+ <p>New vi uses ncurses.</p>
+
+ <p><a href=
+ "https://sites.google.com/a/bostic.com/keithbostic/vi">https://sites.google.com/a/bostic.com/keithbostic/vi</a><br>
+ </p>
+ </dd>
+
+ <dt><span class="part-name">ranger</span></dt>
+
+ <dd>
+ <p>A console file manager with VI key bindings in
+ <em>Python</em>.</p>
+
+ <p><a href=
+ "https://ranger.github.io/">https://ranger.github.io/</a></p>
+ </dd>
+
+ <dt><span class="part-name">tin</span></dt>
+
+ <dd>
+ <p>newsreader, supporting color, MIME</p>
+
+ <p><a href=
+ "http://www.tin.org/">http://www.tin.org/</a></p>
+ </dd>
+
+ <dt><span class="part-name">vifm</span></dt>
+
+ <dd>
+ <p>File manager with vi like keybindings</p>
+
+ <p><a href="https://vifm.info/">https://vifm.info/</a></p>
+ </dd>
+ </dl>
+ </blockquote>
+
+ <p>as well as some that use <span class=
+ "main-name">ncurses</span> for the terminfo support alone:</p>
+
+ <blockquote>
+ <dl>
+ <dt><span class="part-name">minicom</span></dt>
+
+ <dd>
+ <p>terminal emulator for serial modem connections</p>
+
+ <p><a href=
+ "https://alioth.debian.org/projects/minicom/">https://alioth.debian.org/projects/minicom/</a></p>
+ </dd>
+
+ <dt><span class="part-name">mosh</span></dt>
+
+ <dd>
+ <p>a replacement for <code>ssh</code>.</p>
+
+ <p><a href=
+ "https://mosh.mit.edu/">https://mosh.mit.edu/</a></p>
+ </dd>
+
+ <dt><span class="part-name">tack</span></dt>
+
+ <dd>
+ <p>terminfo action checker</p>
+
+ <p><a href=
+ "https://invisible-island.net/ncurses/tack.html">https://invisible-island.net/ncurses/tack.html</a></p>
+ </dd>
+
+ <dt><span class="part-name">tmux</span></dt>
+
+ <dd>
+ <p>terminal multiplexor</p>
+
+ <p><a href=
+ "https://github.com/tmux/tmux/wiki">https://github.com/tmux/tmux/wiki</a></p>
+ </dd>
+
+ <dt><span class="part-name">vile</span></dt>
+
+ <dd>
+ <p>vi-like-emacs may be built to use the terminfo, termcap
+ or curses interfaces.</p>
+
+ <p><a href=
+ "https://invisible-island.net/vile/">https://invisible-island.net/vile/</a></p>
+ </dd>
+ </dl>
+ </blockquote>
+
+ <p>and finally, those which use only the termcap interface:</p>
+
+ <blockquote>
+ <dl>
+ <dt><span class="part-name">emacs</span></dt>
+
+ <dd>
+ <p>text editor</p>
+
+ <p><a href=
+ "https://www.gnu.org/software/emacs/">https://www.gnu.org/software/emacs/</a></p>
+ </dd>
+
+ <dt><span class="part-name">less</span></dt>
+
+ <dd>
+ <p>The most commonly used <em>pager</em> (a program that
+ displays text files).</p>
+
+ <p><a href=
+ "http://www.greenwoodsoftware.com/less/">http://www.greenwoodsoftware.com/less/</a></p>
+ </dd>
+
+ <dt><span class="part-name">screen</span></dt>
+
+ <dd>
+ <p>terminal multiplexor</p>
+
+ <p><a href=
+ "https://www.gnu.org/software/screen/">https://www.gnu.org/software/screen/</a></p>
+ </dd>
+
+ <dt><span class="part-name">vim</span></dt>
+
+ <dd>
+ <p>text editor</p>
+
+ <p><a href=
+ "https://www.vim.org/">https://www.vim.org/</a></p>
+ </dd>
+ </dl>
+ </blockquote>
+
+ <h2><a name="h2-development" id="h2-development">Development
+ activities</a></h2>
+
+ <p>Zeyd Ben-Halim started <span class="main-name">ncurses</span>
+ from a previous package pcurses, written by Pavel Curtis. Eric S.
Raymond continued development. J&uuml;rgen Pfeifer wrote most of
- the form and menu libraries. Ongoing work is being done by
+ the form and menu libraries. Ongoing development work is done by
<a href="mailto:dickey@invisible-island.net">Thomas Dickey</a>.
- Thomas Dickey acts as the maintainer for the Free Software
- Foundation, which holds the copyright on ncurses. Contact the
- current maintainers at <a href=
- "mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>.
+ Thomas Dickey also acts as the maintainer for the Free Software
+ Foundation, which holds the <a href=
+ "https://invisible-island.net/ncurses/ncurses-license.html">copyright
+ on ncurses</a>.</p>
+
+ <p>Contact the current maintainers at</p>
+
+ <blockquote>
+ <a href="mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>
+ </blockquote>
- <p>To join the ncurses mailing list, please write email to
- <code>bug-ncurses-request@gnu.org</code> containing the line:</p>
- <pre>
- subscribe &lt;name&gt;@&lt;host.domain&gt;
-</pre>
+ <p>To join the ncurses mailing list, please write email to</p>
+
+ <blockquote>
+ <a href=
+ "mailto:bug-ncurses-request@gnu.org">bug-ncurses-request@gnu.org</a>
+ </blockquote>containing the line:
+
+ <blockquote>
+ <p><code>subscribe</code>
+ <em>&lt;name&gt;@&lt;host.domain&gt;</em></p>
+ </blockquote>
<p>This list is open to anyone interested in helping with the
development and testing of this package.</p>
- <p>Beta versions of ncurses and patches to the current release
- are made available at <a href=
- "ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a>&nbsp;.</p>
+ <p>Beta versions of <span class="main-name">ncurses</span> and
+ patches to the current release are made available at</p>
+
+ <blockquote>
+ <p><a href=
+ "ftp://ftp.invisible-island.net/ncurses/">ftp://ftp.invisible-island.net/ncurses/</a>
+ and<br>
+ <a href=
+ "https://invisible-mirror.net/archives/ncurses/">https://invisible-mirror.net/archives/ncurses/</a>&nbsp;.</p>
+ </blockquote>
+
+ <p>There is an archive of the mailing list here:</p>
+
+ <blockquote>
+ <p><a href=
+ "http://lists.gnu.org/archive/html/bug-ncurses">http://lists.gnu.org/archive/html/bug-ncurses</a>
+ (also <a href=
+ "https://lists.gnu.org/archive/html/bug-ncurses">https</a>)</p>
+ </blockquote>
- <h2>Future Plans</h2>
+ <h2><a name="h2-this-stuff" id="h2-this-stuff">Related
+ resources</a></h2>
+
+ <p>The release notes make scattered references to these pages,
+ which may be interesting by themselves:</p>
<ul>
- <li>Extended-level XPG4 conformance, with internationalization
- support.</li>
+ <li><a href=
+ "https://invisible-island.net/ncurses/ncurses-license.html"><span class="main-name">
+ ncurses</span> licensing</a></li>
+
+ <li><a href=
+ "https://invisible-island.net/ncurses/ncurses-mapsyms.html">Symbol
+ versioning in <span class="main-name">ncurses</span></a></li>
+
+ <li><a href=
+ "https://invisible-island.net/ncurses/ncurses-slang.html">Comments
+ on <span class="main-name">ncurses</span> versus <span class=
+ "main-name">slang</span> (S-Lang)</a></li>
+
+ <li><a href=
+ "https://invisible-island.net/ncurses/tack.html">tack &ndash;
+ terminfo action checker</a></li>
+
+ <li><a href=
+ "https://invisible-island.net/ncurses/tctest.html">tctest
+ &ndash; termcap library checker</a></li>
+
+ <li><a href=
+ "https://invisible-island.net/ncurses/ncurses.html#download_database">
+ Terminal Database</a></li>
+ </ul>
- <li>Ports to more systems, including DOS and Windows.</li>
- </ul>We need people to help with these projects. If you are
- interested in working on them, please join the ncurses list.
+ <h2><a name="h2-other-stuff" id="h2-other-stuff">Other
+ resources</a></h2>
- <h2>Other Related Resources</h2>The distribution provides a newer
- version of the terminfo-format terminal description file once
- maintained by <a href="http://www.catb.org/~esr/terminfo/">Eric
+ <p>The distribution provides a newer version of the
+ terminfo-format terminal description file once maintained by
+ <a href="http://www.catb.org/~esr/terminfo/">Eric
Raymond</a>&nbsp;. Unlike the older version, the termcap and
- terminfo data are provided in the same file, and provides several
- user-definable extensions beyond the X/Open specification.
+ terminfo data are provided in the same file, which also provides
+ several user-definable extensions beyond the X/Open
+ specification.</p>
<p>You can find lots of information on terminal-related topics
not covered in the terminfo file at <a href=
"http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal">
Richard Shuford's archive</a>&nbsp;.</p>
+
+ <div class="nav">
+ <ul>
+ <li><a href="#h2-overview">Overview</a></li>
+
+ <li>
+ <a href="#h2-release-notes">Release Notes</a>
+
+ <ul>
+ <li>
+ <a href="#h3-library">Library improvements</a>
+
+ <ul>
+ <li><a href="#h4-new-library">New features</a></li>
+
+ <li><a href="#h4-fixes-library">Other
+ improvements</a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#h3-programs">Program improvements</a>
+
+ <ul>
+ <li><a href="#h4-utilities">Utilities</a></li>
+
+ <li><a href="#h4-examples">Examples</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#h3-database">Terminal database</a></li>
+
+ <li><a href="#h3-documentation">Documentation</a></li>
+
+ <li><a href="#h3-bug-fixes">Interesting
+ bug-fixes</a></li>
+
+ <li>
+ <a href="#h3-config-config">Configuration changes</a>
+
+ <ul>
+ <li><a href="#h4-config-major">Major changes</a></li>
+
+ <li><a href="#h4-config-options">Configuration
+ options</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#h3-portability">Portability</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#h2-features">Features of <span class=
+ "main-name">ncurses</span></a></li>
+
+ <li><a href="#h2-who-uses">Applications using <span class=
+ "main-name">ncurses</span></a></li>
+
+ <li><a href="#h2-development">Development activities</a></li>
+
+ <li><a href="#h2-this-stuff">Related resources</a></li>
+
+ <li><a href="#h2-other-stuff">Other resources</a></li>
+ </ul>
+ </div>
</body>
</html>
diff --git a/doc/html/hackguide.html b/doc/html/hackguide.html
index 84370809ebf3..3bf9d09435bd 100644
--- a/doc/html/hackguide.html
+++ b/doc/html/hackguide.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
- $Id: hackguide.html,v 1.29 2013/05/17 23:29:18 tom Exp $
+ $Id: hackguide.html,v 1.32 2019/07/28 18:08:54 tom Exp $
****************************************************************************
- * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,886 +28,941 @@
* authorization. *
****************************************************************************
-->
-<HTML>
-<HEAD>
-<TITLE>A Hacker's Guide to Ncurses Internals</TITLE>
-<link rev="made" href="mailto:bugs-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<!--
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+ <meta name="generator" content=
+ "HTML Tidy for HTML5 for Linux version 5.2.0">
+
+ <title>A Hacker's Guide to Ncurses Internals</title>
+ <link rel="author" href="mailto:bugs-ncurses@gnu.org">
+ <meta http-equiv="Content-Type" content=
+ "text/html; charset=us-ascii"><!--
This document is self-contained, *except* that there is one relative link to
the ncurses-intro.html document, expected to be in the same directory with
this one.
-->
-</HEAD>
-<BODY>
-
-<H1>A Hacker's Guide to NCURSES</H1>
-
-<H1>Contents</H1>
-<UL>
-<LI><A HREF="#abstract">Abstract</A>
-<LI><A HREF="#objective">Objective of the Package</A>
-<UL>
-<LI><A HREF="#whysvr4">Why System V Curses?</A>
-<LI><A HREF="#extensions">How to Design Extensions</A>
-</UL>
-<LI><A HREF="#portability">Portability and Configuration</A>
-<LI><A HREF="#documentation">Documentation Conventions</A>
-<LI><A HREF="#bugtrack">How to Report Bugs</A>
-<LI><A HREF="#ncurslib">A Tour of the Ncurses Library</A>
-<UL>
-<LI><A HREF="#loverview">Library Overview</A>
-<LI><A HREF="#engine">The Engine Room</A>
-<LI><A HREF="#input">Keyboard Input</A>
-<LI><A HREF="#mouse">Mouse Events</A>
-<LI><A HREF="#output">Output and Screen Updating</A>
-</UL>
-<LI><A HREF="#fmnote">The Forms and Menu Libraries</A>
-<LI><A HREF="#tic">A Tour of the Terminfo Compiler</A>
-<UL>
-<LI><A HREF="#nonuse">Translation of Non-<STRONG>use</STRONG> Capabilities</A>
-<LI><A HREF="#uses">Use Capability Resolution</A>
-<LI><A HREF="#translation">Source-Form Translation</A>
-</UL>
-<LI><A HREF="#utils">Other Utilities</A>
-<LI><A HREF="#style">Style Tips for Developers</A>
-<LI><A HREF="#port">Porting Hints</A>
-</UL>
-
-<H1><A NAME="abstract">Abstract</A></H1>
-
-This document is a hacker's tour of the <STRONG>ncurses</STRONG> library and utilities.
-It discusses design philosophy, implementation methods, and the
-conventions used for coding and documentation. It is recommended
-reading for anyone who is interested in porting, extending or improving the
-package.
-
-<H1><A NAME="objective">Objective of the Package</A></H1>
-
-The objective of the <STRONG>ncurses</STRONG> package is to provide a free software API for
-character-cell terminals and terminal emulators with the following
-characteristics:
-
-<UL>
-<LI>Source-compatible with historical curses implementations (including
- the original BSD curses and System V curses.
-<LI>Conformant with the XSI Curses standard issued as part of XPG4 by
- X/Open.
-<LI>High-quality -- stable and reliable code, wide portability, good
- packaging, superior documentation.
-<LI>Featureful -- should eliminate as much of the drudgery of C interface
- programming as possible, freeing programmers to think at a higher
- level of design.
-</UL>
-
-These objectives are in priority order. So, for example, source
-compatibility with older version must trump featurefulness -- we cannot
-add features if it means breaking the portion of the API corresponding
-to historical curses versions.
-
-<H2><A NAME="whysvr4">Why System V Curses?</A></H2>
-
-We used System V curses as a model, reverse-engineering their API, in
-order to fulfill the first two objectives. <P>
-
-System V curses implementations can support BSD curses programs with
-just a recompilation, so by capturing the System V API we also
-capture BSD's. <P>
-
-More importantly for the future, the XSI Curses standard issued by X/Open
-is explicitly and closely modeled on System V. So conformance with
-System V took us most of the way to base-level XSI conformance.
-
-<H2><A NAME="extensions">How to Design Extensions</A></H2>
-
-The third objective (standards conformance) requires that it be easy to
-condition source code using <STRONG>ncurses</STRONG> so that the absence of nonstandard
-extensions does not break the code. <P>
-
-Accordingly, we have a policy of associating with each nonstandard extension
-a feature macro, so that ncurses client code can use this macro to condition
-in or out the code that requires the <STRONG>ncurses</STRONG> extension. <P>
-
-For example, there is a macro <CODE>NCURSES_MOUSE_VERSION</CODE> which XSI Curses
-does not define, but which is defined in the <STRONG>ncurses</STRONG> library header.
-You can use this to condition the calls to the mouse API calls.
-
-<H1><A NAME="portability">Portability and Configuration</A></H1>
-
-Code written for <STRONG>ncurses</STRONG> may assume an ANSI-standard C compiler and
-POSIX-compatible OS interface. It may also assume the presence of a
-System-V-compatible <EM>select(2)</EM> call. <P>
-
-We encourage (but do not require) developers to make the code friendly
-to less-capable UNIX environments wherever possible. <P>
-
-We encourage developers to support OS-specific optimizations and methods
-not available under POSIX/ANSI, provided only that:
-
-<UL>
-<LI>All such code is properly conditioned so the build process does not
- attempt to compile it under a plain ANSI/POSIX environment.
-<LI>Adding such implementation methods does not introduce incompatibilities
- in the <STRONG>ncurses</STRONG> API between platforms.
-</UL>
-
-We use GNU <CODE>autoconf(1)</CODE> as a tool to deal with portability issues.
-The right way to leverage an OS-specific feature is to modify the autoconf
-specification files (configure.in and aclocal.m4) to set up a new feature
-macro, which you then use to condition your code.
-
-<H1><A NAME="documentation">Documentation Conventions</A></H1>
-
-There are three kinds of documentation associated with this package. Each
-has a different preferred format:
-
-<UL>
-<LI>Package-internal files (README, INSTALL, TO-DO etc.)
-<LI>Manual pages.
-<LI>Everything else (i.e., narrative documentation).
-</UL>
-
-Our conventions are simple:
-<OL>
-<LI><STRONG>Maintain package-internal files in plain text.</STRONG>
- The expected viewer for them <EM>more(1)</EM> or an editor window; there's
- no point in elaborate mark-up.
-
-<LI><STRONG>Mark up manual pages in the man macros.</STRONG> These have to be viewable
- through traditional <EM>man(1)</EM> programs.
-
-<LI><STRONG>Write everything else in HTML.</STRONG>
-</OL>
-
-When in doubt, HTMLize a master and use <EM>lynx(1)</EM> to generate
-plain ASCII (as we do for the announcement document). <P>
+</head>
+
+<body>
+ <h1>A Hacker's Guide to NCURSES</h1>
+
+ <h1>Contents</h1>
+
+ <ul>
+ <li><a href="#abstract">Abstract</a></li>
+
+ <li>
+ <a href="#objective">Objective of the Package</a>
+
+ <ul>
+ <li><a href="#whysvr4">Why System V Curses?</a></li>
+
+ <li><a href="#extensions">How to Design Extensions</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#portability">Portability and Configuration</a></li>
+
+ <li><a href="#documentation">Documentation Conventions</a></li>
+
+ <li><a href="#bugtrack">How to Report Bugs</a></li>
+
+ <li>
+ <a href="#ncurslib">A Tour of the Ncurses Library</a>
+
+ <ul>
+ <li><a href="#loverview">Library Overview</a></li>
+
+ <li><a href="#engine">The Engine Room</a></li>
+
+ <li><a href="#input">Keyboard Input</a></li>
+
+ <li><a href="#mouse">Mouse Events</a></li>
+
+ <li><a href="#output">Output and Screen Updating</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#fmnote">The Forms and Menu Libraries</a></li>
+
+ <li>
+ <a href="#tic">A Tour of the Terminfo Compiler</a>
+
+ <ul>
+ <li><a href="#nonuse">Translation of
+ Non-<strong>use</strong> Capabilities</a></li>
+
+ <li><a href="#uses">Use Capability Resolution</a></li>
+
+ <li><a href="#translation">Source-Form Translation</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#utils">Other Utilities</a></li>
+
+ <li><a href="#style">Style Tips for Developers</a></li>
+
+ <li><a href="#port">Porting Hints</a></li>
+ </ul>
+
+ <h1><a name="abstract" id="abstract">Abstract</a></h1>
+
+ <p>This document is a hacker's tour of the
+ <strong>ncurses</strong> library and utilities. It discusses
+ design philosophy, implementation methods, and the conventions
+ used for coding and documentation. It is recommended reading for
+ anyone who is interested in porting, extending or improving the
+ package.</p>
+
+ <h1><a name="objective" id="objective">Objective of the
+ Package</a></h1>
+
+ <p>The objective of the <strong>ncurses</strong> package is to
+ provide a free software API for character-cell terminals and
+ terminal emulators with the following characteristics:</p>
+
+ <ul>
+ <li>Source-compatible with historical curses implementations
+ (including the original BSD curses and System V curses.</li>
+
+ <li>Conformant with the XSI Curses standard issued as part of
+ XPG4 by X/Open.</li>
+
+ <li>High-quality &mdash; stable and reliable code, wide
+ portability, good packaging, superior documentation.</li>
+
+ <li>Featureful &mdash; should eliminate as much of the drudgery
+ of C interface programming as possible, freeing programmers to
+ think at a higher level of design.</li>
+ </ul>
+
+ <p>These objectives are in priority order. So, for example,
+ source compatibility with older version must trump featurefulness
+ &mdash; we cannot add features if it means breaking the portion
+ of the API corresponding to historical curses versions.</p>
+
+ <h2><a name="whysvr4" id="whysvr4">Why System V Curses?</a></h2>
+
+ <p>We used System V curses as a model, reverse-engineering their
+ API, in order to fulfill the first two objectives.</p>
+
+ <p>System V curses implementations can support BSD curses
+ programs with just a recompilation, so by capturing the System V
+ API we also capture BSD's.</p>
+
+ <p>More importantly for the future, the XSI Curses standard
+ issued by X/Open is explicitly and closely modeled on System V.
+ So conformance with System V took us most of the way to
+ base-level XSI conformance.</p>
+
+ <h2><a name="extensions" id="extensions">How to Design
+ Extensions</a></h2>
+
+ <p>The third objective (standards conformance) requires that it
+ be easy to condition source code using <strong>ncurses</strong>
+ so that the absence of nonstandard extensions does not break the
+ code.</p>
+
+ <p>Accordingly, we have a policy of associating with each
+ nonstandard extension a feature macro, so that ncurses client
+ code can use this macro to condition in or out the code that
+ requires the <strong>ncurses</strong> extension.</p>
+
+ <p>For example, there is a macro
+ <code>NCURSES_MOUSE_VERSION</code> which XSI Curses does not
+ define, but which is defined in the <strong>ncurses</strong>
+ library header. You can use this to condition the calls to the
+ mouse API calls.</p>
+
+ <h1><a name="portability" id="portability">Portability and
+ Configuration</a></h1>
+
+ <p>Code written for <strong>ncurses</strong> may assume an
+ ANSI-standard C compiler and POSIX-compatible OS interface. It
+ may also assume the presence of a System-V-compatible
+ <em>select(2)</em> call.</p>
+
+ <p>We encourage (but do not require) developers to make the code
+ friendly to less-capable UNIX environments wherever possible.</p>
+
+ <p>We encourage developers to support OS-specific optimizations
+ and methods not available under POSIX/ANSI, provided only
+ that:</p>
+
+ <ul>
+ <li>All such code is properly conditioned so the build process
+ does not attempt to compile it under a plain ANSI/POSIX
+ environment.</li>
+
+ <li>Adding such implementation methods does not introduce
+ incompatibilities in the <strong>ncurses</strong> API between
+ platforms.</li>
+ </ul>
+
+ <p>We use GNU <code>autoconf(1)</code> as a tool to deal with
+ portability issues. The right way to leverage an OS-specific
+ feature is to modify the autoconf specification files
+ (configure.in and aclocal.m4) to set up a new feature macro,
+ which you then use to condition your code.</p>
+
+ <h1><a name="documentation" id="documentation">Documentation
+ Conventions</a></h1>
+
+ <p>There are three kinds of documentation associated with this
+ package. Each has a different preferred format:</p>
+
+ <ul>
+ <li>Package-internal files (README, INSTALL, TO-DO etc.)</li>
+
+ <li>Manual pages.</li>
+
+ <li>Everything else (i.e., narrative documentation).</li>
+ </ul>
+
+ <p>Our conventions are simple:</p>
+
+ <ol>
+ <li><strong>Maintain package-internal files in plain
+ text.</strong> The expected viewer for them <em>more(1)</em> or
+ an editor window; there is no point in elaborate mark-up.</li>
+
+ <li><strong>Mark up manual pages in the man macros.</strong>
+ These have to be viewable through traditional <em>man(1)</em>
+ programs.</li>
-The reason for choosing HTML is that it's (a) well-adapted for on-line
-browsing through viewers that are everywhere; (b) more easily readable
-as plain text than most other mark-ups, if you don't have a viewer; and (c)
-carries enough information that you can generate a nice-looking printed
-version from it. Also, of course, it make exporting things like the
-announcement document to WWW pretty trivial.
-
-<H1><A NAME="bugtrack">How to Report Bugs</A></H1>
-
-The <A NAME="bugreport">reporting address for bugs</A> is
-<A HREF="mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</A>.
-This is a majordomo list; to join, write
-to <CODE>bug-ncurses-request@gnu.org</CODE> with a message containing the line:
-<PRE>
+ <li><strong>Write everything else in HTML.</strong>
+ </li>
+ </ol>
+
+ <p>When in doubt, HTMLize a master and use <em>lynx(1)</em> to
+ generate plain ASCII (as we do for the announcement
+ document).</p>
+
+ <p>The reason for choosing HTML is that it is (a) well-adapted
+ for on-line browsing through viewers that are everywhere; (b)
+ more easily readable as plain text than most other mark-ups, if
+ you do not have a viewer; and (c) carries enough information that
+ you can generate a nice-looking printed version from it. Also, of
+ course, it make exporting things like the announcement document
+ to WWW pretty trivial.</p>
+
+ <h1><a name="bugtrack" id="bugtrack">How to Report Bugs</a></h1>
+
+ <p>The <a name="bugreport" id="bugreport">reporting address for
+ bugs</a> is <a href=
+ "mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>. This is a
+ majordomo list; to join, write to
+ <code>bug-ncurses-request@gnu.org</code> with a message
+ containing the line:</p>
+
+ <pre>
subscribe &lt;name&gt;@&lt;host.domain&gt;
-</PRE>
-
-The <CODE>ncurses</CODE> code is maintained by a small group of
-volunteers. While we try our best to fix bugs promptly, we simply
-don't have a lot of hours to spend on elementary hand-holding. We rely
-on intelligent cooperation from our users. If you think you have
-found a bug in <CODE>ncurses</CODE>, there are some steps you can take
-before contacting us that will help get the bug fixed quickly. <P>
-
-In order to use our bug-fixing time efficiently, we put people who
-show us they've taken these steps at the head of our queue. This
-means that if you don't, you'll probably end up at the tail end and
-have to wait a while.
-
-<OL>
-<LI>Develop a recipe to reproduce the bug.
-<p>
-Bugs we can reproduce are likely to be fixed very quickly, often
-within days. The most effective single thing you can do to get a
-quick fix is develop a way we can duplicate the bad behavior --
-ideally, by giving us source for a small, portable test program that
-breaks the library. (Even better is a keystroke recipe using one of
-the test programs provided with the distribution.)
-
-<LI>Try to reproduce the bug on a different terminal type. <P>
-
-In our experience, most of the behaviors people report as library bugs
-are actually due to subtle problems in terminal descriptions. This is
-especially likely to be true if you're using a traditional
-asynchronous terminal or PC-based terminal emulator, rather than xterm
-or a UNIX console entry. <P>
-
-It's therefore extremely helpful if you can tell us whether or not your
-problem reproduces on other terminal types. Usually you'll have both
-a console type and xterm available; please tell us whether or not your
-bug reproduces on both. <P>
-
-If you have xterm available, it is also good to collect xterm reports for
-different window sizes. This is especially true if you normally use an
-unusual xterm window size -- a surprising number of the bugs we've seen
-are either triggered or masked by these.
-
-<LI>Generate and examine a trace file for the broken behavior. <P>
-
-Recompile your program with the debugging versions of the libraries.
-Insert a <CODE>trace()</CODE> call with the argument set to <CODE>TRACE_UPDATE</CODE>.
-(See <A HREF="ncurses-intro.html#debugging">"Writing Programs with
-NCURSES"</A> for details on trace levels.)
-Reproduce your bug, then look at the trace file to see what the library
-was actually doing. <P>
-
-Another frequent cause of apparent bugs is application coding errors
-that cause the wrong things to be put on the virtual screen. Looking
-at the virtual-screen dumps in the trace file will tell you immediately if
-this is happening, and save you from the possible embarrassment of being
-told that the bug is in your code and is your problem rather than ours. <P>
-
-If the virtual-screen dumps look correct but the bug persists, it's
-possible to crank up the trace level to give more and more information
-about the library's update actions and the control sequences it issues
-to perform them. The test directory of the distribution contains a
-tool for digesting these logs to make them less tedious to wade
-through. <P>
-
-Often you'll find terminfo problems at this stage by noticing that the
-escape sequences put out for various capabilities are wrong. If not,
-you're likely to learn enough to be able to characterize any bug in
-the screen-update logic quite exactly.
-
-<LI>Report details and symptoms, not just interpretations. <P>
-
-If you do the preceding two steps, it is very likely that you'll discover
-the nature of the problem yourself and be able to send us a fix. This
-will create happy feelings all around and earn you good karma for the first
-time you run into a bug you really can't characterize and fix yourself. <P>
-
-If you're still stuck, at least you'll know what to tell us. Remember, we
-need details. If you guess about what is safe to leave out, you are too
-likely to be wrong. <P>
-
-If your bug produces a bad update, include a trace file. Try to make
-the trace at the <EM>least</EM> voluminous level that pins down the
-bug. Logs that have been through tracemunch are OK, it doesn't throw
-away any information (actually they're better than un-munched ones because
-they're easier to read). <P>
-
-If your bug produces a core-dump, please include a symbolic stack trace
-generated by gdb(1) or your local equivalent. <P>
-
-Tell us about every terminal on which you've reproduced the bug -- and
-every terminal on which you can't. Ideally, sent us terminfo sources
-for all of these (yours might differ from ours). <P>
-
-Include your ncurses version and your OS/machine type, of course! You can
-find your ncurses version in the <CODE>curses.h</CODE> file.
-</OL>
-
-If your problem smells like a logic error or in cursor movement or
-scrolling or a bad capability, there are a couple of tiny test frames
-for the library algorithms in the progs directory that may help you
-isolate it. These are not part of the normal build, but do have their
-own make productions. <P>
-
-The most important of these is <CODE>mvcur</CODE>, a test frame for the
-cursor-movement optimization code. With this program, you can see
-directly what control sequences will be emitted for any given cursor
-movement or scroll/insert/delete operations. If you think you've got
-a bad capability identified, you can disable it and test again. The
-program is command-driven and has on-line help. <P>
-
-If you think the vertical-scroll optimization is broken, or just want to
-understand how it works better, build <CODE>hashmap</CODE> and read the
-header comments of <CODE>hardscroll.c</CODE> and <CODE>hashmap.c</CODE>; then try
-it out. You can also test the hardware-scrolling optimization separately
-with <CODE>hardscroll</CODE>. <P>
-
-<H1><A NAME="ncurslib">A Tour of the Ncurses Library</A></H1>
-
-<H2><A NAME="loverview">Library Overview</A></H2>
-
-Most of the library is superstructure -- fairly trivial convenience
-interfaces to a small set of basic functions and data structures used
-to manipulate the virtual screen (in particular, none of this code
-does any I/O except through calls to more fundamental modules
-described below). The files
-<blockquote>
-<CODE>
-lib_addch.c
-lib_bkgd.c
-lib_box.c
-lib_chgat.c
-lib_clear.c
-lib_clearok.c
-lib_clrbot.c
-lib_clreol.c
-lib_colorset.c
-lib_data.c
-lib_delch.c
-lib_delwin.c
-lib_echo.c
-lib_erase.c
-lib_gen.c
-lib_getstr.c
-lib_hline.c
-lib_immedok.c
-lib_inchstr.c
-lib_insch.c
-lib_insdel.c
-lib_insstr.c
-lib_instr.c
-lib_isendwin.c
-lib_keyname.c
-lib_leaveok.c
-lib_move.c
-lib_mvwin.c
-lib_overlay.c
-lib_pad.c
-lib_printw.c
-lib_redrawln.c
-lib_scanw.c
-lib_screen.c
-lib_scroll.c
-lib_scrollok.c
-lib_scrreg.c
-lib_set_term.c
-lib_slk.c
-lib_slkatr_set.c
-lib_slkatrof.c
-lib_slkatron.c
-lib_slkatrset.c
-lib_slkattr.c
-lib_slkclear.c
-lib_slkcolor.c
-lib_slkinit.c
-lib_slklab.c
-lib_slkrefr.c
-lib_slkset.c
-lib_slktouch.c
-lib_touch.c
-lib_unctrl.c
-lib_vline.c
-lib_wattroff.c
-lib_wattron.c
-lib_window.c
-</CODE>
-</blockquote>
-are all in this category. They are very
-unlikely to need change, barring bugs or some fundamental
-reorganization in the underlying data structures. <P>
-
-These files are used only for debugging support:
-<blockquote>
-<code>
-lib_trace.c
-lib_traceatr.c
-lib_tracebits.c
-lib_tracechr.c
-lib_tracedmp.c
-lib_tracemse.c
-trace_buf.c
-</code>
-</blockquote>
-It is rather unlikely you will ever need to change these, unless
-you want to introduce a new debug trace level for some reason.<P>
-
-There is another group of files that do direct I/O via <EM>tputs()</EM>,
-computations on the terminal capabilities, or queries to the OS
-environment, but nevertheless have only fairly low complexity. These
-include:
-<blockquote>
-<code>
-lib_acs.c
-lib_beep.c
-lib_color.c
-lib_endwin.c
-lib_initscr.c
-lib_longname.c
-lib_newterm.c
-lib_options.c
-lib_termcap.c
-lib_ti.c
-lib_tparm.c
-lib_tputs.c
-lib_vidattr.c
-read_entry.c.
-</code>
-</blockquote>
-They are likely to need revision only if
-ncurses is being ported to an environment without an underlying
-terminfo capability representation. <P>
-
-These files
-have serious hooks into
-the tty driver and signal facilities:
-<blockquote>
-<code>
-lib_kernel.c
-lib_baudrate.c
-lib_raw.c
-lib_tstp.c
-lib_twait.c
-</code>
-</blockquote>
-If you run into porting snafus
-moving the package to another UNIX, the problem is likely to be in one
-of these files.
-The file <CODE>lib_print.c</CODE> uses sleep(2) and also
-falls in this category.<P>
-
-Almost all of the real work is done in the files
-<blockquote>
-<code>
-hardscroll.c
-hashmap.c
-lib_addch.c
-lib_doupdate.c
-lib_getch.c
-lib_mouse.c
-lib_mvcur.c
-lib_refresh.c
-lib_setup.c
-lib_vidattr.c
-</code>
-</blockquote>
-Most of the algorithmic complexity in the
-library lives in these files.
-If there is a real bug in <STRONG>ncurses</STRONG> itself, it's probably here.
-We'll tour some of these files in detail
-below (see <A HREF="#engine">The Engine Room</A>). <P>
-
-Finally, there is a group of files that is actually most of the
-terminfo compiler. The reason this code lives in the <STRONG>ncurses</STRONG>
-library is to support fallback to /etc/termcap. These files include
-<blockquote>
-<code>
-alloc_entry.c
-captoinfo.c
-comp_captab.c
-comp_error.c
-comp_hash.c
-comp_parse.c
-comp_scan.c
-parse_entry.c
-read_termcap.c
-write_entry.c
-</code>
-</blockquote>
-We'll discuss these in the compiler tour.
-
-<H2><A NAME="engine">The Engine Room</A></H2>
-
-<H3><A NAME="input">Keyboard Input</A></H3>
-
-All <CODE>ncurses</CODE> input funnels through the function
-<CODE>wgetch()</CODE>, defined in <CODE>lib_getch.c</CODE>. This function is
-tricky; it has to poll for keyboard and mouse events and do a running
-match of incoming input against the set of defined special keys. <P>
-
-The central data structure in this module is a FIFO queue, used to
-match multiple-character input sequences against special-key
-capabilities; also to implement pushback via <CODE>ungetch()</CODE>. <P>
-
-The <CODE>wgetch()</CODE> code distinguishes between function key
-sequences and the same sequences typed manually by doing a timed wait
-after each input character that could lead a function key sequence.
-If the entire sequence takes less than 1 second, it is assumed to have
-been generated by a function key press. <P>
-
-Hackers bruised by previous encounters with variant <CODE>select(2)</CODE>
-calls may find the code in <CODE>lib_twait.c</CODE> interesting. It deals
-with the problem that some BSD selects don't return a reliable
-time-left value. The function <CODE>timed_wait()</CODE> effectively
-simulates a System V select.
-
-<H3><A NAME="mouse">Mouse Events</A></H3>
-
-If the mouse interface is active, <CODE>wgetch()</CODE> polls for mouse
-events each call, before it goes to the keyboard for input. It is
-up to <CODE>lib_mouse.c</CODE> how the polling is accomplished; it may vary
-for different devices. <P>
-
-Under xterm, however, mouse event notifications come in via the keyboard
-input stream. They are recognized by having the <STRONG>kmous</STRONG> capability
-as a prefix. This is kind of klugey, but trying to wire in recognition of
-a mouse key prefix without going through the function-key machinery would
-be just too painful, and this turns out to imply having the prefix somewhere
-in the function-key capabilities at terminal-type initialization. <P>
-
-This kluge only works because <STRONG>kmous</STRONG> isn't actually used by any
-historic terminal type or curses implementation we know of. Best
-guess is it's a relic of some forgotten experiment in-house at Bell
-Labs that didn't leave any traces in the publicly-distributed System V
-terminfo files. If System V or XPG4 ever gets serious about using it
-again, this kluge may have to change. <P>
-
-Here are some more details about mouse event handling: <P>
-
-The <CODE>lib_mouse()</CODE>code is logically split into a lower level that
-accepts event reports in a device-dependent format and an upper level that
-parses mouse gestures and filters events. The mediating data structure is a
-circular queue of event structures. <P>
-
-Functionally, the lower level's job is to pick up primitive events and
-put them on the circular queue. This can happen in one of two ways:
-either (a) <CODE>_nc_mouse_event()</CODE> detects a series of incoming
-mouse reports and queues them, or (b) code in <CODE>lib_getch.c</CODE> detects the
-<STRONG>kmous</STRONG> prefix in the keyboard input stream and calls _nc_mouse_inline
-to queue up a series of adjacent mouse reports. <P>
-
-In either case, <CODE>_nc_mouse_parse()</CODE> should be called after the
-series is accepted to parse the digested mouse reports (low-level
-events) into a gesture (a high-level or composite event).
-
-<H3><A NAME="output">Output and Screen Updating</A></H3>
-
-With the single exception of character echoes during a <CODE>wgetnstr()</CODE>
-call (which simulates cooked-mode line editing in an ncurses window),
-the library normally does all its output at refresh time. <P>
-
-The main job is to go from the current state of the screen (as represented
-in the <CODE>curscr</CODE> window structure) to the desired new state (as
-represented in the <CODE>newscr</CODE> window structure), while doing as
-little I/O as possible. <P>
-
-The brains of this operation are the modules <CODE>hashmap.c</CODE>,
-<CODE>hardscroll.c</CODE> and <CODE>lib_doupdate.c</CODE>; the latter two use
-<CODE>lib_mvcur.c</CODE>. Essentially, what happens looks like this: <P>
-
-The <CODE>hashmap.c</CODE> module tries to detect vertical motion
-changes between the real and virtual screens. This information
-is represented by the oldindex members in the newscr structure.
-These are modified by vertical-motion and clear operations, and both are
-re-initialized after each update. To this change-journalling
-information, the hashmap code adds deductions made using a modified Heckel
-algorithm on hash values generated from the line contents. <P>
-
-The <CODE>hardscroll.c</CODE> module computes an optimum set of scroll,
-insertion, and deletion operations to make the indices match. It calls
-<CODE>_nc_mvcur_scrolln()</CODE> in <CODE>lib_mvcur.c</CODE> to do those motions. <P>
-
-Then <CODE>lib_doupdate.c</CODE> goes to work. Its job is to do line-by-line
-transformations of <CODE>curscr</CODE> lines to <CODE>newscr</CODE> lines. Its main
-tool is the routine <CODE>mvcur()</CODE> in <CODE>lib_mvcur.c</CODE>. This routine
-does cursor-movement optimization, attempting to get from given screen
-location A to given location B in the fewest output characters possible. <P>
-
-If you want to work on screen optimizations, you should use the fact
-that (in the trace-enabled version of the library) enabling the
-<CODE>TRACE_TIMES</CODE> trace level causes a report to be emitted after
-each screen update giving the elapsed time and a count of characters
-emitted during the update. You can use this to tell when an update
-optimization improves efficiency. <P>
-
-In the trace-enabled version of the library, it is also possible to disable
-and re-enable various optimizations at runtime by tweaking the variable
-<CODE>_nc_optimize_enable</CODE>. See the file <CODE>include/curses.h.in</CODE>
-for mask values, near the end.
-
-<H1><A NAME="fmnote">The Forms and Menu Libraries</A></H1>
-
-The forms and menu libraries should work reliably in any environment you
-can port ncurses to. The only portability issue anywhere in them is what
-flavor of regular expressions the built-in form field type TYPE_REGEXP
-will recognize. <P>
-
-The configuration code prefers the POSIX regex facility, modeled on
-System V's, but will settle for BSD regexps if the former isn't available. <P>
-
-Historical note: the panels code was written primarily to assist in
-porting u386mon 2.0 (comp.sources.misc v14i001-4) to systems lacking
-panels support; u386mon 2.10 and beyond use it. This version has been
-slightly cleaned up for <CODE>ncurses</CODE>.
-
-<H1><A NAME="tic">A Tour of the Terminfo Compiler</A></H1>
-
-The <STRONG>ncurses</STRONG> implementation of <STRONG>tic</STRONG> is rather complex
-internally; it has to do a trying combination of missions. This starts
-with the fact that, in addition to its normal duty of compiling
-terminfo sources into loadable terminfo binaries, it has to be able to
-handle termcap syntax and compile that too into terminfo entries. <P>
-
-The implementation therefore starts with a table-driven, dual-mode
-lexical analyzer (in <CODE>comp_scan.c</CODE>). The lexer chooses its
-mode (termcap or terminfo) based on the first `,' or `:' it finds in
-each entry. The lexer does all the work of recognizing capability
-names and values; the grammar above it is trivial, just "parse entries
-till you run out of file".
-
-<H2><A NAME="nonuse">Translation of Non-<STRONG>use</STRONG> Capabilities</A></H2>
-
-Translation of most things besides <STRONG>use</STRONG> capabilities is pretty
-straightforward. The lexical analyzer's tokenizer hands each capability
-name to a hash function, which drives a table lookup. The table entry
-yields an index which is used to look up the token type in another table,
-and controls interpretation of the value. <P>
-
-One possibly interesting aspect of the implementation is the way the
-compiler tables are initialized. All the tables are generated by various
-awk/sed/sh scripts from a master table <CODE>include/Caps</CODE>; these
-scripts actually write C initializers which are linked to the compiler.
-Furthermore, the hash table is generated in the same way, so it doesn't
-have to be generated at compiler startup time (another benefit of this
-organization is that the hash table can be in shareable text space). <P>
-
-Thus, adding a new capability is usually pretty trivial, just a matter
-of adding one line to the <CODE>include/Caps</CODE> file. We'll have more
-to say about this in the section on <A HREF="#translation">Source-Form
-Translation</A>.
-
-<H2><A NAME="uses">Use Capability Resolution</A></H2>
-
-The background problem that makes <STRONG>tic</STRONG> tricky isn't the capability
-translation itself, it's the resolution of <STRONG>use</STRONG> capabilities. Older
-versions would not handle forward <STRONG>use</STRONG> references for this reason
-(that is, a using terminal always had to follow its use target in the
-source file). By doing this, they got away with a simple implementation
-tactic; compile everything as it blows by, then resolve uses from compiled
-entries. <P>
-
-This won't do for <STRONG>ncurses</STRONG>. The problem is that that the whole
-compilation process has to be embeddable in the <STRONG>ncurses</STRONG> library
-so that it can be called by the startup code to translate termcap
-entries on the fly. The embedded version can't go promiscuously writing
-everything it translates out to disk -- for one thing, it will typically
-be running with non-root permissions. <P>
-
-So our <STRONG>tic</STRONG> is designed to parse an entire terminfo file into a
-doubly-linked circular list of entry structures in-core, and then do
-<STRONG>use</STRONG> resolution in-memory before writing everything out. This
-design has other advantages: it makes forward and back use-references
-equally easy (so we get the latter for free), and it makes checking for
-name collisions before they're written out easy to do. <P>
-
-And this is exactly how the embedded version works. But the stand-alone
-user-accessible version of <STRONG>tic</STRONG> partly reverts to the historical
-strategy; it writes to disk (not keeping in core) any entry with no
-<STRONG>use</STRONG> references. <P>
-
-This is strictly a core-economy kluge, implemented because the
-terminfo master file is large enough that some core-poor systems swap
-like crazy when you compile it all in memory...there have been reports of
-this process taking <STRONG>three hours</STRONG>, rather than the twenty seconds
-or less typical on the author's development box. <P>
-
-So. The executable <STRONG>tic</STRONG> passes the entry-parser a hook that
-<EM>immediately</EM> writes out the referenced entry if it has no use
-capabilities. The compiler main loop refrains from adding the entry
-to the in-core list when this hook fires. If some other entry later
-needs to reference an entry that got written immediately, that's OK;
-the resolution code will fetch it off disk when it can't find it in
-core. <P>
-
-Name collisions will still be detected, just not as cleanly. The
-<CODE>write_entry()</CODE> code complains before overwriting an entry that
-postdates the time of <STRONG>tic</STRONG>'s first call to
-<CODE>write_entry()</CODE>, Thus it will complain about overwriting
-entries newly made during the <STRONG>tic</STRONG> run, but not about
-overwriting ones that predate it.
-
-<H2><A NAME="translation">Source-Form Translation</A></H2>
-
-Another use of <STRONG>tic</STRONG> is to do source translation between various termcap
-and terminfo formats. There are more variants out there than you might
-think; the ones we know about are described in the <STRONG>captoinfo(1)</STRONG>
-manual page. <P>
-
-The translation output code (<CODE>dump_entry()</CODE> in
-<CODE>ncurses/dump_entry.c</CODE>) is shared with the <STRONG>infocmp(1)</STRONG>
-utility. It takes the same internal representation used to generate
-the binary form and dumps it to standard output in a specified
-format. <P>
-
-The <CODE>include/Caps</CODE> file has a header comment describing ways you
-can specify source translations for nonstandard capabilities just by
-altering the master table. It's possible to set up capability aliasing
-or tell the compiler to plain ignore a given capability without writing
-any C code at all. <P>
-
-For circumstances where you need to do algorithmic translation, there
-are functions in <CODE>parse_entry.c</CODE> called after the parse of each
-entry that are specifically intended to encapsulate such
-translations. This, for example, is where the AIX <STRONG>box1</STRONG> capability
-get translated to an <STRONG>acsc</STRONG> string.
-
-<H1><A NAME="utils">Other Utilities</A></H1>
-
-The <STRONG>infocmp</STRONG> utility is just a wrapper around the same
-entry-dumping code used by <STRONG>tic</STRONG> for source translation. Perhaps
-the one interesting aspect of the code is the use of a predicate
-function passed in to <CODE>dump_entry()</CODE> to control which
-capabilities are dumped. This is necessary in order to handle both
-the ordinary De-compilation case and entry difference reporting. <P>
-
-The <STRONG>tput</STRONG> and <STRONG>clear</STRONG> utilities just do an entry load
-followed by a <CODE>tputs()</CODE> of a selected capability.
-
-<H1><A NAME="style">Style Tips for Developers</A></H1>
-
-See the TO-DO file in the top-level directory of the source distribution
-for additions that would be particularly useful. <P>
-
-The prefix <CODE>_nc_</CODE> should be used on library public functions that are
-not part of the curses API in order to prevent pollution of the
-application namespace.
-
-If you have to add to or modify the function prototypes in curses.h.in,
-read ncurses/MKlib_gen.sh first so you can avoid breaking XSI conformance.
-
-Please join the ncurses mailing list. See the INSTALL file in the
-top level of the distribution for details on the list. <P>
-
-Look for the string <CODE>FIXME</CODE> in source files to tag minor bugs
-and potential problems that could use fixing. <P>
-
-Don't try to auto-detect OS features in the main body of the C code.
-That's the job of the configuration system. <P>
-
-To hold down complexity, do make your code data-driven. Especially,
-if you can drive logic from a table filtered out of
-<CODE>include/Caps</CODE>, do it. If you find you need to augment the
-data in that file in order to generate the proper table, that's still
-preferable to ad-hoc code -- that's why the fifth field (flags) is
-there. <P>
-
-Have fun!
-
-<H1><A NAME="port">Porting Hints</A></H1>
-
-The following notes are intended to be a first step towards DOS and Macintosh
-ports of the ncurses libraries. <P>
-
-The following library modules are `pure curses'; they operate only on
-the curses internal structures, do all output through other curses
-calls (not including <CODE>tputs()</CODE> and <CODE>putp()</CODE>) and do not
-call any other UNIX routines such as signal(2) or the stdio library.
-Thus, they should not need to be modified for single-terminal
-ports.
-
-<blockquote>
-<code>
-lib_addch.c
-lib_addstr.c
-lib_bkgd.c
-lib_box.c
-lib_clear.c
-lib_clrbot.c
-lib_clreol.c
-lib_delch.c
-lib_delwin.c
-lib_erase.c
-lib_inchstr.c
-lib_insch.c
-lib_insdel.c
-lib_insstr.c
-lib_keyname.c
-lib_move.c
-lib_mvwin.c
-lib_newwin.c
-lib_overlay.c
-lib_pad.c
-lib_printw.c
-lib_refresh.c
-lib_scanw.c
-lib_scroll.c
-lib_scrreg.c
-lib_set_term.c
-lib_touch.c
-lib_tparm.c
-lib_tputs.c
-lib_unctrl.c
-lib_window.c
-panel.c
-</code>
-</blockquote>
-<P>
-
-This module is pure curses, but calls outstr():
-
-<blockquote>
-<code>
-lib_getstr.c
-</code>
-</blockquote>
-<P>
-
-These modules are pure curses, except that they use <CODE>tputs()</CODE>
-and <CODE>putp()</CODE>:
-
-<blockquote>
-<code>
-lib_beep.c
-lib_color.c
-lib_endwin.c
-lib_options.c
-lib_slk.c
-lib_vidattr.c
-</code>
-</blockquote>
-<P>
-
-This modules assist in POSIX emulation on non-POSIX systems:
-<DL>
-<DT> sigaction.c
-<DD> signal calls
-</DL>
-
-The following source files will not be needed for a
-single-terminal-type port.
-
-<blockquote>
-<code>
-alloc_entry.c
-captoinfo.c
-clear.c
-comp_captab.c
-comp_error.c
-comp_hash.c
-comp_main.c
-comp_parse.c
-comp_scan.c
-dump_entry.c
-infocmp.c
-parse_entry.c
-read_entry.c
-tput.c
-write_entry.c
-</code>
-</blockquote>
-<P>
-
-The following modules will use open()/read()/write()/close()/lseek() on files,
-but no other OS calls.
-
-<DL>
-<DT>lib_screen.c
-<DD>used to read/write screen dumps
-<DT>lib_trace.c
-<DD>used to write trace data to the logfile
-</DL>
-
-Modules that would have to be modified for a port start here: <P>
-
-The following modules are `pure curses' but contain assumptions inappropriate
-for a memory-mapped port.
-
-<dl>
-<dt>lib_longname.c<dd>assumes there may be multiple terminals
-<dt>lib_acs.c<dd>assumes acs_map as a double indirection
-<dt>lib_mvcur.c<dd>assumes cursor moves have variable cost
-<dt>lib_termcap.c<dd>assumes there may be multiple terminals
-<dt>lib_ti.c<dd>assumes there may be multiple terminals
-</dl>
-
-The following modules use UNIX-specific calls:
-
-<dl>
-<dt>lib_doupdate.c<dd>input checking
-<dt>lib_getch.c<dd>read()
-<dt>lib_initscr.c<dd>getenv()
-<dt>lib_newterm.c
-<dt>lib_baudrate.c
-<dt>lib_kernel.c<dd>various tty-manipulation and system calls
-<dt>lib_raw.c<dd>various tty-manipulation calls
-<dt>lib_setup.c<dd>various tty-manipulation calls
-<dt>lib_restart.c<dd>various tty-manipulation calls
-<dt>lib_tstp.c<dd>signal-manipulation calls
-<dt>lib_twait.c<dd>gettimeofday(), select().
-</dl>
-
-<HR>
-<ADDRESS>Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;</ADDRESS>
-(Note: This is <EM>not</EM> the <A HREF="#bugtrack">bug address</A>!)
-</BODY>
-</HTML>
+</pre>
+
+ <p>The <code>ncurses</code> code is maintained by a small group
+ of volunteers. While we try our best to fix bugs promptly, we
+ simply do not have a lot of hours to spend on elementary
+ hand-holding. We rely on intelligent cooperation from our users.
+ If you think you have found a bug in <code>ncurses</code>, there
+ are some steps you can take before contacting us that will help
+ get the bug fixed quickly.</p>
+
+ <p>In order to use our bug-fixing time efficiently, we put people
+ who show us they have taken these steps at the head of our queue.
+ This means that if you do not, you will probably end up at the
+ tail end and have to wait a while.</p>
+
+ <ol>
+ <li>Develop a recipe to reproduce the bug.
+
+ <p>Bugs we can reproduce are likely to be fixed very quickly,
+ often within days. The most effective single thing you can do
+ to get a quick fix is develop a way we can duplicate the bad
+ behavior &mdash; ideally, by giving us source for a small,
+ portable test program that breaks the library. (Even better
+ is a keystroke recipe using one of the test programs provided
+ with the distribution.)</p>
+ </li>
+
+ <li>Try to reproduce the bug on a different terminal type.
+
+ <p>In our experience, most of the behaviors people report as
+ library bugs are actually due to subtle problems in terminal
+ descriptions. This is especially likely to be true if you are
+ using a traditional asynchronous terminal or PC-based
+ terminal emulator, rather than xterm or a UNIX console
+ entry.</p>
+
+ <p>It is therefore extremely helpful if you can tell us
+ whether or not your problem reproduces on other terminal
+ types. Usually you will have both a console type and xterm
+ available; please tell us whether or not your bug reproduces
+ on both.</p>
+
+ <p>If you have xterm available, it is also good to collect
+ xterm reports for different window sizes. This is especially
+ true if you normally use an unusual xterm window size &mdash;
+ a surprising number of the bugs we have seen are either
+ triggered or masked by these.</p>
+ </li>
+
+ <li>Generate and examine a trace file for the broken behavior.
+
+ <p>Recompile your program with the debugging versions of the
+ libraries. Insert a <code>trace()</code> call with the
+ argument set to <code>TRACE_UPDATE</code>. (See <a href=
+ "ncurses-intro.html#debugging">"Writing Programs with
+ NCURSES"</a> for details on trace levels.) Reproduce your
+ bug, then look at the trace file to see what the library was
+ actually doing.</p>
+
+ <p>Another frequent cause of apparent bugs is application
+ coding errors that cause the wrong things to be put on the
+ virtual screen. Looking at the virtual-screen dumps in the
+ trace file will tell you immediately if this is happening,
+ and save you from the possible embarrassment of being told
+ that the bug is in your code and is your problem rather than
+ ours.</p>
+
+ <p>If the virtual-screen dumps look correct but the bug
+ persists, it is possible to crank up the trace level to give
+ more and more information about the library's update actions
+ and the control sequences it issues to perform them. The test
+ directory of the distribution contains a tool for digesting
+ these logs to make them less tedious to wade through.</p>
+
+ <p>Often you will find terminfo problems at this stage by
+ noticing that the escape sequences put out for various
+ capabilities are wrong. If not, you are likely to learn
+ enough to be able to characterize any bug in the
+ screen-update logic quite exactly.</p>
+ </li>
+
+ <li>Report details and symptoms, not just interpretations.
+
+ <p>If you do the preceding two steps, it is very likely that
+ you will discover the nature of the problem yourself and be
+ able to send us a fix. This will create happy feelings all
+ around and earn you good karma for the first time you run
+ into a bug you really cannot characterize and fix
+ yourself.</p>
+
+ <p>If you are still stuck, at least you will know what to
+ tell us. Remember, we need details. If you guess about what
+ is safe to leave out, you are too likely to be wrong.</p>
+
+ <p>If your bug produces a bad update, include a trace file.
+ Try to make the trace at the <em>least</em> voluminous level
+ that pins down the bug. Logs that have been through
+ tracemunch are OK, it does not throw away any information
+ (actually they are better than un-munched ones because they
+ are easier to read).</p>
+
+ <p>If your bug produces a core-dump, please include a
+ symbolic stack trace generated by gdb(1) or your local
+ equivalent.</p>
+
+ <p>Tell us about every terminal on which you have reproduced
+ the bug &mdash; and every terminal on which you cannot.
+ Ideally, send us terminfo sources for all of these (yours
+ might differ from ours).</p>
+
+ <p>Include your ncurses version and your OS/machine type, of
+ course! You can find your ncurses version in the
+ <code>curses.h</code> file.</p>
+ </li>
+ </ol>
+
+ <p>If your problem smells like a logic error or in cursor
+ movement or scrolling or a bad capability, there are a couple of
+ tiny test frames for the library algorithms in the progs
+ directory that may help you isolate it. These are not part of the
+ normal build, but do have their own make productions.</p>
+
+ <p>The most important of these is <code>mvcur</code>, a test
+ frame for the cursor-movement optimization code. With this
+ program, you can see directly what control sequences will be
+ emitted for any given cursor movement or scroll/insert/delete
+ operations. If you think you have got a bad capability
+ identified, you can disable it and test again. The program is
+ command-driven and has on-line help.</p>
+
+ <p>If you think the vertical-scroll optimization is broken, or
+ just want to understand how it works better, build
+ <code>hashmap</code> and read the header comments of
+ <code>hardscroll.c</code> and <code>hashmap.c</code>; then try it
+ out. You can also test the hardware-scrolling optimization
+ separately with <code>hardscroll</code>.</p>
+
+ <h1><a name="ncurslib" id="ncurslib">A Tour of the Ncurses
+ Library</a></h1>
+
+ <h2><a name="loverview" id="loverview">Library Overview</a></h2>
+
+ <p>Most of the library is superstructure &mdash; fairly trivial
+ convenience interfaces to a small set of basic functions and data
+ structures used to manipulate the virtual screen (in particular,
+ none of this code does any I/O except through calls to more
+ fundamental modules described below). The files</p>
+
+ <blockquote>
+ <code>lib_addch.c lib_bkgd.c lib_box.c lib_chgat.c lib_clear.c
+ lib_clearok.c lib_clrbot.c lib_clreol.c lib_colorset.c
+ lib_data.c lib_delch.c lib_delwin.c lib_echo.c lib_erase.c
+ lib_gen.c lib_getstr.c lib_hline.c lib_immedok.c lib_inchstr.c
+ lib_insch.c lib_insdel.c lib_insstr.c lib_instr.c
+ lib_isendwin.c lib_keyname.c lib_leaveok.c lib_move.c
+ lib_mvwin.c lib_overlay.c lib_pad.c lib_printw.c lib_redrawln.c
+ lib_scanw.c lib_screen.c lib_scroll.c lib_scrollok.c
+ lib_scrreg.c lib_set_term.c lib_slk.c lib_slkatr_set.c
+ lib_slkatrof.c lib_slkatron.c lib_slkatrset.c lib_slkattr.c
+ lib_slkclear.c lib_slkcolor.c lib_slkinit.c lib_slklab.c
+ lib_slkrefr.c lib_slkset.c lib_slktouch.c lib_touch.c
+ lib_unctrl.c lib_vline.c lib_wattroff.c lib_wattron.c
+ lib_window.c</code>
+ </blockquote>
+
+ <p>are all in this category. They are very unlikely to need
+ change, barring bugs or some fundamental reorganization in the
+ underlying data structures.</p>
+
+ <p>These files are used only for debugging support:</p>
+
+ <blockquote>
+ <code>lib_trace.c lib_traceatr.c lib_tracebits.c lib_tracechr.c
+ lib_tracedmp.c lib_tracemse.c trace_buf.c</code>
+ </blockquote>
+
+ <p>It is rather unlikely you will ever need to change these,
+ unless you want to introduce a new debug trace level for some
+ reason.</p>
+
+ <p>There is another group of files that do direct I/O via
+ <em>tputs()</em>, computations on the terminal capabilities, or
+ queries to the OS environment, but nevertheless have only fairly
+ low complexity. These include:</p>
+
+ <blockquote>
+ <code>lib_acs.c lib_beep.c lib_color.c lib_endwin.c
+ lib_initscr.c lib_longname.c lib_newterm.c lib_options.c
+ lib_termcap.c lib_ti.c lib_tparm.c lib_tputs.c lib_vidattr.c
+ read_entry.c.</code>
+ </blockquote>
+
+ <p>They are likely to need revision only if ncurses is being
+ ported to an environment without an underlying terminfo
+ capability representation.</p>
+
+ <p>These files have serious hooks into the tty driver and signal
+ facilities:</p>
+
+ <blockquote>
+ <code>lib_kernel.c lib_baudrate.c lib_raw.c lib_tstp.c
+ lib_twait.c</code>
+ </blockquote>
+
+ <p>If you run into porting snafus moving the package to another
+ UNIX, the problem is likely to be in one of these files. The file
+ <code>lib_print.c</code> uses sleep(2) and also falls in this
+ category.</p>
+
+ <p>Almost all of the real work is done in the files</p>
+
+ <blockquote>
+ <code>hardscroll.c hashmap.c lib_addch.c lib_doupdate.c
+ lib_getch.c lib_mouse.c lib_mvcur.c lib_refresh.c lib_setup.c
+ lib_vidattr.c</code>
+ </blockquote>
+
+ <p>Most of the algorithmic complexity in the library lives in
+ these files. If there is a real bug in <strong>ncurses</strong>
+ itself, it is probably here. We will tour some of these files in
+ detail below (see <a href="#engine">The Engine Room</a>).</p>
+
+ <p>Finally, there is a group of files that is actually most of
+ the terminfo compiler. The reason this code lives in the
+ <strong>ncurses</strong> library is to support fallback to
+ /etc/termcap. These files include</p>
+
+ <blockquote>
+ <code>alloc_entry.c captoinfo.c comp_captab.c comp_error.c
+ comp_hash.c comp_parse.c comp_scan.c parse_entry.c
+ read_termcap.c write_entry.c</code>
+ </blockquote>
+
+ <p>We will discuss these in the compiler tour.</p>
+
+ <h2><a name="engine" id="engine">The Engine Room</a></h2>
+
+ <h3><a name="input" id="input">Keyboard Input</a></h3>
+
+ <p>All <code>ncurses</code> input funnels through the function
+ <code>wgetch()</code>, defined in <code>lib_getch.c</code>. This
+ function is tricky; it has to poll for keyboard and mouse events
+ and do a running match of incoming input against the set of
+ defined special keys.</p>
+
+ <p>The central data structure in this module is a FIFO queue,
+ used to match multiple-character input sequences against
+ special-key capabilities; also to implement pushback via
+ <code>ungetch()</code>.</p>
+
+ <p>The <code>wgetch()</code> code distinguishes between function
+ key sequences and the same sequences typed manually by doing a
+ timed wait after each input character that could lead a function
+ key sequence. If the entire sequence takes less than 1 second, it
+ is assumed to have been generated by a function key press.</p>
+
+ <p>Hackers bruised by previous encounters with variant
+ <code>select(2)</code> calls may find the code in
+ <code>lib_twait.c</code> interesting. It deals with the problem
+ that some BSD selects do not return a reliable time-left value.
+ The function <code>timed_wait()</code> effectively simulates a
+ System V select.</p>
+
+ <h3><a name="mouse" id="mouse">Mouse Events</a></h3>
+
+ <p>If the mouse interface is active, <code>wgetch()</code> polls
+ for mouse events each call, before it goes to the keyboard for
+ input. It is up to <code>lib_mouse.c</code> how the polling is
+ accomplished; it may vary for different devices.</p>
+
+ <p>Under xterm, however, mouse event notifications come in via
+ the keyboard input stream. They are recognized by having the
+ <strong>kmous</strong> capability as a prefix. This is kind of
+ klugey, but trying to wire in recognition of a mouse key prefix
+ without going through the function-key machinery would be just
+ too painful, and this turns out to imply having the prefix
+ somewhere in the function-key capabilities at terminal-type
+ initialization.</p>
+
+ <p>This kluge only works because <strong>kmous</strong> is not
+ actually used by any historic terminal type or curses
+ implementation we know of. Best guess is it is a relic of some
+ forgotten experiment in-house at Bell Labs that did not leave any
+ traces in the publicly-distributed System V terminfo files. If
+ System V or XPG4 ever gets serious about using it again, this
+ kluge may have to change.</p>
+
+ <p>Here are some more details about mouse event handling:</p>
+
+ <p>The <code>lib_mouse()</code> code is logically split into a
+ lower level that accepts event reports in a device-dependent
+ format and an upper level that parses mouse gestures and filters
+ events. The mediating data structure is a circular queue of event
+ structures.</p>
+
+ <p>Functionally, the lower level's job is to pick up primitive
+ events and put them on the circular queue. This can happen in one
+ of two ways: either (a) <code>_nc_mouse_event()</code> detects a
+ series of incoming mouse reports and queues them, or (b) code in
+ <code>lib_getch.c</code> detects the <strong>kmous</strong>
+ prefix in the keyboard input stream and calls _nc_mouse_inline to
+ queue up a series of adjacent mouse reports.</p>
+
+ <p>In either case, <code>_nc_mouse_parse()</code> should be
+ called after the series is accepted to parse the digested mouse
+ reports (low-level events) into a gesture (a high-level or
+ composite event).</p>
+
+ <h3><a name="output" id="output">Output and Screen Updating</a></h3>
+
+ <p>With the single exception of character echoes during a
+ <code>wgetnstr()</code> call (which simulates cooked-mode line
+ editing in an ncurses window), the library normally does all its
+ output at refresh time.</p>
+
+ <p>The main job is to go from the current state of the screen (as
+ represented in the <code>curscr</code> window structure) to the
+ desired new state (as represented in the <code>newscr</code>
+ window structure), while doing as little I/O as possible.</p>
+
+ <p>The brains of this operation are the modules
+ <code>hashmap.c</code>, <code>hardscroll.c</code> and
+ <code>lib_doupdate.c</code>; the latter two use
+ <code>lib_mvcur.c</code>. Essentially, what happens looks like
+ this:</p>
+
+ <ul>
+ <li>
+ <p>The <code>hashmap.c</code> module tries to detect vertical
+ motion changes between the real and virtual screens. This
+ information is represented by the oldindex members in the
+ newscr structure. These are modified by vertical-motion and
+ clear operations, and both are re-initialized after each
+ update. To this change-journalling information, the hashmap
+ code adds deductions made using a modified Heckel algorithm
+ on hash values generated from the line contents.</p>
+ </li>
+
+ <li>
+ <p>The <code>hardscroll.c</code> module computes an optimum
+ set of scroll, insertion, and deletion operations to make the
+ indices match. It calls <code>_nc_mvcur_scrolln()</code> in
+ <code>lib_mvcur.c</code> to do those motions.</p>
+ </li>
+
+ <li>
+ <p>Then <code>lib_doupdate.c</code> goes to work. Its job is
+ to do line-by-line transformations of <code>curscr</code>
+ lines to <code>newscr</code> lines. Its main tool is the
+ routine <code>mvcur()</code> in <code>lib_mvcur.c</code>.
+ This routine does cursor-movement optimization, attempting to
+ get from given screen location A to given location B in the
+ fewest output characters possible.</p>
+ </li>
+ </ul>
+
+ <p>If you want to work on screen optimizations, you should use
+ the fact that (in the trace-enabled version of the library)
+ enabling the <code>TRACE_TIMES</code> trace level causes a report
+ to be emitted after each screen update giving the elapsed time
+ and a count of characters emitted during the update. You can use
+ this to tell when an update optimization improves efficiency.</p>
+
+ <p>In the trace-enabled version of the library, it is also
+ possible to disable and re-enable various optimizations at
+ runtime by tweaking the variable
+ <code>_nc_optimize_enable</code>. See the file
+ <code>include/curses.h.in</code> for mask values, near the
+ end.</p>
+
+ <h1><a name="fmnote" id="fmnote">The Forms and Menu Libraries</a></h1>
+
+ <p>The forms and menu libraries should work reliably in any
+ environment you can port ncurses to. The only portability issue
+ anywhere in them is what flavor of regular expressions the
+ built-in form field type TYPE_REGEXP will recognize.</p>
+
+ <p>The configuration code prefers the POSIX regex facility,
+ modeled on System V's, but will settle for BSD regexps if the
+ former is not available.</p>
+
+ <p>Historical note: the panels code was written primarily to
+ assist in porting u386mon 2.0 (comp.sources.misc v14i001-4) to
+ systems lacking panels support; u386mon 2.10 and beyond use it.
+ This version has been slightly cleaned up for
+ <code>ncurses</code>.</p>
+
+ <h1><a name="tic" id="tic">A Tour of the Terminfo Compiler</a></h1>
+
+ <p>The <strong>ncurses</strong> implementation of
+ <strong>tic</strong> is rather complex internally; it has to do a
+ trying combination of missions. This starts with the fact that,
+ in addition to its normal duty of compiling terminfo sources into
+ loadable terminfo binaries, it has to be able to handle termcap
+ syntax and compile that too into terminfo entries.</p>
+
+ <p>The implementation therefore starts with a table-driven,
+ dual-mode lexical analyzer (in <code>comp_scan.c</code>). The
+ lexer chooses its mode (termcap or terminfo) based on the first
+ &ldquo;,&rdquo; or &ldquo;:&rdquo; it finds in each entry. The
+ lexer does all the work of recognizing capability names and
+ values; the grammar above it is trivial, just "parse entries till
+ you run out of file".</p>
+
+ <h2><a name="nonuse" id="nonuse">Translation of
+ Non-<strong>use</strong> Capabilities</a></h2>
+
+ <p>Translation of most things besides <strong>use</strong>
+ capabilities is pretty straightforward. The lexical analyzer's
+ tokenizer hands each capability name to a hash function, which
+ drives a table lookup. The table entry yields an index which is
+ used to look up the token type in another table, and controls
+ interpretation of the value.</p>
+
+ <p>One possibly interesting aspect of the implementation is the
+ way the compiler tables are initialized. All the tables are
+ generated by various awk/sed/sh scripts from a master table
+ <code>include/Caps</code>; these scripts actually write C
+ initializers which are linked to the compiler. Furthermore, the
+ hash table is generated in the same way, so it doesn't have to be
+ generated at compiler startup time (another benefit of this
+ organization is that the hash table can be in shareable text
+ space).</p>
+
+ <p>Thus, adding a new capability is usually pretty trivial, just
+ a matter of adding one line to the <code>include/Caps</code>
+ file. We will have more to say about this in the section on
+ <a href="#translation">Source-Form Translation</a>.</p>
+
+ <h2><a name="uses" id="uses">Use Capability Resolution</a></h2>
+
+ <p>The background problem that makes <strong>tic</strong> tricky
+ is not the capability translation itself, it is the resolution of
+ <strong>use</strong> capabilities. Older versions would not
+ handle forward <strong>use</strong> references for this reason
+ (that is, a using terminal always had to follow its use target in
+ the source file). By doing this, they got away with a simple
+ implementation tactic; compile everything as it blows by, then
+ resolve uses from compiled entries.</p>
+
+ <p>This will not do for <strong>ncurses</strong>. The problem is
+ that that the whole compilation process has to be embeddable in
+ the <strong>ncurses</strong> library so that it can be called by
+ the startup code to translate termcap entries on the fly. The
+ embedded version cannot go promiscuously writing everything it
+ translates out to disk &mdash; for one thing, it will typically
+ be running with non-root permissions.</p>
+
+ <p>So our <strong>tic</strong> is designed to parse an entire
+ terminfo file into a doubly-linked circular list of entry
+ structures in-core, and then do <strong>use</strong> resolution
+ in-memory before writing everything out. This design has other
+ advantages: it makes forward and back use-references equally easy
+ (so we get the latter for free), and it makes checking for name
+ collisions before they are written out easy to do.</p>
+
+ <p>And this is exactly how the embedded version works. But the
+ stand-alone user-accessible version of <strong>tic</strong>
+ partly reverts to the historical strategy; it writes to disk (not
+ keeping in core) any entry with no <strong>use</strong>
+ references.</p>
+
+ <p>This is strictly a core-economy kluge, implemented because the
+ terminfo master file is large enough that some core-poor systems
+ swap like crazy when you compile it all in memory...there have
+ been reports of this process taking <strong>three hours</strong>,
+ rather than the twenty seconds or less typical on the author's
+ development box.</p>
+
+ <p>So. The executable <strong>tic</strong> passes the
+ entry-parser a hook that <em>immediately</em> writes out the
+ referenced entry if it has no use capabilities. The compiler main
+ loop refrains from adding the entry to the in-core list when this
+ hook fires. If some other entry later needs to reference an entry
+ that got written immediately, that is OK; the resolution code
+ will fetch it off disk when it cannot find it in core.</p>
+
+ <p>Name collisions will still be detected, just not as cleanly.
+ The <code>write_entry()</code> code complains before overwriting
+ an entry that postdates the time of <strong>tic</strong>'s first
+ call to <code>write_entry()</code>, Thus it will complain about
+ overwriting entries newly made during the <strong>tic</strong>
+ run, but not about overwriting ones that predate it.</p>
+
+ <h2><a name="translation" id="translation">Source-Form
+ Translation</a></h2>
+
+ <p>Another use of <strong>tic</strong> is to do source
+ translation between various termcap and terminfo formats. There
+ are more variants out there than you might think; the ones we
+ know about are described in the <strong>captoinfo(1)</strong>
+ manual page.</p>
+
+ <p>The translation output code (<code>dump_entry()</code> in
+ <code>ncurses/dump_entry.c</code>) is shared with the
+ <strong>infocmp(1)</strong> utility. It takes the same internal
+ representation used to generate the binary form and dumps it to
+ standard output in a specified format.</p>
+
+ <p>The <code>include/Caps</code> file has a header comment
+ describing ways you can specify source translations for
+ nonstandard capabilities just by altering the master table. It is
+ possible to set up capability aliasing or tell the compiler to
+ plain ignore a given capability without writing any C code at
+ all.</p>
+
+ <p>For circumstances where you need to do algorithmic
+ translation, there are functions in <code>parse_entry.c</code>
+ called after the parse of each entry that are specifically
+ intended to encapsulate such translations. This, for example, is
+ where the AIX <strong>box1</strong> capability get translated to
+ an <strong>acsc</strong> string.</p>
+
+ <h1><a name="utils" id="utils">Other Utilities</a></h1>
+
+ <p>The <strong>infocmp</strong> utility is just a wrapper around
+ the same entry-dumping code used by <strong>tic</strong> for
+ source translation. Perhaps the one interesting aspect of the
+ code is the use of a predicate function passed in to
+ <code>dump_entry()</code> to control which capabilities are
+ dumped. This is necessary in order to handle both the ordinary
+ De-compilation case and entry difference reporting.</p>
+
+ <p>The <strong>tput</strong> and <strong>clear</strong> utilities
+ just do an entry load followed by a <code>tputs()</code> of a
+ selected capability.</p>
+
+ <h1><a name="style" id="style">Style Tips for Developers</a></h1>
+
+ <p>See the TO-DO file in the top-level directory of the source
+ distribution for additions that would be particularly useful.</p>
+
+ <p>The prefix <code>_nc_</code> should be used on library public
+ functions that are not part of the curses API in order to prevent
+ pollution of the application namespace. If you have to add to or
+ modify the function prototypes in curses.h.in, read
+ ncurses/MKlib_gen.sh first so you can avoid breaking XSI
+ conformance. Please join the ncurses mailing list. See the
+ INSTALL file in the top level of the distribution for details on
+ the list.</p>
+
+ <p>Look for the string <code>FIXME</code> in source files to tag
+ minor bugs and potential problems that could use fixing.</p>
+
+ <p>Do not try to auto-detect OS features in the main body of the
+ C code. That is the job of the configuration system.</p>
+
+ <p>To hold down complexity, do make your code data-driven.
+ Especially, if you can drive logic from a table filtered out of
+ <code>include/Caps</code>, do it. If you find you need to augment
+ the data in that file in order to generate the proper table, that
+ is still preferable to ad-hoc code &mdash; that is why the fifth
+ field (flags) is there.</p>
+
+ <p>Have fun!</p>
+
+ <h1><a name="port" id="port">Porting Hints</a></h1>
+
+ <p>The following notes are intended to be a first step towards
+ DOS and Macintosh ports of the ncurses libraries.</p>
+
+ <p>The following library modules are &ldquo;pure curses&rdquo;;
+ they operate only on the curses internal structures, do all
+ output through other curses calls (not including
+ <code>tputs()</code> and <code>putp()</code>) and do not call any
+ other UNIX routines such as signal(2) or the stdio library. Thus,
+ they should not need to be modified for single-terminal
+ ports.</p>
+
+ <blockquote>
+ <code>lib_addch.c lib_addstr.c lib_bkgd.c lib_box.c lib_clear.c
+ lib_clrbot.c lib_clreol.c lib_delch.c lib_delwin.c lib_erase.c
+ lib_inchstr.c lib_insch.c lib_insdel.c lib_insstr.c
+ lib_keyname.c lib_move.c lib_mvwin.c lib_newwin.c lib_overlay.c
+ lib_pad.c lib_printw.c lib_refresh.c lib_scanw.c lib_scroll.c
+ lib_scrreg.c lib_set_term.c lib_touch.c lib_tparm.c lib_tputs.c
+ lib_unctrl.c lib_window.c panel.c</code>
+ </blockquote>
+
+ <p>This module is pure curses, but calls outstr():</p>
+
+ <blockquote>
+ <code>lib_getstr.c</code>
+ </blockquote>
+
+ <p>These modules are pure curses, except that they use
+ <code>tputs()</code> and <code>putp()</code>:</p>
+
+ <blockquote>
+ <code>lib_beep.c lib_color.c lib_endwin.c lib_options.c
+ lib_slk.c lib_vidattr.c</code>
+ </blockquote>
+
+ <p>This modules assist in POSIX emulation on non-POSIX
+ systems:</p>
+
+ <dl>
+ <dt>sigaction.c</dt>
+
+ <dd>signal calls</dd>
+ </dl>
+
+ <p>The following source files will not be needed for a
+ single-terminal-type port.</p>
+
+ <blockquote>
+ <code>alloc_entry.c captoinfo.c clear.c comp_captab.c
+ comp_error.c comp_hash.c comp_main.c comp_parse.c comp_scan.c
+ dump_entry.c infocmp.c parse_entry.c read_entry.c tput.c
+ write_entry.c</code>
+ </blockquote>
+
+ <p>The following modules will use
+ open()/read()/write()/close()/lseek() on files, but no other OS
+ calls.</p>
+
+ <dl>
+ <dt>lib_screen.c</dt>
+
+ <dd>used to read/write screen dumps</dd>
+
+ <dt>lib_trace.c</dt>
+
+ <dd>used to write trace data to the logfile</dd>
+ </dl>
+
+ <p>Modules that would have to be modified for a port start
+ here:</p>
+
+ <p>The following modules are &ldquo;pure curses&rdquo; but
+ contain assumptions inappropriate for a memory-mapped port.</p>
+
+ <dl>
+ <dt>lib_longname.c</dt>
+
+ <dd>assumes there may be multiple terminals</dd>
+
+ <dt>lib_acs.c</dt>
+
+ <dd>assumes acs_map as a double indirection</dd>
+
+ <dt>lib_mvcur.c</dt>
+
+ <dd>assumes cursor moves have variable cost</dd>
+
+ <dt>lib_termcap.c</dt>
+
+ <dd>assumes there may be multiple terminals</dd>
+
+ <dt>lib_ti.c</dt>
+
+ <dd>assumes there may be multiple terminals</dd>
+ </dl>
+
+ <p>The following modules use UNIX-specific calls:</p>
+
+ <dl>
+ <dt>lib_doupdate.c</dt>
+
+ <dd>input checking</dd>
+
+ <dt>lib_getch.c</dt>
+
+ <dd>read()</dd>
+
+ <dt>lib_initscr.c</dt>
+
+ <dd>getenv()</dd>
+
+ <dt>lib_newterm.c</dt>
+
+ <dt>lib_baudrate.c</dt>
+
+ <dt>lib_kernel.c</dt>
+
+ <dd>various tty-manipulation and system calls</dd>
+
+ <dt>lib_raw.c</dt>
+
+ <dd>various tty-manipulation calls</dd>
+
+ <dt>lib_setup.c</dt>
+
+ <dd>various tty-manipulation calls</dd>
+
+ <dt>lib_restart.c</dt>
+
+ <dd>various tty-manipulation calls</dd>
+
+ <dt>lib_tstp.c</dt>
+
+ <dd>signal-manipulation calls</dd>
+
+ <dt>lib_twait.c</dt>
+
+ <dd>gettimeofday(), select().</dd>
+ </dl>
+
+ <hr>
+
+ <address>
+ Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;
+ </address>
+ (Note: This is <em>not</em> the <a href="#bugtrack">bug
+ address</a>!)
+</body>
+</html>
diff --git a/doc/html/index.html b/doc/html/index.html
index fb6a071c2ca0..c367eaba1cfa 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
- $Id: index.html,v 1.6 2013/05/17 23:30:29 tom Exp $
+ $Id: index.html,v 1.8 2019/03/16 19:39:05 tom Exp $
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,23 +28,41 @@
* authorization. *
****************************************************************************
-->
-<HTML>
-<HEAD>
-<TITLE>Welcome to ncurses</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-
-<H1>Welcome to ncurses</H1>
-From this index page you have access to these further documents
-<UL>
-<LI>The <a href="announce.html">Announcement</a> of the current version of ncurses.
-<LI>An <a href="ncurses-intro.html">Introduction</a> into (n)curses programming.
-<LI>A <a href="hackguide.html">hackers guide</a> to ncurses.
-<LI>A description of the <a href="Ada95.html">Ada95 binding</a>, by J&uuml;rgen Pfeifer.
-<li>A <a href="NCURSES-Programming-HOWTO.html">A short tutorial</a>, by Pradeep Padala.
-</UL><P>
-We also have HTML versions of all the ncurses <a href="man">manpages</a>.
-</BODY>
-</HTML>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+ <meta name="generator" content=
+ "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
+
+ <title>Welcome to ncurses</title>
+ <link rel="author" href="mailto:bug-ncurses@gnu.org">
+ <meta http-equiv="Content-Type" content=
+ "text/html; charset=us-ascii">
+</head>
+
+<body>
+ <h1>Welcome to ncurses</h1>From this index page you have access
+ to these further documents
+
+ <ul>
+ <li>The <a href="announce.html">Announcement</a> of the current
+ version of ncurses.</li>
+
+ <li>An <a href="ncurses-intro.html">Introduction</a> into
+ (n)curses programming.</li>
+
+ <li>A <a href="hackguide.html">hackers guide</a> to
+ ncurses.</li>
+
+ <li>A description of the <a href="Ada95.html">Ada95
+ binding</a>, by J&uuml;rgen Pfeifer.</li>
+
+ <li>A <a href="NCURSES-Programming-HOWTO.html">A short
+ tutorial</a>, by Pradeep Padala.</li>
+ </ul>
+
+ <p>We also have HTML versions of all the ncurses <a href=
+ "man">manpages</a>.</p>
+</body>
+</html>
diff --git a/doc/html/man/adacurses-config.1.html b/doc/html/man/adacurses-config.1.html
deleted file mode 100644
index 11fd61facf3c..000000000000
--- a/doc/html/man/adacurses-config.1.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<!--
- ****************************************************************************
- * Copyright (c) 2010,2011 Free Software Foundation, Inc. *
- * *
- * Permission is hereby granted, free of charge, to any person obtaining a *
- * copy of this software and associated documentation files (the *
- * "Software"), to deal in the Software without restriction, including *
- * without limitation the rights to use, copy, modify, merge, publish, *
- * distribute, distribute with modifications, sublicense, and/or sell *
- * copies of the Software, and to permit persons to whom the Software is *
- * furnished to do so, subject to the following conditions: *
- * *
- * The above copyright notice and this permission notice shall be included *
- * in all copies or substantial portions of the Software. *
- * *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- * *
- * Except as contained in this notice, the name(s) of the above copyright *
- * holders shall not be used in advertising or otherwise to promote the *
- * sale, use or other dealings in this Software without prior written *
- * authorization. *
- ****************************************************************************
- * @Id: MKada_config.in,v 1.5 2011/03/26 14:44:51 tom Exp @
--->
-<HTML>
-<HEAD>
-<TITLE>ADACURSES 1 User Commands</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-<H1>ADACURSES 1 User Commands</H1>
-<HR>
-<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG> User Commands <STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG>
-
-
-
-
-</PRE>
-<H2>NAME</H2><PRE>
- adacurses-config - helper script for AdaCurses libraries
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>adacurses-config</STRONG> [<EM>options</EM>]
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is a shell script which simplifies configuring an
- application to use the AdaCurses library binding to
- ncurses.
-
-
-</PRE>
-<H2>OPTIONS</H2><PRE>
- <STRONG>--cflags</STRONG>
- echos the gnat (Ada compiler) flags needed to com-
- pile with AdaCurses.
-
- <STRONG>--libs</STRONG> echos the gnat libraries needed to link with
- AdaCurses.
-
- <STRONG>--version</STRONG>
- echos the release+patchdate version of the ncurses
- libraries used to configure and build AdaCurses.
-
- <STRONG>--help</STRONG> prints a list of the <STRONG>adacurses-config</STRONG> script's
- options.
-
-
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
-
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
-
-
-
- <STRONG><A HREF="ADACURSES.1.html">ADACURSES(1)</A></STRONG>
-</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/doc/html/man/adacurses6-config.1.html b/doc/html/man/adacurses6-config.1.html
new file mode 100644
index 000000000000..92d3f2e1b8ea
--- /dev/null
+++ b/doc/html/man/adacurses6-config.1.html
@@ -0,0 +1,145 @@
+<!--
+ ****************************************************************************
+ * Copyright (c) 2010-2016,2019 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: MKada_config.in,v 1.11 2019/09/07 20:22:51 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>ADACURSES 1 User Commands</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1 class="no-header">ADACURSES 1 User Commands</H1>
+<PRE>
+<STRONG>ADACURSES(1)</STRONG> User Commands <STRONG>ADACURSES(1)</STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ adacurses6-config - helper script for AdaCurses libraries
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>adacurses6-config</STRONG> [<EM>options</EM>]
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is a shell script which simplifies configuring an application to
+ use the AdaCurses library binding to ncurses.
+
+
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+ <STRONG>--cflags</STRONG>
+ echos the gnat (Ada compiler) flags needed to compile with
+ AdaCurses.
+
+ <STRONG>--libs</STRONG> echos the gnat libraries needed to link with AdaCurses.
+
+ <STRONG>--version</STRONG>
+ echos the release+patchdate version of the ncurses libraries
+ used to configure and build AdaCurses.
+
+ <STRONG>--help</STRONG> prints a list of the <STRONG>adacurses6-config</STRONG> script's options.
+
+ If no options are given, <STRONG>adacurses6-config</STRONG> prints the combination of
+ <STRONG>--cflags</STRONG> and <STRONG>--libs</STRONG> that <STRONG>gnatmake</STRONG> expects (see example).
+
+
+</PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
+ For example, supposing that you want to compile the "Hello World!"
+ program for AdaCurses. Make a file named "hello.adb":
+ with Terminal_Interface.Curses; use Terminal_Interface.Curses;
+
+ procedure Hello is
+
+ Visibility : Cursor_Visibility := Invisible;
+ done : Boolean := False;
+ c : Key_Code;
+
+ begin
+
+ Init_Screen;
+ Set_Echo_Mode (False);
+
+ Set_Cursor_Visibility (Visibility);
+ Set_Timeout_Mode (Standard_Window, Non_Blocking, 0);
+
+ Move_Cursor (Line =&gt; Lines / 2, Column =&gt; (Columns - 12) / 2);
+ Add (Str =&gt; "Hello World!");
+
+ while not done loop
+
+ c := Get_Keystroke (Standard_Window);
+ case c is
+ when Character'Pos ('q') =&gt; done := True;
+ when others =&gt; null;
+ end case;
+
+ Nap_Milli_Seconds (50);
+ end loop;
+
+ End_Windows;
+
+ end Hello;
+
+ Then, using
+ gnatmake `adacurses-config --cflags` hello -largs `adacurses-
+ config --libs`
+
+ or (simpler):
+ gnatmake hello `adacurses-config`
+
+ you will compile and link the program.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
+
+
+
+ <STRONG>ADACURSES(1)</STRONG>
+</PRE>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-EXAMPLE">EXAMPLE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html
index 2251ab041499..7228f73ff20b 100644
--- a/doc/html/man/captoinfo.1m.html
+++ b/doc/html/man/captoinfo.1m.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,78 +27,69 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: captoinfo.1m,v 1.25 2010/12/04 18:36:44 tom Exp @
+ * @Id: captoinfo.1m,v 1.29 2019/10/12 21:10:00 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>captoinfo 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>captoinfo 1m</H1>
-<HR>
+<H1 class="no-header">captoinfo 1m</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>captoinfo</STRONG> - convert a <EM>termcap</EM> description into a <EM>terminfo</EM>
- description
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>captoinfo</STRONG> - convert a <EM>termcap</EM> description into a <EM>terminfo</EM> description
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>captoinfo</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> . . .
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>captoinfo</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> ...
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>captoinfo</STRONG> looks in each given text <EM>file</EM> for <STRONG>termcap</STRONG>
- descriptions. For each one found, an equivalent <STRONG>terminfo</STRONG>
- description is written to standard output. Termcap <STRONG>tc</STRONG>
- capabilities are translated directly to terminfo <STRONG>use</STRONG> capa-
- bilities.
-
- If no <EM>file</EM> is given, then the environment variable <STRONG>TERMCAP</STRONG>
- is used for the filename or entry. If <STRONG>TERMCAP</STRONG> is a full
- pathname to a file, only the terminal whose name is speci-
- fied in the environment variable <STRONG>TERM</STRONG> is extracted from
- that file. If the environment variable <STRONG>TERMCAP</STRONG> is not
- set, then the file <STRONG>/usr/share/terminfo</STRONG> is read.
-
- <STRONG>-v</STRONG> print out tracing information on standard error as
- the program runs.
-
- <STRONG>-V</STRONG> print out the version of the program in use on stan-
- dard error and exit.
-
- <STRONG>-1</STRONG> cause the fields to print out one to a line. Other-
- wise, the fields will be printed several to a line to
- a maximum width of 60 characters.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>captoinfo</STRONG> looks in each given text <EM>file</EM> for <STRONG>termcap</STRONG> descriptions. For
+ each one found, an equivalent <STRONG>terminfo</STRONG> description is written to stan-
+ dard output. Termcap <STRONG>tc</STRONG> capabilities are translated directly to ter-
+ minfo <STRONG>use</STRONG> capabilities.
+
+ If no <EM>file</EM> is given, then the environment variable <STRONG>TERMCAP</STRONG> is used for
+ the filename or entry. If <STRONG>TERMCAP</STRONG> is a full pathname to a file, only
+ the terminal whose name is specified in the environment variable <STRONG>TERM</STRONG>
+ is extracted from that file. If the environment variable <STRONG>TERMCAP</STRONG> is
+ not set, then the file <STRONG>/usr/share/terminfo</STRONG> is read.
+
+ <STRONG>-v</STRONG> print out tracing information on standard error as the program
+ runs.
+
+ <STRONG>-V</STRONG> print out the version of the program in use on standard error and
+ exit.
+
+ <STRONG>-1</STRONG> cause the fields to print out one to a line. Otherwise, the
+ fields will be printed several to a line to a maximum width of 60
+ characters.
<STRONG>-w</STRONG> change the output to <EM>width</EM> characters.
-</PRE>
-<H2>FILES</H2><PRE>
- /usr/share/terminfo Compiled terminal description data-
- base.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ /usr/share/terminfo Compiled terminal description database.
-</PRE>
-<H2>TRANSLATIONS FROM NONSTANDARD CAPABILITIES</H2><PRE>
- Some obsolete nonstandard capabilities will automatically
- be translated into standard (SVr4/XSI Curses) terminfo
- capabilities by <STRONG>captoinfo</STRONG>. Whenever one of these auto-
- matic translations is done, the program will issue an
- notification to stderr, inviting the user to check that it
- has not mistakenly translated a completely unknown and
- random capability and/or syntax error.
+</PRE><H2><a name="h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></H2><PRE>
+ Some obsolete nonstandard capabilities will automatically be translated
+ into standard (SVr4/XSI Curses) terminfo capabilities by <STRONG>captoinfo</STRONG>.
+ Whenever one of these automatic translations is done, the program will
+ issue an notification to stderr, inviting the user to check that it has
+ not mistakenly translated a completely unknown and random capability
+ and/or syntax error.
Nonstd Std From Terminfo
name name capability
@@ -116,12 +106,12 @@
GE ae XENIX exit_alt_charset_mode
GS as XENIX enter_alt_charset_mode
HM kh XENIX key_home
-
LD kL XENIX key_dl
PD kN XENIX key_npage
PN po XENIX prtr_off
PS pf XENIX prtr_on
PU kP XENIX key_ppage
+
RT @8 XENIX kent
UP ku XENIX kcuu1
KA k; Tek key_f10
@@ -134,9 +124,9 @@
FC Sf Tek set_foreground
HS mh Iris enter_dim_mode
- XENIX termcap also used to have a set of extension capa-
- bilities for forms drawing, designed to take advantage of
- the IBM PC high-half graphics. They were as follows:
+ XENIX termcap also used to have a set of extension capabilities for
+ forms drawing, designed to take advantage of the IBM PC high-half
+ graphics. They were as follows:
Cap Graphic
-----------------------------
@@ -164,14 +154,13 @@
Gc intersection
GG acs magic cookie count
- If the single-line capabilities occur in an entry, they
- will automatically be composed into an <EM>acsc</EM> string. The
- double-line capabilities and <STRONG>GG</STRONG> are discarded with a warn-
- ing message.
+ If the single-line capabilities occur in an entry, they will automati-
+ cally be composed into an <STRONG>acsc</STRONG> string. The double-line capabilities
+ and <STRONG>GG</STRONG> are discarded with a warning message.
- IBM's AIX has a terminfo facility descended from SVr1 ter-
- minfo but incompatible with the SVr4 format. The follow-
- ing AIX extensions are automatically translated:
+ IBM's AIX has a terminfo facility descended from SVr1 terminfo but
+ incompatible with the SVr4 format. The following AIX extensions are
+ automatically translated:
IBM XSI
-------------
@@ -182,45 +171,56 @@
font2 s2ds
font3 s3ds
- Additionally, the AIX <EM>box1</EM> capability will be automati-
- cally translated to an <EM>acsc</EM> string.
+ Additionally, the AIX <EM>box1</EM> capability will be automatically translated
+ to an <STRONG>acsc</STRONG> string.
- Hewlett-Packard's terminfo library supports two nonstan-
- dard terminfo capabilities <EM>meml</EM> (memory lock) and <EM>memu</EM>
- (memory unlock). These will be discarded with a warning
- message.
+ Hewlett-Packard's terminfo library supports two nonstandard terminfo
+ capabilities <STRONG>meml</STRONG> (memory lock) and <STRONG>memu</STRONG> (memory unlock). These will
+ be discarded with a warning message.
-</PRE>
-<H2>NOTES</H2><PRE>
- This utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in <EM>-I</EM>
- mode. You can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ This utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in <EM>-I</EM> mode. You
+ can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>.
- The trace option is not identical to SVr4's. Under SVr4,
- instead of following the <STRONG>-v</STRONG> with a trace level n, you
- repeat it n times.
+ The verbose option is not identical to SVr4's. Under SVr4, instead of
+ following the <STRONG>-v</STRONG> with a trace level n, you repeat it n times.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses, Issue 7 (2009) describes <STRONG>tic</STRONG> briefly, but omits this
+ program. SVr4 systems provide <STRONG>captoinfo</STRONG> as a separate application from
+ <STRONG>tic</STRONG>.
+
+ NetBSD does not provide this application.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
- <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+ <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html
index 02b5e31d6573..1130989ccfca 100644
--- a/doc/html/man/clear.1.html
+++ b/doc/html/man/clear.1.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,60 +26,144 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: clear.1,v 1.10 2013/06/22 22:22:11 tom Exp @
+ * @Id: clear.1,v 1.22 2018/07/28 21:45:40 tom Exp @
+ * these would be fallbacks for DS/DE,
+ * but groff changed the meaning of the macros.
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>clear 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>clear 1</H1>
-<HR>
+<H1 class="no-header">clear 1</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> General Commands Manual <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>clear</STRONG> - clear the terminal screen
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>clear</STRONG>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>clear</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] [<STRONG>-V</STRONG>] [<STRONG>-x</STRONG>]
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>clear</STRONG> clears your screen if this is possible, including
- its scrollback buffer (if the extended "E3" capability is
- defined). <STRONG>clear</STRONG> looks in the environment for the terminal
- type and then in the <STRONG>terminfo</STRONG> database to determine how to
- clear the screen.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>clear</STRONG> clears your screen if this is possible, including its scrollback
+ buffer (if the extended "E3" capability is defined). <STRONG>clear</STRONG> looks in
+ the environment for the terminal type given by the environment variable
+ <STRONG>TERM</STRONG>, and then in the <STRONG>terminfo</STRONG> database to determine how to clear the
+ screen.
- <STRONG>clear</STRONG> ignores any command-line parameters that may be
- present.
+ <STRONG>clear</STRONG> writes to the standard output. You can redirect the standard
+ output to a file (which prevents <STRONG>clear</STRONG> from actually clearing the
+ screen), and later <STRONG>cat</STRONG> the file to the screen, clearing it at that
+ point.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+ <STRONG>-T</STRONG> <EM>type</EM>
+ indicates the <EM>type</EM> of terminal. Normally this option is unneces-
+ sary, because the default is taken from the environment variable
+ <STRONG>TERM</STRONG>. If <STRONG>-T</STRONG> is specified, then the shell variables <STRONG>LINES</STRONG> and <STRONG>COL-</STRONG>
+ <STRONG>UMNS</STRONG> will also be ignored.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ exits. The options are as follows:
+
+ <STRONG>-x</STRONG> do not attempt to clear the terminal's scrollback buffer using the
+ extended "E3" capability.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ A <STRONG>clear</STRONG> command appeared in 2.79BSD dated February 24, 1979. Later
+ that was provided in Unix 8th edition (1985).
+
+ AT&amp;T adapted a different BSD program (<STRONG>tset</STRONG>) to make a new command
+ (<STRONG>tput</STRONG>), and used this to replace the <STRONG>clear</STRONG> command with a shell script
+ which calls <STRONG>tput</STRONG> <STRONG>clear</STRONG>, e.g.,
+
+ /usr/bin/tput ${1:+-T$1} clear 2&gt; /dev/null
+ exit
+
+ In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to make it sim-
+ ilar to the AT&amp;T <STRONG>tput</STRONG>, he added a shell script for the <STRONG>clear</STRONG> command:
+
+ exec tput clear
+
+ The remainder of the script in each case is a copyright notice.
+
+ The ncurses <STRONG>clear</STRONG> command began in 1995 by adapting the original BSD
+ <STRONG>clear</STRONG> command (with terminfo, of course).
+
+ The <STRONG>E3</STRONG> extension came later:
+
+ <STRONG>o</STRONG> In June 1999, xterm provided an extension to the standard control
+ sequence for clearing the screen. Rather than clearing just the
+ visible part of the screen using
+
+ printf '\033[2J'
+
+ one could clear the <EM>scrollback</EM> using
+
+ printf '\033[<STRONG>3</STRONG>J'
+
+ This is documented in <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> as a feature origi-
+ nating with xterm.
+
+ <STRONG>o</STRONG> A few other terminal developers adopted the feature, e.g., PuTTY in
+ 2006.
+
+ <STRONG>o</STRONG> In April 2011, a Red Hat developer submitted a patch to the Linux
+ kernel, modifying its console driver to do the same thing. The
+ Linux change, part of the 3.0 release, did not mention xterm,
+ although it was cited in the Red Hat bug report (#683733) which led
+ to the change.
+
+ <STRONG>o</STRONG> Again, a few other terminal developers adopted the feature. But
+ the next relevant step was a change to the <STRONG>clear</STRONG> program in 2013 to
+ incorporate this extension.
+
+ <STRONG>o</STRONG> In 2013, the <STRONG>E3</STRONG> extension was overlooked in <STRONG>tput</STRONG> with the "clear"
+ parameter. That was addressed in 2016 by reorganizing <STRONG>tput</STRONG> to
+ share its logic with <STRONG>clear</STRONG> and <STRONG>tset</STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7
+ (POSIX.1-2008) nor X/Open Curses Issue 7 documents tset or reset.
+
+ The latter documents <STRONG>tput</STRONG>, which could be used to replace this utility
+ either via a shell script or by an alias (such as a symbolic link) to
+ run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+ <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_add_wch.3x.html b/doc/html/man/curs_add_wch.3x.html
index eb5506199a95..f7f0c2432e05 100644
--- a/doc/html/man/curs_add_wch.3x.html
+++ b/doc/html/man/curs_add_wch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2001-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,204 +26,269 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wch.3x,v 1.15 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_add_wch.3x,v 1.25 2019/10/27 00:07:13 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_add_wch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_add_wch 3x</H1>
-<HR>
+<H1 class="no-header">curs_add_wch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, <STRONG>echo_wchar</STRONG>,
- <STRONG>wecho_wchar</STRONG> - add a complex character and rendition to a
- <STRONG>curses</STRONG> window, then advance the cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, <STRONG>echo_wchar</STRONG>, <STRONG>wecho_wchar</STRONG> - add
+ a complex character and rendition to a <STRONG>curses</STRONG> window, then advance the
+ cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>add_wch(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvadd_wch(</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG>
- <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>echo_wchar(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wecho_wchar(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions
- put the complex character <EM>wch</EM> into the given window at its
- current position, which is then advanced. These functions
- perform wrapping and special-character processing as fol-
- lows:
-
- <STRONG>o</STRONG> If <EM>wch</EM> refers to a spacing character, then any previ-
- ous character at that location is removed. A new
- character specified by <EM>wch</EM> is placed at that location
- with rendition specified by <EM>wch</EM>. The cursor then
- advances to the next spacing character on the screen.
-
- <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, all previous
- characters at that location are preserved. The non-
- spacing characters of <EM>wch</EM> are added to the spacing
- complex character, and the rendition specified by <EM>wch</EM>
- is ignored.
-
- <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline,
- backspace or other control character, the window is
- updated and the cursor moves as if <STRONG>addch</STRONG> were called.
-
- The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a
- call to <STRONG>add_wch</STRONG> followed by a call to <STRONG>refresh</STRONG>. Similarly,
- the <STRONG>wecho_wchar</STRONG> is functionally equivalent to a call to
- <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>wrefresh</STRONG>. The knowledge
- that only a single character is being output is taken into
- consideration and, for non-control characters, a consider-
- able performance gain might be seen by using the *<STRONG>echo</STRONG>*
- functions instead of their equivalents.
-
- <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
- Like <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG>addch_wch</STRONG> accepts symbols which make it
- simple to draw lines and other frequently used special
- characters. These symbols correspond to the same VT100
- line-drawing set as <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
-
- <EM>Name</EM> <EM>Unicode</EM> <EM>Default</EM> <EM>Description</EM>
- ----------------------------------------------------------------
- WACS_BLOCK 0x25ae # solid square block
- WACS_BOARD 0x2592 # board of squares
- WACS_BTEE 0x2534 + bottom tee
- WACS_BULLET 0x00b7 o bullet
- WACS_CKBOARD 0x2592 : checker board (stipple)
-
- WACS_DARROW 0x2193 v arrow pointing down
- WACS_DEGREE 0x00b0 ' degree symbol
- WACS_DIAMOND 0x25c6 + diamond
- WACS_GEQUAL 0x2265 &gt; greater-than-or-equal-to
- WACS_HLINE 0x2500 - horizontal line
- WACS_LANTERN 0x2603 # lantern symbol
- WACS_LARROW 0x2190 &lt; arrow pointing left
- WACS_LEQUAL 0x2264 &lt; less-than-or-equal-to
- WACS_LLCORNER 0x2514 + lower left-hand corner
- WACS_LRCORNER 0x2518 + lower right-hand corner
- WACS_LTEE 0x2524 + left tee
- WACS_NEQUAL 0x2260 ! not-equal
- WACS_PI 0x03c0 * greek pi
- WACS_PLMINUS 0x00b1 # plus/minus
- WACS_PLUS 0x253c + plus
- WACS_RARROW 0x2192 &gt; arrow pointing right
- WACS_RTEE 0x251c + right tee
- WACS_S1 0x23ba - scan line 1
- WACS_S3 0x23bb - scan line 3
- WACS_S7 0x23bc - scan line 7
- WACS_S9 0x23bd _ scan line 9
- WACS_STERLING 0x00a3 f pound-sterling symbol
- WACS_TTEE 0x252c + top tee
- WACS_UARROW 0x2191 ^ arrow pointing up
- WACS_ULCORNER 0x250c + upper left-hand corner
- WACS_URCORNER 0x2510 + upper right-hand corner
- WACS_VLINE 0x2502 | vertical line
-
- The wide-character configuration of ncurses also defines
- symbols for thick- and double-lines:
-
- <EM>Name</EM> <EM>Unicode</EM> <EM>Default</EM> <EM>Description</EM>
- ---------------------------------------------------------------------
- WACS_T_ULCORNER 0x250f + thick upper left corner
- WACS_T_LLCORNER 0x2517 + thick lower left corner
- WACS_T_URCORNER 0x2513 + thick upper right corner
- WACS_T_LRCORNER 0x251b + thick lower right corner
- WACS_T_LTEE 0x252b + thick tee pointing right
- WACS_T_RTEE 0x2523 + thick tee pointing left
- WACS_T_BTEE 0x253b + thick tee pointing up
- WACS_T_TTEE 0x2533 + thick tee pointing down
- WACS_T_HLINE 0x2501 - thick horizontal line
- WACS_T_VLINE 0x2503 | thick vertical line
- WACS_T_PLUS 0x254b + thick large plus or crossover
- WACS_D_ULCORNER 0x2554 + double upper left corner
- WACS_D_LLCORNER 0x255a + double lower left corner
- WACS_D_URCORNER 0x2557 + double upper right corner
- WACS_D_LRCORNER 0x255d + double lower right corner
- WACS_D_RTEE 0x2563 + double tee pointing left
- WACS_D_LTEE 0x2560 + double tee pointing right
- WACS_D_BTEE 0x2569 + double tee pointing up
- WACS_D_TTEE 0x2566 + double tee pointing down
- WACS_D_HLINE 0x2550 - double horizontal line
- WACS_D_VLINE 0x2551 | double vertical line
- WACS_D_PLUS 0x256c + double large plus or crossover
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-add_wch">add_wch</a></H3><PRE>
+ The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions put the com-
+ plex character <EM>wch</EM> into the given window at its current position, which
+ is then advanced. These functions perform wrapping and special-charac-
+ ter processing as follows:
+
+ <STRONG>o</STRONG> If <EM>wch</EM> refers to a spacing character, then any previous character
+ at that location is removed. A new character specified by <EM>wch</EM> is
+ placed at that location with rendition specified by <EM>wch</EM>. The cur-
+ sor then advances to the next spacing character on the screen.
+
+ <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, all previous characters
+ at that location are preserved. The non-spacing characters of <EM>wch</EM>
+ are added to the spacing complex character, and the rendition spec-
+ ified by <EM>wch</EM> is ignored.
+
+ <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline, backspace or other
+ control character, the window is updated and the cursor moves as if
+ <STRONG>addch</STRONG> were called.
+
+
+</PRE><H3><a name="h3-echo_wchar">echo_wchar</a></H3><PRE>
+ The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a call to <STRONG>add_wch</STRONG>
+ followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. Similarly, the <STRONG>wecho_wchar</STRONG> is func-
+ tionally equivalent to a call to <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>wre-</STRONG>
+ <STRONG>fresh</STRONG>. The knowledge that only a single character is being output is
+ taken into consideration and, for non-control characters, a consider-
+ able performance gain might be seen by using the *<STRONG>echo</STRONG>* functions
+ instead of their equivalents.
+
+
+</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
+ Like <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG>addch_wch</STRONG> accepts symbols which make it simple to draw
+ lines and other frequently used special characters. These symbols cor-
+ respond to the same VT100 line-drawing set as <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
+
+ <STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
+ <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+ ------------------------------------------------------------------------
+ WACS_BLOCK 0x25ae # 0 solid square block
+ WACS_BOARD 0x2592 # h board of squares
+ WACS_BTEE 0x2534 + v bottom tee
+ WACS_BULLET 0x00b7 o ~ bullet
+ WACS_CKBOARD 0x2592 : a checker board (stipple)
+ WACS_DARROW 0x2193 v . arrow pointing down
+ WACS_DEGREE 0x00b0 ' f degree symbol
+ WACS_DIAMOND 0x25c6 + ` diamond
+
+ WACS_GEQUAL 0x2265 &gt; &gt; greater-than-or-equal-to
+ WACS_HLINE 0x2500 - q horizontal line
+ WACS_LANTERN 0x2603 # i lantern symbol
+ WACS_LARROW 0x2190 &lt; , arrow pointing left
+ WACS_LEQUAL 0x2264 &lt; y less-than-or-equal-to
+ WACS_LLCORNER 0x2514 + m lower left-hand corner
+ WACS_LRCORNER 0x2518 + j lower right-hand corner
+ WACS_LTEE 0x2524 + t left tee
+ WACS_NEQUAL 0x2260 ! | not-equal
+ WACS_PI 0x03c0 * { greek pi
+ WACS_PLMINUS 0x00b1 # g plus/minus
+ WACS_PLUS 0x253c + n plus
+ WACS_RARROW 0x2192 &gt; + arrow pointing right
+ WACS_RTEE 0x251c + u right tee
+ WACS_S1 0x23ba - o scan line 1
+ WACS_S3 0x23bb - p scan line 3
+ WACS_S7 0x23bc - r scan line 7
+ WACS_S9 0x23bd _ s scan line 9
+ WACS_STERLING 0x00a3 f } pound-sterling symbol
+ WACS_TTEE 0x252c + w top tee
+ WACS_UARROW 0x2191 ^ - arrow pointing up
+ WACS_ULCORNER 0x250c + l upper left-hand corner
+ WACS_URCORNER 0x2510 + k upper right-hand corner
+ WACS_VLINE 0x2502 | x vertical line
+
+ The wide-character configuration of ncurses also defines symbols for
+ thick lines (<STRONG>acsc</STRONG> "J" to "V"):
+
+ <STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
+ <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+ -----------------------------------------------------------------------
+ WACS_T_BTEE 0x253b + V thick tee pointing up
+ WACS_T_HLINE 0x2501 - Q thick horizontal line
+ WACS_T_LLCORNER 0x2517 + M thick lower left corner
+ WACS_T_LRCORNER 0x251b + J thick lower right corner
+ WACS_T_LTEE 0x252b + T thick tee pointing right
+ WACS_T_PLUS 0x254b + N thick large plus
+ WACS_T_RTEE 0x2523 + U thick tee pointing left
+ WACS_T_TTEE 0x2533 + W thick tee pointing down
+ WACS_T_ULCORNER 0x250f + L thick upper left corner
+ WACS_T_URCORNER 0x2513 + K thick upper right corner
+ WACS_T_VLINE 0x2503 | X thick vertical line
+
+ and for double-lines (<STRONG>acsc</STRONG> "A" to "I"):
+
+ <STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
+ <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+ ------------------------------------------------------------------------
+ WACS_D_BTEE 0x2569 + H double tee pointing up
+ WACS_D_HLINE 0x2550 - R double horizontal line
+ WACS_D_LLCORNER 0x255a + D double lower left corner
+ WACS_D_LRCORNER 0x255d + A double lower right corner
+ WACS_D_LTEE 0x2560 + F double tee pointing right
+ WACS_D_PLUS 0x256c + E double large plus
+ WACS_D_RTEE 0x2563 + G double tee pointing left
+ WACS_D_TTEE 0x2566 + I double tee pointing down
+ WACS_D_ULCORNER 0x2554 + C double upper left corner
+ WACS_D_URCORNER 0x2557 + B double upper right corner
+ WACS_D_VLINE 0x2551 | Y double vertical line
+
+ Unicode's descriptions for these characters differs slightly from
+ ncurses, by introducing the term "light" (along with less important
+ details). Here are its descriptions for the normal, thick, and double
+ horizontal lines:
+
+ <STRONG>o</STRONG> U+2500 BOX DRAWINGS LIGHT HORIZONTAL
+
+ <STRONG>o</STRONG> U+2501 BOX DRAWINGS HEAVY HORIZONTAL
+
+ <STRONG>o</STRONG> U+2550 BOX DRAWINGS DOUBLE HORIZONTAL
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG> may be macros.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ All of these functions are described in the XSI Curses standard, Issue
+ 4. The defaults specified for line-drawing characters apply in the
+ POSIX locale.
+
+ X/Open Curses makes it clear that the WACS_ symbols should be defined
+ as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of <STRONG>border_set</STRONG>. A
+ few implementations are problematic:
+
+ <STRONG>o</STRONG> NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>.
+
+ <STRONG>o</STRONG> HPUX curses equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the analogous <EM>WACS</EM><STRONG>_</STRONG>
+ symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were wide characters. The misde-
+ fined symbols are the arrows and other symbols which are not used
+ for line-drawing.
+
+ X/Open Curses does not define symbols for thick- or double-lines. SVr4
+ curses implementations defined their line-drawing symbols in terms of
+ intermediate symbols. This implementation extends those symbols, pro-
+ viding new definitions which are not in the SVr4 implementations.
+
+ Not all Unicode-capable terminals provide support for VT100-style
+ alternate character sets (i.e., the <STRONG>acsc</STRONG> capability), with their corre-
+ sponding line-drawing characters. X/Open Curses did not address the
+ aspect of integrating Unicode with line-drawing characters. Existing
+ implementations of Unix curses (AIX, HPUX, Solaris) use only the <STRONG>acsc</STRONG>
+ character-mapping to provide this feature. As a result, those imple-
+ mentations can only use single-byte line-drawing characters. Ncurses
+ 5.3 (2002) provided a table of Unicode values to solve these problems.
+ NetBSD curses incorporated that table in 2010.
+
+ In this implementation, the Unicode values are used instead of the ter-
+ minal description's <STRONG>acsc</STRONG> mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for the
+ environment variable <STRONG>NCURSES_NO_UTF8_ACS</STRONG>. In contrast, for the same
+ cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> will use
+ only the ASCII default values.
+
+ Having Unicode available does not solve all of the problems with line-
+ drawing for curses:
+ <STRONG>o</STRONG> The closest Unicode equivalents to the VT100 graphics <EM>S1</EM>, <EM>S3</EM>, <EM>S7</EM>
+ and <EM>S9</EM> frequently are not displayed at the regular intervals which
+ the terminal used.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
- success.
+ <STRONG>o</STRONG> The <EM>lantern</EM> is a special case. It originated with the AT&amp;T 4410
+ terminal in the early 1980s. There is no accessible documentation
+ depicting the lantern symbol on the AT&amp;T terminal.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Lacking documentation, most readers assume that a <EM>storm</EM> <EM>lantern</EM> was
+ intended. But there are several possibilities, all with problems.
+ Unicode 6.0 (2010) does provide two lantern symbols: U+1F383 and
+ U+1F3EE. Those were not available in 2002, and are irrelevant
+ since they lie outside the BMP and as a result are not generally
+ available in terminals. They are not storm lanterns, in any case.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG>
- may be macros.
+ Most <EM>storm</EM> <EM>lanterns</EM> have a tapering glass chimney (to guard against
+ tipping); some have a wire grid protecting the chimney.
+ For the tapering appearance, U+2603 was adequate. In use on a
+ terminal, no one can tell what the image represents. Unicode calls
+ it a snowman.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- All of these functions are described in the XSI Curses
- standard, Issue 4. The defaults specified for line-draw-
- ing characters apply in the POSIX locale.
-
- X/Open Curses makes it clear that the WACS_ symbols should
- be defined as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the dis-
- cussion of <STRONG>border_set</STRONG>. A few implementations are problem-
- atic:
-
- <STRONG>o</STRONG> NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within
- a <STRONG>cchar_t</STRONG>.
+ Others have suggested these alternatives: S U+00A7 (section mark),
+ <STRONG>O</STRONG> U+0398 (theta), <STRONG>O</STRONG> U+03A6 (phi), d U+03B4 (delta), U+2327 (x in a
+ rectangle), U+256C (forms double vertical and horizontal), and
+ U+2612 (ballot box with x).
- <STRONG>o</STRONG> HPUX curses equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the
- analogous <EM>WACS</EM><STRONG>_</STRONG> symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were
- wide characters. The misdefined symbols are the
- arrows and other symbols which are not used for line-
- drawing.
- X/Open Curses does not define symbols for thick- or dou-
- ble-lines. SVr4 curses implementations defined their
- line-drawing symbols in terms of intermediate symbols.
- This implementation extends those symbols, providing new
- definitions which are not in the SVr4 implementations.
-
-
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,
- <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
+ <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG>
- <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-add_wch">add_wch</a></li>
+<li><a href="#h3-echo_wchar">echo_wchar</a></li>
+<li><a href="#h3-Line-Graphics">Line Graphics</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_add_wchstr.3x.html b/doc/html/man/curs_add_wchstr.3x.html
index d27ab8c772a4..8b4fe83d8b2f 100644
--- a/doc/html/man/curs_add_wchstr.3x.html
+++ b/doc/html/man/curs_add_wchstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,34 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wchstr.3x,v 1.10 2012/11/03 22:54:43 tom Exp @
+ * @Id: curs_add_wchstr.3x,v 1.12 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_add_wchstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_add_wchstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_add_wchstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>,
- <STRONG>mvadd_wchstr</STRONG>, <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG>
- - add an array of complex characters (and attributes) to a
- curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>, <STRONG>mvadd_wchstr</STRONG>,
+ <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG> - add an array of complex
+ characters (and attributes) to a curses window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>add_wchstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
@@ -67,76 +64,72 @@
<STRONG>int</STRONG> <STRONG>mvwadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions copy the (null-terminated) array of com-
- plex characters <EM>wchstr</EM> into the window image structure
- starting at the current cursor position. The four func-
- tions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements,
- but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the
- whole array is copied, to the maximum number of characters
- that will fit on the line.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions copy the (null-terminated) array of complex characters
+ <EM>wchstr</EM> into the window image structure starting at the current cursor
+ position. The four functions with <EM>n</EM> as the last argument copy at most
+ <EM>n</EM> elements, but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the
+ whole array is copied, to the maximum number of characters that will
+ fit on the line.
- The window cursor is <EM>not</EM> advanced. These functions work
- faster than <STRONG>waddnstr</STRONG>. On the other hand:
+ The window cursor is <EM>not</EM> advanced. These functions work faster than
+ <STRONG>waddnstr</STRONG>. On the other hand:
- <STRONG>o</STRONG> they do not perform checking (such as for the newline,
- backspace, or carriage return characters),
+ <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace,
+ or carriage return characters),
<STRONG>o</STRONG> they do not advance the current cursor position,
- <STRONG>o</STRONG> they do not expand other control characters to ^-es-
- capes, and
+ <STRONG>o</STRONG> they do not expand other control characters to ^-escapes, and
- <STRONG>o</STRONG> they truncate the string if it crosses the right mar-
- gin, rather than wrapping it around to the new line.
+ <STRONG>o</STRONG> they truncate the string if it crosses the right margin, rather
+ than wrapping it around to the new line.
- These functions end successfully on encountering a null
- <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>, or when they have filled the current line. If a
- complex character cannot completely fit at the end of the
- current line, the remaining columns are filled with the
- background character and rendition.
+ These functions end successfully on encountering a null <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>, or
+ when they have filled the current line. If a complex character cannot
+ completely fit at the end of the current line, the remaining columns
+ are filled with the background character and rendition.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This imple-
- mentation returns an error if the window pointer is null.
+ X/Open does not define any error conditions. This implementation re-
+ turns an error if the window pointer is null.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All functions except <STRONG>wadd_wchnstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These entry points are described in the XSI Curses stan-
- dard, Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These entry points are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
- Comparable functions in the narrow-character (ncurses) li-
- brary are described in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>.
+ Comparable functions in the narrow-character (ncurses) library are de-
+ scribed in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>.
- <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_addch.3x.html b/doc/html/man/curs_addch.3x.html
index b8e1fb01ed12..779d5ad51194 100644
--- a/doc/html/man/curs_addch.3x.html
+++ b/doc/html/man/curs_addch.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,33 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addch.3x,v 1.32 2011/01/15 14:15:10 tom Exp @
+ * @Id: curs_addch.3x,v 1.50 2019/11/30 20:07:00 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_addch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_addch 3x</H1>
-<HR>
+<H1 class="no-header">curs_addch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> -
- add a character (with attributes) to a <STRONG>curses</STRONG> window, then
- advance the cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> - add a character
+ (with attributes) to a <STRONG>curses</STRONG> window, then advance the cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>addch(const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
@@ -65,155 +62,252 @@
<STRONG>int</STRONG> <STRONG>wechochar(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG> and <STRONG>mvwaddch</STRONG> routines put the
- character <EM>ch</EM> into the given window at its current window
- position, which is then advanced. They are analogous to
- <STRONG>putchar</STRONG> in <STRONG>stdio(3)</STRONG>. If the advance is at the right mar-
- gin, the cursor automatically wraps to the beginning of
- the next line. At the bottom of the current scrolling
- region, if <STRONG>scrollok</STRONG> is enabled, the scrolling region is
- scrolled up one line.
-
- If <EM>ch</EM> is a tab, newline, or backspace, the cursor is moved
- appropriately within the window. Backspace moves the cur-
- sor one character left; at the left edge of a window it
- does nothing. Newline does a <STRONG>clrtoeol</STRONG>, then moves the
- cursor to the window left margin on the next line,
- scrolling the window if on the last line. Tabs are con-
- sidered to be at every eighth column. The tab interval
- may be altered by setting the <STRONG>TABSIZE</STRONG> variable.
-
- If <EM>ch</EM> is any control character other than tab, newline, or
- backspace, it is drawn in <STRONG>^</STRONG><EM>X</EM> notation. Calling <STRONG>winch</STRONG>
- after adding a control character does not return the char-
- acter itself, but instead returns the ^-representation of
- the control character.
-
- Video attributes can be combined with a character argument
- passed to <STRONG>addch</STRONG> or related functions by logical-ORing them
- into the character. (Thus, text, including attributes,
- can be copied from one place to another using <STRONG>inch</STRONG> and
- <STRONG>addch</STRONG>.) See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for values of prede-
- fined video attribute constants that can be usefully OR'ed
- into characters.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> routines are equivalent to a
- call to <STRONG>addch</STRONG> followed by a call to <STRONG>refresh</STRONG>, or a call to
- <STRONG>waddch</STRONG> followed by a call to <STRONG>wrefresh</STRONG>. The knowledge that
- only a single character is being output is used and, for
- non-control characters, a considerable performance gain
- may be seen by using these routines instead of their
- equivalents.
-
- <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
- The following variables may be used to add line drawing
- characters to the screen with routines of the <STRONG>addch</STRONG> fam-
- ily. The default character listed below is used if the
- <STRONG>acsc</STRONG> capability does not define a terminal-specific
- replacement for it. The names are taken from VT100 nomen-
- clature.
-
- <EM>Name</EM> <EM>Default</EM> <EM>Description</EM>
- --------------------------------------------------
- ACS_BLOCK # solid square block
- ACS_BOARD # board of squares
- ACS_BTEE + bottom tee
- ACS_BULLET o bullet
- ACS_CKBOARD : checker board (stipple)
- ACS_DARROW v arrow pointing down
- ACS_DEGREE ' degree symbol
- ACS_DIAMOND + diamond
- ACS_GEQUAL &gt; greater-than-or-equal-to
- ACS_HLINE - horizontal line
- ACS_LANTERN # lantern symbol
- ACS_LARROW &lt; arrow pointing left
- ACS_LEQUAL &lt; less-than-or-equal-to
- ACS_LLCORNER + lower left-hand corner
- ACS_LRCORNER + lower right-hand corner
- ACS_LTEE + left tee
- ACS_NEQUAL ! not-equal
- ACS_PI * greek pi
- ACS_PLMINUS # plus/minus
- ACS_PLUS + plus
- ACS_RARROW &gt; arrow pointing right
- ACS_RTEE + right tee
- ACS_S1 - scan line 1
- ACS_S3 - scan line 3
- ACS_S7 - scan line 7
- ACS_S9 _ scan line 9
- ACS_STERLING f pound-sterling symbol
- ACS_TTEE + top tee
- ACS_UARROW ^ arrow pointing up
- ACS_ULCORNER + upper left-hand corner
- ACS_URCORNER + upper right-hand corner
- ACS_VLINE | vertical line
+</PRE><H3><a name="h3-Adding-characters">Adding characters</a></H3><PRE>
+ The <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG> and <STRONG>mvwaddch</STRONG> routines put the character <EM>ch</EM>
+ into the given window at its current window position, which is then
+ advanced. They are analogous to <STRONG>putchar(3)</STRONG> in <STRONG>stdio(3)</STRONG>. If the
+ advance is at the right margin:
+ <STRONG>o</STRONG> The cursor automatically wraps to the beginning of the next line.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
- success (the SVr4 manuals specify only "an integer value
- other than <STRONG>ERR</STRONG>") upon successful completion, unless other-
- wise noted in the preceding routine descriptions.
+ <STRONG>o</STRONG> At the bottom of the current scrolling region, and if <STRONG>scrollok</STRONG> is
+ enabled, the scrolling region is scrolled up one line.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ <STRONG>o</STRONG> If <STRONG>scrollok</STRONG> is not enabled, writing a character at the lower right
+ margin succeeds. However, an error is returned because it is not
+ possible to wrap to a new line
+ If <EM>ch</EM> is a tab, newline, carriage return or backspace, the cursor is
+ moved appropriately within the window:
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be
- macros.
+ <STRONG>o</STRONG> Backspace moves the cursor one character left; at the left edge of
+ a window it does nothing.
+ <STRONG>o</STRONG> Carriage return moves the cursor to the window left margin on the
+ current line.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- All these functions are described in the XSI Curses stan-
- dard, Issue 4. The defaults specified for forms-drawing
- characters apply in the POSIX locale.
+ <STRONG>o</STRONG> Newline does a <STRONG>clrtoeol</STRONG>, then moves the cursor to the window left
+ margin on the next line, scrolling the window if on the last line.
- X/Open Curses states that the <EM>ACS</EM><STRONG>_</STRONG> definitions are <STRONG>char</STRONG>
- constants. For the wide-character implementation (see
- <STRONG>curs_add_wch</STRONG>), there are analogous <EM>WACS</EM><STRONG>_</STRONG> definitions which
- are <STRONG>cchar_t</STRONG> constants.
+ <STRONG>o</STRONG> Tabs are considered to be at every eighth column. The tab interval
+ may be altered by setting the <STRONG>TABSIZE</STRONG> variable.
- Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL,
- ACS_PI, ACS_NEQUAL, ACS_STERLING) were not documented in
- any publicly released System V. However, many publicly
- available terminfos include <STRONG>acsc</STRONG> strings in which their
- key characters (pryz{|}) are embedded, and a second-hand
- list of their character descriptions has come to light.
- The ACS-prefixed names for them were invented for
- <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+ If <EM>ch</EM> is any other control character, it is drawn in <STRONG>^</STRONG><EM>X</EM> notation.
+ Calling <STRONG>winch</STRONG> after adding a control character does not return the
+ character itself, but instead returns the ^-representation of the con-
+ trol character.
- The <STRONG>TABSIZE</STRONG> variable is implemented in some versions of
- curses, but is not part of X/Open curses.
+ Video attributes can be combined with a character argument passed to
+ <STRONG>addch</STRONG> or related functions by logical-ORing them into the character.
+ (Thus, text, including attributes, can be copied from one place to
+ another using <STRONG><A HREF="curs_inch.3x.html">inch(3x)</A></STRONG> and <STRONG>addch</STRONG>.) See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for val-
+ ues of predefined video attribute constants that can be usefully OR'ed
+ into characters.
- If <EM>ch</EM> is a carriage return, the cursor is moved to the
- beginning of the current row of the window. This is true
- of other implementations, but is not documented.
+</PRE><H3><a name="h3-Echoing-characters">Echoing characters</a></H3><PRE>
+ The <STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> routines are equivalent to a call to <STRONG>addch</STRONG>
+ followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, or a call to <STRONG>waddch</STRONG> followed by a
+ call to <STRONG>wrefresh</STRONG>. The knowledge that only a single character is being
+ output is used and, for non-control characters, a considerable perfor-
+ mance gain may be seen by using these routines instead of their equiva-
+ lents.
+
+
+</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
+ The following variables may be used to add line drawing characters to
+ the screen with routines of the <STRONG>addch</STRONG> family. The default character
+ listed below is used if the <STRONG>acsc</STRONG> capability does not define a terminal-
+ specific replacement for it, or if the terminal and locale configura-
+ tion requires Unicode but the library is unable to use Unicode.
+
+ The names are taken from VT100 nomenclature.
+
+ <STRONG>ACS</STRONG> <STRONG>ACS</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
+ <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+ ---------------------------------------------------------
+ ACS_BLOCK # 0 solid square block
+ ACS_BOARD # h board of squares
+ ACS_BTEE + v bottom tee
+ ACS_BULLET o ~ bullet
+ ACS_CKBOARD : a checker board (stipple)
+ ACS_DARROW v . arrow pointing down
+ ACS_DEGREE ' f degree symbol
+ ACS_DIAMOND + ` diamond
+ ACS_GEQUAL &gt; &gt; greater-than-or-equal-to
+ ACS_HLINE - q horizontal line
+ ACS_LANTERN # i lantern symbol
+ ACS_LARROW &lt; , arrow pointing left
+ ACS_LEQUAL &lt; y less-than-or-equal-to
+ ACS_LLCORNER + m lower left-hand corner
+ ACS_LRCORNER + j lower right-hand corner
+ ACS_LTEE + t left tee
+ ACS_NEQUAL ! | not-equal
+ ACS_PI * { greek pi
+ ACS_PLMINUS # g plus/minus
+ ACS_PLUS + n plus
+ ACS_RARROW &gt; + arrow pointing right
+ ACS_RTEE + u right tee
+ ACS_S1 - o scan line 1
+ ACS_S3 - p scan line 3
+ ACS_S7 - r scan line 7
+ ACS_S9 _ s scan line 9
+ ACS_STERLING f } pound-sterling symbol
+ ACS_TTEE + w top tee
+ ACS_UARROW ^ - arrow pointing up
+ ACS_ULCORNER + l upper left-hand corner
+ ACS_URCORNER + k upper right-hand corner
+ ACS_VLINE | x vertical line
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success (the
+ SVr4 manuals specify only "an integer value other than <STRONG>ERR</STRONG>") upon suc-
+ cessful completion, unless otherwise noted in the preceding routine
+ descriptions.
+
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be macros.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ All these functions are described in the XSI Curses standard, Issue 4.
+ The defaults specified for forms-drawing characters apply in the POSIX
+ locale.
+
+
+</PRE><H3><a name="h3-ACS-Symbols">ACS Symbols</a></H3><PRE>
+ X/Open Curses states that the <EM>ACS</EM><STRONG>_</STRONG> definitions are <STRONG>char</STRONG> constants. For
+ the wide-character implementation (see <STRONG>curs_add_wch</STRONG>), there are analo-
+ gous <EM>WACS</EM><STRONG>_</STRONG> definitions which are <STRONG>cchar_t</STRONG> constants. Some implementa-
+ tions are problematic:
+
+ <STRONG>o</STRONG> Some implementations define the ACS symbols to a constant (such as
+ Solaris), while others define those to entries in an array.
+
+ This implementation uses an array <STRONG>acs_map</STRONG>, as done in SVr4 curses.
+ NetBSD also uses an array, actually named <STRONG>_acs_char</STRONG>, with a <STRONG>#define</STRONG>
+ for compatibility.
+
+ <STRONG>o</STRONG> HPUX curses equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the analogous <EM>WACS</EM><STRONG>_</STRONG>
+ symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were wide characters. The misde-
+ fined symbols are the arrows and other symbols which are not used
+ for line-drawing.
+
+ <STRONG>o</STRONG> X/Open Curses (issues 2 through 7) has a typographical error for
+ the ACS_LANTERN symbol, equating its "VT100+ Character" to <STRONG>I</STRONG> (capi-
+ tal I), while the header files for SVr4 curses and the various
+ implementations use <STRONG>i</STRONG> (lowercase).
+
+ None of the terminal descriptions on Unix platforms use uppercase-
+ I, except for Solaris (i.e., <EM>screen</EM>'s terminal description, appar-
+ ently based on the X/Open documentation around 1995). On the other
+ hand, the terminal description <EM>gs6300</EM> (AT&amp;T PC6300 with EMOTS Ter-
+ minal Emulator) uses lowercase-i.
+
+ Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL, ACS_PI,
+ ACS_NEQUAL, ACS_STERLING) were not documented in any publicly released
+ System V. However, many publicly available terminfos include <STRONG>acsc</STRONG>
+ strings in which their key characters (pryz{|}) are embedded, and a
+ second-hand list of their character descriptions has come to light.
+ The ACS-prefixed names for them were invented for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+ The <EM>displayed</EM> values for the <EM>ACS</EM><STRONG>_</STRONG> and <EM>WACS</EM><STRONG>_</STRONG> constants depend on
+
+ <STRONG>o</STRONG> the library configuration, i.e., <STRONG>ncurses</STRONG> versus <STRONG>ncursesw</STRONG>, where the
+ latter is capable of displaying Unicode while the former is not,
+ and
+
+ <STRONG>o</STRONG> whether the <EM>locale</EM> uses UTF-8 encoding.
+
+ In certain cases, the terminal is unable to display line-drawing char-
+ acters except by using UTF-8 (see the discussion of <STRONG>NCURSES_NO_UTF8_ACS</STRONG>
+ in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>).
+
+
+</PRE><H3><a name="h3-Character-Set">Character Set</a></H3><PRE>
+ X/Open Curses assumes that the parameter passed to <STRONG>waddch</STRONG> contains a
+ single character. As discussed in <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, that character may
+ have been more than eight bits in an SVr3 or SVr4 implementation, but
+ in the X/Open Curses model, the details are not given. The important
+ distinction between SVr4 curses and X/Open Curses is that the non-char-
+ acter information (attributes and color) was separated from the charac-
+ ter information which is packed in a <STRONG>chtype</STRONG> to pass to <STRONG>waddch</STRONG>.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>,
- <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
- <STRONG>putc(3)</STRONG>.
+ In this implementation, <STRONG>chtype</STRONG> holds an eight-bit character. But
+ ncurses allows multibyte characters to be passed in a succession of
+ calls to <STRONG>waddch</STRONG>. The other implementations do not do this; a call to
+ <STRONG>waddch</STRONG> passes exactly one character which may be rendered as one or
+ more cells on the screen depending on whether it is printable.
+
+ Depending on the locale settings, ncurses will inspect the byte passed
+ in each call to <STRONG>waddch</STRONG>, and check if the latest call will continue a
+ multibyte sequence. When a character is <EM>complete</EM>, ncurses displays the
+ character and moves to the next position in the screen.
+
+ If the calling application interrupts the succession of bytes in a
+ multibyte character by moving the current location (e.g., using <STRONG>wmove</STRONG>),
+ ncurses discards the partially built character, starting over again.
+
+ For portability to other implementations, do not rely upon this behav-
+ ior:
+
+ <STRONG>o</STRONG> check if a character can be represented as a single byte in the
+ current locale before attempting call <STRONG>waddch</STRONG>, and
+
+ <STRONG>o</STRONG> call <STRONG>wadd_wch</STRONG> for characters which cannot be handled by <STRONG>waddch</STRONG>.
+
+
+</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+ The <STRONG>TABSIZE</STRONG> variable is implemented in SVr4 and other versions of
+ curses, but is not part of X/Open curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> for
+ more details).
+
+ If <EM>ch</EM> is a carriage return, the cursor is moved to the beginning of the
+ current row of the window. This is true of other implementations, but
+ is not documented.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
+ <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>.
- Comparable functions in the wide-character (ncursesw)
- library are described in <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>.
+ Comparable functions in the wide-character (ncursesw) library are
+ described in <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Adding-characters">Adding characters</a></li>
+<li><a href="#h3-Echoing-characters">Echoing characters</a></li>
+<li><a href="#h3-Line-Graphics">Line Graphics</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-ACS-Symbols">ACS Symbols</a></li>
+<li><a href="#h3-Character-Set">Character Set</a></li>
+<li><a href="#h3-TABSIZE">TABSIZE</a></li>
+</ul>
+</li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_addchstr.3x.html b/doc/html/man/curs_addchstr.3x.html
index b4bbc4f84cc9..82dd5daf2a16 100644
--- a/doc/html/man/curs_addchstr.3x.html
+++ b/doc/html/man/curs_addchstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addchstr.3x,v 1.16 2012/11/03 22:54:43 tom Exp @
+ * @Id: curs_addchstr.3x,v 1.18 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_addchstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_addchstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_addchstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>,
- <STRONG>mvaddchnstr</STRONG>, <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a string of
- characters (and attributes) to a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>, <STRONG>mvaddchnstr</STRONG>,
+ <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a string of characters (and attributes)
+ to a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>addchstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
@@ -66,69 +64,66 @@
<STRONG>int</STRONG> <STRONG>mvwaddchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions copy the (null-terminated) <EM>chstr</EM> array in-
- to the window image structure starting at the current cur-
- sor position. The four functions with <EM>n</EM> as the last argu-
- ment copy at most <EM>n</EM> elements, but no more than will fit on
- the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is copied, to the
- maximum number of characters that will fit on the line.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions copy the (null-terminated) <EM>chstr</EM> array into the window
+ image structure starting at the current cursor position. The four
+ functions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements, but no
+ more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is
+ copied, to the maximum number of characters that will fit on the line.
- The window cursor is <EM>not</EM> advanced. These functions work
- faster than <STRONG>waddnstr</STRONG>. On the other hand:
+ The window cursor is <EM>not</EM> advanced. These functions work faster than
+ <STRONG>waddnstr</STRONG>. On the other hand:
- <STRONG>o</STRONG> they do not perform checking (such as for the newline,
- backspace, or carriage return characters),
+ <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace,
+ or carriage return characters),
<STRONG>o</STRONG> they do not advance the current cursor position,
- <STRONG>o</STRONG> they do not expand other control characters to ^-es-
- capes, and
+ <STRONG>o</STRONG> they do not expand other control characters to ^-escapes, and
- <STRONG>o</STRONG> they truncate the string if it crosses the right mar-
- gin, rather than wrapping it around to the new line.
+ <STRONG>o</STRONG> they truncate the string if it crosses the right margin, rather
+ than wrapping it around to the new line.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This imple-
- mentation returns an error if the window pointer is null.
+ X/Open does not define any error conditions. This implementation re-
+ turns an error if the window pointer is null.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All functions except <STRONG>waddchnstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These entry points are described in the XSI Curses stan-
- dard, Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These entry points are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
- Comparable functions in the wide-character (ncursesw) li-
- brary are described in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>.
+ Comparable functions in the wide-character (ncursesw) library are de-
+ scribed in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>.
- <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_addstr.3x.html b/doc/html/man/curs_addstr.3x.html
index f5fd5ebfa2a5..1506a391513d 100644
--- a/doc/html/man/curs_addstr.3x.html
+++ b/doc/html/man/curs_addstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addstr.3x,v 1.17 2012/11/03 22:57:31 tom Exp @
+ * @Id: curs_addstr.3x,v 1.19 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_addstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_addstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_addstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>,
- <STRONG>mvwaddstr</STRONG>, <STRONG>mvwaddnstr</STRONG> - add a string of characters to a
- <STRONG>curses</STRONG> window and advance cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>, <STRONG>mvwaddstr</STRONG>,
+ <STRONG>mvwaddnstr</STRONG> - add a string of characters to a <STRONG>curses</STRONG> window and advance
+ cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>addstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
@@ -66,28 +64,25 @@
<STRONG>int</STRONG> <STRONG>mvwaddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str,</EM> <EM>int</EM> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions write the (null-terminated) character
- string <EM>str</EM> on the given window. It is similar to calling
- <STRONG>waddch</STRONG> once for each character in the string.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions write the (null-terminated) character string <EM>str</EM> on the
+ given window. It is similar to calling <STRONG>waddch</STRONG> once for each character
+ in the string.
- The <EM>mv</EM> functions perform cursor movement once, before
- writing any characters. Thereafter, the cursor is ad-
- vanced as a side-effect of writing to the window.
+ The <EM>mv</EM> functions perform cursor movement once, before writing any char-
+ acters. Thereafter, the cursor is advanced as a side-effect of writing
+ to the window.
- The four functions with <EM>n</EM> as the last argument write at
- most <EM>n</EM> characters, or until a terminating null is reached.
- If <EM>n</EM> is -1, then the entire string will be added.
+ The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> charac-
+ ters, or until a terminating null is reached. If <EM>n</EM> is -1, then the en-
+ tire string will be added.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This imple-
- mentation returns an error
+ X/Open does not define any error conditions. This implementation re-
+ turns an error
<STRONG>o</STRONG> if the window pointer is null or
@@ -95,34 +90,36 @@
<STRONG>o</STRONG> if the corresponding calls to <STRONG>waddch</STRONG> return an error.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All of these functions except <STRONG>waddnstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_addwstr.3x.html b/doc/html/man/curs_addwstr.3x.html
index fc9d830d60bb..2cd1aa2dd92e 100644
--- a/doc/html/man/curs_addwstr.3x.html
+++ b/doc/html/man/curs_addwstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addwstr.3x,v 1.11 2012/11/03 22:57:31 tom Exp @
+ * @Id: curs_addwstr.3x,v 1.13 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_addwstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_addwstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_addwstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>,
- <STRONG>mvaddnwstr</STRONG>, <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a string of wide
- characters to a <STRONG>curses</STRONG> window and advance cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>, <STRONG>mvaddnwstr</STRONG>,
+ <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a string of wide characters to a <STRONG>curses</STRONG>
+ window and advance cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>addwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
@@ -66,67 +64,63 @@
<STRONG>int</STRONG> <STRONG>mvwaddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions write the characters of the (null-termi-
- nated) <STRONG>wchar_t</STRONG> character string <EM>wstr</EM> on the given window.
- It is similar to constructing a <STRONG>cchar_t</STRONG> for each wchar_t
- in the string, then calling <STRONG>wadd_wch</STRONG> for the resulting
- <STRONG>cchar_t</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions write the characters of the (null-terminated) <STRONG>wchar_t</STRONG>
+ character string <EM>wstr</EM> on the given window. It is similar to construct-
+ ing a <STRONG>cchar_t</STRONG> for each wchar_t in the string, then calling <STRONG>wadd_wch</STRONG> for
+ the resulting <STRONG>cchar_t</STRONG>.
- The <EM>mv</EM> functions perform cursor movement once, before
- writing any characters. Thereafter, the cursor is ad-
- vanced as a side-effect of writing to the window.
+ The <EM>mv</EM> functions perform cursor movement once, before writing any char-
+ acters. Thereafter, the cursor is advanced as a side-effect of writing
+ to the window.
- The four functions with <EM>n</EM> as the last argument write at
- most <EM>n</EM> <STRONG>wchar_t</STRONG> characters, or until a terminating null is
- reached. If <EM>n</EM> is -1, then the entire string will be
- added.
+ The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> <STRONG>wchar_t</STRONG>
+ characters, or until a terminating null is reached. If <EM>n</EM> is -1, then
+ the entire string will be added.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- on success.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- X/Open does not define any error conditions. This imple-
- mentation returns an error
+ X/Open does not define any error conditions. This implementation re-
+ turns an error
<STRONG>o</STRONG> if the window pointer is null or
<STRONG>o</STRONG> if the string pointer is null or
- <STRONG>o</STRONG> if the corresponding calls to <STRONG>wadd_wch</STRONG> return an er-
- ror.
+ <STRONG>o</STRONG> if the corresponding calls to <STRONG>wadd_wch</STRONG> return an error.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All of these functions except <STRONG>waddnwstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_attr.3x.html b/doc/html/man/curs_attr.3x.html
index f09a28de97c5..ec259a1cdf7f 100644
--- a/doc/html/man/curs_attr.3x.html
+++ b/doc/html/man/curs_attr.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,145 +27,224 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_attr.3x,v 1.39 2013/09/21 20:39:49 Sven.Joachim Exp @
+ * @Id: curs_attr.3x,v 1.65 2019/11/30 21:06:30 tom Exp @
+ * ---------------------------------------------------------------------------
+ * attr_get
+ * .br
+ * .br
+ * .br
+ * .br
+ * .br
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
+ * ---------------------------------------------------------------------------
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_attr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_attr 3x</H1>
-<HR>
+<H1 class="no-header">curs_attr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>,
- <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>, <STRONG>standout</STRONG>,
- <STRONG>wstandout</STRONG>, <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>,
- <STRONG>attr_on</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>chgat</STRONG>, <STRONG>wchgat</STRONG>,
- <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> character and
- window attribute control routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>attr_on</STRONG>,
+ <STRONG>wattr_on</STRONG>, <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>chgat</STRONG>,
+ <STRONG>wchgat</STRONG>, <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>,
+ <STRONG>standout</STRONG>, <STRONG>wstandout</STRONG> - <STRONG>curses</STRONG> character and window attribute control
+ routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattroff(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>attron(int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattron(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>attrset(int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattrset(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <STRONG>color_pair_number,</STRONG> <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>short</STRONG> <STRONG>color_pair_number,</STRONG>
- <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <EM>attrs);</EM>
+ <STRONG>int</STRONG> <STRONG>wattroff(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attron(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattron(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>attrset(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wattrset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>n,</EM> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts);</EM>
+
<STRONG>int</STRONG> <STRONG>standend(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>standout(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wstandout(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*attrs,</STRONG> <STRONG>short</STRONG> <STRONG>*pair,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*attrs,</STRONG> <STRONG>short</STRONG> <STRONG>*pair,</STRONG>
- <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>short</STRONG> <STRONG>pair,</STRONG> <STRONG>void</STRONG> <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>short</STRONG> <STRONG>pair,</STRONG> <STRONG>void</STRONG>
- <STRONG>*opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG> <STRONG>short</STRONG> <STRONG>color,</STRONG>
- <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
- <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG>
- <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
- <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG>
- <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG>
- <STRONG>attr_t</STRONG> <STRONG>attr,</STRONG> <STRONG>short</STRONG> <STRONG>color,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*opts)</STRONG>
+ <STRONG>int</STRONG> <STRONG>wstandout(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines manipulate the current attributes of the
- named window. The current attributes of a window apply to
- all characters that are written into the window with <STRONG>wadd-</STRONG>
- <STRONG>ch</STRONG>, <STRONG>waddstr</STRONG> and <STRONG>wprintw</STRONG>. Attributes are a property of the
- character, and move with the character through any
- scrolling and insert/delete line/character operations. To
- the extent possible, they are displayed as appropriate
- modifications to the graphic rendition of characters put
- on the screen.
-
- The routine <STRONG>attrset</STRONG> sets the current attributes of the
- given window to <EM>attrs</EM>. The routine <STRONG>attroff</STRONG> turns off the
- named attributes without turning any other attributes on
- or off. The routine <STRONG>attron</STRONG> turns on the named attributes
- without affecting any others. The routine <STRONG>standout</STRONG> is the
- same as <STRONG>attron(A_STANDOUT)</STRONG>. The routine <STRONG>standend</STRONG> is the
- same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it turns
- off all attributes.
-
- The <STRONG>attrset</STRONG> and related routines do not affect the at-
- tributes used when erasing portions of the window. See
- <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which modify the attributes
- used for erasing and clearing.
-
- The routine <STRONG>color_set</STRONG> sets the current color of the given
- window to the foreground/background combination described
- by the color_pair_number. The parameter opts is reserved
- for future use, applications must supply a null pointer.
-
- The routine <STRONG>wattr_get</STRONG> returns the current attribute and
- color pair for the given window; <STRONG>attr_get</STRONG> returns the cur-
- rent attribute and color pair for <STRONG>stdscr</STRONG>. The remaining
- <STRONG>attr_</STRONG>* functions operate exactly like the corresponding
- <STRONG>attr</STRONG>* functions, except that they take arguments of type
- <STRONG>attr_t</STRONG> rather than <STRONG>int</STRONG>.
-
- The routine <STRONG>chgat</STRONG> changes the attributes of a given number
- of characters starting at the current cursor location of
- <STRONG>stdscr</STRONG>. It does not update the cursor and does not per-
- form wrapping. A character count of -1 or greater than
- the remaining window width means to change attributes all
- the way to the end of the current line. The <STRONG>wchgat</STRONG> func-
- tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function
- does a cursor move before acting. In these functions, the
- color argument is a color-pair index (as in the first ar-
- gument of <EM>init</EM><STRONG>_</STRONG><EM>pair</EM>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>). The <STRONG>opts</STRONG> argu-
- ment is not presently used, but is reserved for the future
- (leave it <STRONG>NULL</STRONG>).
-
- <STRONG>Attributes</STRONG>
- The following video attributes, defined in <STRONG>&lt;curses.h&gt;</STRONG>, can
- be passed to the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or
- OR'd with the characters passed to <STRONG>addch</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines manipulate the current attributes of the named window,
+ which then apply to all characters that are written into the window
+ with <STRONG>waddch</STRONG>, <STRONG>waddstr</STRONG> and <STRONG>wprintw</STRONG>. Attributes are a property of the
+ character, and move with the character through any scrolling and in-
+ sert/delete line/character operations. To the extent possible, they
+ are displayed as appropriate modifications to the graphic rendition of
+ characters put on the screen.
- <EM>Name</EM> <EM>Description</EM>
- ------------------------------------------------------------
- <STRONG>A_NORMAL</STRONG> Normal display (no highlight)
- <STRONG>A_STANDOUT</STRONG> Best highlighting mode of the terminal.
- <STRONG>A_UNDERLINE</STRONG> Underlining
- <STRONG>A_REVERSE</STRONG> Reverse video
- <STRONG>A_BLINK</STRONG> Blinking
- <STRONG>A_DIM</STRONG> Half bright
- <STRONG>A_BOLD</STRONG> Extra bright or bold
- <STRONG>A_PROTECT</STRONG> Protected mode
- <STRONG>A_INVIS</STRONG> Invisible or blank mode
- <STRONG>A_ALTCHARSET</STRONG> Alternate character set
- <STRONG>A_ITALIC</STRONG> Italics (non-X/Open extension)
- <STRONG>A_CHARTEXT</STRONG> Bit-mask to extract a character
- <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> Color-pair number <EM>n</EM>
-
- These video attributes are supported by <STRONG>attr_on</STRONG> and relat-
- ed functions (which also support the attributes recognized
- by <STRONG>attron</STRONG>, etc.):
+ These routines do not affect the attributes used when erasing portions
+ of the window. See <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which modify the at-
+ tributes used for erasing and clearing.
+
+ Routines which do not have a <STRONG>WINDOW*</STRONG> parameter apply to <STRONG>stdscr</STRONG>. For
+ example, <STRONG>attr_set</STRONG> is the <STRONG>stdscr</STRONG> variant of <STRONG>wattr_set</STRONG>.
+
+
+</PRE><H3><a name="h3-Window-attributes">Window attributes</a></H3><PRE>
+ There are two sets of functions:
+
+ <STRONG>o</STRONG> functions for manipulating the window attributes and color: <STRONG>wat-</STRONG>
+ <STRONG>tr_set</STRONG> and <STRONG>wattr_get</STRONG>.
+
+ <STRONG>o</STRONG> functions for manipulating only the window attributes (not color):
+ <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG>.
+
+ The <STRONG>wattr_set</STRONG> function sets the current attributes of the given window
+ to <EM>attrs</EM>, with color specified by <EM>pair</EM>.
+
+ Use <STRONG>wattr_get</STRONG> to retrieve attributes for the given window.
+
+ Use <STRONG>attr_on</STRONG> and <STRONG>wattr_on</STRONG> to turn on window attributes, i.e., values
+ OR'd together in <EM>attr</EM>, without affecting other attributes. Use <STRONG>at-</STRONG>
+ <STRONG>tr_off</STRONG> and <STRONG>wattr_off</STRONG> to turn off window attributes, again values OR'd
+ together in <EM>attr</EM>, without affecting other attributes.
+
+
+</PRE><H3><a name="h3-Legacy-window-attributes">Legacy window attributes</a></H3><PRE>
+ The X/Open window attribute routines which <EM>set</EM> or <EM>get</EM>, turn <EM>on</EM> or <EM>off</EM>
+ are extensions of older routines which assume that color pairs are OR'd
+ into the attribute parameter. These newer routines use similar names,
+ because X/Open simply added an underscore (<STRONG>_</STRONG>) for the newer names.
+
+ The <STRONG>int</STRONG> datatype used in the legacy routines is treated as if it is the
+ same size as <STRONG>chtype</STRONG> (used by <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>). It holds the common video at-
+ tributes (such as bold, reverse), as well as a few bits for color.
+ Those bits correspond to the <STRONG>A_COLOR</STRONG> symbol. The <STRONG>COLOR_PAIR</STRONG> macro pro-
+ vides a value which can be OR'd into the attribute parameter. For ex-
+ ample, as long as that value fits into the <STRONG>A_COLOR</STRONG> mask, then these
+ calls produce similar results:
+
+ attrset(A_BOLD | COLOR_PAIR(<EM>pair</EM>));
+ attr_set(A_BOLD, <EM>pair</EM>, NULL);
+
+ However, if the value does not fit, then the <STRONG>COLOR_PAIR</STRONG> macro uses only
+ the bits that fit. For example, because in ncurses <STRONG>A_COLOR</STRONG> has eight
+ (8) bits, then <STRONG>COLOR_PAIR(</STRONG><EM>259</EM><STRONG>)</STRONG> is 4 (i.e., 259 is 4 more than the limit
+ 255).
+
+ The <STRONG>PAIR_NUMBER</STRONG> macro extracts a pair number from an <STRONG>int</STRONG> (or <STRONG>chtype</STRONG>).
+ For example, the <EM>input</EM> and <EM>output</EM> values in these statements would be
+ the same:
+
+ int value = A_BOLD | COLOR_PAIR(<EM>input</EM>);
+ int <EM>output</EM> = PAIR_NUMBER(value);
+
+ The <STRONG>attrset</STRONG> routine is a legacy feature predating SVr4 curses but kept
+ in X/Open Curses for the same reason that SVr4 curses kept it: compati-
+ bility.
+
+ The remaining <STRONG>attr</STRONG>* functions operate exactly like the corresponding
+ <STRONG>attr_</STRONG>* functions, except that they take arguments of type <STRONG>int</STRONG> rather
+ than <STRONG>attr_t</STRONG>.
+
+ There is no corresponding <STRONG>attrget</STRONG> function as such in X/Open Curses,
+ although ncurses provides <STRONG>getattrs</STRONG> (see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>).
+
+
+</PRE><H3><a name="h3-Change-character-rendition">Change character rendition</a></H3><PRE>
+ The routine <STRONG>chgat</STRONG> changes the attributes of a given number of charac-
+ ters starting at the current cursor location of <STRONG>stdscr</STRONG>. It does not
+ update the cursor and does not perform wrapping. A character count of
+ -1 or greater than the remaining window width means to change at-
+ tributes all the way to the end of the current line. The <STRONG>wchgat</STRONG> func-
+ tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function does a cur-
+ sor move before acting.
+
+ In these functions, the color <EM>pair</EM> argument is a color-pair index (as
+ in the first argument of <STRONG>init_pair</STRONG>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>).
+
+
+</PRE><H3><a name="h3-Change-window-color">Change window color</a></H3><PRE>
+ The routine <STRONG>color_set</STRONG> sets the current color of the given window to the
+ foreground/background combination described by the color <EM>pair</EM> parame-
+ ter.
+
+
+</PRE><H3><a name="h3-Standout">Standout</a></H3><PRE>
+ The routine <STRONG>standout</STRONG> is the same as <STRONG>attron(A_STANDOUT)</STRONG>. The routine
+ <STRONG>standend</STRONG> is the same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it
+ turns off all attributes.
+
+ X/Open does not mark these "restricted", because
+
+ <STRONG>o</STRONG> they have well established legacy use, and
+
+ <STRONG>o</STRONG> there is no ambiguity about the way the attributes might be com-
+ bined with a color pair.
+
+
+</PRE><H2><a name="h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></H2><PRE>
+ The following video attributes, defined in <STRONG>&lt;curses.h&gt;</STRONG>, can be passed to
+ the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or OR'd with the characters
+ passed to <STRONG>addch</STRONG> (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>).
+
+ <EM>Name</EM> <EM>Description</EM>
+ -----------------------------------------------------------------
+ <STRONG>A_NORMAL</STRONG> Normal display (no highlight)
+ <STRONG>A_STANDOUT</STRONG> Best highlighting mode of the terminal.
+ <STRONG>A_UNDERLINE</STRONG> Underlining
+ <STRONG>A_REVERSE</STRONG> Reverse video
+ <STRONG>A_BLINK</STRONG> Blinking
+ <STRONG>A_DIM</STRONG> Half bright
+ <STRONG>A_BOLD</STRONG> Extra bright or bold
+ <STRONG>A_PROTECT</STRONG> Protected mode
+ <STRONG>A_INVIS</STRONG> Invisible or blank mode
+ <STRONG>A_ALTCHARSET</STRONG> Alternate character set
+ <STRONG>A_ITALIC</STRONG> Italics (non-X/Open extension)
+ <STRONG>A_CHARTEXT</STRONG> Bit-mask to extract a character
+ <STRONG>A_COLOR</STRONG> Bit-mask to extract a color (legacy routines)
+
+ These video attributes are supported by <STRONG>attr_on</STRONG> and related functions
+ (which also support the attributes recognized by <STRONG>attron</STRONG>, etc.):
<EM>Name</EM> <EM>Description</EM>
-----------------------------------------
@@ -177,61 +255,199 @@
<STRONG>WA_TOP</STRONG> Top highlight
<STRONG>WA_VERTICAL</STRONG> Vertical highlight
- For consistency
-
- The following macro is the reverse of <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG>:
+ The return values of many of these routines are not meaningful (they
+ are implemented as macro-expanded assignments and simply return their
+ argument). The SVr4 manual page claims (falsely) that these routines
+ always return <STRONG>1</STRONG>.
- <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) Returns the pair number associated
- with the <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> attribute.
- The return values of many of these routines are not mean-
- ingful (they are implemented as macro-expanded assignments
- and simply return their argument). The SVr4 manual page
- claims (falsely) that these routines always return <STRONG>1</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ These functions may be macros:
+ <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG>
+ and <STRONG>standout</STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>,
- <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG> and <STRONG>standout</STRONG> may be macros.
-
- <STRONG>COLOR_PAIR</STRONG> values can only be OR'd with attributes if the
- pair number is less than 256. The alternate functions
- such as <STRONG>color_set</STRONG> can pass a color pair value directly.
- However, ncurses ABI 4 and 5 simply OR this value within
- the alternate functions. You must use ncurses ABI 6 to
+ Color pair values can only be OR'd with attributes if the pair number
+ is less than 256. The alternate functions such as <STRONG>color_set</STRONG> can pass a
+ color pair value directly. However, ncurses ABI 4 and 5 simply OR this
+ value within the alternate functions. You must use ncurses ABI 6 to
support more than 256 color pairs.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are supported in the XSI Curses standard,
- Issue 4. The standard defined the dedicated type for
- highlights, <STRONG>attr_t</STRONG>, which is not defined in SVr4 curses.
- The functions taking <STRONG>attr_t</STRONG> arguments are not supported
- under SVr4.
-
- The XSI Curses standard states that whether the tradition-
- al functions <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate at-
- tributes other than <STRONG>A_BLINK</STRONG>, <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>,
- <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified". Under this
- implementation as well as SVr4 curses, these functions
- correctly manipulate all other highlights (specifically,
- <STRONG>A_ALTCHARSET</STRONG>, <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
-
- This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for
- terminals which have the <EM>enter</EM><STRONG>_</STRONG><EM>italics</EM><STRONG>_</STRONG><EM>mode</EM> (sitm) and <EM>ex-</EM>
- <EM>it</EM><STRONG>_</STRONG><EM>italics</EM><STRONG>_</STRONG><EM>mode</EM> (ritm) capabilities. Italics are not men-
- tioned in X/Open Curses. Unlike the other video at-
- tributes, <STRONG>I_ITALIC</STRONG> is unrelated to the <EM>set</EM><STRONG>_</STRONG><EM>attributes</EM> ca-
- pabilities. This implementation makes the assumption that
- <EM>exit</EM><STRONG>_</STRONG><EM>attribute</EM><STRONG>_</STRONG><EM>mode</EM> may also reset italics.
-
- XSI Curses added the new entry points, <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>,
- <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>wat-</STRONG>
- <STRONG>tr_set</STRONG>. These are intended to work with a new series of
- highlight macros prefixed with <STRONG>WA_</STRONG>. The older macros have
- direct counterparts in the newer set of names:
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ X/Open Curses is largely based on SVr4 curses, adding support for
+ "wide-characters" (not specific to Unicode). Some of the X/Open dif-
+ ferences from SVr4 curses address the way video attributes can be ap-
+ plied to wide-characters. But aside from that, <STRONG>attrset</STRONG> and <STRONG>attr_set</STRONG>
+ are similar. SVr4 curses provided the basic features for manipulating
+ video attributes. However, earlier versions of curses provided a part
+ of these features.
+
+ As seen in 2.8BSD, curses assumed 7-bit characters, using the eighth
+ bit of a byte to represent the <EM>standout</EM> feature (often implemented as
+ bold and/or reverse video). The BSD curses library provided functions
+ <STRONG>standout</STRONG> and <STRONG>standend</STRONG> which were carried along into X/Open Curses due
+ to their pervasive use in legacy applications.
+
+ Some terminals in the 1980s could support a variety of video at-
+ tributes, although the BSD curses library could do nothing with those.
+ System V (1983) provided an improved curses library. It defined the <STRONG>A_</STRONG>
+ symbols for use by applications to manipulate the other attributes.
+ There are few useful references for the chronology.
+
+ Goodheart's book <EM>UNIX</EM> <EM>Curses</EM> <EM>Explained</EM> (1991) describes SVr3 (1987),
+ commenting on several functions:
+
+ <STRONG>o</STRONG> the <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, <STRONG>attrset</STRONG> functions (and most of the functions
+ found in SVr4 but not in BSD curses) were introduced by System V,
+
+ <STRONG>o</STRONG> the alternate character set feature with <STRONG>A_ALTCHARSET</STRONG> was added in
+ SVr2 and improved in SVr3 (by adding <STRONG>acs_map[]</STRONG>),
+
+ <STRONG>o</STRONG> <STRONG>start_color</STRONG> and related color-functions were introduced by System
+ V.3.2,
+
+ <STRONG>o</STRONG> pads, soft-keys were added in SVr3, and
+
+ Goodheart did not mention the background character or the <STRONG>cchar_t</STRONG> type.
+ Those are respectively SVr4 and X/Open features. He did mention the <STRONG>A_</STRONG>
+ constants, but did not indicate their values. Those were not the same
+ in different systems, even for those marked as System V.
+
+ Different Unix systems used different sizes for the bit-fields in
+ <STRONG>chtype</STRONG> for <EM>characters</EM> and <EM>colors</EM>, and took into account the different
+ integer sizes (32-bit versus 64-bit).
+
+ This table showing the number of bits for <STRONG>A_COLOR</STRONG> and <STRONG>A_CHARTEXT</STRONG> was
+ gleaned from the curses header files for various operating systems and
+ architectures. The inferred architecture and notes reflect the format
+ and size of the defined constants as well as clues such as the alter-
+ nate character set implementation. A 32-bit library can be used on a
+ 64-bit system, but not necessarily the reverse.
+
+ <EM>Year</EM> <EM>System</EM> <EM>Arch</EM> <EM>Color</EM> <EM>Char</EM> <EM>Notes</EM>
+ ----------------------------------------------------------------
+ 1992 Solaris 5.2 32 6 17 SVr4 curses
+ 1992 HPUX 9 32 no 8 SVr2 curses
+ 1992 AIX 3.2 32 no 23 SVr2 curses
+ 1994 OSF/1 r3 32 no 23 SVr2 curses
+ 1995 HP-UX 10.00 32 6 16 SVr3 "curses_colr"
+ 1995 HP-UX 10.00 32 6 8 SVr4, X/Open curses
+ 1995 Solaris 5.4 32/64 7 16 X/Open curses
+ 1996 AIX 4.2 32 7 16 X/Open curses
+ 1996 OSF/1 r4 32 6 16 X/Open curses
+
+ 1997 HP-UX 11.00 32 6 8 X/Open curses
+ 2000 U/Win 32/64 7/31 16 uses <STRONG>chtype</STRONG>
+
+ Notes:
+
+ Regarding HP-UX,
+
+ <STRONG>o</STRONG> HP-UX 10.20 (1996) added support for 64-bit PA-RISC processors
+ in 1996.
+
+ <STRONG>o</STRONG> HP-UX 10.30 (1997) marked "curses_colr" obsolete. That version
+ of curses was dropped with HP-UX 11.30 in 2006.
+
+ Regarding OSF/1 (and Tru64),
+
+ <STRONG>o</STRONG> These used 64-bit hardware. Like ncurses, the OSF/1 curses in-
+ terface is not customized for 32-bit and 64-bit versions.
+
+ <STRONG>o</STRONG> Unlike other systems which evolved from AT&amp;T code, OSF/1 provid-
+ ed a new implementation for X/Open curses.
+
+ Regarding Solaris,
+
+ <STRONG>o</STRONG> The initial release of Solaris was in 1992.
+
+ <STRONG>o</STRONG> The <EM>xpg4</EM> (X/Open) curses was developed by MKS from 1990 to 1995.
+ Sun's copyright began in 1996.
+
+ <STRONG>o</STRONG> Sun updated the X/Open curses interface after 64-bit support was
+ introduced in 1997, but did not modify the SVr4 curses inter-
+ face.
+
+ Regarding U/Win,
+
+ <STRONG>o</STRONG> Development of the curses library began in 1991, stopped in
+ 2000.
+
+ <STRONG>o</STRONG> Color support was added in 1998.
+
+ <STRONG>o</STRONG> The library uses only <STRONG>chtype</STRONG> (no <STRONG>cchar_t</STRONG>).
+
+ Once X/Open curses was adopted in the mid-1990s, the constraint of a
+ 32-bit interface with many colors and wide-characters for <STRONG>chtype</STRONG> became
+ a moot point. The <STRONG>cchar_t</STRONG> structure (whose size and members are not
+ specified in X/Open Curses) could be extended as needed.
+
+ Other interfaces are rarely used now:
+
+ <STRONG>o</STRONG> BSD curses was improved slightly in 1993/1994 using Keith Bostic's
+ modification to make the library 8-bit clean for <STRONG>nvi</STRONG>. He moved
+ <EM>standout</EM> attribute to a structure member.
+
+ The resulting 4.4BSD curses was replaced by ncurses over the next
+ ten years.
+
+ <STRONG>o</STRONG> U/Win is rarely used now.
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for terminals which
+ have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>) capa-
+ bilities. Italics are not mentioned in X/Open Curses. Unlike the oth-
+ er video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG> capa-
+ bilities. This implementation makes the assumption that <STRONG>exit_at-</STRONG>
+ <STRONG>tribute_mode</STRONG> may also reset italics.
+
+ Each of the functions added by XSI Curses has a parameter <EM>opts</EM>, which
+ X/Open Curses still (after more than twenty years) documents as re-
+ served for future use, saying that it should be <STRONG>NULL</STRONG>. This implementa-
+ tion uses that parameter in ABI 6 for the functions which have a color-
+ pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>:
+
+ <STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>wattr_set</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color
+ pair instead of the <STRONG>short</STRONG> <EM>pair</EM> parameter.
+
+ <STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>wattr_get</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the
+ color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the stan-
+ dard pointer to <STRONG>short</STRONG> parameter.
+
+ The remaining functions which have <EM>opts</EM>, but do not manipulate color,
+ e.g., <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG> are not used by this implementation except
+ to check that they are <STRONG>NULL</STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are supported in the XSI Curses standard, Issue 4. The
+ standard defined the dedicated type for highlights, <STRONG>attr_t</STRONG>, which was
+ not defined in SVr4 curses. The functions taking <STRONG>attr_t</STRONG> arguments were
+ not supported under SVr4.
+
+ Very old versions of this library did not force an update of the screen
+ when changing the attributes. Use <STRONG>touchwin</STRONG> to force the screen to
+ match the updated attributes.
+
+ The XSI Curses standard states that whether the traditional functions
+ <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes other than <STRONG>A_BLINK</STRONG>,
+ <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".
+ Under this implementation as well as SVr4 curses, these functions cor-
+ rectly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>,
+ <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
+
+ XSI Curses added these entry points:
+
+ <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wat-</STRONG>
+ <STRONG>tr_get</STRONG>, <STRONG>wattr_set</STRONG>
+
+ The new functions are intended to work with a new series of highlight
+ macros prefixed with <STRONG>WA_</STRONG>. The older macros have direct counterparts in
+ the newer set of names:
<EM>Name</EM> <EM>Description</EM>
------------------------------------------------------------
@@ -244,52 +460,81 @@
<STRONG>WA_BOLD</STRONG> Extra bright or bold
<STRONG>WA_ALTCHARSET</STRONG> Alternate character set
- Older versions of this library did not force an update of
- the screen when changing the attributes. Use <STRONG>touchwin</STRONG> to
- force the screen to match the updated attributes.
+ XSI curses does not assign values to these symbols, nor does it state
+ whether or not they are related to the similarly-named A_NORMAL, etc.:
- The XSI curses standard specifies that each pair of corre-
- sponding <STRONG>A_</STRONG> and <STRONG>WA_</STRONG>-using functions operates on the same
- current-highlight information.
+ <STRONG>o</STRONG> The XSI curses standard specifies that each pair of corresponding
+ <STRONG>A_</STRONG> and <STRONG>WA_</STRONG>-using functions operates on the same current-highlight
+ information.
- The XSI standard extended conformance level adds new high-
- lights <STRONG>A_HORIZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VER-</STRONG>
- <STRONG>TICAL</STRONG> (and corresponding <STRONG>WA_</STRONG> macros for each). As of Au-
- gust 2013, no known terminal provides these highlights
- (i.e., via the <STRONG>sgr1</STRONG> capability).
+ <STRONG>o</STRONG> However, in some implementations, those symbols have unrelated val-
+ ues.
+ For example, the Solaris <EM>xpg4</EM> (X/Open) curses declares <STRONG>attr_t</STRONG> to be
+ an unsigned short integer (16-bits), while <STRONG>chtype</STRONG> is a unsigned in-
+ teger (32-bits). The <STRONG>WA_</STRONG> symbols in this case are different from
+ the <STRONG>A_</STRONG> symbols because they are used for a smaller datatype which
+ does not represent <STRONG>A_CHARTEXT</STRONG> or <STRONG>A_COLOR</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on
- failure.
+ In this implementation (as in many others), the values happen to be
+ the same because it simplifies copying information between <STRONG>chtype</STRONG>
+ and <STRONG>cchar_t</STRONG> variables.
+
+ The XSI standard extended conformance level adds new highlights <STRONG>A_HORI-</STRONG>
+ <STRONG>ZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VERTICAL</STRONG> (and corresponding
+ <STRONG>WA_</STRONG> macros for each). As of August 2013, no known terminal provides
+ these highlights (i.e., via the <STRONG>sgr1</STRONG> capability).
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on failure.
X/Open does not define any error conditions.
- This implementation returns an error if the window pointer
- is null. The <STRONG>wcolor_set</STRONG> function returns an error if the
- color pair parameter is outside the range 0..COL-
- OR_PAIRS-1. This implementation also provides <STRONG>getattrs</STRONG>
- for compatibility with older versions of curses.
+ This implementation
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ <STRONG>o</STRONG> returns an error if the window pointer is null.
+ <STRONG>o</STRONG> returns an error if the color pair parameter for <STRONG>wcolor_set</STRONG> is out-
+ side the range 0..COLOR_PAIRS-1.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>,
- <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ <STRONG>o</STRONG> does not return an error if either of the parameters of <STRONG>wattr_get</STRONG>
+ used for retrieving attribute or color-pair values is <STRONG>NULL</STRONG>.
+
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
- <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Window-attributes">Window attributes</a></li>
+<li><a href="#h3-Legacy-window-attributes">Legacy window attributes</a></li>
+<li><a href="#h3-Change-character-rendition">Change character rendition</a></li>
+<li><a href="#h3-Change-window-color">Change window color</a></li>
+<li><a href="#h3-Standout">Standout</a></li>
+</ul>
+</li>
+<li><a href="#h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_beep.3x.html b/doc/html/man/curs_beep.3x.html
index c6d14e899c5b..1162843c31c1 100644
--- a/doc/html/man/curs_beep.3x.html
+++ b/doc/html/man/curs_beep.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,80 +26,77 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_beep.3x,v 1.12 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_beep.3x,v 1.13 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_beep 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_beep 3x</H1>
-<HR>
+<H1 class="no-header">curs_beep 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>beep</STRONG>, <STRONG>flash</STRONG> - <STRONG>curses</STRONG> bell and screen flash routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>beep(void);</STRONG>
<STRONG>int</STRONG> <STRONG>flash(void);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>beep</STRONG> and <STRONG>flash</STRONG> routines are used to alert the terminal
- user. The routine <STRONG>beep</STRONG> sounds an audible alarm on the
- terminal, if possible; otherwise it flashes the screen
- (visible bell). The routine <STRONG>flash</STRONG> flashes the screen, and
- if that is not possible, sounds the alert. If neither
- alert is possible, nothing happens. Nearly all terminals
- have an audible alert (bell or beep), but only some can
- flash the screen.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>beep</STRONG> and <STRONG>flash</STRONG> routines are used to alert the terminal user. The
+ routine <STRONG>beep</STRONG> sounds an audible alarm on the terminal, if possible; oth-
+ erwise it flashes the screen (visible bell). The routine <STRONG>flash</STRONG> flashes
+ the screen, and if that is not possible, sounds the alert. If neither
+ alert is possible, nothing happens. Nearly all terminals have an audi-
+ ble alert (bell or beep), but only some can flash the screen.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These routines return <STRONG>OK</STRONG> if they succeed in beeping or
- flashing, <STRONG>ERR</STRONG> otherwise.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These routines return <STRONG>OK</STRONG> if they succeed in beeping or flashing, <STRONG>ERR</STRONG>
+ otherwise.
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
- SVr4's beep and flash routines always returned <STRONG>OK</STRONG>, so it
- was not possible to tell when the beep or flash failed.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ SVr4's beep and flash routines always returned <STRONG>OK</STRONG>, so it was not possi-
+ ble to tell when the beep or flash failed.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. Like SVr4, it specifies that they always return
- <STRONG>OK</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
+ Like SVr4, it specifies that they always return <STRONG>OK</STRONG>.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+ <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_bkgd.3x.html b/doc/html/man/curs_bkgd.3x.html
index f6d30d5a59a7..4c772ccd1412 100644
--- a/doc/html/man/curs_bkgd.3x.html
+++ b/doc/html/man/curs_bkgd.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2003,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,105 +26,165 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgd.3x,v 1.22 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_bkgd.3x,v 1.29 2019/07/13 21:01:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_bkgd 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_bkgd 3x</H1>
-<HR>
+<H1 class="no-header">curs_bkgd 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>bkgdset</STRONG>, <STRONG>wbkgdset</STRONG>, <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, <STRONG>getbkgd</STRONG> - <STRONG>curses</STRONG> window
- background manipulation routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>bkgdset</STRONG>, <STRONG>wbkgdset</STRONG>, <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, <STRONG>getbkgd</STRONG> - <STRONG>curses</STRONG> window background
+ manipulation routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>void</STRONG> <STRONG>bkgdset(chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>void</STRONG> <STRONG>wbkgdset(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>bkgd(chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>wbkgd(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>getbkgd(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>void</STRONG> <STRONG>bkgdset(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wbkgdset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>chtype</EM> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>bkgd(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wbkgd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>chtype</STRONG> <STRONG>getbkgd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> routines manipulate the back-
- ground of the named window. The window background is a
- <STRONG>chtype</STRONG> consisting of any combination of attributes (i.e.,
- rendition) and a character. The attribute part of the
- background is combined (OR'ed) with all non-blank charac-
- ters that are written into the window with <STRONG>waddch</STRONG>. Both
- the character and attribute parts of the background are
- combined with the blank characters. The background
- becomes a property of the character and moves with the
- character through any scrolling and insert/delete
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-bkgdset">bkgdset</a></H3><PRE>
+ The <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> routines manipulate the background of the
+ named window. The window background is a <STRONG>chtype</STRONG> consisting of any com-
+ bination of attributes (i.e., rendition) and a character. The
+ attribute part of the background is combined (OR'ed) with all non-blank
+ characters that are written into the window with <STRONG>waddch</STRONG>. Both the
+ character and attribute parts of the background are combined with the
+ blank characters. The background becomes a property of the character
+ and moves with the character through any scrolling and insert/delete
line/character operations.
- To the extent possible on a particular terminal, the
- attribute part of the background is displayed as the
- graphic rendition of the character put on the screen.
+ To the extent possible on a particular terminal, the attribute part of
+ the background is displayed as the graphic rendition of the character
+ put on the screen.
- The <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> functions set the background property
- of the current or specified window and then apply this
- setting to every character position in that window:
- The rendition of every character on the screen is
- changed to the new background rendition.
+</PRE><H3><a name="h3-bkgd">bkgd</a></H3><PRE>
+ The <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> functions set the background property of the current
+ or specified window and then apply this setting to every character
+ position in that window. According to X/Open Curses, it should do
+ this:
- Wherever the former background character appears,
- it is changed to the new background character.
+ <STRONG>o</STRONG> The rendition of every character on the screen is changed to the
+ new background rendition.
- The <STRONG>getbkgd</STRONG> function returns the given window's current
- background character/attribute pair.
+ <STRONG>o</STRONG> Wherever the former background character appears, it is changed to
+ the new background character.
+ Neither X/Open Curses nor the SVr4 manual pages give details about the
+ way the rendition of characters on the screen is updated when <STRONG>bkgd</STRONG> or
+ <STRONG>wbkgd</STRONG> is used to change the background character.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The routines <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return the integer <STRONG>OK</STRONG>. The
- SVr4.0 manual says "or a non-negative integer if <STRONG>immedok</STRONG>
- is set", but this appears to be an error.
+ This implementation, like SVr4 curses, does not store the background
+ and window attribute contributions to each cell separately. It updates
+ the rendition by comparing the character, non-color attributes and col-
+ ors contained in the background. For each cell in the window, whether
+ or not it is blank:
+ <STRONG>o</STRONG> The library first compares the <EM>character</EM>, and if it matches the
+ current character part of the background, it replaces that with the
+ new background character.
-</PRE>
-<H2>NOTES</H2><PRE>
+ <STRONG>o</STRONG> The library then checks if the cell uses color, i.e., its color
+ pair value is nonzero. If not, it simply replaces the attributes
+ and color pair in the cell with those from the new background char-
+ acter.
+
+ <STRONG>o</STRONG> If the cell uses color, and that matches the color in the current
+ background, the library removes attributes which may have come from
+ the current background and adds attributes from the new background.
+ It finishes by setting the cell to use the color from the new back-
+ ground.
+
+ <STRONG>o</STRONG> If the cell uses color, and that does not match the color in the
+ current background, the library updates only the non-color
+ attributes, first removing those which may have come from the cur-
+ rent background, and then adding attributes from the new back-
+ ground.
+
+ If the background's character value is zero, a space is assumed.
+
+ If the terminal does not support color, or if color has not been
+ started with <STRONG>start_color</STRONG>, the new background character's color
+ attribute will be ignored.
+
+
+</PRE><H3><a name="h3-getbkgd">getbkgd</a></H3><PRE>
+ The <STRONG>getbkgd</STRONG> function returns the given window's current background
+ character/attribute pair.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4. It
+ specifies that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return <STRONG>ERR</STRONG> on failure, but gives no fail-
+ ure conditions.
+
+ The routines <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return the integer <STRONG>OK</STRONG>, unless the library
+ has not been initialized.
+
+ In contrast, the SVr4.0 manual says <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> may return <STRONG>OK</STRONG> "or a
+ non-negative integer if <STRONG>immedok</STRONG> is set", which refers to the return
+ value from <STRONG>wrefresh</STRONG> (used to implement the immediate repainting). The
+ SVr4 curses <STRONG>wrefresh</STRONG> returns the number of characters written to the
+ screen during the refresh. This implementation does not do that.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>bkgdset</STRONG> and <STRONG>bkgd</STRONG> may be macros.
+ X/Open Curses mentions that the character part of the background must
+ be a single-byte value. This implementation, like SVr4, checks to
+ ensure that, and will reuse the old background character if the check
+ fails.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. It specifies that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return <STRONG>ERR</STRONG> on
- failure, but gives no failure conditions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4
+ (X/Open Curses).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
- <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-bkgdset">bkgdset</a></li>
+<li><a href="#h3-bkgd">bkgd</a></li>
+<li><a href="#h3-getbkgd">getbkgd</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_bkgrnd.3x.html b/doc/html/man/curs_bkgrnd.3x.html
index 27ceb22dcbce..bf914925bcb4 100644
--- a/doc/html/man/curs_bkgrnd.3x.html
+++ b/doc/html/man/curs_bkgrnd.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgrnd.3x,v 1.5 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_bkgrnd.3x,v 1.10 2018/12/09 00:50:50 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_bkgrnd 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_bkgrnd 3x</H1>
-<HR>
+<H1 class="no-header">curs_bkgrnd 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>bkgrnd</STRONG>, <STRONG>wbkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, <STRONG>wbkgrndset</STRONG>, <STRONG>getbkgrnd</STRONG>, <STRONG>wget-</STRONG>
- <STRONG>bkgrnd</STRONG> - <STRONG>curses</STRONG> window complex background manipulation
- routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>bkgrnd</STRONG>, <STRONG>wbkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, <STRONG>wbkgrndset</STRONG>, <STRONG>getbkgrnd</STRONG>, <STRONG>wgetbkgrnd</STRONG> - <STRONG>curses</STRONG>
+ window complex background manipulation routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>bkgrnd(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
@@ -64,65 +61,89 @@
<STRONG>int</STRONG> <STRONG>wgetbkgrnd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines manipulate the back-
- ground of the named window. The window background is a
- <STRONG>cchar_t</STRONG> consisting of any combination of attributes (i.e.,
- rendition) and a complex character. The attribute part of
- the background is combined (OR'ed) with all non-blank
- characters that are written into the window with <STRONG>waddch</STRONG>.
- Both the character and attribute parts of the background
- are combined with the blank characters. The background
- becomes a property of the character and moves with the
- character through any scrolling and insert/delete
- line/character operations.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- To the extent possible on a particular terminal, the
- attribute part of the background is displayed as the
- graphic rendition of the character put on the screen.
+</PRE><H3><a name="h3-bkgrndset">bkgrndset</a></H3><PRE>
+ The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines manipulate the background of the
+ named window. The window background is a <STRONG>cchar_t</STRONG> consisting of any
+ combination of attributes (i.e., rendition) and a complex character.
+ The attribute part of the background is combined (OR'ed) with all non-
+ blank characters that are written into the window with <STRONG>waddch</STRONG>. Both
+ the character and attribute parts of the background are combined with
+ the blank characters. The background becomes a property of the charac-
+ ter and moves with the character through any scrolling and
+ insert/delete line/character operations.
- The <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> functions set the background prop-
- erty of the current or specified window and then apply
- this setting to every character position in that window:
+ To the extent possible on a particular terminal, the attribute part of
+ the background is displayed as the graphic rendition of the character
+ put on the screen.
- The rendition of every character on the screen is
- changed to the new background rendition.
- Wherever the former background character appears,
- it is changed to the new background character.
+</PRE><H3><a name="h3-bkgrnd">bkgrnd</a></H3><PRE>
+ The <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> functions set the background property of the
+ current or specified window and then apply this setting to every char-
+ acter position in that window:
- The <STRONG>getbkgrnd</STRONG> function returns the given window's current
- background character/attribute pair via the <STRONG>wch</STRONG> pointer.
+ <STRONG>o</STRONG> The rendition of every character on the screen is changed to the
+ new background rendition.
+ <STRONG>o</STRONG> Wherever the former background character appears, it is changed to
+ the new background character.
-</PRE>
-<H2>NOTES</H2><PRE>
+
+</PRE><H3><a name="h3-getbkgrnd">getbkgrnd</a></H3><PRE>
+ The <STRONG>getbkgrnd</STRONG> function returns the given window's current background
+ character/attribute pair via the <STRONG>wch</STRONG> pointer. If the given window
+ pointer is null, the character is not updated (but no error returned).
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be macros.
+ X/Open Curses does not provide details on how the rendition is changed.
+ This implementation follows the approach used in SVr4 curses, which is
+ explained in the manual page for <STRONG>wbkgd</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines do not return a
- value.
- Upon successful completion, the other functions return <STRONG>OK</STRONG>.
- Otherwise, they return <STRONG>ERR</STRONG>. A null window pointer is
- treated as an error.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines do not return a value.
+ Upon successful completion, the other functions return <STRONG>OK</STRONG>. Otherwise,
+ they return <STRONG>ERR</STRONG>:
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ <STRONG>o</STRONG> A null window pointer is treated as an error.
+
+ <STRONG>o</STRONG> A null character pointer is treated as an error.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4
+ (X/Open Curses).
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-bkgrndset">bkgrndset</a></li>
+<li><a href="#h3-bkgrnd">bkgrnd</a></li>
+<li><a href="#h3-getbkgrnd">getbkgrnd</a></li>
+</ul>
+</li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_border.3x.html b/doc/html/man/curs_border.3x.html
index f2f4d5659c9c..2b259de43c04 100644
--- a/doc/html/man/curs_border.3x.html
+++ b/doc/html/man/curs_border.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border.3x,v 1.22 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_border.3x,v 1.24 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_border 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_border 3x</H1>
-<HR>
+<H1 class="no-header">curs_border 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>border</STRONG>, <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>,
- <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>, <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - create <STRONG>curses</STRONG>
- borders, horizontal and vertical lines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>border</STRONG>, <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>, <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>,
+ <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - create <STRONG>curses</STRONG> borders, horizontal and vertical
+ lines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>border(chtype</STRONG> <STRONG>ls,</STRONG> <STRONG>chtype</STRONG> <STRONG>rs,</STRONG> <STRONG>chtype</STRONG> <STRONG>ts,</STRONG> <STRONG>chtype</STRONG> <STRONG>bs,</STRONG>
<STRONG>chtype</STRONG> <STRONG>tl,</STRONG> <STRONG>chtype</STRONG> <STRONG>tr,</STRONG> <STRONG>chtype</STRONG> <STRONG>bl,</STRONG> <STRONG>chtype</STRONG> <STRONG>br);</STRONG>
@@ -71,11 +69,10 @@
<STRONG>int</STRONG> <STRONG>mvwvline(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>border</STRONG>, <STRONG>wborder</STRONG> and <STRONG>box</STRONG> routines draw a box around the
- edges of a window. Other than the window, each argument
- is a character with attributes:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>border</STRONG>, <STRONG>wborder</STRONG> and <STRONG>box</STRONG> routines draw a box around the edges of a
+ window. Other than the window, each argument is a character with at-
+ tributes:
<EM>ls</EM> - left side,
<EM>rs</EM> - right side,
@@ -86,8 +83,8 @@
<EM>bl</EM> - bottom left-hand corner, and
<EM>br</EM> - bottom right-hand corner.
- If any of these arguments is zero, then the corresponding
- default values (defined in <STRONG>curses.h</STRONG>) are used instead:
+ If any of these arguments is zero, then the corresponding default val-
+ ues (defined in <STRONG>curses.h</STRONG>) are used instead:
<STRONG>ACS_VLINE</STRONG>,
<STRONG>ACS_VLINE</STRONG>,
@@ -98,65 +95,62 @@
<STRONG>ACS_LLCORNER</STRONG>,
<STRONG>ACS_LRCORNER</STRONG>.
- <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand for the following
- call: <STRONG>wborder(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG>
- <STRONG>0)</STRONG>.
+ <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand for the following call: <STRONG>wbor-</STRONG>
+ <STRONG>der(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0)</STRONG>.
- The <STRONG>hline</STRONG> and <STRONG>whline</STRONG> functions draw a horizontal (left to
- right) line using <EM>ch</EM> starting at the current cursor posi-
- tion in the window. The current cursor position is not
- changed. The line is at most <EM>n</EM> characters long, or as
- many as fit into the window.
+ The <STRONG>hline</STRONG> and <STRONG>whline</STRONG> functions draw a horizontal (left to right) line
+ using <EM>ch</EM> starting at the current cursor position in the window. The
+ current cursor position is not changed. The line is at most <EM>n</EM> charac-
+ ters long, or as many as fit into the window.
- The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw a vertical (top to
- bottom) line using <EM>ch</EM> starting at the current cursor posi-
- tion in the window. The current cursor position is not
- changed. The line is at most <EM>n</EM> characters long, or as
- many as fit into the window.
+ The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw a vertical (top to bottom) line us-
+ ing <EM>ch</EM> starting at the current cursor position in the window. The cur-
+ rent cursor position is not changed. The line is at most <EM>n</EM> characters
+ long, or as many as fit into the window.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>OK</STRONG>. The SVr4.0 manual
- says "or a non-negative integer if <STRONG>immedok</STRONG> is set", but
- this appears to be an error.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>OK</STRONG>. The SVr4.0 manual says "or a non-
+ negative integer if <STRONG>immedok</STRONG> is set", but this appears to be an error.
- X/Open does not define any error conditions. This imple-
- mentation returns an error if the window pointer is null.
+ X/Open does not define any error conditions. This implementation re-
+ turns an error if the window pointer is null.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>NOTES</H2><PRE>
- The borders generated by these functions are <EM>inside</EM> bor-
- ders (this is also true of SVr4 curses, though the fact is
- not documented).
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The borders generated by these functions are <EM>inside</EM> borders (this is
+ also true of SVr4 curses, though the fact is not documented).
Note that <STRONG>border</STRONG> and <STRONG>box</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. The standard specifies that they return <STRONG>ERR</STRONG> on
- failure, but specifies no error conditions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4. The
+ standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
+ error conditions.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>.
- <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_border_set.3x.html b/doc/html/man/curs_border_set.3x.html
index 1116c5327b1b..5b3dba90480f 100644
--- a/doc/html/man/curs_border_set.3x.html
+++ b/doc/html/man/curs_border_set.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2012,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,34 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border_set.3x,v 1.11 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_border_set.3x,v 1.12 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_border_set 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_border_set 3x</H1>
-<HR>
+<H1 class="no-header">curs_border_set 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>border_set</STRONG>, <STRONG>wborder_set</STRONG>, <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>,
- <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>,
- <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG> - create <STRONG>curses</STRONG> borders or lines
- using complex characters and renditions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>border_set</STRONG>, <STRONG>wborder_set</STRONG>, <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>, <STRONG>mvhline_set</STRONG>,
+ <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG> - create
+ <STRONG>curses</STRONG> borders or lines using complex characters and renditions
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>border_set(</STRONG>
@@ -98,15 +95,13 @@
<STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>border_set</STRONG> and <STRONG>wborder_set</STRONG> functions draw a border
- around the edges of the current or specified window.
- These functions do not change the cursor position, and do
- not wrap.
-
- Other than the window, each argument is a complex charac-
- ter with attributes:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>border_set</STRONG> and <STRONG>wborder_set</STRONG> functions draw a border around the edges
+ of the current or specified window. These functions do not change the
+ cursor position, and do not wrap.
+
+ Other than the window, each argument is a complex character with at-
+ tributes:
<EM>ls</EM> - left side,
<EM>rs</EM> - right side,
<EM>ts</EM> - top side,
@@ -116,8 +111,8 @@
<EM>bl</EM> - bottom left-hand corner, and
<EM>br</EM> - bottom right-hand corner.
- If any of these arguments is zero, then the corresponding
- default values (defined in <STRONG>curses.h</STRONG>) are used instead:
+ If any of these arguments is zero, then the corresponding default val-
+ ues (defined in <STRONG>curses.h</STRONG>) are used instead:
<STRONG>WACS_VLINE</STRONG>,
<STRONG>WACS_VLINE</STRONG>,
<STRONG>WACS_HLINE</STRONG>,
@@ -127,58 +122,55 @@
<STRONG>WACS_LLCORNER</STRONG>, and
<STRONG>WACS_LRCORNER</STRONG>.
- <STRONG>box_set(</STRONG><EM>win</EM>, <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>);</STRONG> is a shorthand for the follow-
- ing call:
+ <STRONG>box_set(</STRONG><EM>win</EM>, <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>);</STRONG> is a shorthand for the following call:
<STRONG>wborder_set(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG>
<EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL);</STRONG>
- The <STRONG>*line_set</STRONG> functions use <EM>wch</EM> to draw a line starting at
- the current cursor position in the window. The line is at
- most <EM>n</EM> characters long or as many as fit into the window.
- The current cursor position is not changed.
+ The <STRONG>*line_set</STRONG> functions use <EM>wch</EM> to draw a line starting at the current
+ cursor position in the window. The line is at most <EM>n</EM> characters long
+ or as many as fit into the window. The current cursor position is not
+ changed.
- The <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, and <STRONG>whline_set</STRONG>
- functions draw a line proceeding toward the last column of
- the same line.
+ The <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, and <STRONG>whline_set</STRONG> functions draw
+ a line proceeding toward the last column of the same line.
- The <STRONG>vline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>wvline_set</STRONG>
- functions draw a line proceeding toward the last line of
- the window.
+ The <STRONG>vline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>wvline_set</STRONG> functions draw
+ a line proceeding toward the last line of the window.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>,
- <STRONG>mvwhline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwh-</STRONG>
+ <STRONG>line_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Upon successful completion, these functions return <STRONG>OK</STRONG>.
- Otherwise, they return <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Upon successful completion, these functions return <STRONG>OK</STRONG>. Otherwise, they
+ return <STRONG>ERR</STRONG>.
- Functions using a window parameter return an error if it
- is null.
+ Functions using a window parameter return an error if it is null.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
- <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_clear.3x.html b/doc/html/man/curs_clear.3x.html
index 39f9ad929d9e..c760c1f03875 100644
--- a/doc/html/man/curs_clear.3x.html
+++ b/doc/html/man/curs_clear.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2016,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_clear.3x,v 1.14 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_clear.3x,v 1.16 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_clear 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_clear 3x</H1>
-<HR>
+<H1 class="no-header">curs_clear 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>,
- <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG> - clear all or part of a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>, <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG>
+ - clear all or part of a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#</STRONG> <STRONG>include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>erase(void);</STRONG>
@@ -65,82 +63,76 @@
<STRONG>int</STRONG> <STRONG>wclrtoeol(WINDOW</STRONG> <STRONG>*win);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks to every posi-
- tion in the window, clearing the screen.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks to every position in the win-
+ dow, clearing the screen.
- The <STRONG>clear</STRONG> and <STRONG>wclear</STRONG> routines are like <STRONG>erase</STRONG> and <STRONG>werase</STRONG>,
- but they also call <STRONG>clearok</STRONG>, so that the screen is cleared
- completely on the next call to <STRONG>wrefresh</STRONG> for that window
- and repainted from scratch.
+ The <STRONG>clear</STRONG> and <STRONG>wclear</STRONG> routines are like <STRONG>erase</STRONG> and <STRONG>werase</STRONG>, but they also
+ call <STRONG>clearok</STRONG>, so that the screen is cleared completely on the next call
+ to <STRONG>wrefresh</STRONG> for that window and repainted from scratch.
- The <STRONG>clrtobot</STRONG> and <STRONG>wclrtobot</STRONG> routines erase from the cursor
- to the end of screen. That is, they erase all lines below
- the cursor in the window. Also, the current line to the
- right of the cursor, inclusive, is erased.
+ The <STRONG>clrtobot</STRONG> and <STRONG>wclrtobot</STRONG> routines erase from the cursor to the end of
+ screen. That is, they erase all lines below the cursor in the window.
+ Also, the current line to the right of the cursor, inclusive, is
+ erased.
- The <STRONG>clrtoeol</STRONG> and <STRONG>wclrtoeol</STRONG> routines erase the current line
- to the right of the cursor, inclusive, to the end of the
- current line.
+ The <STRONG>clrtoeol</STRONG> and <STRONG>wclrtoeol</STRONG> routines erase the current line to the right
+ of the cursor, inclusive, to the end of the current line.
- Blanks created by erasure have the current background ren-
- dition (as set by <STRONG>wbkgdset</STRONG>) merged into them.
+ Blanks created by erasure have the current background rendition (as set
+ by <STRONG>wbkgdset</STRONG>) merged into them.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on
- failure. The SVr4.0 manual says "or a non-negative inte-
- ger if <STRONG>immedok</STRONG> is set", but this appears to be an error.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. The
+ SVr4.0 manual says "or a non-negative integer if <STRONG>immedok</STRONG> is set", but
+ this appears to be an error.
- X/Open defines no error conditions. In this implementa-
- tion, functions using a window pointer parameter return an
- error if it is null.
+ X/Open defines no error conditions. In this implementation, functions
+ using a window pointer parameter return an error if it is null.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, and <STRONG>clr-</STRONG>
- <STRONG>toeol</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, and <STRONG>clrtoeol</STRONG> may be
+ macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. The standard specifies that they return <STRONG>ERR</STRONG> on
- failure, but specifies no error conditions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4. The
+ standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
+ error conditions.
- Some historic curses implementations had, as an undocu-
- mented feature, the ability to do the equivalent of
- <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(std-</STRONG>
- <STRONG>scr)</STRONG>. This will not work under ncurses.
+ Some historic curses implementations had, as an undocumented feature,
+ the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG>
+ <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses.
- This implementation, and others such as Solaris, sets the
- current position to 0,0 after erasing via <STRONG>werase()</STRONG> and
- <STRONG>wclear()</STRONG>. That fact is not documented in other implemen-
- tations, and may not be true of implementations which were
- not derived from SVr4 source.
+ This implementation, and others such as Solaris, sets the current posi-
+ tion to 0,0 after erasing via <STRONG>werase</STRONG> and <STRONG>wclear</STRONG>. That fact is not doc-
+ umented in other implementations, and may not be true of implementa-
+ tions which were not derived from SVr4 source.
- Not obvious from the description, most implementations
- clear the screen after <STRONG>wclear</STRONG> even for a subwindow or de-
- rived window. If you do not want to clear the screen dur-
- ing the next <STRONG>wrefresh</STRONG>, use <STRONG>werase</STRONG> instead.
+ Not obvious from the description, most implementations clear the screen
+ after <STRONG>wclear</STRONG> even for a subwindow or derived window. If you do not
+ want to clear the screen during the next <STRONG>wrefresh</STRONG>, use <STRONG>werase</STRONG> instead.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
- <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html
index 4ebe0da04f4d..ecf9dde89f57 100644
--- a/doc/html/man/curs_color.3x.html
+++ b/doc/html/man/curs_color.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,155 +26,126 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_color.3x,v 1.35 2010/12/20 00:50:58 tom Exp @
+ * @Id: curs_color.3x,v 1.61 2019/01/20 17:04:08 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_color 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_color 3x</H1>
-<HR>
+<H1 class="no-header">curs_color 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>start_color</STRONG>, <STRONG>init_pair</STRONG>, <STRONG>init_color</STRONG>, <STRONG>has_colors</STRONG>,
- <STRONG>can_change_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>, <STRONG>COLOR_PAIR</STRONG>
- - <STRONG>curses</STRONG> color manipulation routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>start_color</STRONG>, <STRONG>has_colors</STRONG>, <STRONG>can_change_color</STRONG>, <STRONG>init_pair</STRONG>, <STRONG>init_color</STRONG>,
+ <STRONG>init_extended_pair</STRONG>, <STRONG>init_extended_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>,
+ <STRONG>extended_color_content</STRONG>, <STRONG>extended_pair_content</STRONG>, <STRONG>reset_color_pairs</STRONG>,
+ <STRONG>COLOR_PAIR</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> color manipulation routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>#</STRONG> <STRONG>include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>start_color(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>init_pair(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>f,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
- <STRONG>int</STRONG> <STRONG>init_color(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>r,</STRONG> <STRONG>short</STRONG> <STRONG>g,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
+
<STRONG>bool</STRONG> <STRONG>has_colors(void);</STRONG>
<STRONG>bool</STRONG> <STRONG>can_change_color(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>color_content(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>*r,</STRONG> <STRONG>short</STRONG> <STRONG>*g,</STRONG> <STRONG>short</STRONG>
- <STRONG>*b);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>init_pair(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>f,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_color(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>r,</STRONG> <STRONG>short</STRONG> <STRONG>g,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
+ /* extensions */
+ <STRONG>int</STRONG> <STRONG>init_extended_pair(int</STRONG> <STRONG>pair,</STRONG> <STRONG>int</STRONG> <STRONG>f,</STRONG> <STRONG>int</STRONG> <STRONG>b);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_extended_color(int</STRONG> <STRONG>color,</STRONG> <STRONG>int</STRONG> <STRONG>r,</STRONG> <STRONG>int</STRONG> <STRONG>g,</STRONG> <STRONG>int</STRONG> <STRONG>b);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>color_content(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>*r,</STRONG> <STRONG>short</STRONG> <STRONG>*g,</STRONG> <STRONG>short</STRONG> <STRONG>*b);</STRONG>
<STRONG>int</STRONG> <STRONG>pair_content(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>*f,</STRONG> <STRONG>short</STRONG> <STRONG>*b);</STRONG>
+ /* extensions */
+ <STRONG>int</STRONG> <STRONG>extended_color_content(int</STRONG> <STRONG>color,</STRONG> <STRONG>int</STRONG> <STRONG>*r,</STRONG> <STRONG>int</STRONG> <STRONG>*g,</STRONG> <STRONG>int</STRONG> <STRONG>*b);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_pair_content(int</STRONG> <STRONG>pair,</STRONG> <STRONG>int</STRONG> <STRONG>*f,</STRONG> <STRONG>int</STRONG> <STRONG>*b);</STRONG>
+ /* extensions */
+ <STRONG>void</STRONG> <STRONG>reset_color_pairs(void);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>Overview</STRONG>
- <STRONG>curses</STRONG> support color attributes on terminals with that ca-
- pability. To use these routines <STRONG>start_color</STRONG> must be
- called, usually right after <STRONG>initscr</STRONG>. Colors are always
- used in pairs (referred to as color-pairs). A color-pair
- consists of a foreground color (for characters) and a
- background color (for the blank field on which the charac-
- ters are displayed). A programmer initializes a color-
- pair with the routine <STRONG>init_pair</STRONG>. After it has been ini-
- tialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>), a macro defined in <STRONG>&lt;curses.h&gt;</STRONG>,
- can be used as a new video attribute.
-
- If a terminal is capable of redefining colors, the pro-
- grammer can use the routine <STRONG>init_color</STRONG> to change the defi-
- nition of a color. The routines <STRONG>has_colors</STRONG> and
- <STRONG>can_change_color</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, depending on
- whether the terminal has color capabilities and whether
- the programmer can change the colors. The routine <STRONG>col-</STRONG>
- <STRONG>or_content</STRONG> allows a programmer to extract the amounts of
- red, green, and blue components in an initialized color.
- The routine <STRONG>pair_content</STRONG> allows a programmer to find out
- how a given color-pair is currently defined.
-
- <STRONG>Routine</STRONG> <STRONG>Descriptions</STRONG>
- The <STRONG>start_color</STRONG> routine requires no arguments. It must be
- called if the programmer wants to use colors, and before
- any other color manipulation routine is called. It is
- good practice to call this routine right after <STRONG>initscr</STRONG>.
- <STRONG>start_color</STRONG> initializes eight basic colors (black, red,
- green, yellow, blue, magenta, cyan, and white), and two
- global variables, <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG> (respectively
- defining the maximum number of colors and color-pairs the
- terminal can support). It also restores the colors on the
- terminal to the values they had when the terminal was just
- turned on.
-
- The <STRONG>init_pair</STRONG> routine changes the definition of a color-
- pair. It takes three arguments: the number of the color-
- pair to be changed, the foreground color number, and the
- background color number. For portable applications:
-
- <STRONG>o</STRONG> The value of the first argument must be between <STRONG>1</STRONG> and
- <STRONG>COLOR_PAIRS-1</STRONG>, except that if default colors are used
- (see <STRONG>use_default_colors</STRONG>) the upper limit is adjusted
- to allow for extra pairs which use a default color in
- foreground and/or background.
-
- <STRONG>o</STRONG> The value of the second and third arguments must be
- between 0 and <STRONG>COLORS</STRONG>. Color pair 0 is assumed to be
- white on black, but is actually whatever the terminal
- implements before color is initialized. It cannot be
- modified by the application.
-
- If the color-pair was previously initialized, the screen
- is refreshed and all occurrences of that color-pair are
- changed to the new definition.
-
- As an extension, ncurses allows you to set color pair 0
- via the <STRONG>assume_default_colors</STRONG> routine, or to specify the
- use of default colors (color number <STRONG>-1</STRONG>) if you first in-
- voke the <STRONG>use_default_colors</STRONG> routine.
-
- The <STRONG>init_color</STRONG> routine changes the definition of a color.
- It takes four arguments: the number of the color to be
- changed followed by three RGB values (for the amounts of
- red, green, and blue components). The value of the first
- argument must be between <STRONG>0</STRONG> and <STRONG>COLORS</STRONG>. (See the section
- <STRONG>Colors</STRONG> for the default color index.) Each of the last
- three arguments must be a value between 0 and 1000. When
- <STRONG>init_color</STRONG> is used, all occurrences of that color on the
- screen immediately change to the new definition.
-
- The <STRONG>has_colors</STRONG> routine requires no arguments. It returns
- <STRONG>TRUE</STRONG> if the terminal can manipulate colors; otherwise, it
- returns <STRONG>FALSE</STRONG>. This routine facilitates writing terminal-
- independent programs. For example, a programmer can use
- it to decide whether to use color or some other video at-
- tribute.
-
- The <STRONG>can_change_color</STRONG> routine requires no arguments. It
- returns <STRONG>TRUE</STRONG> if the terminal supports colors and can
- change their definitions; other, it returns <STRONG>FALSE</STRONG>. This
- routine facilitates writing terminal-independent programs.
-
- The <STRONG>color_content</STRONG> routine gives programmers a way to find
- the intensity of the red, green, and blue (RGB) components
- in a color. It requires four arguments: the color number,
- and three addresses of <STRONG>short</STRONG>s for storing the information
- about the amounts of red, green, and blue components in
- the given color. The value of the first argument must be
- between 0 and <STRONG>COLORS</STRONG>. The values that are stored at the
- addresses pointed to by the last three arguments are be-
- tween 0 (no component) and 1000 (maximum amount of compo-
- nent).
-
- The <STRONG>pair_content</STRONG> routine allows programmers to find out
- what colors a given color-pair consists of. It requires
- three arguments: the color-pair number, and two addresses
- of <STRONG>short</STRONG>s for storing the foreground and the background
- color numbers. The value of the first argument must be
- between 1 and <STRONG>COLOR_PAIRS-1</STRONG>. The values that are stored
- at the addresses pointed to by the second and third argu-
- ments are between 0 and <STRONG>COLORS</STRONG>.
-
- <STRONG>Colors</STRONG>
- In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined. These are
- the default colors. <STRONG>curses</STRONG> also assumes that <STRONG>COLOR_BLACK</STRONG>
- is the default background color for all terminals.
+ <STRONG>int</STRONG> <STRONG>COLOR_PAIR(int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM><STRONG>);</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-Overview">Overview</a></H3><PRE>
+ <STRONG>curses</STRONG> supports color attributes on terminals with that capability. To
+ use these routines <STRONG>start_color</STRONG> must be called, usually right after
+ <STRONG>initscr</STRONG>. Colors are always used in pairs (referred to as color-pairs).
+ A color-pair consists of a foreground color (for characters) and a
+ background color (for the blank field on which the characters are dis-
+ played). A programmer initializes a color-pair with the routine
+ <STRONG>init_pair</STRONG>. After it has been initialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>) can be used to
+ convert the pair to a video attribute.
+
+ If a terminal is capable of redefining colors, the programmer can use
+ the routine <STRONG>init_color</STRONG> to change the definition of a color. The rou-
+ tines <STRONG>has_colors</STRONG> and <STRONG>can_change_color</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, depending
+ on whether the terminal has color capabilities and whether the program-
+ mer can change the colors. The routine <STRONG>color_content</STRONG> allows a program-
+ mer to extract the amounts of red, green, and blue components in an
+ initialized color. The routine <STRONG>pair_content</STRONG> allows a programmer to
+ find out how a given color-pair is currently defined.
+
+
+</PRE><H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE>
+ The <STRONG>curses</STRONG> library combines these inputs to produce the actual fore-
+ ground and background colors shown on the screen:
+
+ <STRONG>o</STRONG> per-character video attributes (e.g., via <STRONG>waddch</STRONG>),
+
+ <STRONG>o</STRONG> the window attribute (e.g., by <STRONG>wattrset</STRONG>), and
+
+ <STRONG>o</STRONG> the background character (e.g., <STRONG>wbkgdset</STRONG>).
+
+ Per-character and window attributes are usually set by a parameter con-
+ taining video attributes including a color pair value. Some functions
+ such as <STRONG>wattr_set</STRONG> use a separate parameter which is the color pair num-
+ ber.
+
+ The background character is a special case: it includes a character
+ value, just as if it were passed to <STRONG>waddch</STRONG>.
+
+ The <STRONG>curses</STRONG> library does the actual work of combining these color pairs
+ in an internal function called from <STRONG>waddch</STRONG>:
+
+ <STRONG>o</STRONG> If the parameter passed to <STRONG>waddch</STRONG> is <EM>blank</EM>, and it uses the special
+ color pair 0,
+
+ <STRONG>o</STRONG> <STRONG>curses</STRONG> next checks the window attribute.
+
+ <STRONG>o</STRONG> If the window attribute does not use color pair 0, <STRONG>curses</STRONG> uses
+ the color pair from the window attribute.
+
+ <STRONG>o</STRONG> Otherwise, <STRONG>curses</STRONG> uses the background character.
+
+ <STRONG>o</STRONG> If the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it does not use
+ the special color pair 0, <STRONG>curses</STRONG> prefers the color pair from the
+ parameter, if it is nonzero. Otherwise, it tries the window at-
+ tribute next, and finally the background character.
+
+ Some <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>. Those do not com-
+ bine its parameter with a color pair. Consequently those calls use on-
+ ly the window attribute or the background character.
+
+
+</PRE><H2><a name="h2-CONSTANTS">CONSTANTS</a></H2><PRE>
+ In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined. These are the standard
+ colors (ISO-6429). <STRONG>curses</STRONG> also assumes that <STRONG>COLOR_BLACK</STRONG> is the default
+ background color for all terminals.
<STRONG>COLOR_BLACK</STRONG>
<STRONG>COLOR_RED</STRONG>
@@ -186,100 +156,363 @@
<STRONG>COLOR_CYAN</STRONG>
<STRONG>COLOR_WHITE</STRONG>
+ Some terminals support more than the eight (8) "ANSI" colors. There
+ are no standard names for those additional colors.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The routines <STRONG>can_change_color()</STRONG> and <STRONG>has_colors()</STRONG> return
- <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
-
- All other routines return the integer <STRONG>ERR</STRONG> upon failure and
- an <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion.
-
- X/Open defines no error conditions. This implementation
- will return <STRONG>ERR</STRONG> on attempts to use color values outside
- the range 0 to COLORS-1 (except for the default colors ex-
- tension), or use color pairs outside the range 0 to COL-
- OR_PAIRS-1. Color values used in <STRONG>init_color</STRONG> must be in
- the range 0 to 1000. An error is returned from all func-
- tions if the terminal has not been initialized. An error
- is returned from secondary functions such as <STRONG>init_pair</STRONG> if
- <STRONG>start_color</STRONG> was not called.
+
+</PRE><H2><a name="h2-VARIABLES">VARIABLES</a></H2><PRE>
+
+</PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
+ is initialized by <STRONG>start_color</STRONG> to the maximum number of colors the ter-
+ minal can support.
+
+
+</PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
+ is initialized by <STRONG>start_color</STRONG> to the maximum number of color pairs the
+ terminal can support.
+
+
+</PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
+
+</PRE><H3><a name="h3-start_color">start_color</a></H3><PRE>
+ The <STRONG>start_color</STRONG> routine requires no arguments. It must be called if
+ the programmer wants to use colors, and before any other color manipu-
+ lation routine is called. It is good practice to call this routine
+ right after <STRONG>initscr</STRONG>. <STRONG>start_color</STRONG> does this:
+
+ <STRONG>o</STRONG> It initializes two global variables, <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG> (re-
+ spectively defining the maximum number of colors and color-pairs
+ the terminal can support).
+
+ <STRONG>o</STRONG> It initializes the special color pair <STRONG>0</STRONG> to the default foreground
+ and background colors. No other color pairs are initialized.
+
+ <STRONG>o</STRONG> It restores the colors on the terminal to the values they had when
+ the terminal was just turned on.
+
+ <STRONG>o</STRONG> If the terminal supports the <STRONG>initc</STRONG> (<STRONG>initialize_color</STRONG>) capability,
+ <STRONG>start_color</STRONG> initializes its internal table representing the red,
+ green, and blue components of the color palette.
+
+ The components depend on whether the terminal uses CGA (aka "ANSI")
+ or HLS (i.e., the <STRONG>hls</STRONG> (<STRONG>hue_lightness_saturation</STRONG>) capability is
+ set). The table is initialized first for eight basic colors
+ (black, red, green, yellow, blue, magenta, cyan, and white), using
+ weights that depend upon the CGA/HLS choice. For "ANSI" colors the
+ weights are <STRONG>680</STRONG> or <STRONG>0</STRONG> depending on whether the corresponding red,
+ green, or blue component is used or not. That permits using <STRONG>1000</STRONG>
+ to represent bold/bright colors. After the initial eight colors
+ (if the terminal supports more than eight colors) the components
+ are initialized using the same pattern, but with weights of <STRONG>1000</STRONG>.
+ SVr4 uses a similar scheme, but uses <STRONG>1000</STRONG> for the components of the
+ initial eight colors.
+
+ <STRONG>start_color</STRONG> does not attempt to set the terminal's color palette to
+ match its built-in table. An application may use <STRONG>init_color</STRONG> to al-
+ ter the internal table along with the terminal's color.
+
+ These limits apply to color values and color pairs. Values outside
+ these limits are not legal, and may result in a runtime error:
+
+ <STRONG>o</STRONG> <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_colors</STRONG> capabili-
+ ty, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+
+ <STRONG>o</STRONG> color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COLORS-1</STRONG>, inclu-
+ sive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
+
+ <STRONG>o</STRONG> a special color value <STRONG>-1</STRONG> is used in certain extended functions to
+ denote the <EM>default</EM> <EM>color</EM> (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>).
+
+ <STRONG>o</STRONG> <STRONG>COLOR_PAIRS</STRONG> corresponds to the terminal database's <STRONG>max_pairs</STRONG> capa-
+ bility, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+
+ <STRONG>o</STRONG> legal color pair values are in the range <STRONG>1</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>, inclu-
+ sive.
+
+ <STRONG>o</STRONG> color pair <STRONG>0</STRONG> is special; it denotes "no color".
+
+ Color pair <STRONG>0</STRONG> is assumed to be white on black, but is actually what-
+ ever the terminal implements before color is initialized. It can-
+ not be modified by the application.
+
+
+</PRE><H3><a name="h3-has_colors">has_colors</a></H3><PRE>
+ The <STRONG>has_colors</STRONG> routine requires no arguments. It returns <STRONG>TRUE</STRONG> if the
+ terminal can manipulate colors; otherwise, it returns <STRONG>FALSE</STRONG>. This rou-
+ tine facilitates writing terminal-independent programs. For example, a
+ programmer can use it to decide whether to use color or some other
+ video attribute.
+
+
+</PRE><H3><a name="h3-can_change_color">can_change_color</a></H3><PRE>
+ The <STRONG>can_change_color</STRONG> routine requires no arguments. It returns <STRONG>TRUE</STRONG> if
+ the terminal supports colors and can change their definitions; other,
+ it returns <STRONG>FALSE</STRONG>. This routine facilitates writing terminal-indepen-
+ dent programs.
+
+
+</PRE><H3><a name="h3-init_pair">init_pair</a></H3><PRE>
+ The <STRONG>init_pair</STRONG> routine changes the definition of a color-pair. It takes
+ three arguments: the number of the color-pair to be changed, the fore-
+ ground color number, and the background color number. For portable ap-
+ plications:
+
+ <STRONG>o</STRONG> The first argument must be a legal color pair value. If default
+ colors are used (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>) the upper limit is ad-
+ justed to allow for extra pairs which use a default color in fore-
+ ground and/or background.
+
+ <STRONG>o</STRONG> The second and third arguments must be legal color values.
+
+ If the color-pair was previously initialized, the screen is refreshed
+ and all occurrences of that color-pair are changed to the new defini-
+ tion.
+
+ As an extension, ncurses allows you to set color pair <STRONG>0</STRONG> via the <STRONG>as-</STRONG>
+ <STRONG><A HREF="assume_default_colors.3x.html">sume_default_colors(3x)</A></STRONG> routine, or to specify the use of default col-
+ ors (color number <STRONG>-1</STRONG>) if you first invoke the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>
+ routine.
+
+
+</PRE><H3><a name="h3-init_extended_pair">init_extended_pair</a></H3><PRE>
+ Because <STRONG>init_pair</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
+ color-pairs and color-values to 32767 on modern hardware. The exten-
+ sion <STRONG>init_extended_pair</STRONG> uses <STRONG>int</STRONG>s for the color-pair and color-value,
+ allowing a larger number of colors to be supported.
+
+
+</PRE><H3><a name="h3-init_color">init_color</a></H3><PRE>
+ The <STRONG>init_color</STRONG> routine changes the definition of a color. It takes
+ four arguments: the number of the color to be changed followed by three
+ RGB values (for the amounts of red, green, and blue components).
+
+ <STRONG>o</STRONG> The first argument must be a legal color value; default colors are
+ not allowed here. (See the section <STRONG>Colors</STRONG> for the default color
+ index.)
+
+ <STRONG>o</STRONG> Each of the last three arguments must be a value in the range <STRONG>0</STRONG>
+ through <STRONG>1000</STRONG>.
+
+ When <STRONG>init_color</STRONG> is used, all occurrences of that color on the screen
+ immediately change to the new definition.
+
+
+</PRE><H3><a name="h3-init_extended_color">init_extended_color</a></H3><PRE>
+ Because <STRONG>init_color</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
+ color-values and their red, green, and blue components to 32767 on mod-
+ ern hardware. The extension <STRONG>init_extended_color</STRONG> uses <STRONG>int</STRONG>s for the col-
+ or value and for setting the red, green, and blue components, allowing
+ a larger number of colors to be supported.
+
+
+</PRE><H3><a name="h3-color_content">color_content</a></H3><PRE>
+ The <STRONG>color_content</STRONG> routine gives programmers a way to find the intensity
+ of the red, green, and blue (RGB) components in a color. It requires
+ four arguments: the color number, and three addresses of <STRONG>short</STRONG>s for
+ storing the information about the amounts of red, green, and blue com-
+ ponents in the given color.
+
+ <STRONG>o</STRONG> The first argument must be a legal color value, i.e., <STRONG>0</STRONG> through
+ <STRONG>COLORS-1</STRONG>, inclusive.
+
+ <STRONG>o</STRONG> The values that are stored at the addresses pointed to by the last
+ three arguments are in the range <STRONG>0</STRONG> (no component) through <STRONG>1000</STRONG>
+ (maximum amount of component), inclusive.
+
+
+</PRE><H3><a name="h3-extended_color_content">extended_color_content</a></H3><PRE>
+ Because <STRONG>color_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that lim-
+ its color-values and their red, green, and blue components to 32767 on
+ modern hardware. The extension <STRONG>extended_color_content</STRONG> uses <STRONG>int</STRONG>s for
+ the color value and for returning the red, green, and blue components,
+ allowing a larger number of colors to be supported.
+
+
+</PRE><H3><a name="h3-pair_content">pair_content</a></H3><PRE>
+ The <STRONG>pair_content</STRONG> routine allows programmers to find out what colors a
+ given color-pair consists of. It requires three arguments: the color-
+ pair number, and two addresses of <STRONG>short</STRONG>s for storing the foreground and
+ the background color numbers.
+
+ <STRONG>o</STRONG> The first argument must be a legal color value, i.e., in the range
+ <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclusive.
+
+ <STRONG>o</STRONG> The values that are stored at the addresses pointed to by the sec-
+ ond and third arguments are in the range <STRONG>0</STRONG> through <STRONG>COLORS</STRONG>, inclu-
+ sive.
+
+
+</PRE><H3><a name="h3-extended_pair_content">extended_pair_content</a></H3><PRE>
+ Because <STRONG>pair_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
+ color-pair and color-values to 32767 on modern hardware. The extension
+ <STRONG>extended_pair_content</STRONG> uses <STRONG>int</STRONG>s for the color pair and for returning
+ the foreground and background colors, allowing a larger number of col-
+ ors to be supported.
+
+
+</PRE><H3><a name="h3-reset_color_pairs">reset_color_pairs</a></H3><PRE>
+ The extension <STRONG>reset_color_pairs</STRONG> tells ncurses to discard all of the
+ color-pair information which was set with <STRONG>init_pair</STRONG>. It also touches
+ the current- and standard-screens, allowing an application to switch
+ color palettes rapidly.
+
+
+</PRE><H3><a name="h3-PAIR_NUMBER">PAIR_NUMBER</a></H3><PRE>
+ <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) extracts the color value from its <EM>attrs</EM> parameter
+ and returns it as a color pair number.
+
+
+</PRE><H3><a name="h3-COLOR_PAIR">COLOR_PAIR</a></H3><PRE>
+ Its inverse <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> converts a color pair number to an attribute.
+ Attributes can hold color pairs in the range 0 to 255. If you need a
+ color pair larger than that, you must use functions such as <STRONG>attr_set</STRONG>
+ (which pass the color pair as a separate parameter) rather than the
+ legacy functions such as <STRONG>attrset</STRONG>.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The routines <STRONG>can_change_color</STRONG> and <STRONG>has_colors</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
+
+ All other routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
+ specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion.
+
+ X/Open defines no error conditions. SVr4 does document some error con-
+ ditions which apply in general:
+
+ <STRONG>o</STRONG> This implementation will return <STRONG>ERR</STRONG> on attempts to use color values
+ outside the range <STRONG>0</STRONG> to <STRONG>COLORS</STRONG>-1 (except for the default colors ex-
+ tension), or use color pairs outside the range <STRONG>0</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>.
+
+ Color values used in <STRONG>init_color</STRONG> must be in the range <STRONG>0</STRONG> to <STRONG>1000</STRONG>.
+
+ An error is returned from all functions if the terminal has not
+ been initialized.
+
+ An error is returned from secondary functions such as <STRONG>init_pair</STRONG> if
+ <STRONG>start_color</STRONG> was not called.
+
+ <STRONG>o</STRONG> SVr4 does much the same, except that it returns <STRONG>ERR</STRONG> from <STRONG>pair_con-</STRONG>
+ <STRONG>tent</STRONG> if the pair was not initialized using <STRONG>init_pairs</STRONG> and it re-
+ turns <STRONG>ERR</STRONG> from <STRONG>color_content</STRONG> if the terminal does not support
+ changing colors.
+
+ This implementation does not return <STRONG>ERR</STRONG> for either case.
+
+ Specific functions make additional checks:
<STRONG>init_color</STRONG>
- returns an error if the terminal does not support
- this feature, e.g., if the <EM>initialize</EM><STRONG>_</STRONG><EM>color</EM> capa-
- bility is absent from the terminal description.
+ returns an error if the terminal does not support this feature,
+ e.g., if the <STRONG>initialize_color</STRONG> capability is absent from the
+ terminal description.
<STRONG>start_color</STRONG>
- returns an error if the color table cannot be al-
- located.
+ returns an error if the color table cannot be allocated.
-</PRE>
-<H2>NOTES</H2><PRE>
- In the <EM>ncurses</EM> implementation, there is a separate color
- activation flag, color palette, color pairs table, and as-
- sociated COLORS and COLOR_PAIRS counts for each screen;
- the <STRONG>start_color</STRONG> function only affects the current screen.
- The SVr4/XSI interface is not really designed with this in
- mind, and historical implementations may use a single
- shared color palette.
-
- Note that setting an implicit background color via a color
- pair affects only character cells that a character write
- operation explicitly touches. To change the background
- color used when parts of a window are blanked by erasing
- or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
-
- Several caveats apply on 386 and 486 machines with VGA-
- compatible graphics:
-
- <STRONG>o</STRONG> COLOR_YELLOW is actually brown. To get yellow, use
- COLOR_YELLOW combined with the <STRONG>A_BOLD</STRONG> attribute.
-
- <STRONG>o</STRONG> The A_BLINK attribute should in theory cause the back-
- ground to go bright. This often fails to work, and
- even some cards for which it mostly works (such as the
- Paradise and compatibles) do the wrong thing when you
- try to set a bright "yellow" background (you get a
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ In the <STRONG>ncurses</STRONG> implementation, there is a separate color activation
+ flag, color palette, color pairs table, and associated <STRONG>COLORS</STRONG> and <STRONG>COL-</STRONG>
+ <STRONG>OR_PAIRS</STRONG> counts for each screen; the <STRONG>start_color</STRONG> function only affects
+ the current screen. The SVr4/XSI interface is not really designed with
+ this in mind, and historical implementations may use a single shared
+ color palette.
+
+ Setting an implicit background color via a color pair affects only
+ character cells that a character write operation explicitly touches.
+ To change the background color used when parts of a window are blanked
+ by erasing or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
+
+ Several caveats apply on older x86 machines (e.g., i386, i486) with
+ VGA-compatible graphics:
+
+ <STRONG>o</STRONG> COLOR_YELLOW is actually brown. To get yellow, use COLOR_YELLOW
+ combined with the <STRONG>A_BOLD</STRONG> attribute.
+
+ <STRONG>o</STRONG> The A_BLINK attribute should in theory cause the background to go
+ bright. This often fails to work, and even some cards for which it
+ mostly works (such as the Paradise and compatibles) do the wrong
+ thing when you try to set a bright "yellow" background (you get a
blinking yellow foreground instead).
<STRONG>o</STRONG> Color RGB values are not settable.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- This implementation satisfies XSI Curses's minimum maxi-
- mums for <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ This implementation satisfies XSI Curses's minimum maximums for <STRONG>COLORS</STRONG>
+ and <STRONG>COLOR_PAIRS</STRONG>.
- The <STRONG>init_pair</STRONG> routine accepts negative values of fore-
- ground and background color to support the <STRONG>use_de-</STRONG>
- <STRONG>fault_colors</STRONG> extension, but only if that routine has been
- first invoked.
+ The <STRONG>init_pair</STRONG> routine accepts negative values of foreground and back-
+ ground color to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> extension, but only
+ if that routine has been first invoked.
- The assumption that <STRONG>COLOR_BLACK</STRONG> is the default background
- color for all terminals can be modified using the <STRONG>as-</STRONG>
- <STRONG>sume_default_colors</STRONG> extension.
+ The assumption that <STRONG>COLOR_BLACK</STRONG> is the default background color for all
+ terminals can be modified using the <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG> exten-
+ sion.
- This implementation checks the pointers, e.g., for the
- values returned by <STRONG>color_content</STRONG> and <STRONG>pair_content</STRONG>, and
- will treat those as optional parameters when null.
+ This implementation checks the pointers, e.g., for the values returned
+ by <STRONG>color_content</STRONG> and <STRONG>pair_content</STRONG>, and will treat those as optional pa-
+ rameters when null.
+ X/Open Curses does not specify a limit for the number of colors and
+ color pairs which a terminal can support. However, in its use of <STRONG>short</STRONG>
+ for the parameters, it carries over SVr4's implementation detail for
+ the compiled terminfo database, which uses signed 16-bit numbers. This
+ implementation provides extended versions of those functions which use
+ <STRONG>short</STRONG> parameters, allowing applications to use larger color- and pair-
+ numbers.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>, <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+ The <STRONG>reset_color_pairs</STRONG> function is an extension of ncurses.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>de-</STRONG>
+ <STRONG><A HREF="default_colors.3x.html">fault_colors(3x)</A></STRONG>
- <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Overview">Overview</a></li>
+<li><a href="#h3-Color-Rendering">Color Rendering</a></li>
+</ul>
+</li>
+<li><a href="#h2-CONSTANTS">CONSTANTS</a></li>
+<li><a href="#h2-VARIABLES">VARIABLES</a>
+<ul>
+<li><a href="#h3-COLORS">COLORS</a></li>
+<li><a href="#h3-COLOR_PAIRS">COLOR_PAIRS</a></li>
+</ul>
+</li>
+<li><a href="#h2-FUNCTIONS">FUNCTIONS</a>
+<ul>
+<li><a href="#h3-start_color">start_color</a></li>
+<li><a href="#h3-has_colors">has_colors</a></li>
+<li><a href="#h3-can_change_color">can_change_color</a></li>
+<li><a href="#h3-init_pair">init_pair</a></li>
+<li><a href="#h3-init_extended_pair">init_extended_pair</a></li>
+<li><a href="#h3-init_color">init_color</a></li>
+<li><a href="#h3-init_extended_color">init_extended_color</a></li>
+<li><a href="#h3-color_content">color_content</a></li>
+<li><a href="#h3-extended_color_content">extended_color_content</a></li>
+<li><a href="#h3-pair_content">pair_content</a></li>
+<li><a href="#h3-extended_pair_content">extended_pair_content</a></li>
+<li><a href="#h3-reset_color_pairs">reset_color_pairs</a></li>
+<li><a href="#h3-PAIR_NUMBER">PAIR_NUMBER</a></li>
+<li><a href="#h3-COLOR_PAIR">COLOR_PAIR</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_delch.3x.html b/doc/html/man/curs_delch.3x.html
index 40d43c4e8006..019ce2766f7f 100644
--- a/doc/html/man/curs_delch.3x.html
+++ b/doc/html/man/curs_delch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_delch.3x,v 1.11 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_delch.3x,v 1.13 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_delch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_delch 3x</H1>
-<HR>
+<H1 class="no-header">curs_delch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete character under
- the cursor in a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete character under the cursor in
+ a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>delch(void);</STRONG>
@@ -61,52 +59,52 @@
<STRONG>int</STRONG> <STRONG>mvwdelch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines delete the character under the cursor; all
- characters to the right of the cursor on the same line are
- moved to the left one position and the last character on
- the line is filled with a blank. The cursor position does
- not change (after moving to <EM>y</EM>, <EM>x</EM>, if specified). (This
- does not imply use of the hardware delete character fea-
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines delete the character under the cursor; all characters to
+ the right of the cursor on the same line are moved to the left one
+ position and the last character on the line is filled with a blank.
+ The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>, if speci-
+ fied). (This does not imply use of the hardware delete character fea-
ture.)
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG>
- (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
- upon successful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci-
+ fies only "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
+ tion.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>delch</STRONG>, <STRONG>mvdelch</STRONG>, and <STRONG>mvwdelch</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. The standard specifies that they return <STRONG>ERR</STRONG> on
- failure, but specifies no error conditions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4. The
+ standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
+ error conditions.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_deleteln.3x.html b/doc/html/man/curs_deleteln.3x.html
index 40a1a2be3d11..2c2d6277389f 100644
--- a/doc/html/man/curs_deleteln.3x.html
+++ b/doc/html/man/curs_deleteln.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_deleteln.3x,v 1.13 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_deleteln.3x,v 1.14 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_deleteln 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_deleteln 3x</H1>
-<HR>
+<H1 class="no-header">curs_deleteln 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>deleteln</STRONG>, <STRONG>wdeleteln</STRONG>, <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>win-</STRONG>
- <STRONG>sertln</STRONG> - delete and insert lines in a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>deleteln</STRONG>, <STRONG>wdeleteln</STRONG>, <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>winsertln</STRONG> - delete
+ and insert lines in a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>deleteln(void);</STRONG>
@@ -63,64 +61,63 @@
<STRONG>int</STRONG> <STRONG>winsertln(WINDOW</STRONG> <STRONG>*win);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>deleteln</STRONG> and <STRONG>wdeleteln</STRONG> routines delete the line under
- the cursor in the window; all lines below the current line
- are moved up one line. The bottom line of the window is
- cleared. The cursor position does not change.
-
- The <STRONG>insdelln</STRONG> and <STRONG>winsdelln</STRONG> routines, for positive <EM>n</EM>,
- insert <EM>n</EM> lines into the specified window above the current
- line. The <EM>n</EM> bottom lines are lost. For negative <EM>n</EM>,
- delete <EM>n</EM> lines (starting with the one under the cursor),
- and move the remaining lines up. The bottom <EM>n</EM> lines are
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>deleteln</STRONG> and <STRONG>wdeleteln</STRONG> routines delete the line under the cursor in
+ the window; all lines below the current line are moved up one line.
+ The bottom line of the window is cleared. The cursor position does not
+ change.
+
+ The <STRONG>insdelln</STRONG> and <STRONG>winsdelln</STRONG> routines, for positive <EM>n</EM>, insert <EM>n</EM> lines
+ into the specified window above the current line. The <EM>n</EM> bottom lines
+ are lost. For negative <EM>n</EM>, delete <EM>n</EM> lines (starting with the one under
+ the cursor), and move the remaining lines up. The bottom <EM>n</EM> lines are
cleared. The current cursor position remains the same.
- The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines insert a blank line
- above the current line and the bottom line is lost.
+ The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines insert a blank line above the cur-
+ rent line and the bottom line is lost.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG>
- (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
- upon successful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci-
+ fies only "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
+ tion.
- X/Open defines no error conditions. In this implementa-
- tion, if the window parameter is null, an error is
- returned.
+ X/Open defines no error conditions. In this implementation, if the
+ window parameter is null, an error is returned.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. The standard specifies that they return <STRONG>ERR</STRONG> on
- failure, but specifies no error conditions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4. The
+ standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
+ error conditions.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all but <STRONG>winsdelln</STRONG> may be macros.
- These routines do not require a hardware line delete or
- insert feature in the terminal. In fact, they will not
- use hardware line delete/insert unless <STRONG>idlok(...,</STRONG> <STRONG>TRUE)</STRONG>
- has been set on the current window.
+ These routines do not require a hardware line delete or insert feature
+ in the terminal. In fact, they will not use hardware line
+ delete/insert unless <STRONG>idlok(...,</STRONG> <STRONG>TRUE)</STRONG> has been set on the current win-
+ dow.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_extend.3x.html b/doc/html/man/curs_extend.3x.html
index 40418ebbe4ea..751a881d35d5 100644
--- a/doc/html/man/curs_extend.3x.html
+++ b/doc/html/man/curs_extend.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1999-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2016,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,84 +27,98 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1999-on
- * @Id: curs_extend.3x,v 1.19 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_extend.3x,v 1.22 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_extend 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_extend 3x</H1>
-<HR>
+<H1 class="no-header">curs_extend 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>curses_version</STRONG>, <STRONG>use_extended_names</STRONG> - miscellaneous curses
- extensions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>curses_version</STRONG>, <STRONG>use_extended_names</STRONG> - miscellaneous curses extensions
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>curses_version(void);</STRONG>
<STRONG>int</STRONG> <STRONG>use_extended_names(bool</STRONG> <STRONG>enable);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions are extensions to the curses library which
- do not fit easily into other categories.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions are extensions to the curses library which do not fit
+ easily into other categories.
- Use <EM>curses</EM><STRONG>_</STRONG><EM>version()</EM> to get the version number, including
- patch level of the library, e.g., <STRONG>5.0.19991023</STRONG>
- The <EM>use</EM><STRONG>_</STRONG><EM>extended</EM><STRONG>_</STRONG><EM>names()</EM> function controls whether the
- calling application is able to use user-defined or non-
- standard names which may be compiled into the terminfo
- description, i.e., via the terminfo or termcap interfaces.
- Normally these names are available for use, since the
- essential decision is made by using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>
- to compile extended terminal definitions. However you can
- disable this feature to ensure compatibility with other
- implementations of curses.
+</PRE><H3><a name="h3-curses_version">curses_version</a></H3><PRE>
+ Use <STRONG>curses_version</STRONG> to get the version number, including patch level of
+ the library, e.g., <STRONG>5.0.19991023</STRONG>
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H3><a name="h3-use_extended_names">use_extended_names</a></H3><PRE>
+ The <STRONG>use_extended_names</STRONG> function controls whether the calling applica-
+ tion is able to use user-defined or nonstandard names which may be com-
+ piled into the terminfo description, i.e., via the terminfo or termcap
+ interfaces. Normally these names are available for use, since the
+ essential decision is made by using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG> to compile
+ extended terminal definitions. However you can disable this feature to
+ ensure compatibility with other implementations of curses.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>,
- <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG>key-</STRONG>
- <STRONG><A HREF="keybound.3x.html">bound(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>curses_version</STRONG> returns a pointer to static memory; you should not free
+ this in your application.
+ <STRONG>use_extended_names</STRONG> returns the previous state, allowing you to save
+ this and restore it.
-</PRE>
-<H2>AUTHOR</H2><PRE>
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on them be conditioned using NCURSES_VERSION.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+ <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>,
+ <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Thomas Dickey.
- <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+ <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-curses_version">curses_version</a></li>
+<li><a href="#h3-use_extended_names">use_extended_names</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_get_wch.3x.html b/doc/html/man/curs_get_wch.3x.html
index ca8d2e8c02e2..ab833d422cad 100644
--- a/doc/html/man/curs_get_wch.3x.html
+++ b/doc/html/man/curs_get_wch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wch.3x,v 1.8 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_get_wch.3x,v 1.12 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_get_wch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_get_wch 3x</H1>
-<HR>
+<H1 class="no-header">curs_get_wch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get
- (or push back) a wide character from curses terminal key-
- board
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get (or push
+ back) a wide character from curses terminal keyboard
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>get_wch(wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
@@ -63,93 +60,97 @@
<STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions
- read a character from the terminal associated with the
- current or specified window. In no-delay mode, if no
- input is waiting, the value <STRONG>ERR</STRONG> is returned. In delay
- mode, the program waits until the system passes text
- through to the program. Depending on the setting of
- <STRONG>cbreak</STRONG>, this is after one character (cbreak mode), or
- after the first newline (nocbreak mode). In half-delay
- mode, the program waits until the user types a character
- or the specified timeout interval has elapsed.
-
- Unless <STRONG>noecho</STRONG> has been set, these routines echo the char-
- acter into the designated window.
-
- If the window is not a pad and has been moved or modified
- since the last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called
- before another character is read.
-
- If <STRONG>keypad</STRONG> is enabled, these functions respond to the
- pressing of a function key by setting the object pointed
- to by <EM>wch</EM> to the corresponding <STRONG>KEY_</STRONG> value defined in
- <STRONG>&lt;curses.h&gt;</STRONG> and returning <STRONG>KEY_CODE_YES</STRONG>. If a character
- (such as escape) that could be the beginning of a function
- key is received, curses sets a timer. If the remainder of
- the sequence does arrive within the designated time,
- curses passes through the character; otherwise, curses
- returns the function key value. For this reason, many
- terminals experience a delay between the time a user
- presses the escape key and the time the escape is returned
- to the program.
-
- The <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM> back
- onto the head of the input queue, so the wide character is
- returned by the next call to <STRONG>get_wch</STRONG>. The pushback of one
- character is guaranteed. If the program calls <STRONG>unget_wch</STRONG>
- too many times without an intervening call to <STRONG>get_wch</STRONG>, the
- operation may fail.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions read a char-
+ acter from the terminal associated with the current or specified win-
+ dow. In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is re-
+ turned. In delay mode, the program waits until the system passes text
+ through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this is
+ after one character (cbreak mode), or after the first newline (nocbreak
+ mode). In half-delay mode, the program waits until the user types a
+ character or the specified timeout interval has elapsed.
+ Unless <STRONG>noecho</STRONG> has been set, these routines echo the character into the
+ designated window.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the
- header file <STRONG>&lt;stdio.h&gt;</STRONG>.
+ If the window is not a pad and has been moved or modified since the
+ last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called before another character
+ is read.
+
+ If <STRONG>keypad</STRONG> is enabled, these functions respond to the pressing of a
+ function key by setting the object pointed to by <EM>wch</EM> to the keycode as-
+ signed to the function key, and returning <STRONG>KEY_CODE_YES</STRONG>. If a character
+ (such as escape) that could be the beginning of a function key is re-
+ ceived, curses sets a timer. If the remainder of the sequence does ar-
+ rive within the designated time, curses passes through the character;
+ otherwise, curses returns the function key value. For this reason,
+ many terminals experience a delay between the time a user presses the
+ escape key and the time the escape is returned to the program.
+
+ The keycodes returned by these functions are the same as those returned
+ by <STRONG>wgetch</STRONG>:
- Applications should not define the escape key by itself as
- a single-character function.
+ <STRONG>o</STRONG> The predefined function keys are listed in <STRONG>&lt;curses.h&gt;</STRONG> as macros
+ with values outside the range of 8-bit characters. Their names be-
+ gin with <STRONG>KEY_</STRONG>.
- When using <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, or <STRONG>mvwget_wch</STRONG>,
- applications should not use <STRONG>nocbreak</STRONG> mode and <STRONG>echo</STRONG> mode at
- the same time. Depending on the state of the tty driver
- when each character is typed, the program may produce
- undesirable results.
+ <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using <STRONG>de-</STRONG>
+ <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG> have no names, but also are expected to have values
+ outside the range of 8-bit characters.
+
+ The <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM> back onto the head
+ of the input queue, so the wide character is returned by the next call
+ to <STRONG>get_wch</STRONG>. The pushback of one character is guaranteed. If the pro-
+ gram calls <STRONG>unget_wch</STRONG> too many times without an intervening call to
+ <STRONG>get_wch</STRONG>, the operation may fail.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;stdio.h&gt;</STRONG>.
+
+ Applications should not define the escape key by itself as a single-
+ character function.
+
+ When using <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, or <STRONG>mvwget_wch</STRONG>, applications
+ should not use <STRONG>nocbreak</STRONG> mode and <STRONG>echo</STRONG> mode at the same time. Depending
+ on the state of the tty driver when each character is typed, the pro-
+ gram may produce undesirable results.
All functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be macros.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> func-
- tions successfully report the pressing of a function key,
- they return <STRONG>KEY_CODE_YES</STRONG>. When they successfully report a
- wide character, they return <STRONG>OK</STRONG>. Otherwise, they return
- <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions successful-
+ ly report the pressing of a function key, they return <STRONG>KEY_CODE_YES</STRONG>.
+ When they successfully report a wide character, they return <STRONG>OK</STRONG>. Other-
+ wise, they return <STRONG>ERR</STRONG>.
- Upon successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>. Other-
- wise, the function returns <STRONG>ERR</STRONG>.
+ Upon successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>. Otherwise, the func-
+ tion returns <STRONG>ERR</STRONG>.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>,
- <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_get_wstr.3x.html b/doc/html/man/curs_get_wstr.3x.html
index d3d709cd9d21..07081e981818 100644
--- a/doc/html/man/curs_get_wstr.3x.html
+++ b/doc/html/man/curs_get_wstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_get_wstr.3x,v 1.19 2019/11/30 20:59:22 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_get_wstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_get_wstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_get_wstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>,
- <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get an array of
- wide characters from a curses terminal keyboard
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>,
+ <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get an array of wide characters from a
+ curses terminal keyboard
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>get_wstr(wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
@@ -66,101 +64,120 @@
<STRONG>int</STRONG> <STRONG>mvwgetn_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The effect of <STRONG>get_wstr</STRONG> is as though a series of calls to
- <STRONG>get_wch</STRONG> were made, until a newline, other end-of-line, or
- end-of-file condition is processed. An end-of-file condi-
- tion is represented by <STRONG>WEOF</STRONG>, as defined in <STRONG>&lt;wchar.h&gt;</STRONG>. The
- newline and end-of-line conditions are represented by the
- <STRONG>\n</STRONG> <STRONG>wchar_t</STRONG> value. In all instances, the end of the string
- is terminated by a null <STRONG>wchar_t</STRONG>. The routine places re-
- sulting values in the area pointed to by <EM>wstr</EM>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The effect of <STRONG>get_wstr</STRONG> is as though a series of calls to <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>
+ were made, until a newline, other end-of-line, or end-of-file condition
+ is processed. An end-of-file condition is represented by <STRONG>WEOF</STRONG>, as de-
+ fined in <STRONG>&lt;wchar.h&gt;</STRONG>. The newline and end-of-line conditions are repre-
+ sented by the <STRONG>\n</STRONG> <STRONG>wchar_t</STRONG> value. In all instances, the end of the
+ string is terminated by a null <STRONG>wchar_t</STRONG>. The routine places resulting
+ values in the area pointed to by <EM>wstr</EM>.
- The user's erase and kill characters are interpreted. If
- keypad mode is on for the window, <STRONG>KEY_LEFT</STRONG> and
- <STRONG>KEY_BACKSPACE</STRONG> are both considered equivalent to the user's
- kill character.
+ The user's erase and kill characters are interpreted. If keypad mode
+ is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are both considered
+ equivalent to the user's kill character.
- Characters input are echoed only if <STRONG>echo</STRONG> is currently on.
- In that case, backspace is echoed as deletion of the pre-
- vious character (typically a left motion).
+ Characters input are echoed only if <STRONG>echo</STRONG> is currently on. In that
+ case, backspace is echoed as deletion of the previous character (typi-
+ cally a left motion).
- The effect of <STRONG>wget_wstr</STRONG> is as though a series of calls to
- <STRONG>wget_wch</STRONG> were made.
+ The effect of <STRONG>wget_wstr</STRONG> is as though a series of calls to <STRONG>wget_wch</STRONG> were
+ made.
- The effect of <STRONG>mvget_wstr</STRONG> is as though a call to <STRONG>move</STRONG> and
- then a series of calls to <STRONG>get_wch</STRONG> were made.
+ The effect of <STRONG>mvget_wstr</STRONG> is as though a call to <STRONG>move</STRONG> and then a series
+ of calls to <STRONG>get_wch</STRONG> were made.
- The effect of <STRONG>mvwget_wstr</STRONG> is as though a call to <STRONG>wmove</STRONG> and
- then a series of calls to <STRONG>wget_wch</STRONG> were made.
+ The effect of <STRONG>mvwget_wstr</STRONG> is as though a call to <STRONG>wmove</STRONG> and then a se-
+ ries of calls to <STRONG>wget_wch</STRONG> were made.
- The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, and <STRONG>wgetn_wstr</STRONG>
- functions are identical to the <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>,
- <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG> functions, respectively, except
- that the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM> characters, letting
- the application prevent overflow of the input buffer.
+ The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, and <STRONG>wgetn_wstr</STRONG> functions are
+ identical to the <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG> func-
+ tions, respectively, except that the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM> char-
+ acters, letting the application prevent overflow of the input buffer.
-</PRE>
-<H2>NOTES</H2><PRE>
- Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to
- read a line that overflows the array pointed to by <STRONG>wstr</STRONG>
- causes undefined results. The use of <STRONG>getn_wstr</STRONG>,
- <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>, respectively, is
- recommended.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line
+ that overflows the array pointed to by <STRONG>wstr</STRONG> causes undefined results.
+ The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>, respec-
+ tively, is recommended.
- These functions cannot return <STRONG>KEY_</STRONG> values because there is
- no way to distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG>
- value.
+ These functions cannot return <STRONG>KEY_</STRONG> values because there is no way to
+ distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG> value.
All of these routines except <STRONG>wgetn_wstr</STRONG> may be macros.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All of these functions return <STRONG>OK</STRONG> upon successful comple-
- tion. Otherwise, they return <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All of these functions return <STRONG>OK</STRONG> upon successful completion. Other-
+ wise, they return <STRONG>ERR</STRONG>.
- Functions using a window parameter return an error if it
- is null.
+ Functions using a window parameter return an error if it is null.
<STRONG>wgetn_wstr</STRONG>
- returns an error if the associated call to
- <STRONG>wget_wch</STRONG> failed.
+ returns an error if the associated call to <STRONG>wget_wch</STRONG> failed.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in The Single Unix Specifi-
- cation, Version 2. No error conditions are defined. This
- implementation returns ERR if the window pointer is null,
- or if the lower-level <STRONG>wget_wch</STRONG> call returns an ERR. In
- the latter case, an ERR return without other data is
- treated as an end-of-file condition, and the returned ar-
- ray contains a <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in The Single Unix Specification, Version
+ 2. No error conditions are defined. This implementation returns <STRONG>ERR</STRONG>
+ if the window pointer is null, or if the lower-level <STRONG>wget_wch</STRONG> call re-
+ turns an <STRONG>ERR</STRONG>. In the latter case, an <STRONG>ERR</STRONG> return without other data is
+ treated as an end-of-file condition, and the returned array contains a
+ <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
- X/Open curses documents these functions to pass an array
- of <STRONG>wchar_t</STRONG>, but all of the vendors implement this using
- <STRONG>wint_t</STRONG>.
+ X/Open curses documented these functions to pass an array of <STRONG>wchar_t</STRONG> in
+ 1997, but that was an error because of this part of the description:
+ The effect of <EM>get</EM><STRONG>_</STRONG><EM>wstr()</EM> is as though a series of calls to
+ <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM> were made, until a newline character, end-of-line
+ character, or end-of-file character is processed.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM> can return a negative value, while
+ <STRONG>wchar_t</STRONG> is a unsigned type. All of the vendors implement this using
+ <STRONG>wint_t</STRONG>, following the standard.
+
+ X/Open Curses, Issue 7 (2009) is unclear regarding whether the termi-
+ nating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the length parameter <EM>n</EM>. X/Open
+ Curses, Issue 7 revised the corresponding description of <STRONG>wgetnstr</STRONG> to
+ address this issue. The unrevised description of <STRONG>wget_nwstr</STRONG> can be in-
+ terpreted either way. This implementation counts the terminator in the
+ length.
+
+ X/Open Curses does not specify what happens if the length <EM>n</EM> is nega-
+ tive.
+
+ <STRONG>o</STRONG> For analogy with <STRONG>wgetnstr</STRONG>, ncurses 6.2 uses a limit (based on
+ <STRONG>LINE_MAX</STRONG>).
+
+ <STRONG>o</STRONG> Some other implementations (such as Solaris xcurses) do the same,
+ while others (PDCurses) do not allow this.
+
+ <STRONG>o</STRONG> NetBSD 7 curses imitates ncurses 6.1 in this regard, treating a <STRONG>-1</STRONG>
+ as an indefinite number of characters.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>.
- <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_getcchar.3x.html b/doc/html/man/curs_getcchar.3x.html
index 6bd64861116b..504f54a733bb 100644
--- a/doc/html/man/curs_getcchar.3x.html
+++ b/doc/html/man/curs_getcchar.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2001-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2001-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getcchar.3x,v 1.16 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_getcchar.3x,v 1.23 2019/11/30 22:22:32 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_getcchar 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_getcchar 3x</H1>
-<HR>
+<H1 class="no-header">curs_getcchar 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>getcchar</STRONG>, <STRONG>setcchar</STRONG> - Get a wide character string and ren-
- dition from a <STRONG>cchar_t</STRONG> or set a <STRONG>cchar_t</STRONG> from a wide-charac-
- ter string
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>getcchar</STRONG>, <STRONG>setcchar</STRONG> - Get a wide character string and rendition from a
+ <STRONG>cchar_t</STRONG> or set a <STRONG>cchar_t</STRONG> from a wide-character string
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>getcchar(</STRONG>
@@ -68,91 +65,154 @@
<STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
<STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG>
<STRONG>short</STRONG> <EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG>
- <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
+ <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>getcchar</STRONG> function gets a wide-character string and
- rendition from a <STRONG>cchar_t</STRONG> argument. When <EM>wch</EM> is not a null
- pointer, the <STRONG>getcchar</STRONG> function does the following:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-getcchar">getcchar</a></H3><PRE>
+ The <STRONG>getcchar</STRONG> function gets a wide-character string and rendition from a
+ <STRONG>cchar_t</STRONG> argument. When <EM>wch</EM> is not a null pointer, the <STRONG>getcchar</STRONG> func-
+ tion does the following:
<STRONG>o</STRONG> Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wcval</EM>
- <STRONG>o</STRONG> Stores the character attributes in the location
- pointed to by <EM>attrs</EM>
+ <STRONG>o</STRONG> Stores the character attributes in the location pointed to by <EM>attrs</EM>
- <STRONG>o</STRONG> Stores the color-pair in the location pointed to by
- <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+ <STRONG>o</STRONG> Stores the color-pair in the location pointed to by <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
- <STRONG>o</STRONG> Stores the wide-character string, characters refer-
- enced by <EM>wcval</EM>, into the array pointed to by <EM>wch</EM>.
+ <STRONG>o</STRONG> Stores the wide-character string, characters referenced by <EM>wcval</EM>,
+ into the array pointed to by <EM>wch</EM>.
- When <EM>wch</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the
- following:
+ When <EM>wch</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the following:
- <STRONG>o</STRONG> Obtains the number of wide characters pointed to by
- <EM>wcval</EM>
+ <STRONG>o</STRONG> Obtains the number of wide characters pointed to by <EM>wcval</EM>
- <STRONG>o</STRONG> Does not change the data referenced by <EM>attrs</EM> or
- <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+ <STRONG>o</STRONG> Does not change the data referenced by <EM>attrs</EM> or <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
- The <STRONG>setcchar</STRONG> function initializes the location pointed to
- by <EM>wcval</EM> by using:
+
+</PRE><H3><a name="h3-setcchar">setcchar</a></H3><PRE>
+ The <STRONG>setcchar</STRONG> function initializes the location pointed to by <EM>wcval</EM> by
+ using:
<STRONG>o</STRONG> The character attributes in <EM>attrs</EM>
<STRONG>o</STRONG> The color pair in <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
- <STRONG>o</STRONG> The wide-character string pointed to by <EM>wch</EM>. The
- string must be L'\0' terminated, contain at most one
- spacing character, which must be the first.
+ <STRONG>o</STRONG> The wide-character string pointed to by <EM>wch</EM>. The string must be
+ L'\0' terminated, contain at most one spacing character, which must
+ be the first.
- Up to <STRONG>CCHARW_MAX</STRONG>-1 nonspacing characters may follow.
- Additional nonspacing characters are ignored.
+ Up to <STRONG>CCHARW_MAX</STRONG>-1 nonspacing characters may follow. Additional
+ nonspacing characters are ignored.
- The string may contain a single control character
- instead. In that case, no nonspacing characters are
- allowed.
+ The string may contain a single control character instead. In that
+ case, no nonspacing characters are allowed.
-</PRE>
-<H2>NOTES</H2><PRE>
- The <EM>opts</EM> argument is reserved for future use. Currently,
- an application must provide a null pointer as <EM>opts</EM>.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ X/Open Curses documents the <EM>opts</EM> argument as reserved for future use,
+ saying that it must be null. This implementation uses that parameter
+ in ABI 6 for the functions which have a color-pair parameter to support
+ extended color pairs:
- The <EM>wcval</EM> argument may be a value generated by a call to
- <STRONG>setcchar</STRONG> or by a function that has a <STRONG>cchar_t</STRONG> output argu-
- ment. If <EM>wcval</EM> is constructed by any other means, the
- effect is unspecified.
+ <STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>setcchar</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color
+ pair instead of the <STRONG>short</STRONG> pair parameter.
+ <STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>getcchar</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the
+ color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the stan-
+ dard pointer to <STRONG>short</STRONG> parameter.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of
- wide characters referenced by <EM>wcval</EM>, including one for a
- trailing null.
- When <EM>wch</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon
- successful completion, and <STRONG>ERR</STRONG> otherwise.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The <EM>wcval</EM> argument may be a value generated by a call to <STRONG>setcchar</STRONG> or by
+ a function that has a <STRONG>cchar_t</STRONG> output argument. If <EM>wcval</EM> is constructed
+ by any other means, the effect is unspecified.
- Upon successful completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>. Other-
- wise, it returns <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of wide charac-
+ ters referenced by <EM>wcval</EM>, including one for a trailing null.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- Functions: <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
- <STRONG>wcwidth(3)</STRONG>.
+ When <EM>wch</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon successful
+ completion, and <STRONG>ERR</STRONG> otherwise.
+
+ Upon successful completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>. Otherwise, it returns
+ <STRONG>ERR</STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <STRONG>CCHARW_MAX</STRONG> symbol is specific to ncurses. X/Open Curses does not
+ provide details for the layout of the <STRONG>cchar_t</STRONG> structure. It tells what
+ data are stored in it:
+
+ <STRONG>o</STRONG> a spacing character (<STRONG>wchar_t</STRONG>, i.e., 32-bits).
+
+ <STRONG>o</STRONG> non-spacing characters (again, <STRONG>wchar_t</STRONG>'s).
+
+ <STRONG>o</STRONG> attributes (at least 16 bits, inferred from the various ACS- and
+ WACS-flags).
+
+ <STRONG>o</STRONG> color pair (at least 16 bits, inferred from the <STRONG>unsigned</STRONG> <STRONG>short</STRONG>
+ type).
+
+ The non-spacing characters are optional, in the sense that zero or more
+ may be stored in a <STRONG>cchar_t</STRONG>. XOpen/Curses specifies a limit:
+
+ Implementations may limit the number of non-spacing characters that
+ can be associated with a spacing character, provided any limit is
+ at least 5.
+
+ The Unix implementations at the time follow that limit:
+
+ <STRONG>o</STRONG> AIX 4 and OSF1 4 use the same declaration with an array of 5 non-
+ spacing characters <EM>z</EM> and a single spacing character <EM>c</EM>.
+
+ <STRONG>o</STRONG> HP-UX 10 uses an opaque structure with 28 bytes, which is large
+ enough for the 6 <STRONG>wchar_t</STRONG> values.
+
+ <STRONG>o</STRONG> Solaris xpg4 curses uses a single array of 6 <STRONG>wchar_t</STRONG> values.
+
+ This implementation's <STRONG>cchar_t</STRONG> was defined in 1995 using <STRONG>5</STRONG> for the total
+ of spacing and non-spacing characters (<STRONG>CCHARW_MAX</STRONG>). That was probably
+ due to a misreading of the AIX 4 header files, because the X/Open
+ Curses document was not generally available at that time. Later (in
+ 2002), this detail was overlooked when beginning to implement the func-
+ tions using the structure.
+
+ In practice, even four non-spacing characters may seem enough. X/Open
+ Curses documents possible uses for non-spacing characters, including
+ using them for ligatures between characters (a feature apparently not
+ supported by any curses implementation). Unicode does not limit the
+ (analogous) number of combining characters, so some applications may be
+ affected.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ Functions: <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>wcwidth(3)</STRONG>.
- <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-getcchar">getcchar</a></li>
+<li><a href="#h3-setcchar">setcchar</a></li>
+</ul>
+</li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_getch.3x.html b/doc/html/man/curs_getch.3x.html
index 64953795ad9b..e8ccf097241a 100644
--- a/doc/html/man/curs_getch.3x.html
+++ b/doc/html/man/curs_getch.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,328 +27,377 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getch.3x,v 1.37 2012/07/07 20:04:56 tom Exp @
+ * @Id: curs_getch.3x,v 1.54 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_getch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_getch 3x</H1>
-<HR>
+<H1 class="no-header">curs_getch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get
- (or push back) characters from <STRONG>curses</STRONG> terminal keyboard
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get (or push back)
+ characters from <STRONG>curses</STRONG> terminal keyboard
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>getch(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wgetch(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvgetch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwgetch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <STRONG>ch);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win);</EM>
+ <STRONG>int</STRONG> <STRONG>mvgetch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-Reading-characters">Reading characters</a></H3><PRE>
+ The <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG> and <STRONG>mvwgetch</STRONG>, routines read a character from
+ the window. In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is
+ returned. In delay mode, the program waits until the system passes
+ text through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this
+ is after one character (cbreak mode), or after the first newline
+ (nocbreak mode). In half-delay mode, the program waits until a charac-
+ ter is typed or the specified timeout has been reached.
+
+ If <STRONG>echo</STRONG> is enabled, and the window is not a pad, then the character
+ will also be echoed into the designated window according to the follow-
+ ing rules:
+
+ <STRONG>o</STRONG> If the character is the current erase character, left arrow, or
+ backspace, the cursor is moved one space to the left and that
+ screen position is erased as if <STRONG>delch</STRONG> had been called.
+
+ <STRONG>o</STRONG> If the character value is any other <STRONG>KEY_</STRONG> define, the user is alert-
+ ed with a <STRONG>beep</STRONG> call.
+
+ <STRONG>o</STRONG> If the character is a carriage-return, and if <STRONG>nl</STRONG> is enabled, it is
+ translated to a line-feed after echoing.
+
+ <STRONG>o</STRONG> Otherwise the character is simply output to the screen.
+
+ If the window is not a pad, and it has been moved or modified since the
+ last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called before another character
+ is read.
+
+
+</PRE><H3><a name="h3-Keypad-mode">Keypad mode</a></H3><PRE>
+ If <STRONG>keypad</STRONG> is <STRONG>TRUE</STRONG>, and a function key is pressed, the token for that
+ function key is returned instead of the raw characters:
+
+ <STRONG>o</STRONG> The predefined function keys are listed in <STRONG>&lt;curses.h&gt;</STRONG> as macros
+ with values outside the range of 8-bit characters. Their names be-
+ gin with <STRONG>KEY_</STRONG>.
+
+ <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using <STRONG>de-</STRONG>
+ <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG> have no names, but also are expected to have values
+ outside the range of 8-bit characters.
+
+ Thus, a variable intended to hold the return value of a function key
+ must be of short size or larger.
+
+ When a character that could be the beginning of a function key is re-
+ ceived (which, on modern terminals, means an escape character), <STRONG>curses</STRONG>
+ sets a timer. If the remainder of the sequence does not come in within
+ the designated time, the character is passed through; otherwise, the
+ function key value is returned. For this reason, many terminals expe-
+ rience a delay between the time a user presses the escape key and the
+ escape is returned to the program.
+
+ In <STRONG>ncurses</STRONG>, the timer normally expires after the value in <STRONG>ESCDELAY</STRONG> (see
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>). If <STRONG>notimeout</STRONG> is <STRONG>TRUE</STRONG>, the timer does not expire;
+ it is an infinite (or very large) value. Because function keys usually
+ begin with an escape character, the terminal may appear to hang in no-
+ timeout mode after pressing the escape key until another key is
+ pressed.
+
+
+</PRE><H3><a name="h3-Ungetting-characters">Ungetting characters</a></H3><PRE>
+ The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to be returned
+ by the next call to <STRONG>wgetch</STRONG>. There is just one input queue for all win-
+ dows.
+
+
+</PRE><H3><a name="h3-Predefined-key-codes">Predefined key-codes</a></H3><PRE>
+ The following special keys are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
+
+ <STRONG>o</STRONG> Except for the special case <STRONG>KEY_RESIZE</STRONG>, it is necessary to enable
+ <STRONG>keypad</STRONG> for <STRONG>getch</STRONG> to return these codes.
+
+ <STRONG>o</STRONG> Not all of these are necessarily supported on any particular termi-
+ nal.
+
+ <STRONG>o</STRONG> The naming convention may seem obscure, with some apparent mis-
+ spellings (such as "RSUME" for "resume"). The names correspond to
+ the long terminfo capability names for the keys, and were defined
+ long ago, in the 1980s.
+
+ <EM>Name</EM> <EM>Key</EM> <EM>name</EM>
+ -------------------------------------------------
+ KEY_BREAK Break key
+ KEY_DOWN The four arrow keys ...
+ KEY_UP
+ KEY_LEFT
+ KEY_RIGHT
+ KEY_HOME Home key (upward+left arrow)
+ KEY_BACKSPACE Backspace
+ KEY_F0 Function keys; space for 64 keys
+ is reserved.
+ KEY_F(<EM>n</EM>) For 0 &lt;= <EM>n</EM> &lt;= 63
+ KEY_DL Delete line
+ KEY_IL Insert line
+ KEY_DC Delete character
+ KEY_IC Insert char or enter insert mode
+ KEY_EIC Exit insert char mode
+ KEY_CLEAR Clear screen
+ KEY_EOS Clear to end of screen
+ KEY_EOL Clear to end of line
+ KEY_SF Scroll 1 line forward
+ KEY_SR Scroll 1 line backward (reverse)
+ KEY_NPAGE Next page
+ KEY_PPAGE Previous page
+ KEY_STAB Set tab
+ KEY_CTAB Clear tab
+ KEY_CATAB Clear all tabs
+ KEY_ENTER Enter or send
+ KEY_SRESET Soft (partial) reset
+ KEY_RESET Reset or hard reset
+ KEY_PRINT Print or copy
+ KEY_LL Home down or bottom (lower left)
+ KEY_A1 Upper left of keypad
+ KEY_A3 Upper right of keypad
+
+ KEY_B2 Center of keypad
+ KEY_C1 Lower left of keypad
+ KEY_C3 Lower right of keypad
+ KEY_BTAB Back tab key
+ KEY_BEG Beg(inning) key
+ KEY_CANCEL Cancel key
+ KEY_CLOSE Close key
+ KEY_COMMAND Cmd (command) key
+ KEY_COPY Copy key
+ KEY_CREATE Create key
+ KEY_END End key
+ KEY_EXIT Exit key
+ KEY_FIND Find key
+ KEY_HELP Help key
+ KEY_MARK Mark key
+ KEY_MESSAGE Message key
+ KEY_MOUSE Mouse event read
+ KEY_MOVE Move key
+ KEY_NEXT Next object key
+ KEY_OPEN Open key
+ KEY_OPTIONS Options key
+ KEY_PREVIOUS Previous object key
+ KEY_REDO Redo key
+ KEY_REFERENCE Ref(erence) key
+ KEY_REFRESH Refresh key
+ KEY_REPLACE Replace key
+ KEY_RESIZE Screen resized
+ KEY_RESTART Restart key
+ KEY_RESUME Resume key
+ KEY_SAVE Save key
+ KEY_SBEG Shifted beginning key
+ KEY_SCANCEL Shifted cancel key
+ KEY_SCOMMAND Shifted command key
+ KEY_SCOPY Shifted copy key
+ KEY_SCREATE Shifted create key
+ KEY_SDC Shifted delete char key
+ KEY_SDL Shifted delete line key
+ KEY_SELECT Select key
+ KEY_SEND Shifted end key
+ KEY_SEOL Shifted clear line key
+ KEY_SEXIT Shifted exit key
+ KEY_SFIND Shifted find key
+ KEY_SHELP Shifted help key
+ KEY_SHOME Shifted home key
+ KEY_SIC Shifted input key
+ KEY_SLEFT Shifted left arrow key
+ KEY_SMESSAGE Shifted message key
+ KEY_SMOVE Shifted move key
+ KEY_SNEXT Shifted next key
+ KEY_SOPTIONS Shifted options key
+ KEY_SPREVIOUS Shifted prev key
+ KEY_SPRINT Shifted print key
+ KEY_SREDO Shifted redo key
+ KEY_SREPLACE Shifted replace key
+ KEY_SRIGHT Shifted right arrow
+ KEY_SRSUME Shifted resume key
+ KEY_SSAVE Shifted save key
+ KEY_SSUSPEND Shifted suspend key
+ KEY_SUNDO Shifted undo key
+ KEY_SUSPEND Suspend key
+ KEY_UNDO Undo key
+ Keypad is arranged like this:
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG> and <STRONG>mvwgetch</STRONG>, routines read a
- character from the window. In no-delay mode, if no input
- is waiting, the value <STRONG>ERR</STRONG> is returned. In delay mode, the
- program waits until the system passes text through to the
- program. Depending on the setting of <STRONG>cbreak</STRONG>, this is af-
- ter one character (cbreak mode), or after the first new-
- line (nocbreak mode). In half-delay mode, the program
- waits until a character is typed or the specified timeout
- has been reached.
-
- Unless <STRONG>noecho</STRONG> has been set, then the character will also
- be echoed into the designated window according to the fol-
- lowing rules: if the character is the current erase char-
- acter, left arrow, or backspace, the cursor is moved one
- space to the left and that screen position is erased as if
- <STRONG>delch</STRONG> had been called. If the character value is any oth-
- er <STRONG>KEY_</STRONG> define, the user is alerted with a <STRONG>beep</STRONG> call.
- Otherwise the character is simply output to the screen.
-
- If the window is not a pad, and it has been moved or modi-
- fied since the last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be
- called before another character is read.
-
- If <STRONG>keypad</STRONG> is <STRONG>TRUE</STRONG>, and a function key is pressed, the to-
- ken for that function key is returned instead of the raw
- characters. Possible function keys are defined in <STRONG>&lt;curs-</STRONG>
- <STRONG>es.h&gt;</STRONG> as macros with values outside the range of 8-bit
- characters whose names begin with <STRONG>KEY_</STRONG>. Thus, a variable
- intended to hold the return value of a function key must
- be of short size or larger.
-
- When a character that could be the beginning of a function
- key is received (which, on modern terminals, means an es-
- cape character), <STRONG>curses</STRONG> sets a timer. If the remainder of
- the sequence does not come in within the designated time,
- the character is passed through; otherwise, the function
- key value is returned. For this reason, many terminals
- experience a delay between the time a user presses the es-
- cape key and the escape is returned to the program.
-
- The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to
- be returned by the next call to <STRONG>wgetch</STRONG>. There is just one
- input queue for all windows.
-
- <STRONG>Function</STRONG> <STRONG>Keys</STRONG>
- The following function keys, defined in <STRONG>&lt;curses.h&gt;</STRONG>, might
- be returned by <STRONG>getch</STRONG> if <STRONG>keypad</STRONG> has been enabled. Note
- that not all of these are necessarily supported on any
- particular terminal.
-
-
- <EM>Name</EM> <EM>Key</EM> <EM>name</EM>
- KEY_BREAK Break key
- KEY_DOWN The four arrow keys ...
- KEY_UP
- KEY_LEFT
- KEY_RIGHT
- KEY_HOME Home key (upward+left arrow)
- KEY_BACKSPACE Backspace
- KEY_F0 Function keys; space for 64 keys
- is reserved.
- KEY_F(<EM>n</EM>) For 0 &lt;= <EM>n</EM> &lt;= 63
- KEY_DL Delete line
- KEY_IL Insert line
- KEY_DC Delete character
- KEY_IC Insert char or enter insert mode
- KEY_EIC Exit insert char mode
- KEY_CLEAR Clear screen
- KEY_EOS Clear to end of screen
- KEY_EOL Clear to end of line
- KEY_SF Scroll 1 line forward
- KEY_SR Scroll 1 line backward (reverse)
- KEY_NPAGE Next page
- KEY_PPAGE Previous page
- KEY_STAB Set tab
- KEY_CTAB Clear tab
- KEY_CATAB Clear all tabs
- KEY_ENTER Enter or send
- KEY_SRESET Soft (partial) reset
- KEY_RESET Reset or hard reset
- KEY_PRINT Print or copy
- KEY_LL Home down or bottom (lower left)
- KEY_A1 Upper left of keypad
- KEY_A3 Upper right of keypad
- KEY_B2 Center of keypad
- KEY_C1 Lower left of keypad
- KEY_C3 Lower right of keypad
- KEY_BTAB Back tab key
- KEY_BEG Beg(inning) key
- KEY_CANCEL Cancel key
- KEY_CLOSE Close key
- KEY_COMMAND Cmd (command) key
- KEY_COPY Copy key
- KEY_CREATE Create key
- KEY_END End key
- KEY_EXIT Exit key
- KEY_FIND Find key
- KEY_HELP Help key
- KEY_MARK Mark key
- KEY_MESSAGE Message key
- KEY_MOUSE Mouse event read
- KEY_MOVE Move key
- KEY_NEXT Next object key
- KEY_OPEN Open key
- KEY_OPTIONS Options key
- KEY_PREVIOUS Previous object key
- KEY_REDO Redo key
- KEY_REFERENCE Ref(erence) key
- KEY_REFRESH Refresh key
- KEY_REPLACE Replace key
- KEY_RESIZE Screen resized
- KEY_RESTART Restart key
-
- KEY_RESUME Resume key
- KEY_SAVE Save key
- KEY_SBEG Shifted beginning key
- KEY_SCANCEL Shifted cancel key
- KEY_SCOMMAND Shifted command key
- KEY_SCOPY Shifted copy key
- KEY_SCREATE Shifted create key
- KEY_SDC Shifted delete char key
- KEY_SDL Shifted delete line key
- KEY_SELECT Select key
- KEY_SEND Shifted end key
- KEY_SEOL Shifted clear line key
- KEY_SEXIT Shifted exit key
- KEY_SFIND Shifted find key
- KEY_SHELP Shifted help key
- KEY_SHOME Shifted home key
- KEY_SIC Shifted input key
- KEY_SLEFT Shifted left arrow key
- KEY_SMESSAGE Shifted message key
- KEY_SMOVE Shifted move key
- KEY_SNEXT Shifted next key
- KEY_SOPTIONS Shifted options key
- KEY_SPREVIOUS Shifted prev key
- KEY_SPRINT Shifted print key
- KEY_SREDO Shifted redo key
- KEY_SREPLACE Shifted replace key
- KEY_SRIGHT Shifted right arrow
- KEY_SRSUME Shifted resume key
- KEY_SSAVE Shifted save key
- KEY_SSUSPEND Shifted suspend key
- KEY_SUNDO Shifted undo key
- KEY_SUSPEND Suspend key
- KEY_UNDO Undo key
+ +-----+------+-------+
+ | <STRONG>A1</STRONG> | <STRONG>up</STRONG> | <STRONG>A3</STRONG> |
+ +-----+------+-------+
+ |<STRONG>left</STRONG> | <STRONG>B2</STRONG> | <STRONG>right</STRONG> |
+ +-----+------+-------+
+ | <STRONG>C1</STRONG> | <STRONG>down</STRONG> | <STRONG>C3</STRONG> |
+ +-----+------+-------+
+ A few of these predefined values do <EM>not</EM> correspond to a real key:
- Keypad is arranged like this:
+ <STRONG>o</STRONG> <STRONG>KEY_RESIZE</STRONG> is returned when the <STRONG>SIGWINCH</STRONG> signal has been detected
+ (see <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>). This code is returned
+ whether or not <STRONG>keypad</STRONG> has been enabled.
+ <STRONG>o</STRONG> <STRONG>KEY_MOUSE</STRONG> is returned for mouse-events (see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>). This
+ code relies upon whether or not <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> has been enabled, be-
+ cause (e.g., with <EM>xterm</EM> mouse prototocol) ncurses must read escape
+ sequences, just like a function key.
- +-----+------+-------+
- | <STRONG>A1</STRONG> | <STRONG>up</STRONG> | <STRONG>A3</STRONG> |
- +-----+------+-------+
- |<STRONG>left</STRONG> | <STRONG>B2</STRONG> | <STRONG>right</STRONG> |
- +-----+------+-------+
- | <STRONG>C1</STRONG> | <STRONG>down</STRONG> | <STRONG>C3</STRONG> |
- +-----+------+-------+
- The <STRONG>has_key</STRONG> routine takes a key value from the above list,
- and returns TRUE or FALSE according to whether the current
- terminal type recognizes a key with that value. Note that
- a few values do not correspond to a real key, e.g.,
- <STRONG>KEY_RESIZE</STRONG> and <STRONG>KEY_MOUSE</STRONG>. See <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> for more de-
- tails about <STRONG>KEY_RESIZE</STRONG>, and <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> for a discus-
- sion of <STRONG>KEY_MOUSE</STRONG>.
+</PRE><H3><a name="h3-Testing-key-codes">Testing key-codes</a></H3><PRE>
+ The <STRONG>has_key</STRONG> routine takes a key-code value from the above list, and re-
+ turns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to whether the current terminal type rec-
+ ognizes a key with that value.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an
- integer value other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of ungetch())
- upon successful completion.
+ The library also supports these extensions:
+
+ <STRONG>define_key</STRONG>
+ defines a key-code for a given string (see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>).
+
+ <STRONG>key_defined</STRONG>
+ checks if there is a key-code defined for a given string (see
+ <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>).
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
+ other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of <STRONG>ungetch</STRONG>) upon successful completion.
<STRONG>ungetch</STRONG>
- returns ERR if there is no more room in the FIFO.
+ returns <STRONG>ERR</STRONG> if there is no more room in the FIFO.
<STRONG>wgetch</STRONG>
- returns ERR if the window pointer is null, or if
- its timeout expires without having any data.
+ returns <STRONG>ERR</STRONG> if the window pointer is null, or if its timeout
+ expires without having any data, or if the execution was inter-
+ rupted by a signal (<STRONG>errno</STRONG> will be set to <STRONG>EINTR</STRONG>).
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>NOTES</H2><PRE>
- Use of the escape key by a programmer for a single charac-
- ter function is discouraged, as it will cause a delay of
- up to one second while the keypad code looks for a follow-
- ing function-key sequence.
-
- Note that some keys may be the same as commonly used con-
- trol keys, e.g., <STRONG>KEY_ENTER</STRONG> versus control/M, <STRONG>KEY_BACKSPACE</STRONG>
- versus control/H. Some curses implementations may differ
- according to whether they treat these control keys spe-
- cially (and ignore the terminfo), or use the terminfo def-
- initions. <STRONG>Ncurses</STRONG> uses the terminfo definition. If it
- says that <STRONG>KEY_ENTER</STRONG> is control/M, <STRONG>getch</STRONG> will return
- <STRONG>KEY_ENTER</STRONG> when you press control/M.
-
- Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the
- <EM>Enter</EM> key on the numeric keypad:
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Use of the escape key by a programmer for a single character function
+ is discouraged, as it will cause a delay of up to one second while the
+ keypad code looks for a following function-key sequence.
+
+ Some keys may be the same as commonly used control keys, e.g., <STRONG>KEY_EN-</STRONG>
+ <STRONG>TER</STRONG> versus control/M, <STRONG>KEY_BACKSPACE</STRONG> versus control/H. Some curses im-
+ plementations may differ according to whether they treat these control
+ keys specially (and ignore the terminfo), or use the terminfo defini-
+ tions. <STRONG>Ncurses</STRONG> uses the terminfo definition. If it says that <STRONG>KEY_EN-</STRONG>
+ <STRONG>TER</STRONG> is control/M, <STRONG>getch</STRONG> will return <STRONG>KEY_ENTER</STRONG> when you press control/M.
+
+ Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the <EM>Enter</EM> key on
+ the numeric keypad:
<STRONG>o</STRONG> the terminal description lists the most useful keys,
- <STRONG>o</STRONG> the <EM>Enter</EM> key on the regular keyboard is already han-
- dled by the standard ASCII characters for carriage-re-
- turn and line-feed,
+ <STRONG>o</STRONG> the <EM>Enter</EM> key on the regular keyboard is already handled by the
+ standard ASCII characters for carriage-return and line-feed,
- <STRONG>o</STRONG> depending on whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing
- "Enter" on the regular keyboard may return either a
- carriage-return or line-feed, and finally
+ <STRONG>o</STRONG> depending on whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing "Enter" on the
+ regular keyboard may return either a carriage-return or line-feed,
+ and finally
- <STRONG>o</STRONG> "Enter or send" is the standard description for this
- key.
+ <STRONG>o</STRONG> "Enter or send" is the standard description for this key.
- When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak
- mode (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at
- the same time. Depending on the state of the tty driver
- when each character is typed, the program may produce un-
- desirable results.
+ When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak mode
+ (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at the same time.
+ Depending on the state of the tty driver when each character is typed,
+ the program may produce undesirable results.
Note that <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be macros.
- Historically, the set of keypad macros was largely defined
- by the extremely function-key-rich keyboard of the AT&amp;T
- 7300, aka 3B1, aka Safari 4. Modern personal computers
- usually have only a small subset of these. IBM PC-style
- consoles typically support little more than <STRONG>KEY_UP</STRONG>,
- <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>,
- <STRONG>KEY_NPAGE</STRONG>, <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12. The
- Ins key is usually mapped to <STRONG>KEY_IC</STRONG>.
+ Historically, the set of keypad macros was largely defined by the ex-
+ tremely function-key-rich keyboard of the AT&amp;T 7300, aka 3B1, aka Sa-
+ fari 4. Modern personal computers usually have only a small subset of
+ these. IBM PC-style consoles typically support little more than
+ <STRONG>KEY_UP</STRONG>, <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>, <STRONG>KEY_NPAGE</STRONG>,
+ <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12. The Ins key is usually
+ mapped to <STRONG>KEY_IC</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The *get* functions are described in the XSI Curses stan-
- dard, Issue 4. They read single-byte characters only.
- The standard specifies that they return <STRONG>ERR</STRONG> on failure,
- but specifies no error conditions.
-
- The echo behavior of these functions on input of <STRONG>KEY_</STRONG> or
- backspace characters was not specified in the SVr4 docu-
- mentation. This description is adopted from the XSI Curs-
- es standard.
-
- The behavior of <STRONG>getch</STRONG> and friends in the presence of han-
- dled signals is unspecified in the SVr4 and XSI Curses
- documentation. Under historical curses implementations,
- it varied depending on whether the operating system's im-
- plementation of handled signal receipt interrupts a
- <STRONG>read(2)</STRONG> call in progress or not, and also (in some imple-
- mentations) depending on whether an input timeout or non-
- blocking mode has been set.
-
- Programmers concerned about portability should be prepared
- for either of two cases: (a) signal receipt does not in-
- terrupt <STRONG>getch</STRONG>; (b) signal receipt interrupts <STRONG>getch</STRONG> and
- causes it to return ERR with <STRONG>errno</STRONG> set to <STRONG>EINTR</STRONG>. Under
- the <STRONG>ncurses</STRONG> implementation, handled signals never inter-
- rupt <STRONG>getch</STRONG>.
-
- The <STRONG>has_key</STRONG> function is unique to <STRONG>ncurses</STRONG>. We recommend
- that any code using it be conditionalized on the <STRONG>NCURS-</STRONG>
- <STRONG>ES_VERSION</STRONG> feature macro.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The *get* functions are described in the XSI Curses standard, Issue 4.
+ They read single-byte characters only. The standard specifies that
+ they return <STRONG>ERR</STRONG> on failure, but specifies no error conditions.
+ The echo behavior of these functions on input of <STRONG>KEY_</STRONG> or backspace
+ characters was not specified in the SVr4 documentation. This descrip-
+ tion is adopted from the XSI Curses standard.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>,
- <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>re-</STRONG>
- <STRONG><A HREF="resizeterm.3x.html">sizeterm(3x)</A></STRONG>.
+ The behavior of <STRONG>getch</STRONG> and friends in the presence of handled signals is
+ unspecified in the SVr4 and XSI Curses documentation. Under historical
+ curses implementations, it varied depending on whether the operating
+ system's implementation of handled signal receipt interrupts a <STRONG>read(2)</STRONG>
+ call in progress or not, and also (in some implementations) depending
+ on whether an input timeout or non-blocking mode has been set.
+
+ <STRONG>KEY_MOUSE</STRONG> is mentioned in XSI Curses, along with a few related terminfo
+ capabilities, but no higher-level functions use the feature. The im-
+ plementation in ncurses is an extension.
+
+ <STRONG>KEY_RESIZE</STRONG> is an extension first implemented for ncurses. NetBSD curs-
+ es later added this extension.
+
+ Programmers concerned about portability should be prepared for either
+ of two cases: (a) signal receipt does not interrupt <STRONG>getch</STRONG>; (b) signal
+ receipt interrupts <STRONG>getch</STRONG> and causes it to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set to
+ <STRONG>EINTR</STRONG>.
+
+ The <STRONG>has_key</STRONG> function is unique to <STRONG>ncurses</STRONG>. We recommend that any code
+ using it be conditionalized on the <STRONG>NCURSES_VERSION</STRONG> feature macro.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
- Comparable functions in the wide-character (ncursesw) li-
- brary are described in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
+ Comparable functions in the wide-character (ncursesw) library are de-
+ scribed in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Reading-characters">Reading characters</a></li>
+<li><a href="#h3-Keypad-mode">Keypad mode</a></li>
+<li><a href="#h3-Ungetting-characters">Ungetting characters</a></li>
+<li><a href="#h3-Predefined-key-codes">Predefined key-codes</a></li>
+<li><a href="#h3-Testing-key-codes">Testing key-codes</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_getstr.3x.html b/doc/html/man/curs_getstr.3x.html
index f7cffded9a17..8c4c7bca864f 100644
--- a/doc/html/man/curs_getstr.3x.html
+++ b/doc/html/man/curs_getstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,34 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getstr.3x,v 1.19 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_getstr.3x,v 1.28 2019/07/20 19:14:56 tom Exp @
+ * X/Open says also until EOf
+ * X/Open says then an EOS is added to the result
+ * X/Open doesn't mention n&lt;0
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_getstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_getstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_getstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>,
- <STRONG>mvwgetstr</STRONG>, <STRONG>mvwgetnstr</STRONG> - accept character strings from
- <STRONG>curses</STRONG> terminal keyboard
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetstr</STRONG>,
+ <STRONG>mvwgetnstr</STRONG> - accept character strings from <STRONG>curses</STRONG> terminal keyboard
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>getstr(char</STRONG> <STRONG>*str);</STRONG>
@@ -66,90 +66,125 @@
<STRONG>int</STRONG> <STRONG>mvwgetnstr(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>getstr</STRONG> is equivalent to a series of calls to
- <STRONG>getch</STRONG>, until a newline or carriage return is received (the
- terminating character is not included in the returned
- string). The resulting value is placed in the area point-
- ed to by the character pointer <EM>str</EM>.
-
- <STRONG>wgetnstr</STRONG> reads at most <EM>n</EM> characters, thus preventing a
- possible overflow of the input buffer. Any attempt to en-
- ter more characters (other than the terminating newline or
- carriage return) causes a beep. Function keys also cause
- a beep and are ignored. The <STRONG>getnstr</STRONG> function reads from
- the <EM>stdscr</EM> default window.
-
- The user's erase and kill characters are interpreted. If
- keypad mode is on for the window, <STRONG>KEY_LEFT</STRONG> and
- <STRONG>KEY_BACKSPACE</STRONG> are both considered equivalent to the user's
- kill character.
-
- Characters input are echoed only if <STRONG>echo</STRONG> is currently on.
- In that case, backspace is echoed as deletion of the pre-
- vious character (typically a left motion).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>getstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, until
+ a newline or carriage return is received (the terminating character is
+ not included in the returned string). The resulting value is placed in
+ the area pointed to by the character pointer <EM>str</EM>, followed by a NUL.
+ <STRONG>wgetnstr</STRONG> reads at most <EM>n</EM> characters, thus preventing a possible over-
+ flow of the input buffer. Any attempt to enter more characters (other
+ than the terminating newline or carriage return) causes a beep. Func-
+ tion keys also cause a beep and are ignored. The <STRONG>getnstr</STRONG> function
+ reads from the <EM>stdscr</EM> default window.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG>
- (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
- upon successful completion.
+ The user's erase and kill characters are interpreted. If keypad mode
+ is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are both considered
+ equivalent to the user's kill character.
+
+ Characters input are echoed only if <STRONG>echo</STRONG> is currently on. In that
+ case, backspace is echoed as deletion of the previous character (typi-
+ cally a left motion).
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci-
+ fies only "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
+ tion.
X/Open defines no error conditions.
- In this implementation, these functions return an error if
- the window pointer is null, or if its timeout expires
- without having any data.
+ In this implementation, these functions return an error if the window
+ pointer is null, or if its timeout expires without having any data.
- This implementation provides an extension as well. If a
- SIGWINCH interrupts the function, it will return <STRONG>KEY_RE-</STRONG>
- <STRONG>SIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.
+ This implementation provides an extension as well. If a <STRONG>SIGWINCH</STRONG> in-
+ terrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, and <STRONG>mvwgetstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. They read single-byte characters only. The
- standard does not define any error conditions. This im-
- plementation returns ERR if the window pointer is null, or
- if the lower-level <STRONG>wgetch</STRONG> call returns an ERR.
-
- SVr3 and early SVr4 curses implementations did not reject
- function keys; the SVr4.0 documentation claimed that "spe-
- cial keys" (such as function keys, "home" key, "clear"
- key, <EM>etc</EM>.) are "interpreted", without giving details. It
- lied. In fact, the `character' value appended to the
- string by those implementations was predictable but not
- useful (being, in fact, the low-order eight bits of the
- key's KEY_ value).
-
- The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were
- present but not documented in SVr4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
+ They read single-byte characters only. The standard does not define
+ any error conditions. This implementation returns <STRONG>ERR</STRONG> if the window
+ pointer is null, or if the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an <STRONG>ERR</STRONG>.
+ SVr3 and early SVr4 curses implementations did not reject function
+ keys; the SVr4.0 documentation claimed that "special keys" (such as
+ function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted", with-
+ out giving details. It lied. In fact, the "character" value appended
+ to the string by those implementations was predictable but not useful
+ (being, in fact, the low-order eight bits of the key's KEY_ value).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not
+ documented in SVr4.
+
+ X/Open Curses, Issue 5 (2007) stated that these functions "read at most
+ <EM>n</EM> bytes" but did not state whether the terminating NUL is counted in
+ that limit. X/Open Curses, Issue 7 (2009) changed that to say they
+ "read at most <EM>n</EM>-1 bytes" to allow for the terminating NUL. As of 2018,
+ some implementations do, some do not count it:
+
+ <STRONG>o</STRONG> ncurses 6.1 and PDCurses do not count the NUL in the given limit,
+ while
+
+ <STRONG>o</STRONG> Solaris SVr4 and NetBSD curses count the NUL as part of the limit.
+
+ <STRONG>o</STRONG> Solaris xcurses provides both: its wide-character <STRONG>wget_nstr</STRONG> re-
+ serves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL consistently.
+
+ In SVr4 curses, a negative value of <EM>n</EM> tells <STRONG>wgetnstr</STRONG> to assume that the
+ caller's buffer is large enough to hold the result, i.e., to act like
+ <STRONG>wgetstr</STRONG>. X/Open Curses does not mention this (or anything related to
+ negative or zero values of <EM>n</EM>), however most implementations use the
+ feature, with different limits:
+
+ <STRONG>o</STRONG> Solaris SVr4 curses and PDCurses limit the result to 255 bytes.
+ Other Unix systems than Solaris are likely to use the same limit.
+
+ <STRONG>o</STRONG> Solaris xcurses limits the result to <STRONG>LINE_MAX</STRONG> bytes.
+
+ <STRONG>o</STRONG> NetBSD 7 assumes no particular limit for the result from <STRONG>wgetstr</STRONG>.
+ However, it limits the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure that it is
+ greater than zero.
+
+ A comment in NetBSD's source code states that this is specified in
+ SUSv2.
+
+ <STRONG>o</STRONG> ncurses (before 6.2) assumes no particular limit for the result
+ from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4
+ curses.
+
+ <STRONG>o</STRONG> ncurses 6.2 uses <STRONG>LINE_MAX</STRONG>, or a larger (system-dependent) value
+ which the <STRONG>sysconf</STRONG> function may provide. If neither <STRONG>LINE_MAX</STRONG> or
+ <STRONG>sysconf</STRONG> is available, ncurses uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a
+ 2048 byte limit). In either case, it reserves a byte for the ter-
+ minating NUL.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_getyx.3x.html b/doc/html/man/curs_getyx.3x.html
index b5809b3c8ed1..c2b616d48c27 100644
--- a/doc/html/man/curs_getyx.3x.html
+++ b/doc/html/man/curs_getyx.3x.html
@@ -1,4 +1,3 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
* Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
@@ -29,30 +28,29 @@
****************************************************************************
* @Id: curs_getyx.3x,v 1.18 2010/12/04 18:36:44 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_getyx 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_getyx 3x</H1>
-<HR>
+<H1 class="no-header">curs_getyx 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG>, <STRONG>getmaxyx</STRONG> - get <STRONG>curses</STRONG> cursor
- and window coordinates
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG>, <STRONG>getmaxyx</STRONG> - get <STRONG>curses</STRONG> cursor and window
+ coordinates
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>void</STRONG> <STRONG>getyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
@@ -61,71 +59,66 @@
<STRONG>void</STRONG> <STRONG>getmaxyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>getyx</STRONG> macro places the current cursor position of the
- given window in the two integer variables <EM>y</EM> and <EM>x</EM>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>getyx</STRONG> macro places the current cursor position of the given window
+ in the two integer variables <EM>y</EM> and <EM>x</EM>.
- If <EM>win</EM> is a subwindow, the <STRONG>getparyx</STRONG> macro places the
- beginning coordinates of the subwindow relative to the
- parent window into two integer variables <EM>y</EM> and <EM>x</EM>. Other-
- wise, <STRONG>-1</STRONG> is placed into <EM>y</EM> and <EM>x</EM>.
+ If <EM>win</EM> is a subwindow, the <STRONG>getparyx</STRONG> macro places the beginning coordi-
+ nates of the subwindow relative to the parent window into two integer
+ variables <EM>y</EM> and <EM>x</EM>. Otherwise, <STRONG>-1</STRONG> is placed into <EM>y</EM> and <EM>x</EM>.
- Like <STRONG>getyx</STRONG>, the <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros store the
- current beginning coordinates and size of the specified
- window.
+ Like <STRONG>getyx</STRONG>, the <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros store the current begin-
+ ning coordinates and size of the specified window.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The return values of these macros are undefined (i.e.,
- they should not be used as the right-hand side of assign-
- ment statements).
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The return values of these macros are undefined (i.e., they should not
+ be used as the right-hand side of assignment statements).
-</PRE>
-<H2>NOTES</H2><PRE>
- All of these interfaces are macros. A "<STRONG>&amp;</STRONG>" is not neces-
- sary before the variables <EM>y</EM> and <EM>x</EM>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ All of these interfaces are macros. A "<STRONG>&amp;</STRONG>" is not necessary before the
+ variables <EM>y</EM> and <EM>x</EM>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are
- described in the XSI Curses standard, Issue 4.
-
- This implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getb-</STRONG>
- <STRONG>egy</STRONG>, <STRONG>getcurx</STRONG>, <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>get-</STRONG>
- <STRONG>pary</STRONG> for compatibility with older versions of curses.
-
- Although X/Open Curses does not address this, many imple-
- mentations provide members of the WINDOW structure con-
- taining values corresponding to these macros. For best
- portability, do not rely on using the data in WINDOW,
- since some implementations make WINDOW opaque (do not
- allow direct use of its members).
-
- Besides the problem of opaque structures, the data stored
- in like-named members may not have like-values in differ-
- ent implementations. For example, the WINDOW._maxx and
- WINDOW._maxy values in ncurses have (at least since
- release 1.8.1) differed by one from some other implementa-
- tions. The difference is hidden by means of the macro
- <STRONG>getmaxyx</STRONG>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are described in the
+ XSI Curses standard, Issue 4.
+ This implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>,
+ <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>getpary</STRONG> for compatibility with
+ older versions of curses.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ Although X/Open Curses does not address this, many implementations pro-
+ vide members of the WINDOW structure containing values corresponding to
+ these macros. For best portability, do not rely on using the data in
+ WINDOW, since some implementations make WINDOW opaque (do not allow
+ direct use of its members).
+
+ Besides the problem of opaque structures, the data stored in like-named
+ members may not have like-values in different implementations. For
+ example, the WINDOW._maxx and WINDOW._maxy values in ncurses have (at
+ least since release 1.8.1) differed by one from some other implementa-
+ tions. The difference is hidden by means of the macro <STRONG>getmaxyx</STRONG>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
- <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_in_wch.3x.html b/doc/html/man/curs_in_wch.3x.html
index ce6fdf3dcd79..fd531b921b9e 100644
--- a/doc/html/man/curs_in_wch.3x.html
+++ b/doc/html/man/curs_in_wch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wch.3x,v 1.5 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_in_wch.3x,v 1.8 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_in_wch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_in_wch 3x</H1>
-<HR>
+<H1 class="no-header">curs_in_wch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>in_wch</STRONG>, <STRONG>mvin_wch</STRONG>, <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - extract a complex
- character and rendition from a window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>in_wch</STRONG>, <STRONG>mvin_wch</STRONG>, <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - extract a complex character and
+ rendition from a window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>in_wch(cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
@@ -61,49 +59,48 @@
<STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions extract the complex character and rendi-
- tion from the current position in the named window into
- the <STRONG>cchar_t</STRONG> object referenced by wcval.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions extract the complex character and rendition from the
+ current position in the named window into the <STRONG>cchar_t</STRONG> object referenced
+ by wcval.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- No errors are defined in the XSI Curses standard. This
- implementation checks for null pointers, returns ERR in
- that case. Also, the <EM>mv</EM> routines check for error moving
- the cursor, returning ERR in that case. Otherwise they
- return OK
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ No errors are defined in the XSI Curses standard. This implementation
+ checks for null pointers, returns <STRONG>ERR</STRONG> in that case. Also, the <EM>mv</EM> rou-
+ tines check for error moving the cursor, returning <STRONG>ERR</STRONG> in that case.
+ Otherwise they return <STRONG>OK</STRONG>.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all of these routines may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_in_wchstr.3x.html b/doc/html/man/curs_in_wchstr.3x.html
index f130c8021056..3ca1a4e7c013 100644
--- a/doc/html/man/curs_in_wchstr.3x.html
+++ b/doc/html/man/curs_in_wchstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,34 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wchstr.3x,v 1.9 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_in_wchstr.3x,v 1.12 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_in_wchstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_in_wchstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_in_wchstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>in_wchstr</STRONG>, <STRONG>in_wchnstr</STRONG>, <STRONG>win_wchstr</STRONG>, <STRONG>win_wchnstr</STRONG>,
- <STRONG>mvin_wchstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> -
- get an array of complex characters and renditions from a
- curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>in_wchstr</STRONG>, <STRONG>in_wchnstr</STRONG>, <STRONG>win_wchstr</STRONG>, <STRONG>win_wchnstr</STRONG>, <STRONG>mvin_wchstr</STRONG>,
+ <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> - get an array of complex
+ characters and renditions from a curses window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>in_wchstr(cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
@@ -67,58 +64,56 @@
<STRONG>int</STRONG> <STRONG>mvwin_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM>, int <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions return an array of complex characters in
- <EM>wchstr</EM>, starting at the current cursor position in the
- named window. Attributes (rendition) are stored with the
- characters.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions return an array of complex characters in <EM>wchstr</EM>, start-
+ ing at the current cursor position in the named window. Attributes
+ (rendition) are stored with the characters.
- The <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> and <STRONG>win_wchn-</STRONG>
- <STRONG>str</STRONG> fill the array with at most <EM>n</EM> <STRONG>cchar_t</STRONG> elements.
+ The <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> and <STRONG>win_wchnstr</STRONG> fill the
+ array with at most <EM>n</EM> <STRONG>cchar_t</STRONG> elements.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all routines except <STRONG>win_wchnstr</STRONG> may be macros.
- Reading a line that overflows the array pointed to by <EM>wch-</EM>
- <EM>str</EM> with <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wch-</STRONG>
- <STRONG>str</STRONG> causes undefined results. Therefore, the use of
- <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG>, or <STRONG>win_wchnstr</STRONG> is
- recommended.
+ Reading a line that overflows the array pointed to by <EM>wchstr</EM> with
+ <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wchstr</STRONG> causes undefined re-
+ sults. Therefore, the use of <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG>,
+ or <STRONG>win_wchnstr</STRONG> is recommended.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Upon successful completion, these functions return <STRONG>OK</STRONG>.
- Otherwise, they return <STRONG>ERR</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Upon successful completion, these functions return <STRONG>OK</STRONG>. Otherwise, they
+ return <STRONG>ERR</STRONG>.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses defines no error conditions. This imple-
- mentation checks for null pointers, returning ERR in that
- case.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses defines no error conditions. This implementation checks
+ for null pointers, returning <STRONG>ERR</STRONG> in that case.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>,
- <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_inch.3x.html b/doc/html/man/curs_inch.3x.html
index 5068a59e6a62..f54519414bad 100644
--- a/doc/html/man/curs_inch.3x.html
+++ b/doc/html/man/curs_inch.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inch.3x,v 1.17 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_inch.3x,v 1.22 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_inch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_inch 3x</H1>
-<HR>
+<H1 class="no-header">curs_inch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>inch</STRONG>, <STRONG>winch</STRONG>, <STRONG>mvinch</STRONG>, <STRONG>mvwinch</STRONG> - get a character and
- attributes from a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>inch</STRONG>, <STRONG>winch</STRONG>, <STRONG>mvinch</STRONG>, <STRONG>mvwinch</STRONG> - get a character and attributes from a
+ <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>chtype</STRONG> <STRONG>inch(void);</STRONG>
@@ -62,57 +60,93 @@
<STRONG>chtype</STRONG> <STRONG>mvwinch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines return the character, of type <STRONG>chtype</STRONG>, at
- the current position in the named window. If any
- attributes are set for that position, their values are
- OR'ed into the value returned. Constants defined in
- <STRONG>&lt;curses.h&gt;</STRONG> can be used with the <STRONG>&amp;</STRONG> (logical AND) operator
- to extract the character or attributes alone.
-
- <STRONG>Attributes</STRONG>
- The following bit-masks may be AND-ed with characters
- returned by <STRONG>winch</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines return the character, of type <STRONG>chtype</STRONG>, at the current
+ position in the named window. If any attributes are set for that posi-
+ tion, their values are OR'ed into the value returned. Constants
+ defined in <STRONG>&lt;curses.h&gt;</STRONG> can be used with the <STRONG>&amp;</STRONG> (logical AND) operator to
+ extract the character or attributes alone.
+
+
+</PRE><H3><a name="h3-Attributes">Attributes</a></H3><PRE>
+ The following bit-masks may be AND-ed with characters returned by
+ <STRONG>winch</STRONG>.
<STRONG>A_CHARTEXT</STRONG> Bit-mask to extract character
<STRONG>A_ATTRIBUTES</STRONG> Bit-mask to extract attributes
<STRONG>A_COLOR</STRONG> Bit-mask to extract color-pair field information
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
+ The <STRONG>winch</STRONG> function does not return an error if the window contains
+ characters larger than 8-bits (255). Only the low-order 8 bits of the
+ character are used by <STRONG>winch</STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all of these routines may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
+ Very old systems (before standardization) provide a different function
+ with the same name:
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+ <STRONG>o</STRONG> The <STRONG>winch</STRONG> function was part of the original BSD curses library,
+ which stored a 7-bit character combined with the <EM>standout</EM>
+ attribute.
+
+ In BSD curses, <STRONG>winch</STRONG> returned only the character (as an integer)
+ with the <EM>standout</EM> attribute removed.
+
+ <STRONG>o</STRONG> System V curses added support for several video attributes which
+ could be combined with characters in the window.
+
+ Reflecting this improvement, the function was altered to return the
+ character combined with all video attributes in a <STRONG>chtype</STRONG> value.
+
+ X/Open Curses does not specify the size and layout of attributes, color
+ and character values in <STRONG>chtype</STRONG>; it is implementation-dependent. This
+ implementation uses 8 bits for character values. An application using
+ more bits, e.g., a Unicode value, should use the wide-character equiva-
+ lents to these functions.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+ gives an overview of the WINDOW and <STRONG>chtype</STRONG> data types.
+
+ <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ goes into more detail, pointing out portability problems and con-
+ straints on the use of <STRONG>chtype</STRONG> for returning window information.
- Comparable functions in the wide-character (ncursesw)
- library are described in <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>.
+ <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ describes comparable functions for the wide-character (ncursesw)
+ library.
- <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Attributes">Attributes</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_inchstr.3x.html b/doc/html/man/curs_inchstr.3x.html
index 82884de74616..e61595c42f10 100644
--- a/doc/html/man/curs_inchstr.3x.html
+++ b/doc/html/man/curs_inchstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inchstr.3x,v 1.15 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_inchstr.3x,v 1.18 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_inchstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_inchstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_inchstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>inchstr</STRONG>, <STRONG>inchnstr</STRONG>, <STRONG>winchstr</STRONG>, <STRONG>winchnstr</STRONG>, <STRONG>mvinchstr</STRONG>,
- <STRONG>mvinchnstr</STRONG>, <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a string of
- characters (and attributes) from a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>inchstr</STRONG>, <STRONG>inchnstr</STRONG>, <STRONG>winchstr</STRONG>, <STRONG>winchnstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvinchnstr</STRONG>,
+ <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a string of characters (and attributes)
+ from a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>inchstr(chtype</STRONG> <STRONG>*chstr);</STRONG>
@@ -63,71 +61,69 @@
<STRONG>int</STRONG> <STRONG>mvinchstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
<STRONG>int</STRONG> <STRONG>mvinchnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwinchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG>
- <STRONG>int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines return a NULL-terminated array of <STRONG>chtype</STRONG>
- quantities, starting at the current cursor position in the
- named window and ending at the right margin of the window.
- The four functions with <EM>n</EM> as the last argument, return a
- leading substring at most <EM>n</EM> characters long (exclusive of
- the trailing (chtype)0). Constants defined in <STRONG>&lt;curses.h&gt;</STRONG>
- can be used with the <STRONG>&amp;</STRONG> (logical AND) operator to extract
- the character or the attribute alone from any position in
- the <EM>chstr</EM> [see <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>].
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines return a NULL-terminated array of <STRONG>chtype</STRONG> quantities,
+ starting at the current cursor position in the named window and ending
+ at the right margin of the window. The four functions with <EM>n</EM> as the
+ last argument, return a leading substring at most <EM>n</EM> characters long
+ (exclusive of the trailing (chtype)0). Constants defined in <STRONG>&lt;curses.h&gt;</STRONG>
+ can be used with the <STRONG>&amp;</STRONG> (logical AND) operator to extract the character
+ or the attribute alone from any position in the <EM>chstr</EM> [see
+ <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>].
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an
- integer value other than <STRONG>ERR</STRONG> upon successful completion
- (the number of characters retrieved, exclusive of the
- trailing 0).
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
+ other than <STRONG>ERR</STRONG> upon successful completion (the number of characters re-
+ trieved, exclusive of the trailing 0).
- No error conditions are defined. If the <EM>chstr</EM> parameter
- is null, no data is returned, and the return value is ze-
- ro.
+ X/Open Curses defines no error conditions. In this implementation:
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ <STRONG>o</STRONG> If the <EM>win</EM> parameter is null, an error is returned,
+ <STRONG>o</STRONG> If the <EM>chstr</EM> parameter is null, an error is returned,
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that all routines except <STRONG>winchnstr</STRONG> may be macros.
- SVr4 does not document whether the result string is zero-
- terminated; it does not document whether a length limit
- argument includes any trailing 0; and it does not document
- the meaning of the return value.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. It is no more specific than the SVr4 documenta-
- tion on the trailing 0. It does specify that the success-
- ful return of the functions is <STRONG>OK</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that all routines except <STRONG>winchnstr</STRONG> may be macros. SVr4 does not
+ document whether the result string is zero-terminated; it does not doc-
+ ument whether a length limit argument includes any trailing 0; and it
+ does not document the meaning of the return value.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4. It
+ is no more specific than the SVr4 documentation on the trailing 0. It
+ does specify that the successful return of the functions is <STRONG>OK</STRONG>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
- Comparable functions in the wide-character (ncursesw) li-
- brary are described in <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>.
+ Comparable functions in the wide-character (ncursesw) library are de-
+ scribed in <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>.
- <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_initscr.3x.html b/doc/html/man/curs_initscr.3x.html
index b61b21dcb600..baf2951d841c 100644
--- a/doc/html/man/curs_initscr.3x.html
+++ b/doc/html/man/curs_initscr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,149 +26,250 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_initscr.3x,v 1.19 2013/07/20 19:34:14 tom Exp @
+ * @Id: curs_initscr.3x,v 1.31 2018/07/28 22:15:59 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_initscr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_initscr 3x</H1>
-<HR>
+<H1 class="no-header">curs_initscr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>initscr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> -
- <STRONG>curses</STRONG> screen initialization and manipulation routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>initscr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> - <STRONG>curses</STRONG> screen
+ initialization and manipulation routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>WINDOW</STRONG> <STRONG>*initscr(void);</STRONG>
<STRONG>int</STRONG> <STRONG>endwin(void);</STRONG>
<STRONG>bool</STRONG> <STRONG>isendwin(void);</STRONG>
- <STRONG>SCREEN</STRONG> <STRONG>*newterm(char</STRONG> <STRONG>*type,</STRONG> <STRONG>FILE</STRONG> <STRONG>*outfd,</STRONG> <STRONG>FILE</STRONG> <STRONG>*infd);</STRONG>
- <STRONG>SCREEN</STRONG> <STRONG>*set_term(SCREEN</STRONG> <STRONG>*new);</STRONG>
- <STRONG>void</STRONG> <STRONG>delscreen(SCREEN*</STRONG> <STRONG>sp);</STRONG>
+ <STRONG>SCREEN</STRONG> <STRONG>*newterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outfd</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>infd</EM><STRONG>);</STRONG>
+ <STRONG>SCREEN</STRONG> <STRONG>*set_term(SCREEN</STRONG> <STRONG>*</STRONG><EM>new</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>delscreen(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>initscr</STRONG> is normally the first <STRONG>curses</STRONG> routine to call when
- initializing a program. A few special routines sometimes
- need to be called before it; these are <STRONG>slk_init</STRONG>, <STRONG>filter</STRONG>,
- <STRONG>ripoffline</STRONG>, <STRONG>use_env</STRONG>. For multiple-terminal applications,
- <STRONG>newterm</STRONG> may be called before <STRONG>initscr</STRONG>.
-
- The initscr code determines the terminal type and initial-
- izes all <STRONG>curses</STRONG> data structures. <STRONG>initscr</STRONG> also causes the
- first call to <STRONG>refresh</STRONG> to clear the screen. If errors oc-
- cur, <STRONG>initscr</STRONG> writes an appropriate error message to stan-
- dard error and exits; otherwise, a pointer is returned to
- <STRONG>stdscr</STRONG>.
-
- A program that outputs to more than one terminal should
- use the <STRONG>newterm</STRONG> routine for each terminal instead of
- <STRONG>initscr</STRONG>. A program that needs to inspect capabilities, so
- it can continue to run in a line-oriented mode if the ter-
- minal cannot support a screen-oriented program, would also
- use <STRONG>newterm</STRONG>. The routine <STRONG>newterm</STRONG> should be called once
- for each terminal. It returns a variable of type <STRONG>SCREEN</STRONG> <STRONG>*</STRONG>
- which should be saved as a reference to that terminal.
- The arguments are the <EM>type</EM> of the terminal to be used in
- place of <STRONG>$TERM</STRONG>, a file pointer for output to the terminal,
- and another file pointer for input from the terminal (if
- <EM>type</EM> is <STRONG>NULL</STRONG>, <STRONG>$TERM</STRONG> will be used). The program must also
- call <STRONG>endwin</STRONG> for each terminal being used before exiting
- from <STRONG>curses</STRONG>. If <STRONG>newterm</STRONG> is called more than once for the
- same terminal, the first terminal referred to must be the
- last one for which <STRONG>endwin</STRONG> is called.
-
- A program should always call <STRONG>endwin</STRONG> before exiting or es-
- caping from <STRONG>curses</STRONG> mode temporarily. This routine re-
- stores tty modes, moves the cursor to the lower left-hand
- corner of the screen and resets the terminal into the
- proper non-visual mode. Calling <STRONG>refresh</STRONG> or <STRONG>doupdate</STRONG> after
- a temporary escape causes the program to resume visual
- mode.
-
- The <STRONG>isendwin</STRONG> routine returns <STRONG>TRUE</STRONG> if <STRONG>endwin</STRONG> has been
- called without any subsequent calls to <STRONG>wrefresh</STRONG>, and <STRONG>FALSE</STRONG>
- otherwise.
-
- The <STRONG>set_term</STRONG> routine is used to switch between different
- terminals. The screen reference <STRONG>new</STRONG> becomes the new cur-
- rent terminal. The previous terminal is returned by the
- routine. This is the only routine which manipulates
- <STRONG>SCREEN</STRONG> pointers; all other routines affect only the cur-
- rent terminal.
-
- The <STRONG>delscreen</STRONG> routine frees storage associated with the
- <STRONG>SCREEN</STRONG> data structure. The <STRONG>endwin</STRONG> routine does not do
- this, so <STRONG>delscreen</STRONG> should be called after <STRONG>endwin</STRONG> if a par-
- ticular <STRONG>SCREEN</STRONG> is no longer needed.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-initscr">initscr</a></H3><PRE>
+ <STRONG>initscr</STRONG> is normally the first <STRONG>curses</STRONG> routine to call when initializing
+ a program. A few special routines sometimes need to be called before
+ it; these are <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG>, <STRONG>filter</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>use_env</STRONG>. For multiple-
+ terminal applications, <STRONG>newterm</STRONG> may be called before <STRONG>initscr</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon
- successful completion.
+ The initscr code determines the terminal type and initializes all <STRONG>curs-</STRONG>
+ <STRONG>es</STRONG> data structures. <STRONG>initscr</STRONG> also causes the first call to <STRONG><A HREF="curscurs_refresh.3x.html">refresh(3x)</A></STRONG>
+ to clear the screen. If errors occur, <STRONG>initscr</STRONG> writes an appropriate
+ error message to standard error and exits; otherwise, a pointer is re-
+ turned to <STRONG>stdscr</STRONG>.
+
+
+</PRE><H3><a name="h3-newterm">newterm</a></H3><PRE>
+ A program that outputs to more than one terminal should use the <STRONG>newterm</STRONG>
+ routine for each terminal instead of <STRONG>initscr</STRONG>. A program that needs to
+ inspect capabilities, so it can continue to run in a line-oriented mode
+ if the terminal cannot support a screen-oriented program, would also
+ use <STRONG>newterm</STRONG>. The routine <STRONG>newterm</STRONG> should be called once for each termi-
+ nal. It returns a variable of type <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> which should be saved as a
+ reference to that terminal. <STRONG>newterm</STRONG>'s arguments are
+
+ <STRONG>o</STRONG> the <EM>type</EM> of the terminal to be used in place of <STRONG>$TERM</STRONG>,
+
+ <STRONG>o</STRONG> a file pointer for output to the terminal, and
+
+ <STRONG>o</STRONG> another file pointer for input from the terminal
+
+ If the <EM>type</EM> parameter is <STRONG>NULL</STRONG>, <STRONG>$TERM</STRONG> will be used.
+
+
+</PRE><H3><a name="h3-endwin">endwin</a></H3><PRE>
+ The program must also call <STRONG>endwin</STRONG> for each terminal being used before
+ exiting from <STRONG>curses</STRONG>. If <STRONG>newterm</STRONG> is called more than once for the same
+ terminal, the first terminal referred to must be the last one for which
+ <STRONG>endwin</STRONG> is called.
+
+ A program should always call <STRONG>endwin</STRONG> before exiting or escaping from
+ <STRONG>curses</STRONG> mode temporarily. This routine
+
+ <STRONG>o</STRONG> resets colors to correspond with the default color pair 0,
+
+ <STRONG>o</STRONG> moves the cursor to the lower left-hand corner of the screen,
+
+ <STRONG>o</STRONG> clears the remainder of the line so that it uses the default col-
+ ors,
+
+ <STRONG>o</STRONG> sets the cursor to normal visibility (see <STRONG><A HREF="curs_kernel.3x.html">curs_set(3x)</A></STRONG>),
+
+ <STRONG>o</STRONG> stops cursor-addressing mode using the <EM>exit</EM><STRONG>_</STRONG><EM>ca</EM><STRONG>_</STRONG><EM>mode</EM> terminal capa-
+ bility,
+
+ <STRONG>o</STRONG> restores tty modes (see <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG>).
+
+ Calling <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> after a temporary escape causes the
+ program to resume visual mode.
+
+
+</PRE><H3><a name="h3-isendwin">isendwin</a></H3><PRE>
+ The <STRONG>isendwin</STRONG> routine returns <STRONG>TRUE</STRONG> if <STRONG>endwin</STRONG> has been called without any
+ subsequent calls to <STRONG>wrefresh</STRONG>, and <STRONG>FALSE</STRONG> otherwise.
+
+
+</PRE><H3><a name="h3-set_term">set_term</a></H3><PRE>
+ The <STRONG>set_term</STRONG> routine is used to switch between different terminals.
+ The screen reference <STRONG>new</STRONG> becomes the new current terminal. The previ-
+ ous terminal is returned by the routine. This is the only routine
+ which manipulates <STRONG>SCREEN</STRONG> pointers; all other routines affect only the
+ current terminal.
+
+
+</PRE><H3><a name="h3-delscreen">delscreen</a></H3><PRE>
+ The <STRONG>delscreen</STRONG> routine frees storage associated with the <STRONG>SCREEN</STRONG> data
+ structure. The <STRONG>endwin</STRONG> routine does not do this, so <STRONG>delscreen</STRONG> should be
+ called after <STRONG>endwin</STRONG> if a particular <STRONG>SCREEN</STRONG> is no longer needed.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon successful com-
+ pletion.
Routines that return pointers always return <STRONG>NULL</STRONG> on error.
- X/Open defines no error conditions. In this implementa-
- tion <STRONG>endwin</STRONG> returns an error if the terminal was not ini-
- tialized.
+ X/Open defines no error conditions. In this implementation
+ <STRONG>o</STRONG> <STRONG>endwin</STRONG> returns an error if the terminal was not initialized.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> may be macros.
+ <STRONG>o</STRONG> <STRONG>newterm</STRONG> returns an error if it cannot allocate the data structures
+ for the screen, or for the top-level windows within the screen,
+ i.e., <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, or <STRONG>stdscr</STRONG>.
+ <STRONG>o</STRONG> <STRONG>set_term</STRONG> returns no error.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. It specifies that portable applications must not
- call <STRONG>initscr</STRONG> more than once.
- Old versions of curses, e.g., BSD 4.4, may have returned a
- null pointer from <STRONG>initscr</STRONG> when an error is detected,
- rather than exiting. It is safe but redundant to check
- the return value of <STRONG>initscr</STRONG> in XSI Curses.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions were described in the XSI Curses standard, Issue 4. As
+ of 2015, the current document is X/Open Curses, Issue 7.
- If the TERM variable is missing or empty, <STRONG>initscr</STRONG> uses the
- value "unknown", which normally corresponds to a terminal
- entry with the <EM>generic</EM> (<EM>gn</EM>) capability. Generic entries
- are detected by <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> and cannot be used for full-
- screen operation. Other implementations may handle a
- missing/empty TERM variable differently.
+</PRE><H3><a name="h3-Differences">Differences</a></H3><PRE>
+ X/Open specifies that portable applications must not call <STRONG>initscr</STRONG> more
+ than once:
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
- <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+ <STRONG>o</STRONG> The portable way to use <STRONG>initscr</STRONG> is once only, using <STRONG>refresh</STRONG> (see
+ <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>) to restore the screen after <STRONG>endwin</STRONG>.
+
+ <STRONG>o</STRONG> This implementation allows using <STRONG>initscr</STRONG> after <STRONG>endwin</STRONG>.
+
+ Old versions of curses, e.g., BSD 4.4, may have returned a null pointer
+ from <STRONG>initscr</STRONG> when an error is detected, rather than exiting. It is
+ safe but redundant to check the return value of <STRONG>initscr</STRONG> in XSI Curses.
+
+
+</PRE><H3><a name="h3-Unset-TERM-Variable">Unset TERM Variable</a></H3><PRE>
+ If the TERM variable is missing or empty, <STRONG>initscr</STRONG> uses the value "un-
+ known", which normally corresponds to a terminal entry with the <EM>generic</EM>
+ (<EM>gn</EM>) capability. Generic entries are detected by <STRONG>setupterm</STRONG> (see
+ <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>) and cannot be used for full-screen operation. Other
+ implementations may handle a missing/empty TERM variable differently.
+
+
+</PRE><H3><a name="h3-Signal-Handlers">Signal Handlers</a></H3><PRE>
+ Quoting from X/Open Curses, section 3.1.1:
+
+ <EM>Curses</EM> <EM>implementations</EM> <EM>may</EM> <EM>provide</EM> <EM>for</EM> <EM>special</EM> <EM>handling</EM> <EM>of</EM> <EM>the</EM>
+ <STRONG>SIGINT</STRONG><EM>,</EM> <STRONG>SIGQUIT</STRONG> <EM>and</EM> <STRONG>SIGTSTP</STRONG> <EM>signals</EM> <EM>if</EM> <EM>their</EM> <EM>disposition</EM> <EM>is</EM>
+ <STRONG>SIG_DFL</STRONG> <EM>at</EM> <EM>the</EM> <EM>time</EM> <STRONG>initscr</STRONG> <EM>is</EM> <EM>called</EM> <STRONG>...</STRONG>
+
+ <EM>Any</EM> <EM>special</EM> <EM>handling</EM> <EM>for</EM> <EM>these</EM> <EM>signals</EM> <EM>may</EM> <EM>remain</EM> <EM>in</EM> <EM>effect</EM> <EM>for</EM>
+ <EM>the</EM> <EM>life</EM> <EM>of</EM> <EM>the</EM> <EM>process</EM> <EM>or</EM> <EM>until</EM> <EM>the</EM> <EM>process</EM> <EM>changes</EM> <EM>the</EM> <EM>disposi-</EM>
+ <EM>tion</EM> <EM>of</EM> <EM>the</EM> <EM>signal.</EM>
+
+ <EM>None</EM> <EM>of</EM> <EM>the</EM> <EM>Curses</EM> <EM>functions</EM> <EM>are</EM> <EM>required</EM> <EM>to</EM> <EM>be</EM> <EM>safe</EM> <EM>with</EM> <EM>respect</EM>
+ <EM>to</EM> <EM>signals</EM> ...
+
+ This implementation establishes signal handlers during initialization,
+ e.g., <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. Applications which must handle these signals
+ should set up the corresponding handlers <EM>after</EM> initializing the li-
+ brary:
+
+ <STRONG>SIGINT</STRONG>
+ The handler <EM>attempts</EM> to cleanup the screen on exit. Although it
+ <EM>usually</EM> works as expected, there are limitations:
+
+ <STRONG>o</STRONG> Walking the <STRONG>SCREEN</STRONG> list is unsafe, since all list management
+ is done without any signal blocking.
+
+ <STRONG>o</STRONG> On systems which have <STRONG>REENTRANT</STRONG> turned on, <STRONG>set_term</STRONG> uses func-
+ tions which could deadlock or misbehave in other ways.
+
+ <STRONG>o</STRONG> <STRONG>endwin</STRONG> calls other functions, many of which use stdio or other
+ library functions which are clearly unsafe.
+
+ <STRONG>SIGTERM</STRONG>
+ This uses the same handler as <STRONG>SIGINT</STRONG>, with the same limitations.
+ It is not mentioned in X/Open Curses, but is more suitable for
+ this purpose than <STRONG>SIGQUIT</STRONG> (which is used in debugging).
+
+ <STRONG>SIGTSTP</STRONG>
+ This handles the <EM>stop</EM> signal, used in job control. When resuming
+ the process, this implementation discards pending input with
+ <STRONG>flushinput</STRONG> (see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>), and repaints the screen assuming
+ that it has been completely altered. It also updates the saved
+ terminal modes with <STRONG>def_shell_mode</STRONG> (see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>).
+
+ <STRONG>SIGWINCH</STRONG>
+ This handles the window-size changes which were ignored in the
+ standardization efforts. The handler sets a (signal-safe) vari-
+ able which is later tested in <STRONG>wgetch</STRONG> (see <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>). If
+ <STRONG>keypad</STRONG> has been enabled for the corresponding window, <STRONG>wgetch</STRONG> re-
+ turns the key symbol <STRONG>KEY_RESIZE</STRONG>. At the same time, <STRONG>wgetch</STRONG> calls
+ <STRONG>resizeterm</STRONG> to adjust the standard screen <STRONG>stdscr</STRONG>, and update other
+ data such as <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_ter-</STRONG>
+ <STRONG><A HREF="curs_terminfo.3x.html">minfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-initscr">initscr</a></li>
+<li><a href="#h3-newterm">newterm</a></li>
+<li><a href="#h3-endwin">endwin</a></li>
+<li><a href="#h3-isendwin">isendwin</a></li>
+<li><a href="#h3-set_term">set_term</a></li>
+<li><a href="#h3-delscreen">delscreen</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-Differences">Differences</a></li>
+<li><a href="#h3-Unset-TERM-Variable">Unset TERM Variable</a></li>
+<li><a href="#h3-Signal-Handlers">Signal Handlers</a></li>
+</ul>
+</li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_inopts.3x.html b/doc/html/man/curs_inopts.3x.html
index 9843728a1350..94beb0341865 100644
--- a/doc/html/man/curs_inopts.3x.html
+++ b/doc/html/man/curs_inopts.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,34 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inopts.3x,v 1.18 2013/07/20 19:42:02 tom Exp @
+ * @Id: curs_inopts.3x,v 1.28 2019/01/20 20:39:35 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_inopts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_inopts 3x</H1>
-<HR>
+<H1 class="no-header">curs_inopts 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>,
- <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, <STRONG>noqiflush</STRONG>,
- <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, <STRONG>wtimeout</STRONG>, <STRONG>typeahead</STRONG> - <STRONG>curses</STRONG> input
- options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>,
+ <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, <STRONG>wtimeout</STRONG>,
+ <STRONG>typeahead</STRONG> - <STRONG>curses</STRONG> input options
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>cbreak(void);</STRONG>
@@ -76,220 +73,237 @@
<STRONG>int</STRONG> <STRONG>typeahead(int</STRONG> <STRONG>fd);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Normally, the tty driver buffers typed characters until a
- newline or carriage return is typed. The <STRONG>cbreak</STRONG> routine
- disables line buffering and erase/kill character-process-
- ing (interrupt and flow control characters are unaffect-
- ed), making characters typed by the user immediately
- available to the program. The <STRONG>nocbreak</STRONG> routine returns
- the terminal to normal (cooked) mode.
-
- Initially the terminal may or may not be in <STRONG>cbreak</STRONG> mode,
- as the mode is inherited; therefore, a program should call
- <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG> explicitly. Most interactive programs
- using <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG> mode. Note that <STRONG>cbreak</STRONG> over-
- rides <STRONG>raw</STRONG>. [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how
- these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.]
-
- The <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> routines control whether characters
- typed by the user are echoed by <STRONG>getch</STRONG> as they are typed.
- Echoing by the tty driver is always disabled, but initial-
- ly <STRONG>getch</STRONG> is in echo mode, so characters typed are echoed.
- Authors of most interactive programs prefer to do their
- own echoing in a controlled area of the screen, or not to
- echo at all, so they disable echoing by calling <STRONG>noecho</STRONG>.
- [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how these routines
- interact with <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.]
-
- The <STRONG>halfdelay</STRONG> routine is used for half-delay mode, which
- is similar to <STRONG>cbreak</STRONG> mode in that characters typed by the
- user are immediately available to the program. However,
- after blocking for <EM>tenths</EM> tenths of seconds, ERR is re-
- turned if nothing has been typed. The value of <STRONG>tenths</STRONG>
- must be a number between 1 and 255. Use <STRONG>nocbreak</STRONG> to leave
- half-delay mode.
-
- If the <STRONG>intrflush</STRONG> option is enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), when an
- interrupt key is pressed on the keyboard (interrupt,
- break, quit) all output in the tty driver queue will be
- flushed, giving the effect of faster response to the in-
- terrupt, but causing <STRONG>curses</STRONG> to have the wrong idea of what
- is on the screen. Disabling (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the option
- prevents the flush. The default for the option is inher-
- ited from the tty driver settings. The window argument is
- ignored.
-
- The <STRONG>keypad</STRONG> option enables the keypad of the user's termi-
- nal. If enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a func-
- tion key (such as an arrow key) and <STRONG>wgetch</STRONG> returns a sin-
- gle value representing the function key, as in <STRONG>KEY_LEFT</STRONG>.
- If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>curses</STRONG> does not treat function
- keys specially and the program has to interpret the escape
- sequences itself. If the keypad in the terminal can be
- turned on (made to transmit) and off (made to work local-
- ly), turning on this option causes the terminal keypad to
- be turned on when <STRONG>wgetch</STRONG> is called. The default value for
- keypad is false.
-
- Initially, whether the terminal returns 7 or 8 significant
- bits on input depends on the control mode of the tty driv-
- er [see <STRONG>termio(7)</STRONG>]. To force 8 bits to be returned, in-
- voke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>); this is equivalent, under POSIX, to
- setting the CS8 flag on the terminal. To force 7 bits to
- be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>); this is equivalent,
- under POSIX, to setting the CS7 flag on the terminal. The
- window argument, <EM>win</EM>, is always ignored. If the terminfo
- capabilities <STRONG>smm</STRONG> (meta_on) and <STRONG>rmm</STRONG> (meta_off) are defined
- for the terminal, <STRONG>smm</STRONG> is sent to the terminal when
- <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>) is called and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>,
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>ncurses</STRONG> library provides several functions which let an application
+ change the way input from the terminal is handled. Some are global,
+ applying to all windows. Others apply only to a specific window. Win-
+ dow-specific settings are not automatically applied to new or derived
+ windows. An application must apply these to each window, if the same
+ behavior is needed.
+
+
+</PRE><H3><a name="h3-cbreak">cbreak</a></H3><PRE>
+ Normally, the tty driver buffers typed characters until a newline or
+ carriage return is typed. The <STRONG>cbreak</STRONG> routine disables line buffering
+ and erase/kill character-processing (interrupt and flow control charac-
+ ters are unaffected), making characters typed by the user immediately
+ available to the program. The <STRONG>nocbreak</STRONG> routine returns the terminal to
+ normal (cooked) mode.
+
+ Initially the terminal may or may not be in <STRONG>cbreak</STRONG> mode, as the mode is
+ inherited; therefore, a program should call <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG> explic-
+ itly. Most interactive programs using <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG> mode.
+ Note that <STRONG>cbreak</STRONG> overrides <STRONG>raw</STRONG>. [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion
+ of how these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.]
+
+
+</PRE><H3><a name="h3-echo_noecho">echo/noecho</a></H3><PRE>
+ The <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> routines control whether characters typed by the
+ user are echoed by <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG> as they are typed. Echoing by the tty
+ driver is always disabled, but initially <STRONG>getch</STRONG> is in echo mode, so
+ characters typed are echoed. Authors of most interactive programs pre-
+ fer to do their own echoing in a controlled area of the screen, or not
+ to echo at all, so they disable echoing by calling <STRONG>noecho</STRONG>. [See
+ <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how these routines interact with
+ <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.]
+
+
+</PRE><H3><a name="h3-halfdelay">halfdelay</a></H3><PRE>
+ The <STRONG>halfdelay</STRONG> routine is used for half-delay mode, which is similar to
+ <STRONG>cbreak</STRONG> mode in that characters typed by the user are immediately avail-
+ able to the program. However, after blocking for <EM>tenths</EM> tenths of sec-
+ onds, <STRONG>ERR</STRONG> is returned if nothing has been typed. The value of <EM>tenths</EM>
+ must be a number between 1 and 255. Use <STRONG>nocbreak</STRONG> to leave half-delay
+ mode.
+
+
+</PRE><H3><a name="h3-intrflush">intrflush</a></H3><PRE>
+ If the <STRONG>intrflush</STRONG> option is enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), and an interrupt key
+ is pressed on the keyboard (interrupt, break, quit), all output in the
+ tty driver queue will be flushed, giving the effect of faster response
+ to the interrupt, but causing <STRONG>curses</STRONG> to have the wrong idea of what is
+ on the screen. Disabling the option (<EM>bf</EM> is <STRONG>FALSE</STRONG>) prevents the flush.
+ The default for the option is inherited from the tty driver settings.
+ The window argument is ignored.
+
+
+</PRE><H3><a name="h3-keypad">keypad</a></H3><PRE>
+ The <STRONG>keypad</STRONG> option enables the keypad of the user's terminal. If en-
+ abled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a function key (such as an arrow
+ key) and <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> returns a single value representing the function
+ key, as in <STRONG>KEY_LEFT</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>curses</STRONG> does not treat
+ function keys specially and the program has to interpret the escape se-
+ quences itself. If the keypad in the terminal can be turned on (made
+ to transmit) and off (made to work locally), turning on this option
+ causes the terminal keypad to be turned on when <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> is called.
+ The default value for keypad is <STRONG>FALSE</STRONG>.
+
+
+</PRE><H3><a name="h3-meta">meta</a></H3><PRE>
+ Initially, whether the terminal returns 7 or 8 significant bits on in-
+ put depends on the control mode of the tty driver [see <STRONG>termios(3)</STRONG>]. To
+ force 8 bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>); this is equiva-
+ lent, under POSIX, to setting the CS8 flag on the terminal. To force 7
+ bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>); this is equivalent, under
+ POSIX, to setting the CS7 flag on the terminal. The window argument,
+ <EM>win</EM>, is always ignored. If the terminfo capabilities <STRONG>smm</STRONG> (meta_on) and
+ <STRONG>rmm</STRONG> (meta_off) are defined for the terminal, <STRONG>smm</STRONG> is sent to the termi-
+ nal when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>) is called and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>,
<STRONG>FALSE</STRONG>) is called.
- The <STRONG>nodelay</STRONG> option causes <STRONG>getch</STRONG> to be a non-blocking call.
- If no input is ready, <STRONG>getch</STRONG> returns <STRONG>ERR</STRONG>. If disabled (<EM>bf</EM>
- is <STRONG>FALSE</STRONG>), <STRONG>getch</STRONG> waits until a key is pressed.
-
- While interpreting an input escape sequence, <STRONG>wgetch</STRONG> sets a
- timer while waiting for the next character. If <STRONG>notime-</STRONG>
- <STRONG>out(</STRONG><EM>win</EM>, <STRONG>TRUE</STRONG>) is called, then <STRONG>wgetch</STRONG> does not set a
- timer. The purpose of the timeout is to differentiate be-
- tween sequences received from a function key and those
- typed by a user.
-
- The <STRONG>raw</STRONG> and <STRONG>noraw</STRONG> routines place the terminal into or out
- of raw mode. Raw mode is similar to <STRONG>cbreak</STRONG> mode, in that
- characters typed are immediately passed through to the us-
- er program. The differences are that in raw mode, the in-
- terrupt, quit, suspend, and flow control characters are
- all passed through uninterpreted, instead of generating a
- signal. The behavior of the BREAK key depends on other
- bits in the tty driver that are not set by <STRONG>curses</STRONG>.
-
- When the <STRONG>noqiflush</STRONG> routine is used, normal flush of input
- and output queues associated with the <STRONG>INTR</STRONG>, <STRONG>QUIT</STRONG> and <STRONG>SUSP</STRONG>
- characters will not be done [see <STRONG>termio(7)</STRONG>]. When <STRONG>qiflush</STRONG>
- is called, the queues will be flushed when these control
- characters are read. You may want to call <STRONG>noqiflush()</STRONG> in
- a signal handler if you want output to continue as though
- the interrupt had not occurred, after the handler exits.
- The <STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> routines set blocking or non-
- blocking read for a given window. If <EM>delay</EM> is negative,
- blocking read is used (i.e., waits indefinitely for in-
- put). If <EM>delay</EM> is zero, then non-blocking read is used
- (i.e., read returns <STRONG>ERR</STRONG> if no input is waiting). If <EM>delay</EM>
- is positive, then read blocks for <EM>delay</EM> milliseconds, and
- returns <STRONG>ERR</STRONG> if there is still no input. Hence, these rou-
- tines provide the same functionality as <STRONG>nodelay</STRONG>, plus the
- additional capability of being able to block for only <EM>de-</EM>
- <EM>lay</EM> milliseconds (where <EM>delay</EM> is positive).
-
- The <STRONG>curses</STRONG> library does "line-breakout optimization" by
- looking for typeahead periodically while updating the
- screen. If input is found, and it is coming from a tty,
- the current update is postponed until <STRONG>refresh</STRONG> or <STRONG>doupdate</STRONG>
- is called again. This allows faster response to commands
- typed in advance. Normally, the input FILE pointer passed
- to <STRONG>newterm</STRONG>, or <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was used,
- will be used to do this typeahead checking. The <STRONG>typeahead</STRONG>
- routine specifies that the file descriptor <EM>fd</EM> is to be
- used to check for typeahead instead. If <EM>fd</EM> is -1, then no
- typeahead checking is done.
+</PRE><H3><a name="h3-nodelay">nodelay</a></H3><PRE>
+ The <STRONG>nodelay</STRONG> option causes <STRONG>getch</STRONG> to be a non-blocking call. If no input
+ is ready, <STRONG>getch</STRONG> returns <STRONG>ERR</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>getch</STRONG> waits
+ until a key is pressed.
+ While interpreting an input escape sequence, <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> sets a timer
+ while waiting for the next character. If <STRONG>notimeout(</STRONG><EM>win</EM>, <STRONG>TRUE</STRONG>) is
+ called, then <STRONG>wgetch</STRONG> does not set a timer. The purpose of the timeout
+ is to differentiate between sequences received from a function key and
+ those typed by a user.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines that return an integer return <STRONG>ERR</STRONG> upon fail-
- ure and OK (SVr4 specifies only "an integer value other
- than <STRONG>ERR</STRONG>") upon successful completion, unless otherwise
- noted in the preceding routine descriptions.
- X/Open does not define any error conditions. In this im-
- plementation, functions with a window parameter will re-
- turn an error if it is null. Any function will also re-
- turn an error if the terminal was not initialized. Also,
+</PRE><H3><a name="h3-raw_noraw">raw/noraw</a></H3><PRE>
+ The <STRONG>raw</STRONG> and <STRONG>noraw</STRONG> routines place the terminal into or out of raw mode.
+ Raw mode is similar to <STRONG>cbreak</STRONG> mode, in that characters typed are imme-
+ diately passed through to the user program. The differences are that
+ in raw mode, the interrupt, quit, suspend, and flow control characters
+ are all passed through uninterpreted, instead of generating a signal.
+ The behavior of the BREAK key depends on other bits in the tty driver
+ that are not set by <STRONG>curses</STRONG>.
- <STRONG>halfdelay</STRONG>
- returns an error if its parameter is outside
- the range 1..255.
+</PRE><H3><a name="h3-noqiflush">noqiflush</a></H3><PRE>
+ When the <STRONG>noqiflush</STRONG> routine is used, normal flush of input and output
+ queues associated with the <STRONG>INTR</STRONG>, <STRONG>QUIT</STRONG> and <STRONG>SUSP</STRONG> characters will not be
+ done [see <STRONG>termios(3)</STRONG>]. When <STRONG>qiflush</STRONG> is called, the queues will be
+ flushed when these control characters are read. You may want to call
+ <STRONG>noqiflush</STRONG> in a signal handler if you want output to continue as though
+ the interrupt had not occurred, after the handler exits.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
-
- The ncurses library obeys the XPG4 standard and the his-
- torical practice of the AT&amp;T curses implementations, in
- that the echo bit is cleared when curses initializes the
- terminal state. BSD curses differed from this slightly;
- it left the echo bit on at initialization, but the BSD <STRONG>raw</STRONG>
- call turned it off as a side-effect. For best portabili-
- ty, set echo or noecho explicitly just after initializa-
- tion, even if your program remains in cooked mode.
-
- When <STRONG>keypad</STRONG> is first enabled, ncurses loads the key-defi-
- nitions for the current terminal description. If the ter-
- minal description includes extended string capabilities,
- e.g., from using the <STRONG>-x</STRONG> option of tic, then ncurses also
- defines keys for the capabilities whose names begin with
- "k". The corresponding keycodes are generated and (de-
- pending on previous loads of terminal descriptions) may
- differ from one execution of a program to the next. The
- generated keycodes are recognized by the <STRONG>keyname</STRONG> function
- (which will then return a name beginning with "k" denoting
- the terminfo capability name rather than "K", used for
- curses key-names). On the other hand, an application can
- use <STRONG>define_key</STRONG> to establish a specific keycode for a given
- string. This makes it possible for an application to
- check for an extended capability's presence with <EM>tigetstr</EM>,
- and reassign the keycode to match its own needs.
-
- Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the def-
- inition of any particular string capability. Higher-level
- applications which use the curses <STRONG>wgetch</STRONG> and similar func-
- tions to return keycodes rely upon the order in which the
- strings are loaded. If more than one key definition has
- the same string value, then <STRONG>wgetch</STRONG> can return only one
- keycode. Most curses implementations (including ncurses)
- load key definitions in the order defined by the array of
- string capability names. The last key to be loaded deter-
- mines the keycode which will be returned. In ncurses, you
- may also have extended capabilities interpreted as key
- definitions. These are loaded after the predefined keys,
- and if a capability's value is the same as a previously-
- loaded key definition, the later definition is the one
- used.
+</PRE><H3><a name="h3-timeout_wtimeout">timeout/wtimeout</a></H3><PRE>
+ The <STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> routines set blocking or non-blocking read for
+ a given window. If <EM>delay</EM> is negative, blocking read is used (i.e.,
+ waits indefinitely for input). If <EM>delay</EM> is zero, then non-blocking
+ read is used (i.e., read returns <STRONG>ERR</STRONG> if no input is waiting). If <EM>delay</EM>
+ is positive, then read blocks for <EM>delay</EM> milliseconds, and returns <STRONG>ERR</STRONG>
+ if there is still no input. Hence, these routines provide the same
+ functionality as <STRONG>nodelay</STRONG>, plus the additional capability of being able
+ to block for only <EM>delay</EM> milliseconds (where <EM>delay</EM> is positive).
+
+
+</PRE><H3><a name="h3-typeahead">typeahead</a></H3><PRE>
+ The <STRONG>curses</STRONG> library does "line-breakout optimization" by looking for ty-
+ peahead periodically while updating the screen. If input is found, and
+ it is coming from a tty, the current update is postponed until <STRONG>re-</STRONG>
+ <STRONG><A HREF="refresh.3x.html">fresh(3x)</A></STRONG> or <STRONG>doupdate</STRONG> is called again. This allows faster response to
+ commands typed in advance. Normally, the input FILE pointer passed to
+ <STRONG>newterm</STRONG>, or <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was used, will be used to do
+ this typeahead checking. The <STRONG>typeahead</STRONG> routine specifies that the file
+ descriptor <EM>fd</EM> is to be used to check for typeahead instead. If <EM>fd</EM> is
+ -1, then no typeahead checking is done.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
+ (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion, unless otherwise noted in the preceding routine descrip-
+ tions.
+
+ X/Open does not define any error conditions. In this implementation,
+ functions with a window parameter will return an error if it is null.
+ Any function will also return an error if the terminal was not initial-
+ ized. Also,
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>node-</STRONG>
- <STRONG>lay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG>
- may be macros.
-
- The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in
- that they attempt to restore to normal (`cooked') mode
- from raw and cbreak modes respectively. Mixing raw/noraw
- and cbreak/nocbreak calls leads to tty driver control
- states that are hard to predict or understand; it is not
+ <STRONG>halfdelay</STRONG>
+ returns an error if its parameter is outside the range
+ 1..255.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
+
+ The ncurses library obeys the XPG4 standard and the historical practice
+ of the AT&amp;T curses implementations, in that the echo bit is cleared
+ when curses initializes the terminal state. BSD curses differed from
+ this slightly; it left the echo bit on at initialization, but the BSD
+ <STRONG>raw</STRONG> call turned it off as a side-effect. For best portability, set
+ echo or noecho explicitly just after initialization, even if your pro-
+ gram remains in cooked mode.
+
+ When <STRONG>keypad</STRONG> is first enabled, ncurses loads the key-definitions for the
+ current terminal description. If the terminal description includes ex-
+ tended string capabilities, e.g., from using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>, then
+ ncurses also defines keys for the capabilities whose names begin with
+ "k". The corresponding keycodes are generated and (depending on previ-
+ ous loads of terminal descriptions) may differ from one execution of a
+ program to the next. The generated keycodes are recognized by the <STRONG>key-</STRONG>
+ <STRONG>name</STRONG> function (which will then return a name beginning with "k" denot-
+ ing the terminfo capability name rather than "K", used for curses key-
+ names). On the other hand, an application can use <STRONG>define_key</STRONG> to estab-
+ lish a specific keycode for a given string. This makes it possible for
+ an application to check for an extended capability's presence with
+ <STRONG>tigetstr</STRONG>, and reassign the keycode to match its own needs.
+
+ Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the definition of any
+ particular string capability. Higher-level applications which use the
+ curses <STRONG>wgetch</STRONG> and similar functions to return keycodes rely upon the
+ order in which the strings are loaded. If more than one key definition
+ has the same string value, then <STRONG>wgetch</STRONG> can return only one keycode.
+ Most curses implementations (including ncurses) load key definitions in
+ the order defined by the array of string capability names. The last
+ key to be loaded determines the keycode which will be returned. In
+ ncurses, you may also have extended capabilities interpreted as key
+ definitions. These are loaded after the predefined keys, and if a ca-
+ pability's value is the same as a previously-loaded key definition, the
+ later definition is the one used.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>,
+ <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be macros.
+
+ The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in that they
+ attempt to restore to normal ("cooked") mode from raw and cbreak modes
+ respectively. Mixing raw/noraw and cbreak/nocbreak calls leads to tty
+ driver control states that are hard to predict or understand; it is not
recommended.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
- <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG>termio(7)</STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG>de-</STRONG>
+ <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG>, <STRONG>termios(3)</STRONG>
- <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-cbreak">cbreak</a></li>
+<li><a href="#h3-echo_noecho">echo/noecho</a></li>
+<li><a href="#h3-halfdelay">halfdelay</a></li>
+<li><a href="#h3-intrflush">intrflush</a></li>
+<li><a href="#h3-keypad">keypad</a></li>
+<li><a href="#h3-meta">meta</a></li>
+<li><a href="#h3-nodelay">nodelay</a></li>
+<li><a href="#h3-raw_noraw">raw/noraw</a></li>
+<li><a href="#h3-noqiflush">noqiflush</a></li>
+<li><a href="#h3-timeout_wtimeout">timeout/wtimeout</a></li>
+<li><a href="#h3-typeahead">typeahead</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_ins_wch.3x.html b/doc/html/man/curs_ins_wch.3x.html
index afd50cd3312f..05b43675996d 100644
--- a/doc/html/man/curs_ins_wch.3x.html
+++ b/doc/html/man/curs_ins_wch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,78 +26,75 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wch.3x,v 1.5 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_ins_wch.3x,v 1.7 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_ins_wch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_ins_wch 3x</H1>
-<HR>
+<H1 class="no-header">curs_ins_wch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, <STRONG>mvwins_wch</STRONG>, <STRONG>wins_wch</STRONG> - insert a com-
- plex character and rendition into a window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, <STRONG>mvwins_wch</STRONG>, <STRONG>wins_wch</STRONG> - insert a complex character
+ and rendition into a window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
#include &lt;curses.h&gt;
<STRONG>int</STRONG> <STRONG>ins_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>wins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvins_wch(int</STRONG> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
- <EM>*wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x,</EM> <EM>const</EM> <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> <EM>*wch</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines, insert the complex character <EM>wch</EM> with ren-
- dition before the character under the cursor. All charac-
- ters to the right of the cursor are moved one space to the
- right, with the possibility of the rightmost character on
- the line being lost. The insertion operation does not
- change the cursor position.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines, insert the complex character <EM>wch</EM> with rendition before
+ the character under the cursor. All characters to the right of the
+ cursor are moved one space to the right, with the possibility of the
+ rightmost character on the line being lost. The insertion operation
+ does not change the cursor position.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- If successful, these functions return OK. If not, they
- return ERR.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ If successful, these functions return <STRONG>OK</STRONG>. If not, they return <STRONG>ERR</STRONG>.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>ERRORS</H2><PRE>
+</PRE><H2><a name="h2-ERRORS">ERRORS</a></H2><PRE>
No errors are defined.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-ERRORS">ERRORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_ins_wstr.3x.html b/doc/html/man/curs_ins_wstr.3x.html
index 8545bf134316..f04aa36a816e 100644
--- a/doc/html/man/curs_ins_wstr.3x.html
+++ b/doc/html/man/curs_ins_wstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wstr.3x,v 1.7 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_ins_wstr.3x,v 1.9 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_ins_wstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_ins_wstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_ins_wstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>,
- <STRONG>mvins_nwstr</STRONG>, <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-
- character string into a curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>, <STRONG>mvins_nwstr</STRONG>,
+ <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-character string into a
+ curses window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>ins_wstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr);</EM>
@@ -66,64 +64,59 @@
<STRONG>int</STRONG> <STRONG>mvwins_nwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines insert a <STRONG>wchar_t</STRONG> character string (as many
- characters as will fit on the line) before the character
- under the cursor. All characters to the right of the cur-
- sor are shifted right, with the possibility of the right-
- most characters on the line being lost. No wrapping is
- performed. The cursor position does not change (after
- moving to <EM>y</EM>, <EM>x</EM>, if specified). The four routines with <EM>n</EM>
- as the last argument insert a leading substring of at most
- <EM>n</EM> <STRONG>wchar_t</STRONG> characters. If <EM>n</EM> is less than 1, the entire
- string is inserted.
-
- If a character in <EM>wstr</EM> is a tab, newline, carriage return
- or backspace, the cursor is moved appropriately within the
- window. A newline also does a <STRONG>clrtoeol</STRONG> before moving.
- Tabs are considered to be at every eighth column. If a
- character in <EM>wstr</EM> is another control character, it is
- drawn in the <STRONG>^</STRONG><EM>X</EM> notation. Calling <STRONG>win_wch</STRONG> after adding a
- control character (and moving to it, if necessary) does
- not return the control character, but instead returns a
- character in the ^-representation of the control charac-
- ter.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines insert a <STRONG>wchar_t</STRONG> character string (as many characters as
+ will fit on the line) before the character under the cursor. All char-
+ acters to the right of the cursor are shifted right, with the possibil-
+ ity of the rightmost characters on the line being lost. No wrapping is
+ performed. The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>,
+ if specified). The four routines with <EM>n</EM> as the last argument insert a
+ leading substring of at most <EM>n</EM> <STRONG>wchar_t</STRONG> characters. If <EM>n</EM> is less than
+ 1, the entire string is inserted.
+ If a character in <EM>wstr</EM> is a tab, newline, carriage return or backspace,
+ the cursor is moved appropriately within the window. A newline also
+ does a <STRONG>clrtoeol</STRONG> before moving. Tabs are considered to be at every
+ eighth column. If a character in <EM>wstr</EM> is another control character, it
+ is drawn in the <STRONG>^</STRONG><EM>X</EM> notation. Calling <STRONG>win_wch</STRONG> after adding a control
+ character (and moving to it, if necessary) does not return the control
+ character, but instead returns a character in the ^-representation of
+ the control character.
-</PRE>
-<H2>NOTES</H2><PRE>
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all but wins_nwstr may be macros.
- If the first character in the string is a nonspacing char-
- acter, these functions will fail. XSI does not define
- what will happen if a nonspacing character follows a con-
- trol character.
+ If the first character in the string is a nonspacing character, these
+ functions will fail. XSI does not define what will happen if a non-
+ spacing character follows a control character.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Upon successful completion, these functions return OK.
- Otherwise, they return ERR.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Upon successful completion, these functions return <STRONG>OK</STRONG>. Otherwise, they
+ return <STRONG>ERR</STRONG>.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>,
- <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_insch.3x.html b/doc/html/man/curs_insch.3x.html
index 559254e2befd..086ff7481bfd 100644
--- a/doc/html/man/curs_insch.3x.html
+++ b/doc/html/man/curs_insch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insch.3x,v 1.13 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_insch.3x,v 1.16 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_insch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_insch 3x</H1>
-<HR>
+<H1 class="no-header">curs_insch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>insch</STRONG>, <STRONG>winsch</STRONG>, <STRONG>mvinsch</STRONG>, <STRONG>mvwinsch</STRONG> - insert a character
- before cursor in a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>insch</STRONG>, <STRONG>winsch</STRONG>, <STRONG>mvinsch</STRONG>, <STRONG>mvwinsch</STRONG> - insert a character before cursor in
+ a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>insch(chtype</STRONG> <STRONG>ch);</STRONG>
@@ -61,57 +59,56 @@
<STRONG>int</STRONG> <STRONG>mvwinsch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines insert the character <EM>ch</EM> before the charac-
- ter under the cursor. All characters to the right of the
- cursor are moved one space to the right, with the possi-
- bility of the rightmost character on the line being lost.
- The insertion operation does not change the cursor posi-
- tion.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines insert the character <EM>ch</EM> before the character under the
+ cursor. All characters to the right of the cursor are moved one space
+ to the right, with the possibility of the rightmost character on the
+ line being lost. The insertion operation does not change the cursor
+ position.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines that return an integer return <STRONG>ERR</STRONG> upon fail-
- ure and OK (SVr4 specifies only "an integer value other
- than <STRONG>ERR</STRONG>") upon successful completion, unless otherwise
- noted in the preceding routine descriptions.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
+ (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion, unless otherwise noted in the preceding routine descrip-
+ tions.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>NOTES</H2><PRE>
- These routines do not necessarily imply use of a hardware
- insert character feature.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ These routines do not necessarily imply use of a hardware insert char-
+ acter feature.
Note that <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
- Comparable functions in the wide-character (ncursesw)
- library are described in <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
+ Comparable functions in the wide-character (ncursesw) library are
+ described in <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_insstr.3x.html b/doc/html/man/curs_insstr.3x.html
index 91e533f29cbb..e8b0d9eadb6b 100644
--- a/doc/html/man/curs_insstr.3x.html
+++ b/doc/html/man/curs_insstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insstr.3x,v 1.21 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_insstr.3x,v 1.23 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_insstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_insstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_insstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>insstr</STRONG>, <STRONG>insnstr</STRONG>, <STRONG>winsstr</STRONG>, <STRONG>winsnstr</STRONG>, <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>,
- <STRONG>mvwinsstr</STRONG>, <STRONG>mvwinsnstr</STRONG> - insert string before cursor in a
- <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>insstr</STRONG>, <STRONG>insnstr</STRONG>, <STRONG>winsstr</STRONG>, <STRONG>winsnstr</STRONG>, <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>, <STRONG>mvwinsstr</STRONG>,
+ <STRONG>mvwinsnstr</STRONG> - insert string before cursor in a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>insstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
<STRONG>int</STRONG> <STRONG>insnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
@@ -62,70 +59,67 @@
<STRONG>int</STRONG> <STRONG>mvinsstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
<STRONG>int</STRONG> <STRONG>mvinsnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwinsstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinsnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG>
- <STRONG>int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinsnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines insert a character string (as many charac-
- ters as will fit on the line) before the character under
- the cursor. All characters to the right of the cursor are
- shifted right with the possibility of the rightmost char-
- acters on the line being lost. The cursor position does
- not change (after moving to <EM>y</EM>, <EM>x</EM>, if specified). The
- functions with <EM>n</EM> as the last argument insert a leading
- substring of at most <EM>n</EM> characters. If <EM>n</EM>&lt;=0, then the
- entire string is inserted.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines insert a character string (as many characters as will
+ fit on the line) before the character under the cursor. All characters
+ to the right of the cursor are shifted right with the possibility of
+ the rightmost characters on the line being lost. The cursor position
+ does not change (after moving to <EM>y</EM>, <EM>x</EM>, if specified). The functions
+ with <EM>n</EM> as the last argument insert a leading substring of at most <EM>n</EM>
+ characters. If <EM>n</EM>&lt;=0, then the entire string is inserted.
Special characters are handled as in <STRONG>addch</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines that return an integer return <STRONG>ERR</STRONG> upon fail-
- ure and OK (SVr4 specifies only "an integer value other
- than <STRONG>ERR</STRONG>") upon successful completion, unless otherwise
- noted in the preceding routine descriptions.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
+ (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ completion, unless otherwise noted in the preceding routine descrip-
+ tions.
- X/Open defines no error conditions. In this implementa-
- tion, if the window parameter is null or the str parameter
- is null, an error is returned.
+ X/Open defines no error conditions. In this implementation, if the
+ window parameter is null or the str parameter is null, an error is
+ returned.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all but <STRONG>winsnstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4, which adds const qualifiers to the arguments.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4,
+ which adds const qualifiers to the arguments.
- The Single Unix Specification, Version 2 states that
- <STRONG>insnstr</STRONG> and <STRONG>winsnstr</STRONG> perform wrapping. This is probably
- an error, since it makes this group of functions inconsis-
- tent. Also, no implementation of curses documents this
- inconsistency.
+ The Single Unix Specification, Version 2 states that <STRONG>insnstr</STRONG> and <STRONG>win-</STRONG>
+ <STRONG>snstr</STRONG> perform wrapping. This is probably an error, since it makes this
+ group of functions inconsistent. Also, no implementation of curses
+ documents this inconsistency.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_instr.3x.html b/doc/html/man/curs_instr.3x.html
index 46c464d9e424..99d5965777f9 100644
--- a/doc/html/man/curs_instr.3x.html
+++ b/doc/html/man/curs_instr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_instr.3x,v 1.16 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_instr.3x,v 1.19 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_instr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_instr 3x</H1>
-<HR>
+<H1 class="no-header">curs_instr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>instr</STRONG>, <STRONG>innstr</STRONG>, <STRONG>winstr</STRONG>, <STRONG>winnstr</STRONG>, <STRONG>mvinstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwin-</STRONG>
- <STRONG>str</STRONG>, <STRONG>mvwinnstr</STRONG> - get a string of characters from a <STRONG>curses</STRONG>
- window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>instr</STRONG>, <STRONG>innstr</STRONG>, <STRONG>winstr</STRONG>, <STRONG>winnstr</STRONG>, <STRONG>mvinstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwinstr</STRONG>, <STRONG>mvwinnstr</STRONG>
+ - get a string of characters from a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>instr(char</STRONG> <STRONG>*str);</STRONG>
@@ -63,61 +60,62 @@
<STRONG>int</STRONG> <STRONG>mvinstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
<STRONG>int</STRONG> <STRONG>mvinnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwinstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG>
- <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines return a string of characters in <EM>str</EM>,
- extracted starting at the current cursor position in the
- named window. Attributes are stripped from the charac-
- ters. The four functions with <EM>n</EM> as the last argument
- return a leading substring at most <EM>n</EM> characters long
- (exclusive of the trailing NUL).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines return a string of characters in <EM>str</EM>, extracted starting
+ at the current cursor position in the named window. Attributes are
+ stripped from the characters. The four functions with <EM>n</EM> as the last
+ argument return a leading substring at most <EM>n</EM> characters long (exclu-
+ sive of the trailing NUL).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All of the functions return <STRONG>ERR</STRONG> upon failure, or the num-
- ber of characters actually read into the string.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All of the functions return <STRONG>ERR</STRONG> upon failure, or the number of charac-
+ ters actually read into the string.
- X/Open defines no error conditions. In this implementa-
- tion, if the window parameter is null or the str parameter
- is null, a zero is returned.
+ X/Open Curses defines no error conditions. In this implementation:
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ <STRONG>o</STRONG> If the <EM>win</EM> parameter is null, an error is returned,
+ <STRONG>o</STRONG> If the <EM>chstr</EM> parameter is null, an error is returned,
-</PRE>
-<H2>NOTES</H2><PRE>
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that all routines except <STRONG>winnstr</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- SVr4 does not document whether a length limit includes or
- excludes the trailing NUL.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ SVr4 does not document whether a length limit includes or excludes the
+ trailing NUL.
- The ncurses library extends the XSI description by allow-
- ing a negative value for <EM>n</EM>. In this case, the functions
- return the string ending at the right margin.
+ The ncurses library extends the XSI description by allowing a negative
+ value for <EM>n</EM>. In this case, the functions return the string ending at
+ the right margin.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
- <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_inwstr.3x.html b/doc/html/man/curs_inwstr.3x.html
index 3a8ce138976d..bbc9775d2315 100644
--- a/doc/html/man/curs_inwstr.3x.html
+++ b/doc/html/man/curs_inwstr.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2002-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,89 +26,91 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inwstr.3x,v 1.8 2012/11/03 23:03:59 tom Exp @
+ * @Id: curs_inwstr.3x,v 1.12 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_inwstr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_inwstr 3x</H1>
-<HR>
+<H1 class="no-header">curs_inwstr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>inwstr</STRONG>, <STRONG>innwstr</STRONG>, <STRONG>winwstr</STRONG>, <STRONG>winnwstr</STRONG>, <STRONG>mvinwstr</STRONG>, <STRONG>mvinnwstr</STRONG>,
- <STRONG>mvwinwstr</STRONG>, <STRONG>mvwinnwstr</STRONG> - get a string of <STRONG>wchar_t</STRONG> characters
- from a curses window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>inwstr</STRONG>, <STRONG>innwstr</STRONG>, <STRONG>winwstr</STRONG>, <STRONG>winnwstr</STRONG>, <STRONG>mvinwstr</STRONG>, <STRONG>mvinnwstr</STRONG>, <STRONG>mvwinwstr</STRONG>,
+ <STRONG>mvwinnwstr</STRONG> - get a string of <STRONG>wchar_t</STRONG> characters from a curses window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>inwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>innwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvinwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvinnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>inwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>innwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvinwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvinnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines return a string of <STRONG>wchar_t</STRONG> characters in
- <EM>wstr</EM>, extracted starting at the current cursor position in
- the named window. Attributes are stripped from the char-
- acters. The four functions with <EM>n</EM> as the last argument
- return a leading substring at most <EM>n</EM> bytes long (exclusive
- of the trailing NUL). Transfer stops at the end of the
- current line, or when <EM>n</EM> bytes have been stored at the
- location referenced by <EM>wstr</EM>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines return a string of <STRONG>wchar_t</STRONG> wide characters in <EM>wstr</EM>,
+ extracted starting at the current cursor position in the named window.
- If the size <EM>n</EM> is not large enough to store a complete
- character, an error is generated.
+ The four functions with <EM>n</EM> as the last argument return a leading sub-
+ string at most <EM>n</EM> characters long (exclusive of the trailing NUL).
+ Transfer stops at the end of the current line, or when <EM>n</EM> characters
+ have been stored at the location referenced by <EM>wstr</EM>.
+ If the size <EM>n</EM> is not large enough to store a complete complex charac-
+ ter, an error is generated.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that all routines except <STRONG>winnwstr</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ All routines except <STRONG>winnwstr</STRONG> may be macros.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return <STRONG>ERR</STRONG> upon failure. Upon successful com-
- pletion, the *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the *<STRONG>innwstr</STRONG>
- routines return the number of characters read into the
- string.
+ Each cell in the window holds a complex character (i.e., base- and com-
+ bining-characters) together with attributes and color. These functions
+ store only the wide characters, ignoring attributes and color. Use
+ <STRONG>in_wchstr</STRONG> to return the complex characters from a window.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return <STRONG>ERR</STRONG> upon failure. Upon successful completion, the
+ *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the *<STRONG>innwstr</STRONG> routines return the number
+ of characters read into the string.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_kernel.3x.html b/doc/html/man/curs_kernel.3x.html
index fb0488241894..4238ed8cb38a 100644
--- a/doc/html/man/curs_kernel.3x.html
+++ b/doc/html/man/curs_kernel.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_kernel.3x,v 1.19 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_kernel.3x,v 1.27 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_kernel 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_kernel 3x</H1>
-<HR>
+<H1 class="no-header">curs_kernel 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>,
- <STRONG>reset_shell_mode</STRONG>, <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>,
- <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>, <STRONG>napms</STRONG> - low-level <STRONG>curses</STRONG> routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>,
+ <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>, <STRONG>napms</STRONG> - low-
+ level <STRONG>curses</STRONG> routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>def_prog_mode(void);</STRONG>
@@ -62,145 +60,168 @@
<STRONG>int</STRONG> <STRONG>reset_shell_mode(void);</STRONG>
<STRONG>int</STRONG> <STRONG>resetty(void);</STRONG>
<STRONG>int</STRONG> <STRONG>savetty(void);</STRONG>
- <STRONG>void</STRONG> <STRONG>getsyx(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>void</STRONG> <STRONG>setsyx(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>int</STRONG> <STRONG>ripoffline(int</STRONG> <STRONG>line,</STRONG> <STRONG>int</STRONG> <STRONG>(*init)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int));</STRONG>
- <STRONG>int</STRONG> <STRONG>curs_set(int</STRONG> <STRONG>visibility);</STRONG>
- <STRONG>int</STRONG> <STRONG>napms(int</STRONG> <STRONG>ms);</STRONG>
+ <STRONG>void</STRONG> <STRONG>getsyx(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>setsyx(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ripoffline(int</STRONG> <EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>init</EM><STRONG>)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int));</STRONG>
+ <STRONG>int</STRONG> <STRONG>curs_set(int</STRONG> <EM>visibility</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>napms(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The following routines give low-level access to various
- <STRONG>curses</STRONG> capabilities. These routines typically are used
- inside library routines.
-
- The <STRONG>def_prog_mode</STRONG> and <STRONG>def_shell_mode</STRONG> routines save the
- current terminal modes as the "program" (in <STRONG>curses</STRONG>) or
- "shell" (not in <STRONG>curses</STRONG>) state for use by the <STRONG>re-</STRONG>
- <STRONG>set_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines. This is done
- automatically by <STRONG>initscr</STRONG>. There is one such save area for
- each screen context allocated by <STRONG>newterm()</STRONG>.
-
- The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines restore
- the terminal to "program" (in <STRONG>curses</STRONG>) or "shell" (out of
- <STRONG>curses</STRONG>) state. These are done automatically by <STRONG>endwin</STRONG>
- and, after an <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so they normally are
- not called.
-
- The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG> routines save and restore the
- state of the terminal modes. <STRONG>savetty</STRONG> saves the current
- state in a buffer and <STRONG>resetty</STRONG> restores the state to what
- it was at the last call to <STRONG>savetty</STRONG>.
-
- The <STRONG>getsyx</STRONG> routine returns the current coordinates of the
- virtual screen cursor in <EM>y</EM> and <EM>x</EM>. If <STRONG>leaveok</STRONG> is currently
- <STRONG>TRUE</STRONG>, then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is returned. If lines have been removed
- from the top of the screen, using <STRONG>ripoffline</STRONG>, <EM>y</EM> and <EM>x</EM> in-
- clude these lines; therefore, <EM>y</EM> and <EM>x</EM> should be used only
- as arguments for <STRONG>setsyx</STRONG>.
-
- The <STRONG>setsyx</STRONG> routine sets the virtual screen cursor to <EM>y</EM>, <EM>x</EM>.
- If <EM>y</EM> and <EM>x</EM> are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set. The two rou-
- tines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG> are designed to be used by a li-
- brary routine, which manipulates <STRONG>curses</STRONG> windows but does
- not want to change the current position of the program's
- cursor. The library routine would call <STRONG>getsyx</STRONG> at the be-
- ginning, do its manipulation of its own windows, do a
- <STRONG>wnoutrefresh</STRONG> on its windows, call <STRONG>setsyx</STRONG>, and then call
- <STRONG>doupdate</STRONG>.
-
- The <STRONG>ripoffline</STRONG> routine provides access to the same facili-
- ty that <STRONG>slk_init</STRONG> [see <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>] uses to reduce the
- size of the screen. <STRONG>ripoffline</STRONG> must be called before
- <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called. If <EM>line</EM> is positive, a line
- is removed from the top of <STRONG>stdscr</STRONG>; if <EM>line</EM> is negative, a
- line is removed from the bottom. When this is done inside
- <STRONG>initscr</STRONG>, the routine <STRONG>init</STRONG> (supplied by the user) is called
- with two arguments: a window pointer to the one-line win-
- dow that has been allocated and an integer with the number
- of columns in the window. Inside this initialization rou-
- tine, the integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> (defined in
- <STRONG>&lt;curses.h&gt;</STRONG>) are not guaranteed to be accurate and <STRONG>wrefresh</STRONG>
- or <STRONG>doupdate</STRONG> must not be called. It is allowable to call
- <STRONG>wnoutrefresh</STRONG> during the initialization routine.
-
- <STRONG>ripoffline</STRONG> can be called up to five times before calling
- <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>.
-
- The <STRONG>curs_set</STRONG> routine sets the cursor state to invisible,
- normal, or very visible for <STRONG>visibility</STRONG> equal to <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>
- respectively. If the terminal supports the <EM>visibility</EM> re-
- quested, the previous <EM>cursor</EM> state is returned; otherwise,
- <STRONG>ERR</STRONG> is returned.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The following routines give low-level access to various <STRONG>curses</STRONG> capabil-
+ ities. These routines typically are used inside library routines.
+
+
+</PRE><H3><a name="h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></H3><PRE>
+ The <STRONG>def_prog_mode</STRONG> and <STRONG>def_shell_mode</STRONG> routines save the current terminal
+ modes as the "program" (in <STRONG>curses</STRONG>) or "shell" (not in <STRONG>curses</STRONG>) state for
+ use by the <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines. This is done
+ automatically by <STRONG>initscr</STRONG>. There is one such save area for each screen
+ context allocated by <STRONG>newterm</STRONG>.
+
+
+</PRE><H3><a name="h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></H3><PRE>
+ The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines restore the terminal
+ to "program" (in <STRONG>curses</STRONG>) or "shell" (out of <STRONG>curses</STRONG>) state. These are
+ done automatically by <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and, after an <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so
+ they normally are not called.
+
+
+</PRE><H3><a name="h3-resetty_-savetty">resetty, savetty</a></H3><PRE>
+ The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG> routines save and restore the state of the ter-
+ minal modes. <STRONG>savetty</STRONG> saves the current state in a buffer and <STRONG>resetty</STRONG>
+ restores the state to what it was at the last call to <STRONG>savetty</STRONG>.
+
+
+</PRE><H3><a name="h3-getsyx">getsyx</a></H3><PRE>
+ The <STRONG>getsyx</STRONG> routine returns the current coordinates of the <EM>virtual</EM>
+ <EM>screen</EM> cursor in <EM>y</EM> and <EM>x</EM>. If <STRONG>leaveok</STRONG> is currently <STRONG>TRUE</STRONG>, then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is
+ returned. If lines have been removed from the top of the screen, using
+ <STRONG>ripoffline</STRONG>, <EM>y</EM> and <EM>x</EM> include these lines; therefore, <EM>y</EM> and <EM>x</EM> should be
+ used only as arguments for <STRONG>setsyx</STRONG>.
+
+ Few applications will use this feature, most use <STRONG>getyx</STRONG> instead.
+
+
+</PRE><H3><a name="h3-setsyx">setsyx</a></H3><PRE>
+ The <STRONG>setsyx</STRONG> routine sets the <EM>virtual</EM> <EM>screen</EM> cursor to <EM>y</EM>, <EM>x</EM>. If <EM>y</EM> and <EM>x</EM>
+ are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set. The two routines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG>
+ are designed to be used by a library routine, which manipulates <STRONG>curses</STRONG>
+ windows but does not want to change the current position of the pro-
+ gram's cursor. The library routine would call <STRONG>getsyx</STRONG> at the beginning,
+ do its manipulation of its own windows, do a <STRONG>wnoutrefresh</STRONG> on its win-
+ dows, call <STRONG>setsyx</STRONG>, and then call <STRONG>doupdate</STRONG>.
+
+ Few applications will use this feature, most use <STRONG>wmove</STRONG> instead.
+
+</PRE><H3><a name="h3-ripoffline">ripoffline</a></H3><PRE>
+ The <STRONG>ripoffline</STRONG> routine provides access to the same facility that
+ <STRONG>slk_init</STRONG> [see <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>] uses to reduce the size of the screen.
+ <STRONG>ripoffline</STRONG> must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called, to pre-
+ pare these initial actions:
+
+ <STRONG>o</STRONG> If <EM>line</EM> is positive, a line is removed from the top of <STRONG>stdscr</STRONG>.
+
+ <STRONG>o</STRONG> if <EM>line</EM> is negative, a line is removed from the bottom.
+
+ When the resulting initialization is done inside <STRONG>initscr</STRONG>, the routine
+ <STRONG>init</STRONG> (supplied by the user) is called with two arguments:
+
+ <STRONG>o</STRONG> a window pointer to the one-line window that has been allocated and
+
+ <STRONG>o</STRONG> an integer with the number of columns in the window.
+
+ Inside this initialization routine, the integer variables <STRONG>LINES</STRONG> and
+ <STRONG>COLS</STRONG> (defined in <STRONG>&lt;curses.h&gt;</STRONG>) are not guaranteed to be accurate and <STRONG>wre-</STRONG>
+ <STRONG>fresh</STRONG> or <STRONG>doupdate</STRONG> must not be called. It is allowable to call <STRONG>wnoutre-</STRONG>
+ <STRONG>fresh</STRONG> during the initialization routine.
+
+ <STRONG>ripoffline</STRONG> can be called up to five times before calling <STRONG>initscr</STRONG> or
+ <STRONG>newterm</STRONG>.
+
+
+</PRE><H3><a name="h3-curs_set">curs_set</a></H3><PRE>
+ The <STRONG>curs_set</STRONG> routine sets the cursor state to invisible, normal, or
+ very visible for <STRONG>visibility</STRONG> equal to <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG> respectively. If the
+ terminal supports the <EM>visibility</EM> requested, the previous <EM>cursor</EM> state
+ is returned; otherwise, <STRONG>ERR</STRONG> is returned.
+
+
+</PRE><H3><a name="h3-napms">napms</a></H3><PRE>
The <STRONG>napms</STRONG> routine is used to sleep for <EM>ms</EM> milliseconds.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Except for <STRONG>curs_set</STRONG>, these routines always return <STRONG>OK</STRONG>.
- <STRONG>curs_set</STRONG> returns the previous cursor state, or <STRONG>ERR</STRONG> if the
- requested <EM>visibility</EM> is not supported.
+ <STRONG>curs_set</STRONG> returns the previous cursor state, or <STRONG>ERR</STRONG> if the requested
+ <EM>visibility</EM> is not supported.
- X/Open defines no error conditions. In this implementa-
- tion
+ X/Open defines no error conditions. In this implementation
- <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>re-</STRONG>
- <STRONG>set_shell_mode</STRONG>
- return an error if the terminal was not ini-
- tialized, or if the I/O call to obtain the
- terminal settings fails.
+ <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>
+ return an error if the terminal was not initialized, or if the I/O
+ call to obtain the terminal settings fails.
- <STRONG>ripoffline</STRONG>
- returns an error if the maximum number of
- ripped-off lines exceeds the maximum (NRIPS =
- 5).
+ <STRONG>ripoffline</STRONG>
+ returns an error if the maximum number of ripped-off lines exceeds
+ the maximum (NRIPS = 5).
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&amp;</STRONG> is not necessary before
- the variables <EM>y</EM> and <EM>x</EM>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&amp;</STRONG> is not necessary before the variables
+ <EM>y</EM> and <EM>x</EM>.
- Older SVr4 man pages warn that the return value of
- <STRONG>curs_set</STRONG> "is currently incorrect". This implementation
- gets it right, but it may be unwise to count on the cor-
- rectness of the return value anywhere else.
+ Older SVr4 man pages warn that the return value of <STRONG>curs_set</STRONG> "is cur-
+ rently incorrect". This implementation gets it right, but it may be
+ unwise to count on the correctness of the return value anywhere else.
- Both ncurses and SVr4 will call <STRONG>curs_set</STRONG> in <STRONG>endwin</STRONG> if
- <STRONG>curs_set</STRONG> has been called to make the cursor other than
- normal, i.e., either invisible or very visible. There is
- no way for ncurses to determine the initial cursor state
- to restore that.
+ Both ncurses and SVr4 will call <STRONG>curs_set</STRONG> in <STRONG>endwin</STRONG> if <STRONG>curs_set</STRONG> has been
+ called to make the cursor other than normal, i.e., either invisible or
+ very visible. There is no way for ncurses to determine the initial
+ cursor state to restore that.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in the
- XSI Curses standard, Issue 4. All other functions are as
- described in XSI Curses.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <EM>virtual</EM> <EM>screen</EM> functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in the
+ XSI Curses standard, Issue 4. All other functions are as described in
+ XSI Curses.
- The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as hav-
- ing return type int. This is misleading, as they are
- macros with no documented semantics for the return value.
+ The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as having return
+ type int. This is misleading, as they are macros with no documented
+ semantics for the return value.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG>curs_re-</STRONG>
- <STRONG><A HREF="curs_refresh.3x.html">fresh(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></li>
+<li><a href="#h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></li>
+<li><a href="#h3-resetty_-savetty">resetty, savetty</a></li>
+<li><a href="#h3-getsyx">getsyx</a></li>
+<li><a href="#h3-setsyx">setsyx</a></li>
+<li><a href="#h3-ripoffline">ripoffline</a></li>
+<li><a href="#h3-curs_set">curs_set</a></li>
+<li><a href="#h3-napms">napms</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_legacy.3x.html b/doc/html/man/curs_legacy.3x.html
index 16f7d4d7547a..1fea49098c60 100644
--- a/doc/html/man/curs_legacy.3x.html
+++ b/doc/html/man/curs_legacy.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2007-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,95 +26,109 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_legacy.3x,v 1.5 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_legacy.3x,v 1.9 2019/03/23 21:51:12 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_legacy 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_legacy 3x</H1>
-<HR>
+<H1 class="no-header">curs_legacy 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- getattrs - get <STRONG>curses</STRONG> cursor and window coordinates,
- attributes
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ curs_legacy - get <STRONG>curses</STRONG> cursor and window coordinates, attributes
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>getattrs(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getbegx(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getbegy(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getcurx(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getcury(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getmaxx(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getmaxy(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getparx(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>getpary(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getattrs(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getbegx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getbegy(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getcurx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getcury(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getmaxx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getmaxy(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getparx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getpary(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>getbegy</STRONG> and <STRONG>getbegx</STRONG> functions return the same data as
- <STRONG>getbegyx</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These legacy functions are simpler to use than the X/Open Curses func-
+ tions:
- The <STRONG>getcury</STRONG> and <STRONG>getcurx</STRONG> functions return the same data as
- <STRONG>getyx</STRONG>.
+ <STRONG>o</STRONG> The <STRONG>getattrs</STRONG> function returns the same attribute data as <STRONG>wattr_get</STRONG>.
- The <STRONG>getmaxy</STRONG> and <STRONG>getmaxx</STRONG> functions return the same data as
- <STRONG>getmaxyx</STRONG>.
+ However, <STRONG>getattrs</STRONG> returns an integer (actually a <STRONG>chtype</STRONG>), while
+ <STRONG>wattr_get</STRONG> returns the current color pair in a separate parameter.
+ In the wide-character library configuration, color pairs may not
+ fit into a <STRONG>chtype</STRONG>, so <STRONG>wattr_get</STRONG> is the only way to obtain the color
+ information.
- The <STRONG>getpary</STRONG> and <STRONG>getparx</STRONG> functions return the same data as
- <STRONG>getparyx</STRONG>.
+ Because <STRONG>getattrs</STRONG> returns the attributes in a single parameter, it
+ would not be possible for an application to distinguish that from
+ <STRONG>ERR</STRONG> (a <EM>-1</EM>). If the window parameter is null, <STRONG>getattrs</STRONG> returns
+ <STRONG>A_NORMAL</STRONG> (zero).
+ <STRONG>o</STRONG> The <STRONG>getbegy</STRONG> and <STRONG>getbegx</STRONG> functions return the same data as <STRONG>getbegyx</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These functions return an integer, or ERR if the window
- parameter is null.
+ <STRONG>o</STRONG> The <STRONG>getcury</STRONG> and <STRONG>getcurx</STRONG> functions return the same data as <STRONG>getyx</STRONG>.
+ <STRONG>o</STRONG> The <STRONG>getmaxy</STRONG> and <STRONG>getmaxx</STRONG> functions return the same data as <STRONG>getmaxyx</STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- All of these interfaces are provided as macros and func-
- tions. The macros are suppressed (and only the functions
- provided) when <STRONG>NCURSES_OPAQUE</STRONG> is defined. The standard
- forms such as <STRONG>getyx</STRONG> must be implemented as macros, and (in
- this implementation) are defined in terms of the functions
- described here, to avoid reliance on internal details of
- the WINDOW structure.
+ <STRONG>o</STRONG> The <STRONG>getpary</STRONG> and <STRONG>getparx</STRONG> functions return the same data as <STRONG>getparyx</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions were supported on Version 7, BSD or System
- V implementations.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except as noted, these functions return an integer, or <STRONG>ERR</STRONG> if the win-
+ dow parameter is null.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ All of these interfaces are provided as macros and functions. The
+ macros are suppressed (and only the functions provided) when
+ <STRONG>NCURSES_OPAQUE</STRONG> is defined. The standard forms such as <STRONG>getyx</STRONG> must be
+ implemented as macros, and (in this implementation) are defined in
+ terms of the functions described here, to avoid reliance on internal
+ details of the WINDOW structure.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions were supported on Version 7, BSD or System V implemen-
+ tations. None of those implementations checked the window parameter.
+
+ The <STRONG>getattrs</STRONG> function and macro are defined to return a (signed) inte-
+ ger for compatibility with those implementations although an unsigned
+ type would have been more appropriate.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
- <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+ <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_memleaks.3x.html b/doc/html/man/curs_memleaks.3x.html
index 7b3d8e162e1f..252a9807a6fc 100644
--- a/doc/html/man/curs_memleaks.3x.html
+++ b/doc/html/man/curs_memleaks.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2008-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,85 +26,108 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_memleaks.3x,v 1.3 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_memleaks.3x,v 1.7 2019/12/14 23:21:32 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_memleaks 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_memleaks 3x</H1>
-<HR>
+<H1 class="no-header">curs_memleaks 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>_nc_freeall</STRONG> <STRONG>_nc_free_and_exit</STRONG> - <STRONG>curses</STRONG> memory-leak
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>_nc_freeall</STRONG>, <STRONG>_nc_free_and_exit</STRONG>, <STRONG>_nc_free_tinfo</STRONG> - <STRONG>curses</STRONG> memory-leak
checking
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+ <STRONG>void</STRONG> <STRONG>exit_curses(int);</STRONG>
+ <STRONG>void</STRONG> <STRONG>exit_terminfo(int);</STRONG>
+
+ /* deprecated */
<STRONG>void</STRONG> <STRONG>_nc_freeall(void);</STRONG>
<STRONG>void</STRONG> <STRONG>_nc_free_and_exit(int);</STRONG>
+ <STRONG>void</STRONG> <STRONG>_nc_free_tinfo(int);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions are used to simplify analysis of memory
- leaks in the ncurses library. They are normally not
- available; they must be configured into the library at
- build time using the <STRONG>--disable-leaks</STRONG> option. That com-
- piles-in code that frees memory that normally would not be
- freed.
-
- Any implementation of curses must not free the memory as-
- sociated with a screen, since (even after calling <STRONG>endwin</STRONG>),
- it must be available for use in the next call to <STRONG>refresh</STRONG>.
- There are also chunks of memory held for performance rea-
- sons. That makes it hard to analyze curses applications
- for memory leaks. To work around this, one can build a
- debugging version of the ncurses library which frees those
- chunks which it can, and provides these functions to free
- all of the memory allocated by the ncurses library.
-
- The _nc_free_and_exit function is the preferred one since
- some of the memory which is freed may be required for the
- application to continue running. Its parameter is the
- code to pass to the exit routine.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions are used to simplify analysis of memory leaks in the
+ ncurses library.
+ Any implementation of curses must not free the memory associated with a
+ screen, since (even after calling <STRONG>endwin</STRONG>), it must be available for use
+ in the next call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. There are also chunks of memory held
+ for performance reasons. That makes it hard to analyze curses applica-
+ tions for memory leaks. When using the specially configured debugging
+ version of the ncurses library, applications can call functions which
+ free those chunks of memory, simplifying the process of memory-leak
+ checking.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+ Some of the functions are named with a "_nc_" prefix because they are
+ not intended for use in the non-debugging library:
+
+ <STRONG>_nc_freeall</STRONG>
+ This frees (almost) all of the memory allocated by ncurses.
+
+ <STRONG>_nc_free_and_exit</STRONG>
+ This frees the memory allocated by ncurses (like <STRONG>_nc_freeall</STRONG>), and
+ exits the program. It is preferred over <STRONG>_nc_freeall</STRONG> since some of
+ that memory may be required to keep the application running. Sim-
+ ply exiting (with the given exit-code) is safer.
+
+ <STRONG>_nc_free_tinfo</STRONG>
+ Use this function if only the low-level terminfo functions (and
+ corresponding library) are used. Like <STRONG>_nc_free_and_exit</STRONG>, it exits
+ the program after freeing memory.
+
+ The functions prefixed "_nc" are normally not available; they must be
+ configured into the library at build time using the <STRONG>--disable-leaks</STRONG> op-
+ tion. That compiles-in code that frees memory that normally would not
+ be freed.
+
+ The <STRONG>exit_curses</STRONG> and <STRONG>exit_terminfo</STRONG> functions call <STRONG>_nc_free_and_exit</STRONG> and
+ <STRONG>_nc_free_tinfo</STRONG> if the library is configured to support memory-leak
+ checking. If the library is not configured to support memory-leak
+ checking, they simply call <STRONG>exit</STRONG>.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These functions do not return a value.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are not part of the XSI interface.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are not part of X/Open Curses; nor do other implementa-
+ tions of curses provide a similar feature.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
- <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+ <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_mouse.3x.html b/doc/html/man/curs_mouse.3x.html
index 72382d87d4ee..1d2a45de3f13 100644
--- a/doc/html/man/curs_mouse.3x.html
+++ b/doc/html/man/curs_mouse.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,33 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_mouse.3x,v 1.39 2013/06/22 18:09:42 tom Exp @
+ * @Id: curs_mouse.3x,v 1.51 2019/07/13 23:45:12 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_mouse 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_mouse 3x</H1>
-<HR>
+<H1 class="no-header">curs_mouse 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>has_mouse</STRONG>, <STRONG>getmouse</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>wenclose</STRONG>,
- <STRONG>mouse_trafo</STRONG>, <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - mouse interface
- through curses
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>has_mouse</STRONG>, <STRONG>getmouse</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>wenclose</STRONG>, <STRONG>mouse_trafo</STRONG>,
+ <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - mouse interface through curses
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>typedef</STRONG> <STRONG>unsigned</STRONG> <STRONG>long</STRONG> <STRONG>mmask_t;</STRONG>
@@ -66,35 +63,36 @@
<STRONG>}</STRONG> <STRONG>MEVENT;</STRONG>
<STRONG>bool</STRONG> <STRONG>has_mouse(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>getmouse(MEVENT</STRONG> <STRONG>*event);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetmouse(MEVENT</STRONG> <STRONG>*event);</STRONG>
- <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <STRONG>newmask,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*oldmask);</STRONG>
- <STRONG>bool</STRONG> <STRONG>wenclose(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>bool</STRONG> <STRONG>mouse_trafo(int*</STRONG> <STRONG>pY,</STRONG> <STRONG>int*</STRONG> <STRONG>pX,</STRONG> <STRONG>bool</STRONG> <STRONG>to_screen);</STRONG>
- <STRONG>bool</STRONG> <STRONG>wmouse_trafo(const</STRONG> <STRONG>WINDOW*</STRONG> <STRONG>win,</STRONG> <STRONG>int*</STRONG> <STRONG>pY,</STRONG> <STRONG>int*</STRONG> <STRONG>pX,</STRONG>
- <STRONG>bool</STRONG> <STRONG>to_screen);</STRONG>
- <STRONG>int</STRONG> <STRONG>mouseinterval(int</STRONG> <STRONG>erval);</STRONG>
+ <STRONG>int</STRONG> <STRONG>getmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ungetmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
+ <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>wenclose(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>mouse_trafo(int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
+ <STRONG>bool</STRONG> <STRONG>wmouse_trafo(const</STRONG> <STRONG>WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG>
+ <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mouseinterval(int</STRONG> <EM>erval</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions provide an interface to mouse events from
- <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>. Mouse events are represented by <STRONG>KEY_MOUSE</STRONG>
- pseudo-key values in the <STRONG>wgetch</STRONG> input stream.
-
- To make mouse events visible, use the <STRONG>mousemask</STRONG> function.
- This will set the mouse events to be reported. By de-
- fault, no mouse events are reported. The function will
- return a mask to indicate which of the specified mouse
- events can be reported; on complete failure it returns 0.
- If oldmask is non-NULL, this function fills the indicated
- location with the previous value of the given window's
- mouse event mask.
-
- As a side effect, setting a zero mousemask may turn off
- the mouse pointer; setting a nonzero mask may turn it on.
- Whether this happens is device-dependent.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions provide an interface to mouse events from <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+ Mouse events are represented by <STRONG>KEY_MOUSE</STRONG> pseudo-key values in the
+ <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> input stream.
+
+
+</PRE><H3><a name="h3-mousemask">mousemask</a></H3><PRE>
+ To make mouse events visible, use the <STRONG>mousemask</STRONG> function. This will
+ set the mouse events to be reported. By default, no mouse events are
+ reported. The function will return a mask to indicate which of the
+ specified mouse events can be reported; on complete failure it returns
+ 0. If oldmask is non-NULL, this function fills the indicated location
+ with the previous value of the given window's mouse event mask.
+
+ As a side effect, setting a zero mousemask may turn off the mouse
+ pointer; setting a nonzero mask may turn it on. Whether this happens
+ is device-dependent.
+
+</PRE><H3><a name="h3-Mouse-events">Mouse events</a></H3><PRE>
Here are the mouse event type masks which may be defined:
<EM>Name</EM> <EM>Description</EM>
@@ -112,8 +110,8 @@
BUTTON2_TRIPLE_CLICKED mouse button 2 triple clicked
---------------------------------------------------------------------
BUTTON3_PRESSED mouse button 3 down
-
BUTTON3_RELEASED mouse button 3 up
+
BUTTON3_CLICKED mouse button 3 clicked
BUTTON3_DOUBLE_CLICKED mouse button 3 double clicked
BUTTON3_TRIPLE_CLICKED mouse button 3 triple clicked
@@ -137,179 +135,254 @@
REPORT_MOUSE_POSITION report mouse movement
---------------------------------------------------------------------
- Once a class of mouse events have been made visible in a
- window, calling the <STRONG>wgetch</STRONG> function on that window may re-
- turn <STRONG>KEY_MOUSE</STRONG> as an indicator that a mouse event has been
- queued. To read the event data and pop the event off the
- queue, call <STRONG>getmouse</STRONG>. This function will return <STRONG>OK</STRONG> if a
- mouse event is actually visible in the given window, <STRONG>ERR</STRONG>
- otherwise. When <STRONG>getmouse</STRONG> returns <STRONG>OK</STRONG>, the data deposited
- as y and x in the event structure coordinates will be
- screen-relative character-cell coordinates. The returned
- state mask will have exactly one bit set to indicate the
- event type. The corresponding data in the queue is marked
- invalid. A subsequent call to <STRONG>getmouse</STRONG> will retrieve the
- next older item from the queue.
-
- The <STRONG>ungetmouse</STRONG> function behaves analogously to <STRONG>ungetch</STRONG>.
- It pushes a <STRONG>KEY_MOUSE</STRONG> event onto the input queue, and as-
- sociates with that event the given state data and screen-
- relative character-cell coordinates.
-
- The <STRONG>wenclose</STRONG> function tests whether a given pair of
- screen-relative character-cell coordinates is enclosed by
- a given window, returning TRUE if it is and FALSE other-
- wise. It is useful for determining what subset of the
- screen windows enclose the location of a mouse event.
-
- The <STRONG>wmouse_trafo</STRONG> function transforms a given pair of coor-
- dinates from stdscr-relative coordinates to coordinates
- relative to the given window or vice versa. Please remem-
- ber, that stdscr-relative coordinates are not always iden-
- tical to window-relative coordinates due to the mechanism
- to reserve lines on top or bottom of the screen for other
- purposes (see the <STRONG>ripoffline()</STRONG> and <STRONG>slk_init</STRONG> calls, for ex-
- ample). If the parameter <STRONG>to_screen</STRONG> is <STRONG>TRUE</STRONG>, the pointers
- <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must reference the coordinates of a location inside
- the window <STRONG>win</STRONG>. They are converted to window-relative co-
- ordinates and returned through the pointers. If the con-
- version was successful, the function returns <STRONG>TRUE</STRONG>. If one
- of the parameters was NULL or the location is not inside
- the window, <STRONG>FALSE</STRONG> is returned. If <STRONG>to_screen</STRONG> is <STRONG>FALSE</STRONG>, the
- pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must reference window-relative coordi-
- nates. They are converted to stdscr-relative coordinates
- if the window <STRONG>win</STRONG> encloses this point. In this case the
- function returns <STRONG>TRUE</STRONG>. If one of the parameters is NULL
- or the point is not inside the window, <STRONG>FALSE</STRONG> is returned.
- Please notice, that the referenced coordinates are only
- replaced by the converted coordinates if the transforma-
- tion was successful.
-
- The <STRONG>mouse_trafo</STRONG> function performs the same translation as
- <STRONG>wmouse_trafo</STRONG>, using stdscr for <STRONG>win</STRONG>.
-
- The <STRONG>mouseinterval</STRONG> function sets the maximum time (in thou-
- sands of a second) that can elapse between press and re-
- lease events for them to be recognized as a click. Use
- <STRONG>mouseinterval(0)</STRONG> to disable click resolution. This func-
- tion returns the previous interval value. Use <STRONG>mouseinter-</STRONG>
- <STRONG>val(-1)</STRONG> to obtain the interval without altering it. The
- default is one sixth of a second.
-
- The <STRONG>has_mouse</STRONG> function returns TRUE if the mouse driver
- has been successfully initialized.
-
- Note that mouse events will be ignored when input is in
- cooked mode, and will cause an error beep when cooked mode
- is being simulated in a window by a function such as <STRONG>get-</STRONG>
- <STRONG>str</STRONG> that expects a linefeed for input-loop termination.
+</PRE><H3><a name="h3-getmouse">getmouse</a></H3><PRE>
+ Once a class of mouse events has been made visible in a window, calling
+ the <STRONG>wgetch</STRONG> function on that window may return <STRONG>KEY_MOUSE</STRONG> as an indicator
+ that a mouse event has been queued. To read the event data and pop the
+ event off the queue, call <STRONG>getmouse</STRONG>. This function will return <STRONG>OK</STRONG> if a
+ mouse event is actually visible in the given window, <STRONG>ERR</STRONG> otherwise.
+ When <STRONG>getmouse</STRONG> returns <STRONG>OK</STRONG>, the data deposited as y and x in the event
+ structure coordinates will be screen-relative character-cell coordi-
+ nates. The returned state mask will have exactly one bit set to indi-
+ cate the event type. The corresponding data in the queue is marked in-
+ valid. A subsequent call to <STRONG>getmouse</STRONG> will retrieve the next older item
+ from the queue.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>getmouse</STRONG> and <STRONG>ungetmouse</STRONG> return the integer <STRONG>ERR</STRONG> upon fail-
- ure or <STRONG>OK</STRONG> upon successful completion.
- <STRONG>getmouse</STRONG>
- returns an error. If no mouse driver was ini-
- tialized, or if the mask parameter is zero, it
- also returns an error if no more events remain
- in the queue.
+</PRE><H3><a name="h3-ungetmouse">ungetmouse</a></H3><PRE>
+ The <STRONG>ungetmouse</STRONG> function behaves analogously to <STRONG>ungetch</STRONG>. It pushes a
+ <STRONG>KEY_MOUSE</STRONG> event onto the input queue, and associates with that event
+ the given state data and screen-relative character-cell coordinates.
+
+
+</PRE><H3><a name="h3-wenclose">wenclose</a></H3><PRE>
+ The <STRONG>wenclose</STRONG> function tests whether a given pair of screen-relative
+ character-cell coordinates is enclosed by a given window, returning
+ <STRONG>TRUE</STRONG> if it is and <STRONG>FALSE</STRONG> otherwise. It is useful for determining what
+ subset of the screen windows enclose the location of a mouse event.
+
+
+</PRE><H3><a name="h3-wmouse_trafo">wmouse_trafo</a></H3><PRE>
+ The <STRONG>wmouse_trafo</STRONG> function transforms a given pair of coordinates from
+ stdscr-relative coordinates to coordinates relative to the given window
+ or vice versa. The resulting stdscr-relative coordinates are not al-
+ ways identical to window-relative coordinates due to the mechanism to
+ reserve lines on top or bottom of the screen for other purposes (see
+ the <STRONG>ripoffline</STRONG> and <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG> calls, for example).
+
+ <STRONG>o</STRONG> If the parameter <STRONG>to_screen</STRONG> is <STRONG>TRUE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must refer-
+ ence the coordinates of a location inside the window <STRONG>win</STRONG>. They are
+ converted to window-relative coordinates and returned through the
+ pointers. If the conversion was successful, the function returns
+ <STRONG>TRUE</STRONG>.
+
+ <STRONG>o</STRONG> If one of the parameters was NULL or the location is not inside the
+ window, <STRONG>FALSE</STRONG> is returned.
+
+ <STRONG>o</STRONG> If <STRONG>to_screen</STRONG> is <STRONG>FALSE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must reference window-
+ relative coordinates. They are converted to stdscr-relative coor-
+ dinates if the window <STRONG>win</STRONG> encloses this point. In this case the
+ function returns <STRONG>TRUE</STRONG>.
+
+ <STRONG>o</STRONG> If one of the parameters is NULL or the point is not inside the
+ window, <STRONG>FALSE</STRONG> is returned. The referenced coordinates are only re-
+ placed by the converted coordinates if the transformation was suc-
+ cessful.
+
+
+</PRE><H3><a name="h3-mouse_trafo">mouse_trafo</a></H3><PRE>
+ The <STRONG>mouse_trafo</STRONG> function performs the same translation as <STRONG>wmouse_trafo</STRONG>,
+ using stdscr for <STRONG>win</STRONG>.
+
+
+</PRE><H3><a name="h3-mouseinterval">mouseinterval</a></H3><PRE>
+ The <STRONG>mouseinterval</STRONG> function sets the maximum time (in thousands of a
+ second) that can elapse between press and release events for them to be
+ recognized as a click. Use <STRONG>mouseinterval(0)</STRONG> to disable click resolu-
+ tion. This function returns the previous interval value. Use <STRONG>mousein-</STRONG>
+ <STRONG>terval(-1)</STRONG> to obtain the interval without altering it. The default is
+ one sixth of a second.
+
+
+</PRE><H3><a name="h3-has_mouse">has_mouse</a></H3><PRE>
+ The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver has been suc-
+ cessfully initialized.
+
+ Note that mouse events will be ignored when input is in cooked mode,
+ and will cause an error beep when cooked mode is being simulated in a
+ window by a function such as <STRONG>getstr</STRONG> that expects a linefeed for input-
+ loop termination.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>getmouse</STRONG> and <STRONG>ungetmouse</STRONG> return the integer <STRONG>ERR</STRONG> upon failure or <STRONG>OK</STRONG> upon
+ successful completion:
+
+ <STRONG>getmouse</STRONG>
+ returns an error.
+
+ <STRONG>o</STRONG> If no mouse driver was initialized, or if the mask parameter is
+ zero,
- <STRONG>ungetmouse</STRONG>
- returns an error if the FIFO is full.
+ <STRONG>o</STRONG> It also returns an error if no more events remain in the queue.
+
+ <STRONG>ungetmouse</STRONG>
+ returns an error if the FIFO is full.
<STRONG>mousemask</STRONG> returns the mask of reportable events.
- <STRONG>mouseinterval</STRONG> returns the previous interval value, unless
- the terminal was not initialized. In that case, it re-
- turns the maximum interval value (166).
+ <STRONG>mouseinterval</STRONG> returns the previous interval value, unless the terminal
+ was not initialized. In that case, it returns the maximum interval
+ value (166).
- <STRONG>wenclose</STRONG> and <STRONG>wmouse_trafo</STRONG> are boolean functions returning
- <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> depending on their test result.
+ <STRONG>wenclose</STRONG> and <STRONG>wmouse_trafo</STRONG> are boolean functions returning <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>
+ depending on their test result.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These calls were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not
- found in SVr4 curses, 4.4BSD curses, or any other previous
- version of curses.
-
- The feature macro <STRONG>NCURSES_MOUSE_VERSION</STRONG> is provided so the
- preprocessor can be used to test whether these features
- are present. If the interface is changed, the value of
- <STRONG>NCURSES_MOUSE_VERSION</STRONG> will be incremented. These values
- for <STRONG>NCURSES_MOUSE_VERSION</STRONG> may be specified when configur-
- ing ncurses:
-
- 1 has definitions for reserved events. The mask
- uses 28 bits.
-
- 2 adds definitions for button 5, removes the defi-
- nitions for reserved events. The mask uses 29
- bits.
-
- The order of the <STRONG>MEVENT</STRONG> structure members is not guaran-
- teed. Additional fields may be added to the structure in
- the future.
-
- Under <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, these calls are implemented using ei-
- ther xterm's built-in mouse-tracking API or platform-spe-
- cific drivers including
- Alessandro Rubini's gpm server
- FreeBSD sysmouse
- OS/2 EMX
- If you are using an unsupported configuration, mouse
- events will not be visible to <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> (and the <STRONG>mouse-</STRONG>
- <STRONG>mask</STRONG> function will always return <STRONG>0</STRONG>).
-
- If the terminfo entry contains a <STRONG>XM</STRONG> string, this is used
- in the xterm mouse driver to control the way the terminal
- is initialized for mouse operation. The default, if <STRONG>XM</STRONG> is
- not found, corresponds to private mode 1000 of xterm:
- \E[?1000%?%p1%{1}%=%th%el%;
- The z member in the event structure is not presently used.
- It is intended for use with touch screens (which may be
- pressure-sensitive) or with 3D-mice/trackballs/power
- gloves.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These calls were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not found in SVr4
+ curses, 4.4BSD curses, or any other previous version of curses.
+ SVr4 curses had support for the mouse in a variant of <STRONG>xterm</STRONG>. It is
+ mentioned in a few places, but with no supporting documentation:
-</PRE>
-<H2>BUGS</H2><PRE>
- Mouse events under xterm will not in fact be ignored dur-
- ing cooked mode, if they have been enabled by <STRONG>mousemask</STRONG>.
- Instead, the xterm mouse report sequence will appear in
- the string read.
-
- Mouse events under xterm will not be detected correctly in
- a window with its keypad bit off, since they are inter-
- preted as a variety of function key. Your terminfo de-
- scription should have <STRONG>kmous</STRONG> set to "\E[M" (the beginning
- of the response from xterm for mouse clicks). Other val-
- ues for <STRONG>kmous</STRONG> are permitted, but under the same assump-
- tion, i.e., it is the beginning of the response.
-
- Because there are no standard terminal responses that
- would serve to identify terminals which support the xterm
- mouse protocol, <STRONG>ncurses</STRONG> assumes that if your $TERM envi-
- ronment variable contains "xterm", or <STRONG>kmous</STRONG> is defined in
- the terminal description, then the terminal may send mouse
- events.
+ <STRONG>o</STRONG> the "libcurses" manual page lists functions for this feature which
+ are prototyped in <STRONG>curses.h</STRONG>:
+ extern int mouse_set(long int);
+ extern int mouse_on(long int);
+ extern int mouse_off(long int);
+ extern int request_mouse_pos(void);
+ extern int map_button(unsigned long);
+ extern void wmouse_position(WINDOW *, int *, int *);
+ extern unsigned long getmouse(void), getbmap(void);
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>.
+ <STRONG>o</STRONG> the "terminfo" manual page lists capabilities for the feature
+
+ buttons btns BT Number of buttons on the mouse
+ get_mouse getm Gm Curses should get button events
+ key_mouse kmous Km 0631, Mouse event has occurred
+ mouse_info minfo Mi Mouse status information
+ req_mouse_pos reqmp RQ Request mouse position report
+
+ <STRONG>o</STRONG> the interface made assumptions (as does ncurses) about the escape
+ sequences sent to and received from the terminal.
+
+ For instance the SVr4 curses library used the <STRONG>get_mouse</STRONG> capability
+ to tell the terminal which mouse button events it should send,
+ passing the mouse-button bit-mask to the terminal. Also, it could
+ ask the terminal where the mouse was using the <STRONG>req_mouse_pos</STRONG> capa-
+ bility.
+
+ Those features required a terminal which had been modified to work
+ with curses. They were not part of the X Consortium's xterm.
+
+ When developing the xterm mouse support for ncurses in September 1995,
+ Eric Raymond was uninterested in using the same interface due to its
+ lack of documentation. Later, in 1998, Mark Hesseling provided support
+ in PDCurses 2.3 using the SVr4 interface. PDCurses, however, does not
+ use video terminals, making it unnecessary to be concerned about com-
+ patibility with the escape sequences.
+
+ The feature macro <STRONG>NCURSES_MOUSE_VERSION</STRONG> is provided so the preprocessor
+ can be used to test whether these features are present. If the inter-
+ face is changed, the value of <STRONG>NCURSES_MOUSE_VERSION</STRONG> will be increment-
+ ed. These values for <STRONG>NCURSES_MOUSE_VERSION</STRONG> may be specified when con-
+ figuring ncurses:
+
+ 1 has definitions for reserved events. The mask uses 28 bits.
+
+ 2 adds definitions for button 5, removes the definitions for re-
+ served events. The mask uses 29 bits.
+
+ The order of the <STRONG>MEVENT</STRONG> structure members is not guaranteed. Addition-
+ al fields may be added to the structure in the future.
+
+ Under <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, these calls are implemented using either xterm's
+ built-in mouse-tracking API or platform-specific drivers including
+
+ <STRONG>o</STRONG> Alessandro Rubini's gpm server
+
+ <STRONG>o</STRONG> FreeBSD sysmouse
+
+ <STRONG>o</STRONG> OS/2 EMX
+
+ If you are using an unsupported configuration, mouse events will not be
+ visible to <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> (and the <STRONG>mousemask</STRONG> function will always return
+ <STRONG>0</STRONG>).
+
+ If the terminfo entry contains a <STRONG>XM</STRONG> string, this is used in the xterm
+ mouse driver to control the way the terminal is initialized for mouse
+ operation. The default, if <STRONG>XM</STRONG> is not found, corresponds to private
+ mode 1000 of xterm:
+
+ \E[?1000%?%p1%{1}%=%th%el%;
+
+ The mouse driver also recognizes a newer xterm private mode 1006, e.g.,
+
+ \E[?1006;1000%?%p1%{1}%=%th%el%;
+
+ The <EM>z</EM> member in the event structure is not presently used. It is in-
+ tended for use with touch screens (which may be pressure-sensitive) or
+ with 3D-mice/trackballs/power gloves.
+
+ The <STRONG>ALL_MOUSE_EVENTS</STRONG> class does not include <STRONG>REPORT_MOUSE_POSITION</STRONG>.
+ They are distinct. For example, in xterm, wheel/scrolling mice send
+ position reports as a sequence of presses of buttons 4 or 5 without
+ matching button-releases.
+
+
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+ Mouse events under xterm will not in fact be ignored during cooked
+ mode, if they have been enabled by <STRONG>mousemask</STRONG>. Instead, the xterm mouse
+ report sequence will appear in the string read.
+
+ Mouse events under xterm will not be detected correctly in a window
+ with its keypad bit off, since they are interpreted as a variety of
+ function key. Your terminfo description should have <STRONG>kmous</STRONG> set to
+ "\E[M" (the beginning of the response from xterm for mouse clicks).
+ Other values for <STRONG>kmous</STRONG> are permitted, but under the same assumption,
+ i.e., it is the beginning of the response.
+
+ Because there are no standard terminal responses that would serve to
+ identify terminals which support the xterm mouse protocol, <STRONG>ncurses</STRONG> as-
+ sumes that if <STRONG>kmous</STRONG> is defined in the terminal description, or if the
+ terminal description's primary name or aliases contain the string
+ "xterm", then the terminal may send mouse events. The <STRONG>kmous</STRONG> capability
+ is checked first, allowing the use of newer xterm mouse protocols such
+ as xterm's private mode 1006.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+ <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-mousemask">mousemask</a></li>
+<li><a href="#h3-Mouse-events">Mouse events</a></li>
+<li><a href="#h3-getmouse">getmouse</a></li>
+<li><a href="#h3-ungetmouse">ungetmouse</a></li>
+<li><a href="#h3-wenclose">wenclose</a></li>
+<li><a href="#h3-wmouse_trafo">wmouse_trafo</a></li>
+<li><a href="#h3-mouse_trafo">mouse_trafo</a></li>
+<li><a href="#h3-mouseinterval">mouseinterval</a></li>
+<li><a href="#h3-has_mouse">has_mouse</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-BUGS">BUGS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_move.3x.html b/doc/html/man/curs_move.3x.html
index 4c283581803a..c938a627a934 100644
--- a/doc/html/man/curs_move.3x.html
+++ b/doc/html/man/curs_move.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,79 +26,76 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_move.3x,v 1.14 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_move.3x,v 1.17 2018/07/28 21:34:56 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_move 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_move 3x</H1>
-<HR>
+<H1 class="no-header">curs_move 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>move</STRONG>, <STRONG>wmove</STRONG> - move <STRONG>curses</STRONG> window cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>move(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
<STRONG>int</STRONG> <STRONG>wmove(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines move the cursor associated with the window
- to line <EM>y</EM> and column <EM>x</EM>. This routine does not move the
- physical cursor of the terminal until <STRONG>refresh</STRONG> is called.
- The position specified is relative to the upper left-hand
- corner of the window, which is (0,0).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines move the cursor associated with the window to line <EM>y</EM> and
+ column <EM>x</EM>. This routine does not move the physical cursor of the termi-
+ nal until <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called. The position specified is relative to
+ the upper left-hand corner of the window, which is (0,0).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These routines return <STRONG>ERR</STRONG> upon failure and OK (SVr4 speci-
- fies only "an integer value other than <STRONG>ERR</STRONG>") upon success-
- ful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These routines return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an
+ integer value other than <STRONG>ERR</STRONG>") upon successful completion.
- Specifically, they return an error if the window pointer
- is null, or if the position is outside the window.
+ Specifically, they return an error if the window pointer is null, or if
+ the position is outside the window.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>move</STRONG> may be a macro.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_opaque.3x.html b/doc/html/man/curs_opaque.3x.html
index ff0e5711cdf5..f036c825d676 100644
--- a/doc/html/man/curs_opaque.3x.html
+++ b/doc/html/man/curs_opaque.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2007-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2007-2014,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_opaque.3x,v 1.10 2013/07/20 19:42:29 tom Exp @
+ * @Id: curs_opaque.3x,v 1.13 2015/12/05 20:05:45 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_opaque 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_opaque 3x</H1>
-<HR>
+<H1 class="no-header">curs_opaque 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>,
- <STRONG>is_leaveok</STRONG>, <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>, <STRONG>is_scrollok</STRONG>,
- <STRONG>is_subwin</STRONG>, <STRONG>is_syncok</STRONG> - <STRONG>curses</STRONG> window properties
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>, <STRONG>is_leaveok</STRONG>,
+ <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>, <STRONG>is_scrollok</STRONG>, <STRONG>is_subwin</STRONG>, <STRONG>is_syncok</STRONG>,
+ <STRONG>wgetdelay</STRONG>, <STRONG>wgetparent</STRONG>, <STRONG>wgetscrreg</STRONG> - <STRONG>curses</STRONG> window properties
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>bool</STRONG> <STRONG>is_cleared(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
@@ -69,14 +67,14 @@
<STRONG>bool</STRONG> <STRONG>is_subwin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
<STRONG>bool</STRONG> <STRONG>is_syncok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
<STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>wgetparent(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wgetdelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
<STRONG>int</STRONG> <STRONG>wgetscrreg(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>*top,</STRONG> <STRONG>int</STRONG> <STRONG>*bottom);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This implementation provides functions which return prop-
- erties set in the WINDOW structure, allowing it to be
- "opaque" if the symbol <STRONG>NCURSES_OPAQUE</STRONG> is defined:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This implementation provides functions which return properties set in
+ the WINDOW structure, allowing it to be "opaque" if the symbol <STRONG>NCURS-</STRONG>
+ <STRONG>ES_OPAQUE</STRONG> is defined:
<STRONG>is_cleared</STRONG>
returns the value set in <STRONG>clearok</STRONG>
@@ -103,59 +101,62 @@
returns the value set in <STRONG>notimeout</STRONG>
<STRONG>is_pad</STRONG>
- returns TRUE if the window is a pad i.e., created by
- <STRONG>newpad</STRONG>
+ returns <STRONG>TRUE</STRONG> if the window is a pad i.e., created by <STRONG>newpad</STRONG>
<STRONG>is_scrollok</STRONG>
returns the value set in <STRONG>scrollok</STRONG>
<STRONG>is_subwin</STRONG>
- returns TRUE if the window is a subwindow, i.e., cre-
- ated by <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG>
+ returns <STRONG>TRUE</STRONG> if the window is a subwindow, i.e., created by <STRONG>subwin</STRONG>
+ or <STRONG>derwin</STRONG>
<STRONG>is_syncok</STRONG>
returns the value set in <STRONG>syncok</STRONG>
+ <STRONG>wgetdelay</STRONG>
+ returns the delay timeout as set in <STRONG>wtimeout</STRONG>.
+
<STRONG>wgetparent</STRONG>
- returns the parent WINDOW pointer for subwindows, or
- NULL for windows having no parent.
+ returns the parent WINDOW pointer for subwindows, or NULL for win-
+ dows having no parent.
<STRONG>wgetscrreg</STRONG>
- returns the top and bottom rows for the scrolling
- margin as set in <STRONG>wsetscrreg</STRONG>.
+ returns the top and bottom rows for the scrolling margin as set in
+ <STRONG>wsetscrreg</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These functions all return TRUE or FALSE, except as noted.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These functions all return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, except as noted.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Both a macro and a function are provided for each name.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on ncurses ex-
- tensions be conditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on ncurses extensions be conditioned using NCURSES_VER-
+ SION.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG>curs_win-</STRONG>
- <STRONG><A HREF="curs_window.3x.html">dow(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+ <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_outopts.3x.html b/doc/html/man/curs_outopts.3x.html
index aad607f70a17..5fe4fa1eea52 100644
--- a/doc/html/man/curs_outopts.3x.html
+++ b/doc/html/man/curs_outopts.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,208 +26,216 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_outopts.3x,v 1.25 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_outopts.3x,v 1.29 2018/07/28 22:59:02 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_outopts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_outopts 3x</H1>
-<HR>
+<H1 class="no-header">curs_outopts 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>,
- <STRONG>wsetscrreg</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> - <STRONG>curses</STRONG> output options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>,
+ <STRONG>scrollok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> - <STRONG>curses</STRONG> output options
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>clearok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>int</STRONG> <STRONG>idlok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>void</STRONG> <STRONG>idcok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>void</STRONG> <STRONG>immedok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>int</STRONG> <STRONG>leaveok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>int</STRONG> <STRONG>setscrreg(int</STRONG> <STRONG>top,</STRONG> <STRONG>int</STRONG> <STRONG>bot);</STRONG>
- <STRONG>int</STRONG> <STRONG>wsetscrreg(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>top,</STRONG> <STRONG>int</STRONG> <STRONG>bot);</STRONG>
- <STRONG>int</STRONG> <STRONG>scrollok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+ <STRONG>int</STRONG> <STRONG>clearok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>idlok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>idcok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>immedok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>leaveok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>setscrreg(int</STRONG> <EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bot</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wsetscrreg(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bot</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scrollok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>nl(void);</STRONG>
<STRONG>int</STRONG> <STRONG>nonl(void);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines set options that change the style of output
- within <STRONG>curses</STRONG>. All options are initially <STRONG>FALSE</STRONG>, unless
- otherwise stated. It is not necessary to turn these op-
- tions off before calling <STRONG>endwin</STRONG>.
-
- If <STRONG>clearok</STRONG> is called with <STRONG>TRUE</STRONG> as argument, the next call
- to <STRONG>wrefresh</STRONG> with this window will clear the screen com-
- pletely and redraw the entire screen from scratch. This
- is useful when the contents of the screen are uncertain,
- or in some cases for a more pleasing visual effect. If
- the <EM>win</EM> argument to <STRONG>clearok</STRONG> is the global variable <STRONG>curscr</STRONG>,
- the next call to <STRONG>wrefresh</STRONG> with any window causes the
- screen to be cleared and repainted from scratch.
-
- If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, <STRONG>curses</STRONG>
- considers using the hardware insert/delete line feature of
- terminals so equipped. Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second
- argument disables use of line insertion and deletion.
- This option should be enabled only if the application
- needs insert/delete line, for example, for a screen edi-
- tor. It is disabled by default because insert/delete line
- tends to be visually annoying when used in applications
- where it is not really needed. If insert/delete line can-
- not be used, <STRONG>curses</STRONG> redraws the changed portions of all
- lines.
-
- If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG>
- no longer considers using the hardware insert/delete char-
- acter feature of terminals so equipped. Use of character
- insert/delete is enabled by default. Calling <STRONG>idcok</STRONG> with
- <STRONG>TRUE</STRONG> as second argument re-enables use of character inser-
- tion and deletion.
-
- If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in
- the window image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclr-</STRONG>
- <STRONG>tobot,</STRONG> <STRONG>wscrl</STRONG>, etc., automatically cause a call to <STRONG>wre-</STRONG>
- <STRONG>fresh</STRONG>. However, it may degrade performance considerably,
- due to repeated calls to <STRONG>wrefresh</STRONG>. It is disabled by de-
- fault.
-
- Normally, the hardware cursor is left at the location of
- the window cursor being refreshed. The <STRONG>leaveok</STRONG> option al-
- lows the cursor to be left wherever the update happens to
- leave it. It is useful for applications where the cursor
- is not used, since it reduces the need for cursor motions.
-
- The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow the applica-
- tion programmer to set a software scrolling region in a
- window. The <EM>top</EM> and <EM>bot</EM> parameters are the line numbers
- of the top and bottom margin of the scrolling region.
- (Line 0 is the top line of the window.) If this option
- and <STRONG>scrollok</STRONG> are enabled, an attempt to move off the bot-
- tom margin line causes all lines in the scrolling region
- to scroll one line in the direction of the first line.
- Only the text of the window is scrolled. (Note that this
- has nothing to do with the use of a physical scrolling re-
- gion capability in the terminal, like that in the VT100.
- If <STRONG>idlok</STRONG> is enabled and the terminal has either a
- scrolling region or insert/delete line capability, they
- will probably be used by the output routines.)
-
- The <STRONG>scrollok</STRONG> option controls what happens when the cursor
- of a window is moved off the edge of the window or
- scrolling region, either as a result of a newline action
- on the bottom line, or typing the last character of the
- last line. If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is left
- on the bottom line. If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the window
- is scrolled up one line (Note that to get the physical
- scrolling effect on the terminal, it is also necessary to
- call <STRONG>idlok</STRONG>).
-
- The <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> routines control whether the underlying
- display device translates the return key into newline on
- input, and whether it translates newline into return and
- line-feed on output (in either case, the call <STRONG>addch('\n')</STRONG>
- does the equivalent of return and line feed on the virtual
- screen). Initially, these translations do occur. If you
- disable them using <STRONG>nonl</STRONG>, <STRONG>curses</STRONG> will be able to make bet-
- ter use of the line-feed capability, resulting in faster
- cursor motion. Also, <STRONG>curses</STRONG> will then be able to detect
- the return key.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines set options that change the style of output within <STRONG>curs-</STRONG>
+ <STRONG>es</STRONG>. All options are initially <STRONG>FALSE</STRONG>, unless otherwise stated. It is
+ not necessary to turn these options off before calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-clearok">clearok</a></H3><PRE>
+ If <STRONG>clearok</STRONG> is called with <STRONG>TRUE</STRONG> as argument, the next call to <STRONG>wrefresh</STRONG>
+ with this window will clear the screen completely and redraw the entire
+ screen from scratch. This is useful when the contents of the screen
+ are uncertain, or in some cases for a more pleasing visual effect. If
+ the <EM>win</EM> argument to <STRONG>clearok</STRONG> is the global variable <STRONG>curscr</STRONG>, the next
+ call to <STRONG>wrefresh</STRONG> with any window causes the screen to be cleared and
+ repainted from scratch.
+
+
+</PRE><H3><a name="h3-idlok">idlok</a></H3><PRE>
+ If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, <STRONG>curses</STRONG> considers using
+ the hardware insert/delete line feature of terminals so equipped.
+ Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second argument disables use of line inser-
+ tion and deletion. This option should be enabled only if the applica-
+ tion needs insert/delete line, for example, for a screen editor. It is
+ disabled by default because insert/delete line tends to be visually an-
+ noying when used in applications where it is not really needed. If in-
+ sert/delete line cannot be used, <STRONG>curses</STRONG> redraws the changed portions of
+ all lines.
+
+
+</PRE><H3><a name="h3-idcok">idcok</a></H3><PRE>
+ If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG> no longer con-
+ siders using the hardware insert/delete character feature of terminals
+ so equipped. Use of character insert/delete is enabled by default.
+ Calling <STRONG>idcok</STRONG> with <STRONG>TRUE</STRONG> as second argument re-enables use of character
+ insertion and deletion.
+
+
+</PRE><H3><a name="h3-immedok">immedok</a></H3><PRE>
+ If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in the window
+ image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>, etc., auto-
+ matically cause a call to <STRONG>wrefresh</STRONG>. However, it may degrade perfor-
+ mance considerably, due to repeated calls to <STRONG>wrefresh</STRONG>. It is disabled
+ by default.
+
+
+</PRE><H3><a name="h3-leaveok">leaveok</a></H3><PRE>
+ Normally, the hardware cursor is left at the location of the window
+ cursor being refreshed. The <STRONG>leaveok</STRONG> option allows the cursor to be
+ left wherever the update happens to leave it. It is useful for appli-
+ cations where the cursor is not used, since it reduces the need for
+ cursor motions.
+
+
+</PRE><H3><a name="h3-setscrreg">setscrreg</a></H3><PRE>
+ The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow the application programmer
+ to set a software scrolling region in a window. The <EM>top</EM> and <EM>bot</EM> param-
+ eters are the line numbers of the top and bottom margin of the
+ scrolling region. (Line 0 is the top line of the window.) If this op-
+ tion and <STRONG>scrollok</STRONG> are enabled, an attempt to move off the bottom margin
+ line causes all lines in the scrolling region to scroll one line in the
+ direction of the first line. Only the text of the window is scrolled.
+ (Note that this has nothing to do with the use of a physical scrolling
+ region capability in the terminal, like that in the VT100. If <STRONG>idlok</STRONG> is
+ enabled and the terminal has either a scrolling region or insert/delete
+ line capability, they will probably be used by the output routines.)
+
+
+</PRE><H3><a name="h3-scrollok">scrollok</a></H3><PRE>
+ The <STRONG>scrollok</STRONG> option controls what happens when the cursor of a window
+ is moved off the edge of the window or scrolling region, either as a
+ result of a newline action on the bottom line, or typing the last char-
+ acter of the last line. If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is left
+ on the bottom line. If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the window is scrolled
+ up one line (Note that to get the physical scrolling effect on the ter-
+ minal, it is also necessary to call <STRONG>idlok</STRONG>).
+
+
+</PRE><H3><a name="h3-nl_-nonl">nl, nonl</a></H3><PRE>
+ The <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> routines control whether the underlying display device
+ translates the return key into newline on input, and whether it trans-
+ lates newline into return and line-feed on output (in either case, the
+ call <STRONG>addch('\n')</STRONG> does the equivalent of return and line feed on the
+ <EM>virtual</EM> <EM>screen</EM>). Initially, these translations do occur. If you dis-
+ able them using <STRONG>nonl</STRONG>, <STRONG>curses</STRONG> will be able to make better use of the
+ line-feed capability, resulting in faster cursor motion. Also, <STRONG>curses</STRONG>
+ will then be able to detect the return key.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The functions <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> return <STRONG>OK</STRONG> upon success and <STRONG>ERR</STRONG>
+ upon failure. All other routines that return an integer always return
+ <STRONG>OK</STRONG>.
+
+ X/Open Curses does not define any error conditions.
+
+ In this implementation, those functions that have a window pointer will
+ return an error if the window pointer is null.
+ <STRONG>wclrtoeol</STRONG>
+ returns an error if the cursor position is about to wrap.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The functions <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> return <STRONG>OK</STRONG> upon suc-
- cess and <STRONG>ERR</STRONG> upon failure. All other routines that return
- an integer always return <STRONG>OK</STRONG>.
+ <STRONG>wsetscrreg</STRONG>
+ returns an error if the scrolling region limits extend out-
+ side the window.
- X/Open does not define any error conditions.
+ X/Open does not define any error conditions. This implementation re-
+ turns an error if the window pointer is null.
- In this implementation, those functions that have a window
- pointer will return an error if the window pointer is
- null.
- <STRONG>wclrtoeol</STRONG>
- returns an error if the cursor position is
- about to wrap.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are described in the XSI Curses standard, Issue 4.
- <STRONG>wsetscrreg</STRONG>
- returns an error if the scrolling region lim-
- its extend outside the window.
+ The XSI Curses standard is ambiguous on the question of whether <STRONG>raw</STRONG>
+ should disable the CRLF translations controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>. BSD
+ curses did turn off these translations; AT&amp;T curses (at least as late
+ as SVr1) did not. We choose to do so, on the theory that a programmer
+ requesting raw input wants a clean (ideally 8-bit clean) connection
+ that the operating system will not alter.
- X/Open does not define any error conditions. This imple-
- mentation returns an error if the window pointer is null.
+ Some historic curses implementations had, as an undocumented feature,
+ the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG>
+ <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses.
+ Earlier System V curses implementations specified that with <STRONG>scrollok</STRONG>
+ enabled, any window modification triggering a scroll also forced a
+ physical refresh. XSI Curses does not require this, and <STRONG>ncurses</STRONG> avoids
+ doing it to perform better vertical-motion optimization at <STRONG>wrefresh</STRONG>
+ time.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4.
-
- The XSI Curses standard is ambiguous on the question of
- whether <STRONG>raw</STRONG>() should disable the CRLF translations con-
- trolled by <STRONG>nl</STRONG>() and <STRONG>nonl</STRONG>(). BSD curses did turn off these
- translations; AT&amp;T curses (at least as late as SVr1) did
- not. We choose to do so, on the theory that a programmer
- requesting raw input wants a clean (ideally 8-bit clean)
- connection that the operating system will not alter.
-
- Some historic curses implementations had, as an undocu-
- mented feature, the ability to do the equivalent of
- <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(std-</STRONG>
- <STRONG>scr)</STRONG>. This will not work under ncurses.
-
- Earlier System V curses implementations specified that
- with <STRONG>scrollok</STRONG> enabled, any window modification triggering
- a scroll also forced a physical refresh. XSI Curses does
- not require this, and <STRONG>ncurses</STRONG> avoids doing it to perform
- better vertical-motion optimization at <STRONG>wrefresh</STRONG> time.
-
- The XSI Curses standard does not mention that the cursor
- should be made invisible as a side-effect of <STRONG>leaveok</STRONG>.
- SVr4 curses documentation does this, but the code does
- not. Use <STRONG>curs_set</STRONG> to make the cursor invisible.
+ The XSI Curses standard does not mention that the cursor should be made
+ invisible as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does
+ this, but the code does not. Use <STRONG>curs_set</STRONG> to make the cursor invisi-
+ ble.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> and
- <STRONG>setscrreg</STRONG> may be macros.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG> and <STRONG>setscrreg</STRONG> may
+ be macros.
- The <STRONG>immedok</STRONG> routine is useful for windows that are used as
- terminal emulators.
+ The <STRONG>immedok</STRONG> routine is useful for windows that are used as terminal em-
+ ulators.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,
- <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
- <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-clearok">clearok</a></li>
+<li><a href="#h3-idlok">idlok</a></li>
+<li><a href="#h3-idcok">idcok</a></li>
+<li><a href="#h3-immedok">immedok</a></li>
+<li><a href="#h3-leaveok">leaveok</a></li>
+<li><a href="#h3-setscrreg">setscrreg</a></li>
+<li><a href="#h3-scrollok">scrollok</a></li>
+<li><a href="#h3-nl_-nonl">nl, nonl</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_overlay.3x.html b/doc/html/man/curs_overlay.3x.html
index 4adbfb7ff553..130796744a31 100644
--- a/doc/html/man/curs_overlay.3x.html
+++ b/doc/html/man/curs_overlay.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,96 +26,102 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_overlay.3x,v 1.17 2013/04/06 23:48:51 tom Exp @
+ * @Id: curs_overlay.3x,v 1.18 2015/07/21 00:51:31 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_overlay 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_overlay 3x</H1>
-<HR>
+<H1 class="no-header">curs_overlay 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay and manipulate
- overlapped <STRONG>curses</STRONG> windows
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay and manipulate overlapped <STRONG>curses</STRONG>
+ windows
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>overlay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*srcwin,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*dstwin);</STRONG>
- <STRONG>int</STRONG> <STRONG>overwrite(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*srcwin,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*dstwin);</STRONG>
- <STRONG>int</STRONG> <STRONG>copywin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*srcwin,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*dstwin,</STRONG> <STRONG>int</STRONG>
- <STRONG>sminrow,</STRONG>
- <STRONG>int</STRONG> <STRONG>smincol,</STRONG> <STRONG>int</STRONG> <STRONG>dminrow,</STRONG> <STRONG>int</STRONG> <STRONG>dmincol,</STRONG> <STRONG>int</STRONG> <STRONG>dmaxrow,</STRONG>
- <STRONG>int</STRONG> <STRONG>dmaxcol,</STRONG> <STRONG>int</STRONG> <STRONG>overlay);</STRONG>
+ <STRONG>int</STRONG> <STRONG>overlay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>overwrite(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>copywin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dmincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dmaxrow</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>dmaxcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>overlay</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines overlay <EM>srcwin</EM> on top
- of <EM>dstwin</EM>. <EM>scrwin</EM> and <EM>dstwin</EM> are not required to be the
- same size; only text where the two windows overlap is
- copied. The difference is that <STRONG>overlay</STRONG> is non-destructive
- (blanks are not copied) whereas <STRONG>overwrite</STRONG> is destructive.
-
- The <STRONG>copywin</STRONG> routine provides a finer granularity of con-
- trol over the <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines. As in the
- <STRONG>prefresh</STRONG> routine, a rectangle is specified in the destina-
- tion window, (<EM>dminrow</EM>, <EM>dmincol</EM>) and (<EM>dmaxrow</EM>, <EM>dmaxcol</EM>),
- and the upper-left-corner coordinates of the source win-
- dow, (<EM>sminrow</EM>, <EM>smincol</EM>). If the argument <EM>overlay</EM> is <STRONG>true</STRONG>,
- then copying is non-destructive, as in <STRONG>overlay</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-overlay_-overwrite">overlay, overwrite</a></H3><PRE>
+ The <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines overlay <EM>srcwin</EM> on top of <EM>dstwin</EM>.
+ <EM>scrwin</EM> and <EM>dstwin</EM> are not required to be the same size; only text where
+ the two windows overlap is copied. The difference is that <STRONG>overlay</STRONG> is
+ non-destructive (blanks are not copied) whereas <STRONG>overwrite</STRONG> is destruc-
+ tive.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure,
- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion.
- X/Open defines no error conditions. In this implementa-
- tion, <STRONG>copywin</STRONG>, <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> return an error if
- either of the window pointers are null, or if some part of
- the window would be placed off-screen.
+</PRE><H3><a name="h3-copywin">copywin</a></H3><PRE>
+ The <STRONG>copywin</STRONG> routine provides a finer granularity of control over the
+ <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines. As in the <STRONG>prefresh</STRONG> routine, a rectan-
+ gle is specified in the destination window, (<EM>dminrow</EM>, <EM>dmincol</EM>) and
+ (<EM>dmaxrow</EM>, <EM>dmaxcol</EM>), and the upper-left-corner coordinates of the source
+ window, (<EM>sminrow</EM>, <EM>smincol</EM>). If the argument <EM>overlay</EM> is <STRONG>true</STRONG>, then
+ copying is non-destructive, as in <STRONG>overlay</STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion.
+
+ X/Open defines no error conditions. In this implementation, <STRONG>copywin</STRONG>,
+ <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> return an error if either of the window pointers
+ are null, or if some part of the window would be placed off-screen.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these functions
- (adding the const qualifiers). It further specifies their
- behavior in the presence of characters with multibyte ren-
- ditions (not yet supported in this implementation).
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4 describes these functions (adding the
+ const qualifiers). It further specifies their behavior in the presence
+ of characters with multibyte renditions (not yet supported in this im-
+ plementation).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-overlay_-overwrite">overlay, overwrite</a></li>
+<li><a href="#h3-copywin">copywin</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_pad.3x.html b/doc/html/man/curs_pad.3x.html
index c9e2c6f7c3a9..70378c52dc64 100644
--- a/doc/html/man/curs_pad.3x.html
+++ b/doc/html/man/curs_pad.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,158 +26,231 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_pad.3x,v 1.17 2010/12/04 18:41:07 tom Exp @
+ * @Id: curs_pad.3x,v 1.25 2018/07/28 22:20:54 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_pad 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_pad 3x</H1>
-<HR>
+<H1 class="no-header">curs_pad 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>newpad</STRONG>, <STRONG>subpad</STRONG>, <STRONG>prefresh</STRONG>, <STRONG>pnoutrefresh</STRONG>, <STRONG>pechochar</STRONG>,
- <STRONG>pecho_wchar</STRONG> - create and display <STRONG>curses</STRONG> pads
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>newpad</STRONG>, <STRONG>subpad</STRONG>, <STRONG>prefresh</STRONG>, <STRONG>pnoutrefresh</STRONG>, <STRONG>pechochar</STRONG>, <STRONG>pecho_wchar</STRONG> - create
+ and display <STRONG>curses</STRONG> pads
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*newpad(int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*subpad(WINDOW</STRONG> <STRONG>*orig,</STRONG> <STRONG>int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols,</STRONG>
- <STRONG>int</STRONG> <STRONG>begin_y,</STRONG> <STRONG>int</STRONG> <STRONG>begin_x);</STRONG>
- <STRONG>int</STRONG> <STRONG>prefresh(WINDOW</STRONG> <STRONG>*pad,</STRONG> <STRONG>int</STRONG> <STRONG>pminrow,</STRONG> <STRONG>int</STRONG> <STRONG>pmincol,</STRONG>
- <STRONG>int</STRONG> <STRONG>sminrow,</STRONG> <STRONG>int</STRONG> <STRONG>smincol,</STRONG> <STRONG>int</STRONG> <STRONG>smaxrow,</STRONG> <STRONG>int</STRONG> <STRONG>smaxcol);</STRONG>
- <STRONG>int</STRONG> <STRONG>pnoutrefresh(WINDOW</STRONG> <STRONG>*pad,</STRONG> <STRONG>int</STRONG> <STRONG>pminrow,</STRONG> <STRONG>int</STRONG> <STRONG>pmincol,</STRONG>
- <STRONG>int</STRONG> <STRONG>sminrow,</STRONG> <STRONG>int</STRONG> <STRONG>smincol,</STRONG> <STRONG>int</STRONG> <STRONG>smaxrow,</STRONG> <STRONG>int</STRONG> <STRONG>smaxcol);</STRONG>
- <STRONG>int</STRONG> <STRONG>pechochar(WINDOW</STRONG> <STRONG>*pad,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>int</STRONG> <STRONG>pecho_wchar(WINDOW</STRONG> <STRONG>*pad,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*wch);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*newpad(int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*subpad(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>prefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pmincol</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxcol</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>pnoutrefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pmincol</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxcol</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>pechochar(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>pecho_wchar(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>newpad</STRONG> routine creates and returns a pointer to a new
- pad data structure with the given number of lines, <EM>nlines</EM>,
- and columns, <EM>ncols</EM>. A pad is like a window, except that
- it is not restricted by the screen size, and is not neces-
- sarily associated with a particular part of the screen.
- Pads can be used when a large window is needed, and only a
- part of the window will be on the screen at one time. Au-
- tomatic refreshes of pads (e.g., from scrolling or echoing
- of input) do not occur. It is not legal to call <STRONG>wrefresh</STRONG>
- with a <EM>pad</EM> as an argument; the routines <STRONG>prefresh</STRONG> or
- <STRONG>pnoutrefresh</STRONG> should be called instead. Note that these
- routines require additional parameters to specify the part
- of the pad to be displayed and the location on the screen
- to be used for the display.
-
- The <STRONG>subpad</STRONG> routine creates and returns a pointer to a sub-
- window within a pad with the given number of lines,
- <EM>nlines</EM>, and columns, <EM>ncols</EM>. Unlike <STRONG>subwin</STRONG>, which uses
- screen coordinates, the window is at position (<EM>begin</EM>_<EM>x</EM><STRONG>,</STRONG>
- <EM>begin</EM>_<EM>y</EM>) on the pad. The window is made in the middle of
- the window <EM>orig</EM>, so that changes made to one window affect
- both windows. During the use of this routine, it will of-
- ten be necessary to call <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> be-
- fore calling <STRONG>prefresh</STRONG>.
-
- The <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> routines are analogous to
- <STRONG>wrefresh</STRONG> and <STRONG>wnoutrefresh</STRONG> except that they relate to pads
- instead of windows. The additional parameters are needed
- to indicate what part of the pad and screen are involved.
- The <EM>pminrow</EM> and <EM>pmincol</EM> parameters specify the upper left-
- hand corner of the rectangle to be displayed in the pad.
- The <EM>sminrow</EM>, <EM>smincol</EM>, <EM>smaxrow</EM>, and <EM>smaxcol</EM> parameters
- specify the edges of the rectangle to be displayed on the
- screen. The lower right-hand corner of the rectangle to
- be displayed in the pad is calculated from the screen co-
- ordinates, since the rectangles must be the same size.
- Both rectangles must be entirely contained within their
- respective structures. Negative values of <EM>pminrow</EM>, <EM>pmin-</EM>
- <EM>col</EM>, <EM>sminrow</EM>, or <EM>smincol</EM> are treated as if they were zero.
-
- The <STRONG>pechochar</STRONG> routine is functionally equivalent to a call
- to <STRONG>addch</STRONG> followed by a call to <STRONG>refresh</STRONG>, a call to <STRONG>waddch</STRONG>
- followed by a call to <STRONG>wrefresh</STRONG>, or a call to <STRONG>waddch</STRONG> fol-
- lowed by a call to <STRONG>prefresh</STRONG>. The knowledge that only a
- single character is being output is taken into considera-
- tion and, for non-control characters, a considerable per-
- formance gain might be seen by using these routines in-
- stead of their equivalents. In the case of <STRONG>pechochar</STRONG>, the
- last location of the pad on the screen is reused for the
- arguments to <STRONG>prefresh</STRONG>.
-
- The <STRONG>pecho_wchar</STRONG> function is the analogous wide-character
- form of <STRONG>pechochar</STRONG>. It outputs one character to a pad and
- immediately refreshes the pad. It does this by a call to
- <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>prefresh</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-newpad">newpad</a></H3><PRE>
+ The <STRONG>newpad</STRONG> routine creates and returns a pointer to a new pad data
+ structure with the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>.
+ A pad is like a window, except that it is not restricted by the screen
+ size, and is not necessarily associated with a particular part of the
+ screen. Pads can be used when a large window is needed, and only a
+ part of the window will be on the screen at one time. Automatic re-
+ freshes of pads (e.g., from scrolling or echoing of input) do not oc-
+ cur.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion.
+ It is not legal to call <STRONG>wrefresh</STRONG> with a <EM>pad</EM> as an argument; the rou-
+ tines <STRONG>prefresh</STRONG> or <STRONG>pnoutrefresh</STRONG> should be called instead. Note that
+ these routines require additional parameters to specify the part of the
+ pad to be displayed and the location on the screen to be used for the
+ display.
- Routines that return pointers return <STRONG>NULL</STRONG> on error, and
- set <STRONG>errno</STRONG> to <STRONG>ENOMEM</STRONG>.
- X/Open does not define any error conditions. In this im-
- plementation
+</PRE><H3><a name="h3-subpad">subpad</a></H3><PRE>
+ The <STRONG>subpad</STRONG> routine creates and returns a pointer to a subwindow within
+ a pad with the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. Un-
+ like <STRONG>subwin</STRONG>, which uses screen coordinates, the window is at position
+ (<EM>begin</EM>_<EM>x</EM><STRONG>,</STRONG> <EM>begin</EM>_<EM>y</EM>) on the pad. The window is made in the middle of the
+ window <EM>orig</EM>, so that changes made to one window affect both windows.
+ During the use of this routine, it will often be necessary to call
+ <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>prefresh</STRONG>.
- <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>
- return an error if the window pointer is null,
- or if the window is not really a pad or if the
- area to refresh extends off-screen or if the
- minimum coordinates are greater than the maxi-
- mum.
- <STRONG>pechochar</STRONG>
- returns an error if the window is not really a
- pad, and the associated call to <STRONG>wechochar</STRONG> re-
- turns an error.
+</PRE><H3><a name="h3-prefresh_-pnoutrefresh">prefresh, pnoutrefresh</a></H3><PRE>
+ The <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> routines are analogous to <STRONG>wrefresh</STRONG> and
+ <STRONG>wnoutrefresh</STRONG> except that they relate to pads instead of windows. The
+ additional parameters are needed to indicate what part of the pad and
+ screen are involved.
- <STRONG>pecho_wchar</STRONG>
- returns an error if the window is not really a
- pad, and the associated call to <STRONG>wecho_wchar</STRONG>
- returns an error.
+ <STRONG>o</STRONG> The <EM>pminrow</EM> and <EM>pmincol</EM> parameters specify the upper left-hand cor-
+ ner of the rectangle to be displayed in the pad.
+ <STRONG>o</STRONG> The <EM>sminrow</EM>, <EM>smincol</EM>, <EM>smaxrow</EM>, and <EM>smaxcol</EM> parameters specify the
+ edges of the rectangle to be displayed on the screen.
-</PRE>
-<H2>NOTES</H2><PRE>
+ The lower right-hand corner of the rectangle to be displayed in the pad
+ is calculated from the screen coordinates, since the rectangles must be
+ the same size. Both rectangles must be entirely contained within their
+ respective structures. Negative values of <EM>pminrow</EM>, <EM>pmincol</EM>, <EM>sminrow</EM>,
+ or <EM>smincol</EM> are treated as if they were zero.
+
+
+</PRE><H3><a name="h3-pechochar">pechochar</a></H3><PRE>
+ The <STRONG>pechochar</STRONG> routine is functionally equivalent to a call to <STRONG>addch</STRONG>
+ followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, a call to <STRONG>waddch</STRONG> followed by a call
+ to <STRONG>wrefresh</STRONG>, or a call to <STRONG>waddch</STRONG> followed by a call to <STRONG>prefresh</STRONG>. The
+ knowledge that only a single character is being output is taken into
+ consideration and, for non-control characters, a considerable perfor-
+ mance gain might be seen by using these routines instead of their
+ equivalents. In the case of <STRONG>pechochar</STRONG>, the last location of the pad on
+ the screen is reused for the arguments to <STRONG>prefresh</STRONG>.
+
+
+</PRE><H3><a name="h3-pecho_wchar">pecho_wchar</a></H3><PRE>
+ The <STRONG>pecho_wchar</STRONG> function is the analogous wide-character form of <STRONG>pe-</STRONG>
+ <STRONG>chochar</STRONG>. It outputs one character to a pad and immediately refreshes
+ the pad. It does this by a call to <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>pre-</STRONG>
+ <STRONG>fresh</STRONG>.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion.
+
+ Routines that return pointers return <STRONG>NULL</STRONG> on error, and set <STRONG>errno</STRONG> to
+ <STRONG>ENOMEM</STRONG>.
+
+ X/Open does not define any error conditions. In this implementation
+
+ <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>
+ return an error if the window pointer is null, or if the window
+ is not really a pad or if the area to refresh extends off-
+ screen or if the minimum coordinates are greater than the maxi-
+ mum.
+
+ <STRONG>pechochar</STRONG>
+ returns an error if the window is not really a pad, and the as-
+ sociated call to <STRONG>wechochar</STRONG> returns an error.
+
+ <STRONG>pecho_wchar</STRONG>
+ returns an error if the window is not really a pad, and the as-
+ sociated call to <STRONG>wecho_wchar</STRONG> returns an error.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>pechochar</STRONG> may be a macro.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ BSD curses has no <EM>pad</EM> feature.
+ SVr2 curses (1986) provided the <STRONG>newpad</STRONG> and related functions, document-
+ ing them in a single line each. SVr3 (1987) provided more extensive
+ documentation.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG>curs_add-</STRONG>
- <STRONG><A HREF="curs_addch.3x.html">ch(3x)</A></STRONG>.
+ The documentation does not explain the term <EM>pad</EM>. However, the Apollo
+ <EM>Aegis</EM> workstation operating system supported a graphical <EM>pad</EM> feature:
+
+ <STRONG>o</STRONG> These graphical pads could be much larger than the computer's dis-
+ play.
+
+ <STRONG>o</STRONG> The read-only output from a command could be scrolled back to in-
+ spect, and select text from the pad.
+
+ The two uses may be related.
+
+ The XSI Curses standard, Issue 4 describes these functions, without
+ significant change from the SVr3 documentation. It describes no error
+ conditions. The behavior of <STRONG>subpad</STRONG> if the parent window is not a pad
+ is undocumented, and is not checked by the vendor Unix implementations:
+
+ <STRONG>o</STRONG> SVr4 curses sets a flag in the <STRONG>WINDOW</STRONG> structure in <STRONG>newpad</STRONG> which
+ tells if the window is a <EM>pad</EM>.
+
+ However, it uses this information only in <STRONG>waddch</STRONG> (to decide if it
+ should call <STRONG>wrefresh</STRONG>) and <STRONG>wscrl</STRONG> (to avoid scrolling a pad), and
+ does not check in <STRONG>wrefresh</STRONG> to ensure that the pad is refreshed
+ properly.
+
+ <STRONG>o</STRONG> Solaris X/Open Curses checks if a window is a pad in <STRONG>wnoutrefresh</STRONG>,
+ returning <STRONG>ERR</STRONG> in that case.
+
+ However, it only sets the flag for subwindows if the parent window
+ is a pad. Its <STRONG>newpad</STRONG> function does not set this information. Con-
+ sequently, the check will never fail.
+
+ It makes no comparable check in <STRONG>pnoutrefresh</STRONG>, though interestingly
+ enough, a comment in the source code states that the lack of a
+ check was an MKS extension.
+
+ <STRONG>o</STRONG> NetBSD 7 curses sets a flag in the <STRONG>WINDOW</STRONG> structure for <STRONG>newpad</STRONG> and
+ <STRONG>subpad</STRONG>, using this to help with the distinction between <STRONG>wnoutre-</STRONG>
+ <STRONG>fresh</STRONG> and <STRONG>pnoutrefresh</STRONG>.
+
+ It does not check for the case where a subwindow is created in a
+ pad using <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG>.
+
+ The <STRONG>dupwin</STRONG> function returns a regular window when duplicating a
+ pad. Likewise, <STRONG>getwin</STRONG> always returns a window, even if the saved
+ data was from a pad.
+
+ This implementation
+
+ <STRONG>o</STRONG> sets a flag in the <STRONG>WINDOW</STRONG> structure for <STRONG>newpad</STRONG> and <STRONG>subpad</STRONG>,
+
+ <STRONG>o</STRONG> allows a <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG> call to succeed having a pad parent by
+ forcing the subwindow to be a pad,
+
+ <STRONG>o</STRONG> checks in both <STRONG>wnoutrefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> to ensure that pads
+ and windows are handled distinctly, and
+
+ <STRONG>o</STRONG> ensures that <STRONG>dupwin</STRONG> and <STRONG>getwin</STRONG> treat pads versus windows consis-
+ tently.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
- <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-newpad">newpad</a></li>
+<li><a href="#h3-subpad">subpad</a></li>
+<li><a href="#h3-prefresh_-pnoutrefresh">prefresh, pnoutrefresh</a></li>
+<li><a href="#h3-pechochar">pechochar</a></li>
+<li><a href="#h3-pecho_wchar">pecho_wchar</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_print.3x.html b/doc/html/man/curs_print.3x.html
index 14f53c1e1687..07d38e435b00 100644
--- a/doc/html/man/curs_print.3x.html
+++ b/doc/html/man/curs_print.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,95 +26,89 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_print.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_print.3x,v 1.13 2018/07/28 21:34:56 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_print 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_print 3x</H1>
-<HR>
+<H1 class="no-header">curs_print 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>mcprint</STRONG> - ship binary data to printer
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>mcprint(char</STRONG> <STRONG>*data,</STRONG> <STRONG>int</STRONG> <STRONG>len);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This function uses the <STRONG>mc5p</STRONG> or <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities,
- if they are present, to ship given data to a printer
- attached to the terminal.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This function uses the <STRONG>mc5p</STRONG> or <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities, if they are
+ present, to ship given data to a printer attached to the terminal.
- Note that the <STRONG>mcprint</STRONG> code has no way to do flow control
- with the printer or to know how much buffering it has.
- Your application is responsible for keeping the rate of
- writes to the printer below its continuous throughput rate
- (typically about half of its nominal cps rating). Dot-
- matrix printers and 6-page-per-minute lasers can typically
- handle 80cps, so a good conservative rule of thumb is to
- sleep for a second after shipping each 80-character line.
+ Note that the <STRONG>mcprint</STRONG> code has no way to do flow control with the
+ printer or to know how much buffering it has. Your application is
+ responsible for keeping the rate of writes to the printer below its
+ continuous throughput rate (typically about half of its nominal cps
+ rating). Dot-matrix printers and 6-page-per-minute lasers can typi-
+ cally handle 80cps, so a good conservative rule of thumb is to sleep
+ for a second after shipping each 80-character line.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The <STRONG>mcprint</STRONG> function returns <STRONG>ERR</STRONG> if the write operation
- aborted for some reason. In this case, errno will contain
- either an error associated with <STRONG>write(2)</STRONG> or one of the
- following:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The <STRONG>mcprint</STRONG> function returns <STRONG>ERR</STRONG> if the write operation aborted for
+ some reason. In this case, errno will contain either an error associ-
+ ated with <STRONG>write(2)</STRONG> or one of the following:
ENODEV
Capabilities for printer redirection do not exist.
ENOMEM
- Couldn't allocate sufficient memory to buffer the
- printer write.
+ Couldn't allocate sufficient memory to buffer the printer write.
- When <STRONG>mcprint</STRONG> succeeds, it returns the number of characters
- actually sent to the printer.
+ When <STRONG>mcprint</STRONG> succeeds, it returns the number of characters actually
+ sent to the printer.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The <STRONG>mcprint</STRONG> call was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not
- found in SVr4 curses, 4.4BSD curses, or any other previous
- version of curses.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <STRONG>mcprint</STRONG> call was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not found in SVr4
+ curses, 4.4BSD curses, or any other previous version of curses.
-</PRE>
-<H2>BUGS</H2><PRE>
- Padding in the <STRONG>mc5p</STRONG>, <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities will not be
- interpreted.
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+ Padding in the <STRONG>mc5p</STRONG>, <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities will not be interpreted.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+ <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-BUGS">BUGS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_printw.3x.html b/doc/html/man/curs_printw.3x.html
index 90b9f498d64d..994a1b5d6bca 100644
--- a/doc/html/man/curs_printw.3x.html
+++ b/doc/html/man/curs_printw.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,100 +26,105 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_printw.3x,v 1.20 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_printw.3x,v 1.24 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_printw 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_printw 3x</H1>
-<HR>
+<H1 class="no-header">curs_printw 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, <STRONG>mvwprintw</STRONG>, <STRONG>vwprintw</STRONG>, <STRONG>vw_printw</STRONG>
- - print formatted output in <STRONG>curses</STRONG> windows
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, <STRONG>mvwprintw</STRONG>, <STRONG>vwprintw</STRONG>, <STRONG>vw_printw</STRONG> - print
+ formatted output in <STRONG>curses</STRONG> windows
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>printw(const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
<STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
<STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG>
- <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>var-</STRONG>
- <STRONG>glist);</STRONG>
- <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>var-</STRONG>
- <STRONG>glist);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+ /* obsolete */
+ <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are
- analogous to <STRONG>printf</STRONG> [see <STRONG>printf(3)</STRONG>]. In effect, the
- string that would be output by <STRONG>printf</STRONG> is output instead as
- though <STRONG>waddstr</STRONG> were used on the given window.
- The <STRONG>vwprintw</STRONG> and <STRONG>wv_printw</STRONG> routines are analogous to
- <STRONG>vprintf</STRONG> [see <STRONG>printf(3)</STRONG>] and perform a <STRONG>wprintw</STRONG> using a
- variable argument list. The third argument is a <STRONG>va_list</STRONG>,
- a pointer to a list of arguments, as defined in
- <STRONG>&lt;stdarg.h&gt;</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are analogous to
+ <STRONG>printf</STRONG> [see <STRONG>printf(3)</STRONG>]. In effect, the string that would be output by
+ <STRONG>printf</STRONG> is output instead as though <STRONG>waddstr</STRONG> were used on the given win-
+ dow.
+ The <STRONG>vwprintw</STRONG> and <STRONG>wv_printw</STRONG> routines are analogous to <STRONG>vprintf</STRONG> [see
+ <STRONG>printf(3)</STRONG>] and perform a <STRONG>wprintw</STRONG> using a variable argument list. The
+ third argument is a <STRONG>va_list</STRONG>, a pointer to a list of arguments, as de-
+ fined in <STRONG>&lt;stdarg.h&gt;</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion.
- X/Open defines no error conditions. In this implementa-
- tion, an error may be returned if it cannot allocate
- enough memory for the buffer used to format the results.
- It will return an error if the window pointer is null.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ X/Open defines no error conditions. In this implementation, an error
+ may be returned if it cannot allocate enough memory for the buffer used
+ to format the results. It will return an error if the window pointer
+ is null.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions. The function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN,
- and is to be replaced by a function <STRONG>vw_printw</STRONG> using the
- <STRONG>&lt;stdarg.h&gt;</STRONG> interface. The Single Unix Specification, Ver-
- sion 2 states that <STRONG>vw_printw</STRONG> is preferred to <STRONG>vwprintw</STRONG>
- since the latter requires including <STRONG>&lt;varargs.h&gt;</STRONG>, which
- cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>. This im-
- plementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
- is included in <STRONG>&lt;curses.h</STRONG>&gt;.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ In this implementation, <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> are equivalent, to sup-
+ port legacy applications. However, the latter (<STRONG>vwprintw</STRONG>) is obsolete:
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG>vprintf(3)</STRONG>
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions. The
+ function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN, and is to be replaced
+ by a function <STRONG>vw_printw</STRONG> using the <STRONG>&lt;stdarg.h&gt;</STRONG> interface.
+
+ <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_printw</STRONG> is
+ preferred to <STRONG>vwprintw</STRONG> since the latter requires including
+ <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
+ This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
+ is included in <STRONG>&lt;curses.h</STRONG>&gt;.
+
+ <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwprintw</STRONG> (along with
+ <STRONG>vwscanw</STRONG> and the termcap interface) as withdrawn.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
+ <STRONG>printf(3)</STRONG>, <STRONG>vprintf(3)</STRONG>.
- <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_refresh.3x.html b/doc/html/man/curs_refresh.3x.html
index ad8874992203..04ca3d0da9e2 100644
--- a/doc/html/man/curs_refresh.3x.html
+++ b/doc/html/man/curs_refresh.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_refresh.3x,v 1.15 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_refresh.3x,v 1.20 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_refresh 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_refresh 3x</H1>
-<HR>
+<H1 class="no-header">curs_refresh 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>,
- <STRONG>wrefresh</STRONG> - refresh <STRONG>curses</STRONG> windows and lines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>, <STRONG>wrefresh</STRONG> -
+ refresh <STRONG>curses</STRONG> windows and lines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>refresh(void);</STRONG>
@@ -63,108 +61,120 @@
<STRONG>int</STRONG> <STRONG>wredrawln(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>beg_line,</STRONG> <STRONG>int</STRONG> <STRONG>num_lines);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>refresh</STRONG> and <STRONG>wrefresh</STRONG> routines (or <STRONG>wnoutrefresh</STRONG> and
- <STRONG>doupdate</STRONG>) must be called to get actual output to the ter-
- minal, as other routines merely manipulate data struc-
- tures. The routine <STRONG>wrefresh</STRONG> copies the named window to
- the physical terminal screen, taking into account what is
- already there to do optimizations. The <STRONG>refresh</STRONG> routine is
- the same, using <STRONG>stdscr</STRONG> as the default window. Unless
- <STRONG>leaveok</STRONG> has been enabled, the physical cursor of the ter-
- minal is left at the location of the cursor for that win-
- dow.
-
- The <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple up-
- dates with more efficiency than <STRONG>wrefresh</STRONG> alone. In addi-
- tion to all the window structures, <STRONG>curses</STRONG> keeps two data
- structures representing the terminal screen: a physical
- screen, describing what is actually on the screen, and a
- virtual screen, describing what the programmer wants to
- have on the screen.
-
- The routine <STRONG>wrefresh</STRONG> works by first calling <STRONG>wnoutrefresh</STRONG>,
- which copies the named window to the virtual screen, and
- then calling <STRONG>doupdate</STRONG>, which compares the virtual screen
- to the physical screen and does the actual update. If the
- programmer wishes to output several windows at once, a se-
- ries of calls to <STRONG>wrefresh</STRONG> results in alternating calls to
- <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG>, causing several bursts of out-
- put to the screen. By first calling <STRONG>wnoutrefresh</STRONG> for each
- window, it is then possible to call <STRONG>doupdate</STRONG> once, result-
- ing in only one burst of output, with fewer total charac-
- ters transmitted and less CPU time used. If the <EM>win</EM> argu-
- ment to <STRONG>wrefresh</STRONG> is the global variable <STRONG>curscr</STRONG>, the screen
- is immediately cleared and repainted from scratch.
-
- The phrase "copies the named window to the virtual screen"
- above is ambiguous. What actually happens is that all
- <EM>touched</EM> (changed) lines in the window are copied to the
- virtual screen. This affects programs that use overlap-
- ping windows; it means that if two windows overlap, you
- can refresh them in either order and the overlap region
- will be modified only when it is explicitly changed. (But
- see the section on <STRONG>PORTABILITY</STRONG> below for a warning about
- exploiting this behavior.)
-
- The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> that some screen
- lines are corrupted and should be thrown away before any-
- thing is written over them. It touches the indicated
- lines (marking them changed). The routine <STRONG>redrawwin</STRONG>()
- touches the entire window.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-refresh_wrefresh">refresh/wrefresh</a></H3><PRE>
+ The <STRONG>refresh</STRONG> and <STRONG>wrefresh</STRONG> routines (or <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG>) must
+ be called to get actual output to the terminal, as other routines mere-
+ ly manipulate data structures. The routine <STRONG>wrefresh</STRONG> copies the named
+ window to the <EM>physical</EM> <EM>screen</EM>, taking into account what is already
+ there to do optimizations. The <STRONG>refresh</STRONG> routine is the same, using <STRONG>std-</STRONG>
+ <STRONG>scr</STRONG> as the default window. Unless <STRONG>leaveok</STRONG> has been enabled, the physi-
+ cal cursor of the terminal is left at the location of the cursor for
+ that window.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure,
- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion.
- X/Open does not define any error conditions. In this im-
- plementation
+</PRE><H3><a name="h3-wnoutrefresh_doupdate">wnoutrefresh/doupdate</a></H3><PRE>
+ The <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple updates with more
+ efficiency than <STRONG>wrefresh</STRONG> alone. In addition to all the window struc-
+ tures, <STRONG>curses</STRONG> keeps two data structures representing the terminal
+ screen:
- <STRONG>wnoutrefresh</STRONG>
- returns an error if the window pointer is
- null, or if the window is really a pad.
+ <STRONG>o</STRONG> a <EM>physical</EM> <EM>screen</EM>, describing what is actually on the screen, and
- <STRONG>wredrawln</STRONG>
- returns an error if the associated call to
- <STRONG>touchln</STRONG> returns an error.
+ <STRONG>o</STRONG> a <EM>virtual</EM> <EM>screen</EM>, describing what the programmer wants to have on
+ the screen.
+ The routine <STRONG>wrefresh</STRONG> works by
-</PRE>
-<H2>NOTES</H2><PRE>
+ <STRONG>o</STRONG> first calling <STRONG>wnoutrefresh</STRONG>, which copies the named window to the
+ <EM>virtual</EM> <EM>screen</EM>, and
+
+ <STRONG>o</STRONG> then calling <STRONG>doupdate</STRONG>, which compares the <EM>virtual</EM> <EM>screen</EM> to the
+ <EM>physical</EM> <EM>screen</EM> and does the actual update.
+
+ If the programmer wishes to output several windows at once, a series of
+ calls to <STRONG>wrefresh</STRONG> results in alternating calls to <STRONG>wnoutrefresh</STRONG> and
+ <STRONG>doupdate</STRONG>, causing several bursts of output to the screen. By first
+ calling <STRONG>wnoutrefresh</STRONG> for each window, it is then possible to call <STRONG>doup-</STRONG>
+ <STRONG>date</STRONG> once, resulting in only one burst of output, with fewer total
+ characters transmitted and less CPU time used.
+
+ If the <EM>win</EM> argument to <STRONG>wrefresh</STRONG> is the <EM>physical</EM> <EM>screen</EM> (i.e., the glob-
+ al variable <STRONG>curscr</STRONG>), the screen is immediately cleared and repainted
+ from scratch.
+
+ The phrase "copies the named window to the virtual screen" above is am-
+ biguous. What actually happens is that all <EM>touched</EM> (changed) lines in
+ the window are copied to the virtual screen. This affects programs
+ that use overlapping windows; it means that if two windows overlap, you
+ can refresh them in either order and the overlap region will be modi-
+ fied only when it is explicitly changed. (But see the section on
+ <STRONG>PORTABILITY</STRONG> below for a warning about exploiting this behavior.)
+
+
+</PRE><H3><a name="h3-wredrawln_redrawwin">wredrawln/redrawwin</a></H3><PRE>
+ The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> that some screen lines are
+ corrupted and should be thrown away before anything is written over
+ them. It touches the indicated lines (marking them changed). The rou-
+ tine <STRONG>redrawwin</STRONG> touches the entire window.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion.
+
+ X/Open does not define any error conditions. In this implementation
+
+ <STRONG>wnoutrefresh</STRONG>
+ returns an error if the window pointer is null, or if the win-
+ dow is really a pad.
+
+ <STRONG>wredrawln</STRONG>
+ returns an error if the associated call to <STRONG>touchln</STRONG> returns an
+ error.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>refresh</STRONG> and <STRONG>redrawwin</STRONG> may be macros.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4 describes these functions.
- Whether <STRONG>wnoutrefresh()</STRONG> copies to the virtual screen the
- entire contents of a window or just its changed portions
- has never been well-documented in historic curses versions
- (including SVr4). It might be unwise to rely on either
- behavior in programs that might have to be linked with
- other curses implementations. Instead, you can do an ex-
- plicit <STRONG>touchwin()</STRONG> before the <STRONG>wnoutrefresh()</STRONG> call to guar-
- antee an entire-contents copy anywhere.
+ Whether <STRONG>wnoutrefresh</STRONG> copies to the virtual screen the entire contents
+ of a window or just its changed portions has never been well-documented
+ in historic curses versions (including SVr4). It might be unwise to
+ rely on either behavior in programs that might have to be linked with
+ other curses implementations. Instead, you can do an explicit <STRONG>touchwin</STRONG>
+ before the <STRONG>wnoutrefresh</STRONG> call to guarantee an entire-contents copy any-
+ where.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-refresh_wrefresh">refresh/wrefresh</a></li>
+<li><a href="#h3-wnoutrefresh_doupdate">wnoutrefresh/doupdate</a></li>
+<li><a href="#h3-wredrawln_redrawwin">wredrawln/redrawwin</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_scanw.3x.html b/doc/html/man/curs_scanw.3x.html
index 5023f670bb75..48d0d2dcbfcd 100644
--- a/doc/html/man/curs_scanw.3x.html
+++ b/doc/html/man/curs_scanw.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,107 +26,123 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scanw.3x,v 1.17 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_scanw.3x,v 1.25 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_scanw 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_scanw 3x</H1>
-<HR>
+<H1 class="no-header">curs_scanw 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - con-
- vert formatted input from a <STRONG>curses</STRONG> window
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - convert formatted
+ input from a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>scanw(char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>wscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvscanw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>vw_scanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
- <STRONG>int</STRONG> <STRONG>vwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scanw(const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvscanw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vw_scanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+ /* obsolete */
+ <STRONG>int</STRONG> <STRONG>vwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> and <STRONG>mvscanw</STRONG> routines are analogous to
- <STRONG>scanf</STRONG> [see <STRONG>scanf(3)</STRONG>]. The effect of these routines is as
- though <STRONG>wgetstr</STRONG> were called on the window, and the result-
- ing line used as input for <STRONG>sscanf(3)</STRONG>. Fields which do not
- map to a variable in the <EM>fmt</EM> field are lost.
- The <STRONG>vwscanw</STRONG> and <STRONG>vw_scanw</STRONG> routines are analogous to <STRONG>vscanf</STRONG>.
- They perform a <STRONG>wscanw</STRONG> using a variable argument list. The
- third argument is a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a pointer to a list of argu-
- ments, as defined in <STRONG>&lt;stdarg.h&gt;</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> and <STRONG>mvscanw</STRONG> routines are analogous to <STRONG>scanf</STRONG> [see
+ <STRONG>scanf(3)</STRONG>]. The effect of these routines is as though <STRONG>wgetstr</STRONG> were
+ called on the window, and the resulting line used as input for
+ <STRONG>sscanf(3)</STRONG>. Fields which do not map to a variable in the <EM>fmt</EM> field are
+ lost.
+ The <STRONG>vwscanw</STRONG> and <STRONG>vw_scanw</STRONG> routines are analogous to <STRONG>vscanf(3)</STRONG>. They
+ perform a <STRONG>wscanw</STRONG> using a variable argument list. The third argument is
+ a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a pointer to a list of arguments, as defined in <STRONG>&lt;stdarg.h&gt;</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>vwscanw</STRONG> returns <STRONG>ERR</STRONG> on failure and an integer equal to the
- number of fields scanned on success.
- Applications may use the return value from the <STRONG>scanw</STRONG>,
- <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG> and <STRONG>mvwscanw</STRONG> routines to determine the
- number of fields which were mapped in the call.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>vwscanw</STRONG> returns <STRONG>ERR</STRONG> on failure and an integer equal to the number of
+ fields scanned on success.
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
- outside the window, or if the window pointer is null.
+ Applications may use the return value from the <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>
+ and <STRONG>mvwscanw</STRONG> routines to determine the number of fields which were
+ mapped in the call.
+ Functions with a "mv" prefix first perform a cursor movement using
+ <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ the window pointer is null.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions. The function <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN,
- and is to be replaced by a function <STRONG>vw_scanw</STRONG> using the
- <STRONG>&lt;stdarg.h&gt;</STRONG> interface. The Single Unix Specification, Ver-
- sion 2 states that <STRONG>vw_scanw</STRONG> is preferred to <STRONG>vwscanw</STRONG> since
- the latter requires including <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be
- used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>. This implementation
- uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header is included
- in <STRONG>&lt;curses.h</STRONG>&gt;.
-
- Both XSI and The Single Unix Specification, Version 2
- state that these functions return ERR or OK. Since the
- underlying <STRONG>scanf</STRONG> can return the number of items scanned,
- and the SVr4 code was documented to use this feature, this
- is probably an editing error which was introduced in XSI,
- rather than being done intentionally. Portable applica-
- tions should only test if the return value is ERR, since
- the OK value (zero) is likely to be misleading. One pos-
- sible way to get useful results would be to use a "%n"
- conversion at the end of the format string to ensure that
- something was processed.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ In this implementation, <STRONG>vw_scanw</STRONG> and <STRONG>vwscanw</STRONG> are equivalent, to support
+ legacy applications. However, the latter (<STRONG>vwscanw</STRONG>) is obsolete:
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG>scanf(3)</STRONG>
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions, noting
+ that the function <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN, and is to be
+ replaced by a function <STRONG>vw_scanw</STRONG> using the <STRONG>&lt;stdarg.h&gt;</STRONG> interface.
+
+ <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_scanw</STRONG> is
+ preferred to <STRONG>vwscanw</STRONG> since the latter requires including
+ <STRONG>&lt;varargs.h&gt;</STRONG>, which cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>.
+ This implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that header
+ is included in <STRONG>&lt;curses.h</STRONG>&gt;.
+
+ <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwscanw</STRONG> (along with
+ <STRONG>vwprintw</STRONG> and the termcap interface) as withdrawn.
+
+ Both XSI and The Single Unix Specification, Version 2 state that these
+ functions return <STRONG>ERR</STRONG> or <STRONG>OK</STRONG>.
+
+ <STRONG>o</STRONG> Since the underlying <STRONG>scanf(3)</STRONG> can return the number of items
+ scanned, and the SVr4 code was documented to use this feature, this
+ is probably an editing error which was introduced in XSI, rather
+ than being done intentionally.
+
+ <STRONG>o</STRONG> This implementation returns the number of items scanned, for com-
+ patibility with SVr4 curses. As of 2018, NetBSD curses also
+ returns the number of items scanned. Both ncurses and NetBSD
+ curses call <STRONG>vsscanf</STRONG> to scan the string, which returns <STRONG>EOF</STRONG> on error.
+
+ <STRONG>o</STRONG> Portable applications should only test if the return value is <STRONG>ERR</STRONG>,
+ since the <STRONG>OK</STRONG> value (zero) is likely to be misleading.
+
+ One possible way to get useful results would be to use a "%n" con-
+ version at the end of the format string to ensure that something
+ was processed.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
+ <STRONG>scanf(3)</STRONG>.
- <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_scr_dump.3x.html b/doc/html/man/curs_scr_dump.3x.html
index e838995d6bc9..0b1e50ba6142 100644
--- a/doc/html/man/curs_scr_dump.3x.html
+++ b/doc/html/man/curs_scr_dump.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scr_dump.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_scr_dump.3x,v 1.14 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_scr_dump 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_scr_dump 3x</H1>
-<HR>
+<H1 class="no-header">curs_scr_dump 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read (write) a
- <STRONG>curses</STRONG> screen from (to) a file
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read (write) a <STRONG>curses</STRONG> screen
+ from (to) a file
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>scr_dump(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
@@ -61,77 +59,76 @@
<STRONG>int</STRONG> <STRONG>scr_set(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>scr_dump</STRONG> routine dumps the current contents of the
- virtual screen to the file <EM>filename</EM>.
-
- The <STRONG>scr_restore</STRONG> routine sets the virtual screen to the
- contents of <EM>filename</EM>, which must have been written using
- <STRONG>scr_dump</STRONG>. The next call to <STRONG>doupdate</STRONG> restores the screen
- to the way it looked in the dump file.
-
- The <STRONG>scr_init</STRONG> routine reads in the contents of <EM>filename</EM> and
- uses them to initialize the <STRONG>curses</STRONG> data structures about
- what the terminal currently has on its screen. If the da-
- ta is determined to be valid, <STRONG>curses</STRONG> bases its next update
- of the screen on this information rather than clearing the
- screen and starting from scratch. <STRONG>scr_init</STRONG> is used after
- <STRONG>initscr</STRONG> or a <STRONG>system</STRONG> call to share the screen with another
- process which has done a <STRONG>scr_dump</STRONG> after its <STRONG>endwin</STRONG> call.
- The data is declared invalid if the terminfo capabilities
- <STRONG>rmcup</STRONG> and <STRONG>nrrmc</STRONG> exist; also if the terminal has been writ-
- ten to since the preceding <STRONG>scr_dump</STRONG> call.
-
- The <STRONG>scr_set</STRONG> routine is a combination of <STRONG>scr_restore</STRONG> and
- <STRONG>scr_init</STRONG>. It tells the program that the information in
- <EM>filename</EM> is what is currently on the screen, and also what
- the program wants on the screen. This can be thought of
- as a screen inheritance function.
-
- To read (write) a window from (to) a file, use the <STRONG>getwin</STRONG>
- and <STRONG>putwin</STRONG> routines [see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>].
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>scr_dump</STRONG> routine dumps the current contents of the <EM>virtual</EM> <EM>screen</EM>
+ to the file <EM>filename</EM>.
+ The <STRONG>scr_restore</STRONG> routine sets the <EM>virtual</EM> <EM>screen</EM> to the contents of
+ <EM>filename</EM>, which must have been written using <STRONG>scr_dump</STRONG>. The next call
+ to <STRONG>doupdate</STRONG> restores the <EM>physical</EM> <EM>screen</EM> to the way it looked in the
+ dump file.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- upon success.
+ The <STRONG>scr_init</STRONG> routine reads in the contents of <EM>filename</EM> and uses them to
+ initialize the <STRONG>curses</STRONG> data structures about what the terminal currently
+ has on its screen. If the data is determined to be valid, <STRONG>curses</STRONG> bases
+ its next update of the screen on this information rather than clearing
+ the screen and starting from scratch. <STRONG>scr_init</STRONG> is used after <STRONG>initscr</STRONG>
+ or a <STRONG>system</STRONG> call to share the screen with another process which has
+ done a <STRONG>scr_dump</STRONG> after its <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> call. The data is declared in-
+ valid
- X/Open defines no error conditions. In this implementa-
- tion, each will return an error if the file cannot be
- opened.
+ <STRONG>o</STRONG> if the terminfo capabilities <STRONG>rmcup</STRONG> and <STRONG>nrrmc</STRONG> exist, also
+ <STRONG>o</STRONG> if the terminal has been written to since the preceding <STRONG>scr_dump</STRONG>
+ call.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>, and <STRONG>scr_restore</STRONG> may be
- macros.
+ The <STRONG>scr_set</STRONG> routine is a combination of <STRONG>scr_restore</STRONG> and <STRONG>scr_init</STRONG>. It
+ tells the program that the information in <EM>filename</EM> is what is currently
+ on the screen, and also what the program wants on the screen. This can
+ be thought of as a screen inheritance function.
+ To read (write) a window from (to) a file, use the <STRONG>getwin</STRONG> and <STRONG>putwin</STRONG>
+ routines [see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>].
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4, describes these func-
- tions (adding the const qualifiers).
- The SVr4 docs merely say under <STRONG>scr_init</STRONG> that the dump data
- is also considered invalid "if the time-stamp of the tty
- is old" but do not define "old".
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success.
+ X/Open defines no error conditions. In this implementation, each will
+ return an error if the file cannot be opened.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
- <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG>system(3)</STRONG>
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Note that <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>, and <STRONG>scr_restore</STRONG> may be macros.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4, describes these functions (adding the
+ const qualifiers).
+
+ The SVr4 docs merely say under <STRONG>scr_init</STRONG> that the dump data is also con-
+ sidered invalid "if the time-stamp of the tty is old" but do not define
+ "old".
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+ <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>, <STRONG>system(3)</STRONG>
- <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_scroll.3x.html b/doc/html/man/curs_scroll.3x.html
index 120f4eb7f121..4d885e512b16 100644
--- a/doc/html/man/curs_scroll.3x.html
+++ b/doc/html/man/curs_scroll.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,31 +26,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scroll.3x,v 1.15 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_scroll.3x,v 1.17 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_scroll 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_scroll 3x</H1>
-<HR>
+<H1 class="no-header">curs_scroll 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>scroll</STRONG>, <STRONG>scrl</STRONG>, <STRONG>wscrl</STRONG> - scroll a <STRONG>curses</STRONG> window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>scroll(WINDOW</STRONG> <STRONG>*win);</STRONG>
@@ -59,73 +57,65 @@
<STRONG>int</STRONG> <STRONG>wscrl(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>scroll</STRONG> routine scrolls the window up one line. This
- involves moving the lines in the window data structure.
- As an optimization, if the scrolling region of the window
- is the entire screen, the physical screen may be scrolled
- at the same time.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>scroll</STRONG> routine scrolls the window up one line. This involves mov-
+ ing the lines in the window data structure. As an optimization, if the
+ scrolling region of the window is the entire screen, the <EM>physical</EM>
+ <EM>screen</EM> may be scrolled at the same time.
- For positive <EM>n</EM>, the <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> routines scroll the
- window up <EM>n</EM> lines (line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM>); otherwise scroll
- the window down <EM>n</EM> lines. This involves moving the lines
- in the window character image structure. The current cur-
- sor position is not changed.
+ For positive <EM>n</EM>, the <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> routines scroll the window up <EM>n</EM>
+ lines (line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM>); otherwise scroll the window down <EM>n</EM> lines.
+ This involves moving the lines in the window character image structure.
+ The current cursor position is not changed.
- For these functions to work, scrolling must be enabled via
- <STRONG>scrollok</STRONG>.
+ For these functions to work, scrolling must be enabled via <STRONG>scrollok</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These routines return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4 only
- specifies "an integer value other than <STRONG>ERR</STRONG>") upon success-
- ful completion.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These routines return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4 only specifies "an
+ integer value other than <STRONG>ERR</STRONG>") upon successful completion.
X/Open defines no error conditions.
- This implementation returns an error if the window pointer
- is null, or if scrolling is not enabled in the window,
- e.g., with <STRONG>scrollok</STRONG>.
+ This implementation returns an error if the window pointer is null, or
+ if scrolling is not enabled in the window, e.g., with <STRONG>scrollok</STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>scrl</STRONG> and <STRONG>scroll</STRONG> may be macros.
- The SVr4 documentation says that the optimization of phys-
- ically scrolling immediately if the scroll region is the
- entire screen "is" performed, not "may be" performed.
- This implementation deliberately does not guarantee that
- this will occur, to leave open the possibility of smarter
- optimization of multiple scroll actions on the next up-
- date.
+ The SVr4 documentation says that the optimization of physically
+ scrolling immediately if the scroll region is the entire screen "is"
+ performed, not "may be" performed. This implementation deliberately
+ does not guarantee that this will occur, to leave open the possibility
+ of smarter optimization of multiple scroll actions on the next update.
- Neither the SVr4 nor the XSI documentation specify whether
- the current attribute or current color-pair of blanks gen-
- erated by the scroll function is zeroed. Under this im-
- plementation it is.
+ Neither the SVr4 nor the XSI documentation specify whether the current
+ attribute or current color-pair of blanks generated by the scroll func-
+ tion is zeroed. Under this implementation it is.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4 describes these functions.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_slk.3x.html b/doc/html/man/curs_slk.3x.html
index deeabf55cb61..c1dad6e59d1a 100644
--- a/doc/html/man/curs_slk.3x.html
+++ b/doc/html/man/curs_slk.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2020 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,209 +26,281 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_slk.3x,v 1.22 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_slk.3x,v 1.35 2020/01/18 22:49:38 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_slk 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_slk 3x</H1>
-<HR>
+<H1 class="no-header">curs_slk 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>,
- <STRONG>slk_label</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>,
- <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_attr_on</STRONG>, <STRONG>slk_attr_set</STRONG>,
- <STRONG>slk_attr_off</STRONG>, <STRONG>slk_attr</STRONG>, <STRONG>slk_color</STRONG> - <STRONG>curses</STRONG> soft label
- routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_label</STRONG>,
+ <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>,
+ <STRONG>slk_attroff</STRONG>, <STRONG>slk_attr_on</STRONG>, <STRONG>slk_attr_set</STRONG>, <STRONG>slk_attr_off</STRONG>, <STRONG>slk_attr</STRONG>,
+ <STRONG>slk_color</STRONG>, <STRONG>extended_slk_color</STRONG> - <STRONG>curses</STRONG> soft label routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_init(int</STRONG> <STRONG>fmt);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_set(int</STRONG> <STRONG>labnum,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*label,</STRONG> <STRONG>int</STRONG> <STRONG>fmt);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_init(int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>slk_set(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_wset(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+
+ <STRONG>char</STRONG> <STRONG>*slk_label(int</STRONG> <EM>labnum</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>slk_refresh(void);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_noutrefresh(void);</STRONG>
- <STRONG>char</STRONG> <STRONG>*slk_label(int</STRONG> <STRONG>labnum);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_clear(void);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_restore(void);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_touch(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attron(const</STRONG> <STRONG>chtype</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attroff(const</STRONG> <STRONG>chtype</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attrset(const</STRONG> <STRONG>chtype</STRONG> <STRONG>attrs);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attr_on(attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attr_off(const</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <STRONG>opts);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attr_set(const</STRONG> <STRONG>attr_t</STRONG> <STRONG>attrs,</STRONG> <STRONG>short</STRONG> <STRONG>color_pair,</STRONG>
- <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>slk_attron(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attroff(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attrset(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attr_off(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_attr_set(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+
<STRONG>attr_t</STRONG> <STRONG>slk_attr(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_color(short</STRONG> <STRONG>color_pair);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_wset(int</STRONG> <STRONG>labnum,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*label,</STRONG> <STRONG>int</STRONG> <STRONG>fmt);</STRONG>
+ <STRONG>int</STRONG> <STRONG>slk_color(short</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+ /* extension */
+ <STRONG>int</STRONG> <STRONG>extended_slk_color(int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The slk* functions manipulate the set of soft function-key
- labels that exist on many terminals. For those terminals
- that do not have soft labels, <STRONG>curses</STRONG> takes over the bottom
- line of <STRONG>stdscr</STRONG>, reducing the size of <STRONG>stdscr</STRONG> and the vari-
- able <STRONG>LINES</STRONG>. <STRONG>curses</STRONG> standardizes on eight labels of up to
- eight characters each. In addition to this, the ncurses
- implementation supports a mode where it simulates 12 la-
- bels of up to five characters each. This is useful for
- today's PC-like enduser devices. ncurses simulates this
- mode by taking over up to two lines at the bottom of the
- screen; it does not try to use any hardware support for
- this mode.
- The <STRONG>slk_init</STRONG> routine must be called before <STRONG>initscr</STRONG> or
- <STRONG>newterm</STRONG> is called. If <STRONG>initscr</STRONG> eventually uses a line from
- <STRONG>stdscr</STRONG> to emulate the soft labels, then <EM>fmt</EM> determines how
- the labels are arranged on the screen:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The slk* functions manipulate the set of soft function-key labels that
+ exist on many terminals. For those terminals that do not have soft la-
+ bels, <STRONG>curses</STRONG> takes over the bottom line of <STRONG>stdscr</STRONG>, reducing the size of
+ <STRONG>stdscr</STRONG> and the variable <STRONG>LINES</STRONG>. <STRONG>curses</STRONG> standardizes on eight labels of
+ up to eight characters each. In addition to this, the ncurses imple-
+ mentation supports a mode where it simulates 12 labels of up to five
+ characters each. This is useful for PC-like enduser devices. ncurses
+ simulates this mode by taking over up to two lines at the bottom of the
+ screen; it does not try to use any hardware support for this mode.
- <STRONG>0</STRONG> indicates a 3-2-3 arrangement of the labels.
- <STRONG>1</STRONG> indicates a 4-4 arrangement
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+ The <STRONG>slk_init</STRONG> routine must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is
+ called. If <STRONG>initscr</STRONG> eventually uses a line from <STRONG>stdscr</STRONG> to emulate the
+ soft labels, then <EM>fmt</EM> determines how the labels are arranged on the
+ screen:
- <STRONG>2</STRONG> indicates the PC-like 4-4-4 mode.
+ <STRONG>0</STRONG> indicates a 3-2-3 arrangement of the labels.
- <STRONG>3</STRONG> is again the PC-like 4-4-4 mode, but in addition
- an index line is generated, helping the user to
- identify the key numbers easily.
+ <STRONG>1</STRONG> indicates a 4-4 arrangement
- The <STRONG>slk_set</STRONG> routine (and the <STRONG>slk_wset</STRONG> routine for the
- wide-character library) has three parameters:
+ <STRONG>2</STRONG> indicates the PC-like 4-4-4 mode.
- <EM>labnum</EM>
- is the label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12 for <EM>fmt</EM>
- in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>);
+ <STRONG>3</STRONG> is again the PC-like 4-4-4 mode, but in addition an index line is
+ generated, helping the user to identify the key numbers easily.
- <EM>label</EM>
- is be the string to put on the label, up to
- eight (five for <EM>fmt</EM> in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>)
- characters in length. A null string or a null
- pointer sets up a blank label.
- <EM>fmt</EM> is either <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, indicating whether the
- label is to be left-justified, centered, or
- right-justified, respectively, within the la-
- bel.
+</PRE><H3><a name="h3-Labels">Labels</a></H3><PRE>
+ The <STRONG>slk_set</STRONG> routine (and the <STRONG>slk_wset</STRONG> routine for the wide-character
+ library) has three parameters:
- The <STRONG>slk_refresh</STRONG> and <STRONG>slk_noutrefresh</STRONG> routines correspond to
- the <STRONG>wrefresh</STRONG> and <STRONG>wnoutrefresh</STRONG> routines.
+ <EM>labnum</EM>
+ is the label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12 for <EM>fmt</EM> in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG>
+ or <STRONG>3</STRONG>);
- The <STRONG>slk_label</STRONG> routine returns the current label for label
- number <EM>labnum</EM>, with leading and trailing blanks stripped.
+ <EM>label</EM>
+ is be the string to put on the label, up to eight (five for <EM>fmt</EM>
+ in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>) characters in length. A null string or
+ a null pointer sets up a blank label.
- The <STRONG>slk_clear</STRONG> routine clears the soft labels from the
- screen.
+ <EM>fmt</EM> is either <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, indicating whether the label is to be
+ left-justified, centered, or right-justified, respectively,
+ within the label.
- The <STRONG>slk_restore</STRONG> routine restores the soft labels to the
- screen after a <STRONG>slk_clear</STRONG> has been performed.
+ The <STRONG>slk_label</STRONG> routine returns the current label for label number <EM>lab-</EM>
+ <EM>num</EM>, with leading and trailing blanks stripped.
- The <STRONG>slk_touch</STRONG> routine forces all the soft labels to be
- output the next time a <STRONG>slk_noutrefresh</STRONG> is performed.
- The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG> and <STRONG>slk_attr</STRONG> rou-
- tines correspond to <STRONG>attron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG> and <STRONG>attr_get</STRONG>.
- They have an effect only if soft labels are simulated on
- the bottom line of the screen. The default highlight for
- soft keys is A_STANDOUT (as in System V curses, which does
- not document this fact).
+</PRE><H3><a name="h3-Screen-updates">Screen updates</a></H3><PRE>
+ The <STRONG>slk_refresh</STRONG> and <STRONG>slk_noutrefresh</STRONG> routines correspond to the <STRONG>wrefresh</STRONG>
+ and <STRONG>wnoutrefresh</STRONG> routines.
- The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>. It has an
- effect only if soft labels are simulated on the bottom
- line of the screen.
+ The <STRONG>slk_clear</STRONG> routine clears the soft labels from the screen.
+ The <STRONG>slk_restore</STRONG> routine restores the soft labels to the screen after a
+ <STRONG>slk_clear</STRONG> has been performed.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These routines return <STRONG>ERR</STRONG> upon failure and OK (SVr4 speci-
- fies only "an integer value other than <STRONG>ERR</STRONG>") upon success-
- ful completion.
+ The <STRONG>slk_touch</STRONG> routine forces all the soft labels to be output the next
+ time a <STRONG>slk_noutrefresh</STRONG> is performed.
- X/Open defines no error conditions. In this implementa-
- tion
- <STRONG>slk_attr</STRONG>
- returns the attribute used for the soft keys.
+</PRE><H3><a name="h3-Video-attributes">Video attributes</a></H3><PRE>
+ The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG> and <STRONG>slk_attr</STRONG> routines corre-
+ spond to <STRONG>attron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG> and <STRONG>attr_get</STRONG>, respectively. They
+ have an effect only if soft labels are simulated on the bottom line of
+ the screen. The default highlight for soft keys is A_STANDOUT (as in
+ System V curses, which does not document this fact).
- <STRONG>slk_attroff</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_clear</STRONG>,
- <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_touch</STRONG>
- return an error if the terminal or the soft-
- keys were not initialized.
- <STRONG>slk_attrset</STRONG>
- returns an error if the terminal or the soft-
- keys were not initialized.
+</PRE><H3><a name="h3-Colors">Colors</a></H3><PRE>
+ The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>. It has an effect only
+ if soft labels are simulated on the bottom line of the screen.
- <STRONG>slk_attr_set</STRONG>
- returns an error if the terminal or the soft-
- keys were not initialized, or the color pair
- is outside the range 0..COLOR_PAIRS-1, or opts
- is not null.
+ Because <STRONG>slk_color</STRONG> accepts only <STRONG>short</STRONG> (signed 16-bit integer) values,
+ this implementation provides <STRONG>extended_slk_color</STRONG> which accepts an inte-
+ ger value, e.g., 32-bits.
- <STRONG>slk_color</STRONG>
- returns an error if the terminal or the soft-
- keys were not initialized, or the color pair
- is outside the range 0..COLOR_PAIRS-1.
- <STRONG>slk_init</STRONG>
- returns an error if the format parameter is
- outside the range 0..3.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These routines return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an
+ integer value other than <STRONG>ERR</STRONG>") upon successful completion.
- <STRONG>slk_label</STRONG>
- returns <STRONG>NULL</STRONG> on error.
+ X/Open defines no error conditions. In this implementation
- <STRONG>slk_set</STRONG>
- returns an error if the terminal or the soft-
- keys were not initialized, or the <EM>labnum</EM> pa-
- rameter is outside the range of label counts,
- or if the format parameter is outside the
- range 0..2, or if memory for the labels cannot
- be allocated.
+ <STRONG>slk_attr</STRONG>
+ returns the attribute used for the soft keys.
+ <STRONG>slk_attroff</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_refresh</STRONG>,
+ <STRONG>slk_touch</STRONG>
+ return an error if the terminal or the softkeys were not ini-
+ tialized.
-</PRE>
-<H2>NOTES</H2><PRE>
- Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wre-</STRONG>
- <STRONG>fresh</STRONG> is likely to follow soon.
+ <STRONG>slk_attrset</STRONG>
+ returns an error if the terminal or the softkeys were not ini-
+ tialized.
+ <STRONG>slk_attr_set</STRONG>
+ returns an error if the terminal or the softkeys were not ini-
+ tialized, or the color pair is outside the range 0..COL-
+ OR_PAIRS-1.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4, describes these func-
- tions. It changes the argument type of the attribute-ma-
- nipulation functions <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_attrset</STRONG>
- to be <STRONG>attr_t</STRONG>, and adds <STRONG>const</STRONG> qualifiers. The format codes
- <STRONG>2</STRONG> and <STRONG>3</STRONG> for <STRONG>slk_init()</STRONG> and the function <STRONG>slk_attr</STRONG> are spe-
- cific to ncurses.
+ <STRONG>slk_color</STRONG>
+ returns an error if the terminal or the softkeys were not ini-
+ tialized, or the color pair is outside the range 0..COL-
+ OR_PAIRS-1.
+ <STRONG>slk_init</STRONG>
+ returns an error if the format parameter is outside the range
+ 0..3.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG>curs_re-</STRONG>
- <STRONG><A HREF="curs_refresh.3x.html">fresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <STRONG>slk_label</STRONG>
+ returns <STRONG>NULL</STRONG> on error.
+
+ <STRONG>slk_set</STRONG>
+ returns an error if the terminal or the softkeys were not ini-
+ tialized, or the <EM>labnum</EM> parameter is outside the range of label
+ counts, or if the format parameter is outside the range 0..2,
+ or if memory for the labels cannot be allocated.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ SVr3 introduced these functions:
+ slk_clear
+ slk_init
+ slk_label
+ slk_noutrefresh
+ slk_refresh
+ slk_restore
+ slk_set
+ slk_touch
+
+ SVr4 added these functions:
+ slk_attroff
+ slk_attron
+ slk_attrset
+ slk_start
+
+ X/Open Curses added these:
+ slk_attr_off
+ slk_attr_on
+ slk_attr_set
+ slk_color
+ slk_wset
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ X/Open Curses documents the <EM>opts</EM> argument as reserved for future use,
+ saying that it must be null. This implementation uses that parameter
+ in ABI 6 for the functions which have a color-pair parameter to support
+ extended color pairs.
+
+ For functions which modify the color, e.g., <STRONG>slk_attr_set</STRONG>, if <EM>opts</EM> is
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color
+ pair instead of the <STRONG>short</STRONG> pair parameter.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wrefresh</STRONG> is like-
+ ly to follow soon.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4, described the soft-key functions,
+ with some differences from SVr4 curses:
+
+ <STRONG>o</STRONG> It added functions like the SVr4 attribute-manipulation functions
+ <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_attrset</STRONG>, but which use <STRONG>attr_t</STRONG> parame-
+ ters (rather than <STRONG>chtype</STRONG>), along with a reserved <EM>opts</EM> parameter.
+
+ Two of these new functions (unlike the SVr4 functions) have no pro-
+ vision for color: <STRONG>slk_attr_on</STRONG> and <STRONG>slk_attr_off</STRONG>.
+
+ The third function (<STRONG>slk_attr_set</STRONG>) has a color-pair parameter.
+
+ <STRONG>o</STRONG> It added <STRONG>const</STRONG> qualifiers to parameters (unnecessarily), and
+
+ <STRONG>o</STRONG> It added <STRONG>slk_color</STRONG>.
+
+ The format codes <STRONG>2</STRONG> and <STRONG>3</STRONG> for <STRONG>slk_init</STRONG> and the function <STRONG>slk_attr</STRONG> are
+ specific to ncurses.
+
+ X/Open Curses does not specify a limit for the number of colors and
+ color pairs which a terminal can support. However, in its use of <STRONG>short</STRONG>
+ for the parameters, it carries over SVr4's implementation detail for
+ the compiled terminfo database, which uses signed 16-bit numbers. This
+ implementation provides extended versions of those functions which use
+ <STRONG>short</STRONG> parameters, allowing applications to use larger color- and pair-
+ numbers.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-Labels">Labels</a></li>
+<li><a href="#h3-Screen-updates">Screen updates</a></li>
+<li><a href="#h3-Video-attributes">Video attributes</a></li>
+<li><a href="#h3-Colors">Colors</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_sp_funcs.3x.html b/doc/html/man/curs_sp_funcs.3x.html
index 5f973584d324..4b5358d3091e 100644
--- a/doc/html/man/curs_sp_funcs.3x.html
+++ b/doc/html/man/curs_sp_funcs.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2010-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,36 +26,36 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_sp_funcs.3x,v 1.6 2013/06/22 17:53:59 tom Exp @
+ * @Id: curs_sp_funcs.3x,v 1.17 2019/11/30 21:01:26 tom Exp @
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_sp_funcs 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_sp_funcs 3x</H1>
-<HR>
+<H1 class="no-header">curs_sp_funcs 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- new_prescr - <STRONG>curses</STRONG> screen-pointer extension
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ curs_sp_funcs - <STRONG>curses</STRONG> screen-pointer extension
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG> <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
+ <STRONG>int</STRONG> <STRONG>alloc_pair_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>assume_default_colors_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>baudrate_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>beep_sp(SCREEN*);</STRONG>
@@ -71,20 +70,27 @@
<STRONG>int</STRONG> <STRONG>doupdate_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>erasechar_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>filter_sp(SCREEN*);</STRONG>
+ <STRONG>char</STRONG> <STRONG>erasechar_sp(SCREEN*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_color_content_sp(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_pair_content_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>*,</STRONG> <STRONG>int</STRONG> <STRONG>*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>extended_slk_color_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
+ <STRONG>void</STRONG> <STRONG>filter_sp(SCREEN*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>find_pair_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
+ <STRONG>int</STRONG> <STRONG>free_pair_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>flash_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>flushinp_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>get_escdelay_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN*,</STRONG> <STRONG>MEVENT*);</STRONG>
<STRONG>WINDOW*</STRONG> <STRONG>getwin_sp(SCREEN*,</STRONG> <STRONG>FILE*);</STRONG>
- <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_colors_sp(SCREEN*);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_extended_color_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
+ <STRONG>int</STRONG> <STRONG>init_extended_pair_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>init_pair_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short);</STRONG>
<STRONG>int</STRONG> <STRONG>intrflush_sp(SCREEN*,</STRONG> <STRONG>WINDOW*,</STRONG> <STRONG>bool);</STRONG>
<STRONG>bool</STRONG> <STRONG>isendwin_sp(SCREEN*);</STRONG>
@@ -94,6 +100,7 @@
<STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keyname_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>bool);</STRONG>
<STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>longname_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>mmask_t</STRONG> <STRONG>mousemask_sp(SCREEN*,</STRONG> <STRONG>mmask_t,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*);</STRONG>
@@ -101,12 +108,12 @@
<STRONG>int</STRONG> <STRONG>napms_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>WINDOW*</STRONG> <STRONG>newpad_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
<STRONG>SCREEN*</STRONG> <STRONG>new_prescr(void);</STRONG>
- <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*);</STRONG>
+ <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*);</STRONG>
<STRONG>WINDOW*</STRONG> <STRONG>newwin_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>nl_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>noecho_sp(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>nofilter_sp(SCREEN*);</STRONG>
+ <STRONG>void</STRONG> <STRONG>nofilter_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>nonl_sp(SCREEN*);</STRONG>
<STRONG>void</STRONG> <STRONG>noqiflush_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>noraw_sp(SCREEN*);</STRONG>
@@ -131,11 +138,11 @@
<STRONG>int</STRONG> <STRONG>slk_attron_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void*);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_attrset_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attr_sp(SCREEN*);</STRONG>
+ <STRONG>attr_t</STRONG> <STRONG>slk_attr_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_clear_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_color_sp(SCREEN*,</STRONG> <STRONG>short);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_init_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_label_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>slk_label_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_noutrefresh_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_refresh_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>slk_restore_sp(SCREEN*);</STRONG>
@@ -152,6 +159,7 @@
<STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t);</STRONG>
<STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*);</STRONG>
<STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*,</STRONG> <STRONG>bool);</STRONG>
+ <STRONG>void</STRONG> <STRONG>use_tioctl_sp(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>bool);</STRONG>
<STRONG>int</STRONG> <STRONG>use_legacy_coding_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>vid_attr_sp(SCREEN*,</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
<STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*,</STRONG> <STRONG>chtype);</STRONG>
@@ -161,123 +169,123 @@
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>new_form_sp(SCREEN*,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**);</STRONG>
+ <STRONG>FORM*</STRONG> <STRONG>new_form_sp(SCREEN*,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**);</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>new_menu_sp(SCREEN*,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**);</STRONG>
+ <STRONG>MENU*</STRONG> <STRONG>new_menu_sp(SCREEN*,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**);</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;panel.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>ceiling_panel(SCREEN*);</STRONG>
+ <STRONG>PANEL*</STRONG> <STRONG>ceiling_panel(SCREEN*);</STRONG>
<STRONG>PANEL*</STRONG> <STRONG>ground_panel(SCREEN*);</STRONG>
- <STRONG>int</STRONG> <STRONG>update_panels_sp(SCREEN*);</STRONG>
+ <STRONG>void</STRONG> <STRONG>update_panels_sp(SCREEN*);</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>del_curterm_sp(SCREEN*,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*);</STRONG>
<STRONG>int</STRONG> <STRONG>putp_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
<STRONG>int</STRONG> <STRONG>tgetent_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>char</STRONG> <STRONG>**);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>char</STRONG> <STRONG>**);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
<STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This implementation can be configured to provide a set of
- functions which improve the ability to manage multiple
- screens. This feature can be added to any of the configu-
- rations supported by ncurses; it adds new entrypoints
- without changing the meaning of any of the existing ones.
-
- <STRONG>IMPROVED</STRONG> <STRONG>FUNCTIONS</STRONG>
- Most of the functions are new versions of existing func-
- tions. A parameter is added at the front of the parameter
- list. It is a SCREEN pointer.
-
- The existing functions all use the current screen, which
- is a static variable. The extended functions use the
- specified screen, thereby reducing the number of variables
- which must be modified to update multiple screens.
-
- <STRONG>NEW</STRONG> <STRONG>FUNCTIONS</STRONG>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This implementation can be configured to provide a set of functions
+ which improve the ability to manage multiple screens. This feature can
+ be added to any of the configurations supported by ncurses; it adds new
+ entrypoints without changing the meaning of any of the existing ones.
+
+
+</PRE><H3><a name="h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></H3><PRE>
+ Most of the functions are new versions of existing functions. A param-
+ eter is added at the front of the parameter list. It is a SCREEN
+ pointer.
+
+ The existing functions all use the current screen, which is a static
+ variable. The extended functions use the specified screen, thereby re-
+ ducing the number of variables which must be modified to update multi-
+ ple screens.
+
+
+</PRE><H3><a name="h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></H3><PRE>
Here are the new functions:
ceiling_panel
- this returns a pointer to the topmost panel in the
- given screen.
+ this returns a pointer to the topmost panel in the given screen.
ground_panel
- this returns a pointer to the lowest panel in the
- given screen.
+ this returns a pointer to the lowest panel in the given screen.
new_prescr
- when creating a new screen, the library uses static
- variables which have been preset, e.g., by
- <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, etc. With the screen-point-
- er extension, there are situations where it must cre-
- ate a current screen before the unextended library
- does. The <STRONG>new_prescr</STRONG> function is used internally to
- handle these cases. It is also provided as an entry-
- point to allow applications to customize the library
- initialization.
+ when creating a new screen, the library uses static variables
+ which have been preset, e.g., by <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">filter(3x)</A></STRONG>, etc.
+ With the screen-pointer extension, there are situations where it
+ must create a current screen before the unextended library does.
+ The <STRONG>new_prescr</STRONG> function is used internally to handle these cases.
+ It is also provided as an entrypoint to allow applications to cus-
+ tomize the library initialization.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
This extension introduces some new names:
NCURSES_SP_FUNCS
- This is set to the library patch-level number. In
- the unextended library, this is zero (0), to make it
- useful for checking if the extension is provided.
+ This is set to the library patch-level number. In the unextended
+ library, this is zero (0), to make it useful for checking if the
+ extension is provided.
NCURSES_SP_NAME
- The new functions are named using the macro <EM>NCURS-</EM>
- <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which hides the actual implementation.
- Currently this adds a "_sp" suffix to the name of the
- unextended function. This manual page indexes the
- extensions showing the full name. However the proper
- usage of these functions uses the macro, to provide
- for the possibility of changing the naming convention
- for specific library configurations.
+ The new functions are named using the macro <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which
+ hides the actual implementation. Currently this adds a "_sp" suf-
+ fix to the name of the unextended function. This manual page in-
+ dexes the extensions showing the full name. However the proper
+ usage of these functions uses the macro, to provide for the possi-
+ bility of changing the naming convention for specific library con-
+ figurations.
NCURSES_SP_OUTC
- This is a new function-pointer type to use in the
- screen-pointer functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is
- used in the unextended library.
+ This is a new function-pointer type to use in the screen-pointer
+ functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is used in the unextended library.
NCURSES_OUTC
- This is a function-pointer type used for the cases
- where a function passes characters to the output
- stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>.
+ This is a function-pointer type used for the cases where a func-
+ tion passes characters to the output stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">vidputs(3x)</A></STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on ncurses ex-
- tensions be conditioned using <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on ncurses extensions be conditioned using <EM>NCURS-</EM>
+ <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
- <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+ <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></li>
+<li><a href="#h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></li>
+</ul>
+</li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_termattrs.3x.html b/doc/html/man/curs_termattrs.3x.html
index 54a73dfc1d66..bdee4a11ef9f 100644
--- a/doc/html/man/curs_termattrs.3x.html
+++ b/doc/html/man/curs_termattrs.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termattrs.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_termattrs.3x,v 1.14 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_termattrs 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_termattrs 3x</H1>
-<HR>
+<H1 class="no-header">curs_termattrs 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>baudrate</STRONG>, <STRONG>erasechar</STRONG>, <STRONG>erasewchar</STRONG>, <STRONG>has_ic</STRONG>, <STRONG>has_il</STRONG>, <STRONG>killchar</STRONG>,
- <STRONG>killwchar</STRONG>, <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> -
- <STRONG>curses</STRONG> environment query routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>baudrate</STRONG>, <STRONG>erasechar</STRONG>, <STRONG>erasewchar</STRONG>, <STRONG>has_ic</STRONG>, <STRONG>has_il</STRONG>, <STRONG>killchar</STRONG>, <STRONG>killwchar</STRONG>,
+ <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> - <STRONG>curses</STRONG> environment query
+ routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>baudrate(void);</STRONG>
@@ -69,93 +67,108 @@
<STRONG>char</STRONG> <STRONG>*termname(void);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>baudrate</STRONG> routine returns the output speed of the ter-
- minal. The number returned is in bits per second, for
- example <STRONG>9600</STRONG>, and is an integer.
-
- The <STRONG>erasechar</STRONG> routine returns the user's current erase
- character.
-
- The <STRONG>erasewchar</STRONG> routine stores the current erase character
- in the location referenced by <EM>ch</EM>. If no erase character
- has been defined, the routine fails and the location ref-
- erenced by <EM>ch</EM> is not changed.
-
- The <STRONG>has_ic</STRONG> routine is true if the terminal has insert- and
- delete- character capabilities.
-
- The <STRONG>has_il</STRONG> routine is true if the terminal has insert- and
- delete-line capabilities, or can simulate them using
- scrolling regions. This might be used to determine if it
- would be appropriate to turn on physical scrolling using
- <STRONG>scrollok</STRONG>.
-
- The <STRONG>killchar</STRONG> routine returns the user's current line kill
- character.
-
- The <STRONG>killwchar</STRONG> routine stores the current line-kill charac-
- ter in the location referenced by <EM>ch</EM>. If no line-kill
- character has been defined, the routine fails and the
- location referenced by <EM>ch</EM> is not changed.
-
- The <STRONG>longname</STRONG> routine returns a pointer to a static area
- containing a verbose description of the current terminal.
- The maximum length of a verbose description is 128 charac-
- ters. It is defined only after the call to <STRONG>initscr</STRONG> or
- <STRONG>newterm</STRONG>. The area is overwritten by each call to <STRONG>newterm</STRONG>
- and is not restored by <STRONG>set_term</STRONG>, so the value should be
- saved between calls to <STRONG>newterm</STRONG> if <STRONG>longname</STRONG> is going to be
- used with multiple terminals.
-
- If a given terminal does not support a video attribute
- that an application program is trying to use, <STRONG>curses</STRONG> may
- substitute a different video attribute for it. The <STRONG>ter-</STRONG>
- <STRONG>mattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return a logical <STRONG>OR</STRONG> of all
- video attributes supported by the terminal using <EM>A</EM><STRONG>_</STRONG> and
- <EM>WA</EM><STRONG>_</STRONG> constants respectively. This information is useful
- when a <STRONG>curses</STRONG> program needs complete control over the
- appearance of the screen.
-
- The <STRONG>termname</STRONG> routine returns the terminal name used by
- <STRONG>setupterm</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-baudrate">baudrate</a></H3><PRE>
+ The <STRONG>baudrate</STRONG> routine returns the output speed of the terminal. The
+ number returned is in bits per second, for example <STRONG>9600</STRONG>, and is an
+ integer.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+
+</PRE><H3><a name="h3-erasechar_-erasewchar">erasechar, erasewchar</a></H3><PRE>
+ The <STRONG>erasechar</STRONG> routine returns the user's current erase character.
+
+ The <STRONG>erasewchar</STRONG> routine stores the current erase character in the loca-
+ tion referenced by <EM>ch</EM>. If no erase character has been defined, the
+ routine fails and the location referenced by <EM>ch</EM> is not changed.
+
+
+</PRE><H3><a name="h3-has_is_-has_il">has_is, has_il</a></H3><PRE>
+ The <STRONG>has_ic</STRONG> routine is true if the terminal has insert- and delete-
+ character capabilities.
+
+ The <STRONG>has_il</STRONG> routine is true if the terminal has insert- and delete-line
+ capabilities, or can simulate them using scrolling regions. This might
+ be used to determine if it would be appropriate to turn on physical
+ scrolling using <STRONG>scrollok</STRONG>.
+
+
+</PRE><H3><a name="h3-killchar_-killwchar">killchar, killwchar</a></H3><PRE>
+ The <STRONG>killchar</STRONG> routine returns the user's current line kill character.
+
+ The <STRONG>killwchar</STRONG> routine stores the current line-kill character in the
+ location referenced by <EM>ch</EM>. If no line-kill character has been defined,
+ the routine fails and the location referenced by <EM>ch</EM> is not changed.
+
+
+</PRE><H3><a name="h3-longname">longname</a></H3><PRE>
+ The <STRONG>longname</STRONG> routine returns a pointer to a static area containing a
+ verbose description of the current terminal. The maximum length of a
+ verbose description is 128 characters. It is defined only after the
+ call to <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. The area is overwritten by each call to
+ <STRONG>newterm</STRONG> and is not restored by <STRONG>set_term</STRONG>, so the value should be saved
+ between calls to <STRONG>newterm</STRONG> if <STRONG>longname</STRONG> is going to be used with multiple
+ terminals.
+
+
+</PRE><H3><a name="h3-termattrs_-term_attrs">termattrs, term_attrs</a></H3><PRE>
+ If a given terminal does not support a video attribute that an applica-
+ tion program is trying to use, <STRONG>curses</STRONG> may substitute a different video
+ attribute for it. The <STRONG>termattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return a log-
+ ical <STRONG>OR</STRONG> of all video attributes supported by the terminal using <EM>A</EM><STRONG>_</STRONG> and
+ <EM>WA</EM><STRONG>_</STRONG> constants respectively. This information is useful when a <STRONG>curses</STRONG>
+ program needs complete control over the appearance of the screen.
+
+
+</PRE><H3><a name="h3-termname">termname</a></H3><PRE>
+ The <STRONG>termname</STRONG> routine returns the terminal name used by <STRONG>setupterm</STRONG>.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
<STRONG>longname</STRONG> and <STRONG>termname</STRONG> return <STRONG>NULL</STRONG> on error.
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion.
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion.
-</PRE>
-<H2>NOTES</H2><PRE>
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Note that <STRONG>termattrs</STRONG> may be a macro.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions. It changes the return type of <STRONG>termattrs</STRONG> to the new
- type <STRONG>attr_t</STRONG>. Most versions of curses truncate the result
- returned by <STRONG>termname</STRONG> to 14 characters.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4 describes these functions. It changes
+ the return type of <STRONG>termattrs</STRONG> to the new type <STRONG>attr_t</STRONG>. Most versions of
+ curses truncate the result returned by <STRONG>termname</STRONG> to 14 characters.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-baudrate">baudrate</a></li>
+<li><a href="#h3-erasechar_-erasewchar">erasechar, erasewchar</a></li>
+<li><a href="#h3-has_is_-has_il">has_is, has_il</a></li>
+<li><a href="#h3-killchar_-killwchar">killchar, killwchar</a></li>
+<li><a href="#h3-longname">longname</a></li>
+<li><a href="#h3-termattrs_-term_attrs">termattrs, term_attrs</a></li>
+<li><a href="#h3-termname">termname</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_termcap.3x.html b/doc/html/man/curs_termcap.3x.html
index 54197aea43ce..f701f8a1322f 100644
--- a/doc/html/man/curs_termcap.3x.html
+++ b/doc/html/man/curs_termcap.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termcap.3x,v 1.30 2013/01/19 15:58:48 tom Exp @
+ * @Id: curs_termcap.3x,v 1.42 2019/11/30 21:01:40 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_termcap 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_termcap 3x</H1>
-<HR>
+<H1 class="no-header">curs_termcap 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>PC</STRONG>, <STRONG>UP</STRONG>, <STRONG>BC</STRONG>, <STRONG>ospeed</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, <STRONG>tgetstr</STRONG>,
- <STRONG>tgoto</STRONG>, <STRONG>tputs</STRONG> - direct <STRONG>curses</STRONG> interface to the terminfo
- capability database
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>PC</STRONG>, <STRONG>UP</STRONG>, <STRONG>BC</STRONG>, <STRONG>ospeed</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, <STRONG>tgetstr</STRONG>, <STRONG>tgoto</STRONG>, <STRONG>tputs</STRONG> -
+ direct <STRONG>curses</STRONG> interface to the terminfo capability database
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
@@ -63,174 +60,209 @@
<STRONG>extern</STRONG> <STRONG>short</STRONG> <STRONG>ospeed;</STRONG>
<STRONG>int</STRONG> <STRONG>tgetent(char</STRONG> <STRONG>*bp,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*name);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetflag(char</STRONG> <STRONG>*id);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetnum(char</STRONG> <STRONG>*id);</STRONG>
- <STRONG>char</STRONG> <STRONG>*tgetstr(char</STRONG> <STRONG>*id,</STRONG> <STRONG>char</STRONG> <STRONG>**area);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*id);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*id);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*tgetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*id,</STRONG> <STRONG>char</STRONG> <STRONG>**area);</STRONG>
<STRONG>char</STRONG> <STRONG>*tgoto(const</STRONG> <STRONG>char</STRONG> <STRONG>*cap,</STRONG> <STRONG>int</STRONG> <STRONG>col,</STRONG> <STRONG>int</STRONG> <STRONG>row);</STRONG>
<STRONG>int</STRONG> <STRONG>tputs(const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>affcnt,</STRONG> <STRONG>int</STRONG> <STRONG>(*putc)(int));</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These routines are included as a conversion aid for pro-
- grams that use the <EM>termcap</EM> library. Their parameters are
- the same and the routines are emulated using the <EM>terminfo</EM>
- database. Thus, they can only be used to query the capa-
- bilities of entries for which a terminfo entry has been
- compiled.
-
- <STRONG>INITIALIZATION</STRONG>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These routines are included as a conversion aid for programs that use
+ the <EM>termcap</EM> library. Their parameters are the same and the routines
+ are emulated using the <EM>terminfo</EM> database. Thus, they can only be used
+ to query the capabilities of entries for which a terminfo entry has
+ been compiled.
+
+
+</PRE><H3><a name="h3-INITIALIZATION">INITIALIZATION</a></H3><PRE>
The <STRONG>tgetent</STRONG> routine loads the entry for <EM>name</EM>. It returns:
1 on success,
- 0 if there is no such entry (or that it is a generic
- type, having too little information for curses ap-
- plications to run), and
+ 0 if there is no such entry (or that it is a generic type, having
+ too little information for curses applications to run), and
-1 if the terminfo database could not be found.
This differs from the <EM>termcap</EM> library in two ways:
- <STRONG>o</STRONG> The emulation ignores the buffer pointer <EM>bp</EM>. The
- <EM>termcap</EM> library would store a copy of the terminal
- description in the area referenced by this pointer.
- However, ncurses stores its terminal descriptions
- in compiled binary form, which is not the same
+ <STRONG>o</STRONG> The emulation ignores the buffer pointer <EM>bp</EM>. The <EM>termcap</EM> li-
+ brary would store a copy of the terminal description in the area
+ referenced by this pointer. However, ncurses stores its termi-
+ nal descriptions in compiled binary form, which is not the same
thing.
- <STRONG>o</STRONG> There is a difference in return codes. The <EM>termcap</EM>
- library does not check if the terminal description
- is marked with the <EM>generic</EM> capability, or if the
- terminal description has cursor-addressing.
+ <STRONG>o</STRONG> There is a difference in return codes. The <EM>termcap</EM> library does
+ not check if the terminal description is marked with the <EM>generic</EM>
+ capability, or if the terminal description has cursor-address-
+ ing.
- <STRONG>CAPABILITY</STRONG> <STRONG>VALUES</STRONG>
- The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or ze-
- ro if it is not available.
- The <STRONG>tgetnum</STRONG> routine gets the numeric entry for <EM>id</EM>, or -1
- if it is not available.
+</PRE><H3><a name="h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></H3><PRE>
+ The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or zero if it is
+ not available.
- The <STRONG>tgetstr</STRONG> routine returns the string entry for <EM>id</EM>, or
- zero if it is not available. Use <STRONG>tputs</STRONG> to output the re-
- turned string. The return value will also be copied to
- the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be
- updated to point past the null ending this value.
+ The <STRONG>tgetnum</STRONG> routine gets the numeric entry for <EM>id</EM>, or -1 if it is not
+ available.
- Only the first two characters of the <STRONG>id</STRONG> parameter of <STRONG>tget-</STRONG>
- <STRONG>flag</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetstr</STRONG> are compared in lookups.
+ The <STRONG>tgetstr</STRONG> routine returns the string entry for <EM>id</EM>, or zero if it is
+ not available. Use <STRONG>tputs</STRONG> to output the returned string. The <EM>area</EM> pa-
+ rameter is used as follows:
- <STRONG>FORMATTING</STRONG> <STRONG>CAPABILITIES</STRONG>
- The <STRONG>tgoto</STRONG> routine instantiates the parameters into the
- given capability. The output from this routine is to be
- passed to <STRONG>tputs</STRONG>.
+ <STRONG>o</STRONG> It is assumed to be the address of a pointer to a buffer managed
+ by the calling application.
- The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- manual page. It can retrieve capabilities by either term-
- cap or terminfo name.
+ <STRONG>o</STRONG> However, ncurses checks to ensure that <STRONG>area</STRONG> is not NULL, and al-
+ so that the resulting buffer pointer is not NULL. If either
+ check fails, the <EM>area</EM> parameter is ignored.
- <STRONG>GLOBAL</STRONG> <STRONG>VARIABLES</STRONG>
- The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the ter-
- minfo entry's data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and
- <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG> is not used by
- ncurses. <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function. <STRONG>BC</STRONG> is
- used in the <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set
- by ncurses in a system-specific coding to reflect the ter-
- minal speed.
+ <STRONG>o</STRONG> If the checks succeed, ncurses also copies the return value to
+ the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be updat-
+ ed to point past the null ending this value.
+ <STRONG>o</STRONG> The return value itself is an address in the terminal descrip-
+ tion which is loaded into memory.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except where explicitly noted, routines that return an in-
- teger return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies
- "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
- tion.
+ Only the first two characters of the <STRONG>id</STRONG> parameter of <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>
+ and <STRONG>tgetstr</STRONG> are compared in lookups.
- Routines that return pointers return <STRONG>NULL</STRONG> on error.
+</PRE><H3><a name="h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></H3><PRE>
+ The <STRONG>tgoto</STRONG> routine expands the given capability using the parameters.
-</PRE>
-<H2>BUGS</H2><PRE>
- If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>ca</STRONG> or any other parameterized
- string, be aware that it will be returned in terminfo no-
- tation, not the older and not-quite-compatible termcap no-
- tation. This will not cause problems if all you do with
- it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
- style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if con-
- figured to support termcap, will check if the string is
- indeed terminfo-style by looking for "%p" parameters or
- "$&lt;..&gt;" delays, and invoke a termcap-style parser if the
- string does not appear to be terminfo).
-
- Because terminfo conventions for representing padding in
- string capabilities differ from termcap's, <STRONG>tputs("50");</STRONG>
- will put out a literal "50" rather than busy-waiting for
- 50 milliseconds. Cope with it.
-
- Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG>
- string. One consequence of this is that termcap applica-
- tions assume me (terminfo <STRONG>sgr0</STRONG>) does not reset the alter-
- nate character set. This implementation checks for, and
- modifies the data shown to the termcap interface to accom-
- modate termcap's limitation in this respect.
+ <STRONG>o</STRONG> Because the capability may have padding characters, the output of
+ <STRONG>tgoto</STRONG> should be passed to <STRONG>tputs</STRONG> rather than some other output func-
+ tion such as <STRONG>printf</STRONG>.
+ <STRONG>o</STRONG> While <STRONG>tgoto</STRONG> is assumed to be used for the two-parameter cursor po-
+ sitioning capability, termcap applications also use it for single-
+ parameter capabilities.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions. However, they are marked TO BE WITHDRAWN and may
- be removed in future versions.
-
- Neither the XSI Curses standard nor the SVr4 man pages
- documented the return values of <STRONG>tgetent</STRONG> correctly, though
- all three were in fact returned ever since SVr1. In par-
- ticular, an omission in the XSI Curses documentation has
- been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG> or
- <STRONG>ERR</STRONG>. Because the purpose of these functions is to provide
- compatibility with the <EM>termcap</EM> library, that is a defect
- in XCurses, Issue 4, Version 2 rather than in ncurses.
-
- External variables are provided for support of certain
- termcap applications. However, termcap applications' use
- of those variables is poorly documented, e.g., not distin-
- guishing between input and output. In particular, some
- applications are reported to declare and/or modify <STRONG>ospeed</STRONG>.
-
- The comment that only the first two characters of the <STRONG>id</STRONG>
- parameter are used escapes many application developers.
- The original BSD 4.2 termcap library (and historical
- relics thereof) did not require a trailing null NUL on the
- parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
- Some applications assume that the termcap interface does
- not require the trailing NUL for the parameter name. Tak-
- ing into account these issues:
-
- <STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-
- character identifier provided that was at the end of
- the terminal description. You should not rely upon
- this behavior in portable programs. This implementa-
- tion disallows matches against single-character capa-
- bility names.
-
- <STRONG>o</STRONG> This implementation disallows matches by the termcap
- interface against extended capability names which are
- longer than two characters.
+ Doing this shows a quirk in <STRONG>tgoto</STRONG>: most hardware terminals use cur-
+ sor addressing with <EM>row</EM> first, but the original developers of the
+ termcap interface chose to put the <EM>column</EM> parameter first. The
+ <STRONG>tgoto</STRONG> function swaps the order of parameters. It does this also
+ for calls requiring only a single parameter. In that case, the
+ first parameter is merely a placeholder.
+ <STRONG>o</STRONG> Normally the ncurses library is compiled with terminfo support. In
+ that case, <STRONG>tgoto</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> (a more capable formatter).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ However, <STRONG>tparm</STRONG> is not a <EM>termcap</EM> feature, and portable <EM>termcap</EM> ap-
+ plications should not rely upon its availability.
+
+ The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
+ It can retrieve capabilities by either termcap or terminfo name.
+
+
+</PRE><H3><a name="h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></H3><PRE>
+ The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the terminfo entry's
+ data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG>
+ is not used by ncurses. <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function. <STRONG>BC</STRONG>
+ is used in the <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set by ncurses
+ in a system-specific coding to reflect the terminal speed.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except where explicitly noted, routines that return an integer return
+ <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other
+ than <STRONG>ERR</STRONG>") upon successful completion.
+
+ Routines that return pointers return <STRONG>NULL</STRONG> on error.
+
+
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+ If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>ca</STRONG> or any other parameterized string, be
+ aware that it will be returned in terminfo notation, not the older and
+ not-quite-compatible termcap notation. This will not cause problems if
+ all you do with it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
+ style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if configured to sup-
+ port termcap, will check if the string is indeed terminfo-style by
+ looking for "%p" parameters or "$&lt;..&gt;" delays, and invoke a termcap-
+ style parser if the string does not appear to be terminfo).
+
+ Because terminfo conventions for representing padding in string capa-
+ bilities differ from termcap's, <STRONG>tputs("50");</STRONG> will put out a literal
+ "50" rather than busy-waiting for 50 milliseconds. Cope with it.
+
+ Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG> string. One
+ consequence of this is that termcap applications assume me (terminfo
+ <STRONG>sgr0</STRONG>) does not reset the alternate character set. This implementation
+ checks for, and modifies the data shown to the termcap interface to ac-
+ commodate termcap's limitation in this respect.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are provided for supporting legacy applications, and
+ should not be used in new programs:
+
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 describes these functions. Howev-
+ er, they are marked TO BE WITHDRAWN and may be removed in future
+ versions.
+
+ <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked the termcap interface
+ (along with <STRONG>vwprintw</STRONG> and <STRONG>vwscanw</STRONG>) as withdrawn.
+
+ Neither the XSI Curses standard nor the SVr4 man pages documented the
+ return values of <STRONG>tgetent</STRONG> correctly, though all three were in fact re-
+ turned ever since SVr1. In particular, an omission in the XSI Curses
+ documentation has been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG>
+ or <STRONG>ERR</STRONG>. Because the purpose of these functions is to provide compati-
+ bility with the <EM>termcap</EM> library, that is a defect in XCurses, Issue 4,
+ Version 2 rather than in ncurses.
+
+ External variables are provided for support of certain termcap applica-
+ tions. However, termcap applications' use of those variables is poorly
+ documented, e.g., not distinguishing between input and output. In par-
+ ticular, some applications are reported to declare and/or modify <STRONG>os-</STRONG>
+ <STRONG>peed</STRONG>.
+
+ The comment that only the first two characters of the <STRONG>id</STRONG> parameter are
+ used escapes many application developers. The original BSD 4.2 termcap
+ library (and historical relics thereof) did not require a trailing null
+ NUL on the parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
+ Some applications assume that the termcap interface does not require
+ the trailing NUL for the parameter name. Taking into account these is-
+ sues:
+
+ <STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-character
+ identifier provided that was at the end of the terminal descrip-
+ tion. You should not rely upon this behavior in portable programs.
+ This implementation disallows matches against single-character ca-
+ pability names.
+
+ <STRONG>o</STRONG> This implementation disallows matches by the termcap interface
+ against extended capability names which are longer than two charac-
+ ters.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>.
- http://invisible-island.net/ncurses/tctest.html
+ https://invisible-island.net/ncurses/tctest.html
- <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-INITIALIZATION">INITIALIZATION</a></li>
+<li><a href="#h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></li>
+<li><a href="#h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></li>
+<li><a href="#h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-BUGS">BUGS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_terminfo.3x.html b/doc/html/man/curs_terminfo.3x.html
index f0a6ecc39cdf..0e33754b1aae 100644
--- a/doc/html/man/curs_terminfo.3x.html
+++ b/doc/html/man/curs_terminfo.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1999-2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2018,2020 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,100 +26,110 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_terminfo.3x,v 1.43 2013/07/20 19:29:59 tom Exp @
+ * @Id: curs_terminfo.3x,v 1.63 2020/01/18 23:55:46 tom Exp @
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_terminfo 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_terminfo 3x</H1>
-<HR>
+<H1 class="no-header">curs_terminfo 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</STRONG>,
- <STRONG>setterm</STRONG>, <STRONG>setupterm</STRONG>, <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, <STRONG>tigetstr</STRONG>, <STRONG>tiparm</STRONG>,
- <STRONG>tparm</STRONG>, <STRONG>tputs</STRONG>, <STRONG>vid_attr</STRONG>, <STRONG>vid_puts</STRONG>, <STRONG>vidattr</STRONG>, <STRONG>vidputs</STRONG> -
- <STRONG>curses</STRONG> interfaces to terminfo database
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</STRONG>, <STRONG>setterm</STRONG>, <STRONG>setupterm</STRONG>,
+ <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, <STRONG>tigetstr</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tparm</STRONG>, <STRONG>tputs</STRONG>, <STRONG>vid_attr</STRONG>,
+ <STRONG>vid_puts</STRONG>, <STRONG>vidattr</STRONG>, <STRONG>vidputs</STRONG> - <STRONG>curses</STRONG> interfaces to terminfo database
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
- <STRONG>int</STRONG> <STRONG>setupterm(char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fildes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>setterm(char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>);</STRONG>
+ <STRONG>TERMINAL</STRONG> <STRONG>*cur_term;</STRONG>
+
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolnames[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolcodes[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolfnames[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numnames[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numcodes[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numfnames[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strnames[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strcodes[];</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strfnames[];</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>setupterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>setterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>);</STRONG>
<STRONG>TERMINAL</STRONG> <STRONG>*set_curterm(TERMINAL</STRONG> <STRONG>*</STRONG><EM>nterm</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>del_curterm(TERMINAL</STRONG> <STRONG>*</STRONG><EM>oterm</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>restartterm(char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fildes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*tparm(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>restartterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
+
+ <STRONG>char</STRONG> <STRONG>*tparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
<STRONG>int</STRONG> <STRONG>tputs(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
<STRONG>int</STRONG> <STRONG>putp(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>vidputs(chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
<STRONG>int</STRONG> <STRONG>vidattr(chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>vid_puts(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
<STRONG>int</STRONG> <STRONG>vid_attr(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>mvcur(int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM>, int <EM>newcol</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetflag(char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetnum(char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*tigetstr(char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>tigetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tigetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*tigetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+
<STRONG>char</STRONG> <STRONG>*tiparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These low-level routines must be called by programs that
- have to deal directly with the <STRONG>terminfo</STRONG> database to handle
- certain terminal capabilities, such as programming func-
- tion keys. For all other functionality, <STRONG>curses</STRONG> routines
- are more suitable and their use is recommended.
-
- <STRONG>Initialization</STRONG>
- Initially, <STRONG>setupterm</STRONG> should be called. Note that <STRONG>se-</STRONG>
- <STRONG>tupterm</STRONG> is automatically called by <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG>.
- This defines the set of terminal-dependent variables
- [listed in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].
-
- Each initialization routine provides applications with the
- terminal capabilities either directly (via header defini-
- tions), or by special functions. The header files <STRONG>curs-</STRONG>
- <STRONG>es.h</STRONG> and <STRONG>term.h</STRONG> should be included (in this order) to get
- the definitions for these strings, numbers, and flags.
-
- The <STRONG>terminfo</STRONG> variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized
- by <STRONG>setupterm</STRONG> as follows:
-
- <STRONG>o</STRONG> If <STRONG>use_env(FALSE)</STRONG> has been called, values for <STRONG>lines</STRONG>
- and <STRONG>columns</STRONG> specified in <STRONG>terminfo</STRONG> are used.
-
- <STRONG>o</STRONG> Otherwise, if the environment variables <STRONG>LINES</STRONG> and <STRONG>COL-</STRONG>
- <STRONG>UMNS</STRONG> exist, their values are used. If these environ-
- ment variables do not exist and the program is running
- in a window, the current window size is used. Other-
- wise, if the environment variables do not exist, the
- values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <STRONG>terminfo</STRONG>
- database are used.
-
- Parameterized strings should be passed through <STRONG>tparm</STRONG> to
- instantiate them. All <STRONG>terminfo</STRONG> strings [including the
- output of <STRONG>tparm</STRONG>] should be printed with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>.
- Call <STRONG>reset_shell_mode</STRONG> to restore the tty modes before ex-
- iting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>].
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These low-level routines must be called by programs that have to deal
+ directly with the <STRONG>terminfo</STRONG> database to handle certain terminal capabil-
+ ities, such as programming function keys. For all other functionality,
+ <STRONG>curses</STRONG> routines are more suitable and their use is recommended.
+
+
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+ Initially, <STRONG>setupterm</STRONG> should be called. The high-level curses functions
+ <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> call <STRONG>setupterm</STRONG> to initialize the low-level set of
+ terminal-dependent variables [listed in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].
+
+ Applications can use the terminal capabilities either directly (via
+ header definitions), or by special functions. The header files <STRONG>curs-</STRONG>
+ <STRONG>es.h</STRONG> and <STRONG>term.h</STRONG> should be included (in this order) to get the defini-
+ tions for these strings, numbers, and flags.
+
+ The <STRONG>terminfo</STRONG> variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized by <STRONG>setupterm</STRONG>
+ as follows:
+
+ <STRONG>o</STRONG> If <STRONG>use_env(FALSE)</STRONG> has been called, values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG>
+ specified in <STRONG>terminfo</STRONG> are used.
+
+ <STRONG>o</STRONG> Otherwise, if the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> exist,
+ their values are used. If these environment variables do not exist
+ and the program is running in a window, the current window size is
+ used. Otherwise, if the environment variables do not exist, the
+ values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <STRONG>terminfo</STRONG> database are
+ used.
+
+ Parameterized strings should be passed through <STRONG>tparm</STRONG> to instantiate
+ them. All <STRONG>terminfo</STRONG> strings (including the output of <STRONG>tparm</STRONG>) should be
+ printed with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>. Call <STRONG>reset_shell_mode</STRONG> to restore the tty
+ modes before exiting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>].
Programs which use cursor addressing should
@@ -130,139 +139,163 @@
Programs which execute shell subprocesses should
- <STRONG>o</STRONG> call <STRONG>reset_shell_mode</STRONG> and output <STRONG>exit_ca_mode</STRONG> before
- the shell is called and
+ <STRONG>o</STRONG> call <STRONG>reset_shell_mode</STRONG> and output <STRONG>exit_ca_mode</STRONG> before the shell is
+ called and
+
+ <STRONG>o</STRONG> output <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after returning from
+ the shell.
- <STRONG>o</STRONG> output <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after
- returning from the shell.
+ The <STRONG>setupterm</STRONG> routine reads in the <STRONG>terminfo</STRONG> database, initializing the
+ <STRONG>terminfo</STRONG> structures, but does not set up the output virtualization
+ structures used by <STRONG>curses</STRONG>. These are its parameters:
- The <STRONG>setupterm</STRONG> routine reads in the <STRONG>terminfo</STRONG> database, ini-
- tializing the <STRONG>terminfo</STRONG> structures, but does not set up the
- output virtualization structures used by <STRONG>curses</STRONG>. The ter-
- minal type is the character string <EM>term</EM>; if <EM>term</EM> is null,
- the environment variable <STRONG>TERM</STRONG> is used. All output is to
- file descriptor <STRONG>fildes</STRONG> which is initialized for output.
- If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG> returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>
- and stores a status value in the integer pointed to by <EM>er-</EM>
- <EM>rret</EM>. A return value of <STRONG>OK</STRONG> combined with status of <STRONG>1</STRONG> in
- <EM>errret</EM> is normal. If <STRONG>ERR</STRONG> is returned, examine <EM>errret</EM>:
+ <EM>term</EM> is the terminal type, a character string. If <EM>term</EM> is null, the
+ environment variable <STRONG>TERM</STRONG> is used.
- <STRONG>1</STRONG> means that the terminal is hardcopy, cannot be used
- for curses applications.
+ <EM>filedes</EM>
+ is the file descriptor used for all output.
- <STRONG>setupterm</STRONG> determines if the entry is a hardcopy type
- by checking the <EM>hc</EM> (<EM>hardcopy</EM>) capability.
+ <EM>errret</EM>
+ points to an optional location where an error status can be re-
+ turned to the caller. If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG>
+ returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> and stores a status value in the integer
+ pointed to by <EM>errret</EM>. A return value of <STRONG>OK</STRONG> combined with sta-
+ tus of <STRONG>1</STRONG> in <EM>errret</EM> is normal.
- <STRONG>0</STRONG> means that the terminal could not be found, or that
- it is a generic type, having too little information
- for curses applications to run.
+ If <STRONG>ERR</STRONG> is returned, examine <EM>errret</EM>:
- <STRONG>setupterm</STRONG> determines if the entry is a generic type
- by checking the <EM>gn</EM> (<EM>generic</EM>) capability.
+ <STRONG>1</STRONG> means that the terminal is hardcopy, cannot be used for
+ curses applications.
- <STRONG>-1</STRONG> means that the <STRONG>terminfo</STRONG> database could not be found.
+ <STRONG>setupterm</STRONG> determines if the entry is a hardcopy type by
+ checking the <STRONG>hc</STRONG> (<STRONG>hardcopy</STRONG>) capability.
- If <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error message upon
- finding an error and exits. Thus, the simplest call is:
+ <STRONG>0</STRONG> means that the terminal could not be found, or that it is
+ a generic type, having too little information for curses
+ applications to run.
- <STRONG>setupterm((char</STRONG> <STRONG>*)0,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0);</STRONG>,
+ <STRONG>setupterm</STRONG> determines if the entry is a generic type by
+ checking the <STRONG>gn</STRONG> (<STRONG>generic</STRONG>) capability.
- which uses all the defaults and sends the output to <STRONG>std-</STRONG>
- <STRONG>out</STRONG>.
+ <STRONG>-1</STRONG> means that the <STRONG>terminfo</STRONG> database could not be found.
+
+ If <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error message upon find-
+ ing an error and exits. Thus, the simplest call is:
+
+ <STRONG>setupterm((char</STRONG> <STRONG>*)0,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0);</STRONG>,
+
+ which uses all the defaults and sends the output to <STRONG>stdout</STRONG>.
The <STRONG>setterm</STRONG> routine was replaced by <STRONG>setupterm</STRONG>. The call:
<STRONG>setupterm(</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0)</STRONG>
- provides the same functionality as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>. The
- <STRONG>setterm</STRONG> routine is provided for BSD compatibility, and is
- not recommended for new programs.
-
- <STRONG>The</STRONG> <STRONG>Terminal</STRONG> <STRONG>State</STRONG>
- The <STRONG>setupterm</STRONG> routine stores its information about the
- terminal in a <STRONG>TERMINAL</STRONG> structure pointed to by the global
- variable <STRONG>cur_term</STRONG>. If it detects an error, or decides
- that the terminal is unsuitable (hardcopy or generic), it
- discards this information, making it not available to ap-
- plications.
-
- If <STRONG>setupterm</STRONG> is called repeatedly for the same terminal
- type, it will reuse the information. It maintains only
- one copy of a given terminal's capabilities in memory. If
- it is called for different terminal types, <STRONG>setupterm</STRONG> allo-
- cates new storage for each set of terminal capabilities.
-
- The <STRONG>set_curterm</STRONG> routine sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and makes
- all of the <STRONG>terminfo</STRONG> boolean, numeric, and string variables
- use the values from <EM>nterm</EM>. It returns the old value of
- <STRONG>cur_term</STRONG>.
-
- The <STRONG>del_curterm</STRONG> routine frees the space pointed to by
- <EM>oterm</EM> and makes it available for further use. If <EM>oterm</EM> is
- the same as <STRONG>cur_term</STRONG>, references to any of the <STRONG>terminfo</STRONG>
- boolean, numeric, and string variables thereafter may re-
- fer to invalid memory locations until another <STRONG>setupterm</STRONG>
- has been called.
-
- The <STRONG>restartterm</STRONG> routine is similar to <STRONG>setupterm</STRONG> and
- <STRONG>initscr</STRONG>, except that it is called after restoring memory
- to a previous state (for example, when reloading a game
- saved as a core image dump). <STRONG>restartterm</STRONG> assumes that the
- windows and the input and output options are the same as
- when memory was saved, but the terminal type and baud rate
- may be different. Accordingly, <STRONG>restartterm</STRONG> saves various
- tty state bits, calls <STRONG>setupterm</STRONG>, and then restores the
- bits.
-
- <STRONG>Formatting</STRONG> <STRONG>Output</STRONG>
- The <STRONG>tparm</STRONG> routine instantiates the string <EM>str</EM> with parame-
- ters <EM>pi</EM>. A pointer is returned to the result of <EM>str</EM> with
- the parameters applied.
-
- <STRONG>tiparm</STRONG> is a newer form of <STRONG>tparm</STRONG> which uses <EM>&lt;stdarg.h&gt;</EM>
- rather than a fixed-parameter list. Its numeric parame-
- ters are integers (int) rather than longs.
-
- <STRONG>Output</STRONG> <STRONG>Functions</STRONG>
- The <STRONG>tputs</STRONG> routine applies padding information to the
- string <EM>str</EM> and outputs it. The <EM>str</EM> must be a terminfo
- string variable or the return value from <STRONG>tparm</STRONG>, <STRONG>tgetstr</STRONG>,
- or <STRONG>tgoto</STRONG>. <EM>affcnt</EM> is the number of lines affected, or 1 if
- not applicable. <EM>putc</EM> is a <STRONG>putchar</STRONG>-like routine to which
- the characters are passed, one at a time.
-
- The <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>. Note that
- the output of <STRONG>putp</STRONG> always goes to <STRONG>stdout</STRONG>, not to the
- <EM>fildes</EM> specified in <STRONG>setupterm</STRONG>.
-
- The <STRONG>vidputs</STRONG> routine displays the string on the terminal in
- the video attribute mode <EM>attrs</EM>, which is any combination
- of the attributes listed in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. The characters
- are passed to the <STRONG>putchar</STRONG>-like routine <EM>putc</EM>.
-
- The <STRONG>vidattr</STRONG> routine is like the <STRONG>vidputs</STRONG> routine, except
- that it outputs through <STRONG>putchar</STRONG>.
-
- The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines correspond to vidattr
- and vidputs, respectively. They use a set of arguments
- for representing the video attributes plus color, i.e.,
- one of type attr_t for the attributes and one of short for
- the color_pair number. The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines
- are designed to use the attribute constants with the <EM>WA</EM><STRONG>_</STRONG>
- prefix. The opts argument is reserved for future use.
- Currently, applications must provide a null pointer for
- that argument.
-
- The <STRONG>mvcur</STRONG> routine provides low-level cursor motion. It
- takes effect immediately (rather than at the next re-
- fresh).
-
- <STRONG>Terminal</STRONG> <STRONG>Capability</STRONG> <STRONG>Functions</STRONG>
- The <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines return the
- value of the capability corresponding to the <STRONG>terminfo</STRONG> <EM>cap-</EM>
- <EM>name</EM> passed to them, such as <STRONG>xenl</STRONG>. The <EM>capname</EM> for each
- capability is given in the table column entitled <EM>capname</EM>
- code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ provides the same functionality as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>. The <STRONG>setterm</STRONG> routine
+ is provided for BSD compatibility, and is not recommended for new pro-
+ grams.
+
+
+</PRE><H3><a name="h3-The-Terminal-State">The Terminal State</a></H3><PRE>
+ The <STRONG>setupterm</STRONG> routine stores its information about the terminal in a
+ <STRONG>TERMINAL</STRONG> structure pointed to by the global variable <STRONG>cur_term</STRONG>. If it
+ detects an error, or decides that the terminal is unsuitable (hardcopy
+ or generic), it discards this information, making it not available to
+ applications.
+
+ If <STRONG>setupterm</STRONG> is called repeatedly for the same terminal type, it will
+ reuse the information. It maintains only one copy of a given termi-
+ nal's capabilities in memory. If it is called for different terminal
+ types, <STRONG>setupterm</STRONG> allocates new storage for each set of terminal capa-
+ bilities.
+
+ The <STRONG>set_curterm</STRONG> routine sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and makes all of the
+ <STRONG>terminfo</STRONG> boolean, numeric, and string variables use the values from
+ <EM>nterm</EM>. It returns the old value of <STRONG>cur_term</STRONG>.
+
+ The <STRONG>del_curterm</STRONG> routine frees the space pointed to by <EM>oterm</EM> and makes
+ it available for further use. If <EM>oterm</EM> is the same as <STRONG>cur_term</STRONG>, refer-
+ ences to any of the <STRONG>terminfo</STRONG> boolean, numeric, and string variables
+ thereafter may refer to invalid memory locations until another <STRONG>se-</STRONG>
+ <STRONG>tupterm</STRONG> has been called.
+
+ The <STRONG>restartterm</STRONG> routine is similar to <STRONG>setupterm</STRONG> and <STRONG>initscr</STRONG>, except
+ that it is called after restoring memory to a previous state (for exam-
+ ple, when reloading a game saved as a core image dump). <STRONG>restartterm</STRONG>
+ assumes that the windows and the input and output options are the same
+ as when memory was saved, but the terminal type and baud rate may be
+ different. Accordingly, <STRONG>restartterm</STRONG> saves various tty state bits,
+ calls <STRONG>setupterm</STRONG>, and then restores the bits.
+
+
+</PRE><H3><a name="h3-Formatting-Output">Formatting Output</a></H3><PRE>
+ The <STRONG>tparm</STRONG> routine instantiates the string <EM>str</EM> with parameters <EM>pi</EM>. A
+ pointer is returned to the result of <EM>str</EM> with the parameters applied.
+ Application developers should keep in mind these quirks of the inter-
+ face:
+
+ <STRONG>o</STRONG> Although <STRONG>tparm</STRONG>'s actual parameters may be integers or strings, the
+ prototype expects <STRONG>long</STRONG> (integer) values.
+
+ <STRONG>o</STRONG> Aside from the <STRONG>set_attributes</STRONG> (<STRONG>sgr</STRONG>) capability, most terminal capa-
+ bilities require no more than one or two parameters.
+
+ <STRONG>tiparm</STRONG> is a newer form of <STRONG>tparm</STRONG> which uses <EM>&lt;stdarg.h&gt;</EM> rather than a
+ fixed-parameter list. Its numeric parameters are integers (int) rather
+ than longs.
+
+
+</PRE><H3><a name="h3-Output-Functions">Output Functions</a></H3><PRE>
+ The <STRONG>tputs</STRONG> routine applies padding information to the string <EM>str</EM> and
+ outputs it:
+
+ <STRONG>o</STRONG> The <EM>str</EM> parameter must be a terminfo string variable or the return
+ value from <STRONG>tparm</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>.
+
+ The <STRONG>tgetstr</STRONG> and <STRONG>tgoto</STRONG> functions are part of the <EM>termcap</EM> interface,
+ which happens to share this function name with the <EM>terminfo</EM> inter-
+ face.
+
+ <STRONG>o</STRONG> <EM>affcnt</EM> is the number of lines affected, or 1 if not applicable.
+
+ <STRONG>o</STRONG> <EM>putc</EM> is a <STRONG>putchar</STRONG>-like routine to which the characters are passed,
+ one at a time.
+
+ The <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>. The output of <STRONG>putp</STRONG> al-
+ ways goes to <STRONG>stdout</STRONG>, rather than the <EM>filedes</EM> specified in <STRONG>setupterm</STRONG>.
+
+ The <STRONG>vidputs</STRONG> routine displays the string on the terminal in the video
+ attribute mode <EM>attrs</EM>, which is any combination of the attributes listed
+ in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. The characters are passed to the <STRONG>putchar</STRONG>-like routine
+ <EM>putc</EM>.
+
+ The <STRONG>vidattr</STRONG> routine is like the <STRONG>vidputs</STRONG> routine, except that it outputs
+ through <STRONG>putchar</STRONG>.
+
+ The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines correspond to vidattr and vidputs,
+ respectively. They use a set of arguments for representing the video
+ attributes plus color, i.e.,
+
+ <STRONG>o</STRONG> <EM>attrs</EM> of type <STRONG>attr_t</STRONG> for the attributes and
+
+ <STRONG>o</STRONG> <EM>pair</EM> of type <STRONG>short</STRONG> for the color-pair number.
+
+ The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines are designed to use the attribute
+ constants with the <EM>WA</EM><STRONG>_</STRONG> prefix.
+
+ X/Open Curses reserves the <EM>opts</EM> argument for future use, saying that
+ applications must provide a null pointer for that argument. As an ex-
+ tension, this implementation allows <EM>opts</EM> to be used as a pointer to
+ <STRONG>int</STRONG>, which overrides the <EM>pair</EM> (<STRONG>short</STRONG>) argument.
+
+ The <STRONG>mvcur</STRONG> routine provides low-level cursor motion. It takes effect
+ immediately (rather than at the next refresh).
+
+
+</PRE><H3><a name="h3-Terminal-Capability-Functions">Terminal Capability Functions</a></H3><PRE>
+ The <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines return the value of the
+ capability corresponding to the <STRONG>terminfo</STRONG> <EM>capname</EM> passed to them, such
+ as <STRONG>xenl</STRONG>. The <EM>capname</EM> for each capability is given in the table column
+ entitled <EM>capname</EM> code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
These routines return special values to denote errors.
@@ -270,163 +303,278 @@
<STRONG>-1</STRONG> if <EM>capname</EM> is not a boolean capability, or
- <STRONG>0</STRONG> if it is canceled or absent from the terminal de-
- scription.
+ <STRONG>0</STRONG> if it is canceled or absent from the terminal description.
The <STRONG>tigetnum</STRONG> routine returns
<STRONG>-2</STRONG> if <EM>capname</EM> is not a numeric capability, or
- <STRONG>-1</STRONG> if it is canceled or absent from the terminal de-
- scription.
+ <STRONG>-1</STRONG> if it is canceled or absent from the terminal description.
The <STRONG>tigetstr</STRONG> routine returns
<STRONG>(char</STRONG> <STRONG>*)-1</STRONG>
if <EM>capname</EM> is not a string capability, or
- <STRONG>0</STRONG> if it is canceled or absent from the terminal de-
- scription.
+ <STRONG>0</STRONG> if it is canceled or absent from the terminal description.
- <STRONG>Terminal</STRONG> <STRONG>Capability</STRONG> <STRONG>Names</STRONG>
- These null-terminated arrays contain the short terminfo
- names ("codes"), the <STRONG>termcap</STRONG> names, and the long terminfo
- names ("fnames") for each of the predefined <STRONG>terminfo</STRONG> vari-
- ables:
- <STRONG>char</STRONG> <STRONG>*boolnames[]</STRONG>, <STRONG>*boolcodes[]</STRONG>, <STRONG>*boolfnames[]</STRONG>
- <STRONG>char</STRONG> <STRONG>*numnames[]</STRONG>, <STRONG>*numcodes[]</STRONG>, <STRONG>*numfnames[]</STRONG>
+</PRE><H3><a name="h3-Terminal-Capability-Names">Terminal Capability Names</a></H3><PRE>
+ These null-terminated arrays contain
- <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG>
+ <STRONG>o</STRONG> the short terminfo names ("codes"),
+ <STRONG>o</STRONG> the <STRONG>termcap</STRONG> names ("names", and
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
- <STRONG>ERR</STRONG>") upon successful completion, unless otherwise noted
- in the preceding routine descriptions.
+ <STRONG>o</STRONG> the long terminfo names ("fnames")
+
+ for each of the predefined <STRONG>terminfo</STRONG> variables:
+
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*boolnames[]</STRONG>, <STRONG>*boolcodes[]</STRONG>, <STRONG>*boolfnames[]</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*numnames[]</STRONG>, <STRONG>*numcodes[]</STRONG>, <STRONG>*numfnames[]</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG>
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
+ only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ pletion, unless otherwise noted in the preceding routine descriptions.
Routines that return pointers always return <STRONG>NULL</STRONG> on error.
- X/Open defines no error conditions. In this implementa-
- tion
+ X/Open defines no error conditions. In this implementation
+
+ <STRONG>del_curterm</STRONG>
+ returns an error if its terminal parameter is null.
+
+ <STRONG>putp</STRONG> calls <STRONG>tputs</STRONG>, returning the same error-codes.
+
+ <STRONG>restartterm</STRONG>
+ returns an error if the associated call to <STRONG>setupterm</STRONG> returns an
+ error.
+
+ <STRONG>setupterm</STRONG>
+ returns an error if it cannot allocate enough memory, or create
+ the initial windows (stdscr, curscr, newscr). Other error con-
+ ditions are documented above.
+
+ <STRONG>tputs</STRONG>
+ returns an error if the string parameter is null. It does not
+ detect I/O errors: X/Open states that <STRONG>tputs</STRONG> ignores the return
+ value of the output function <EM>putc</EM>.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ SVr2 introduced the terminfo feature. Its programming manual mentioned
+ these low-level functions:
+
+ <STRONG>Function</STRONG> <STRONG>Description</STRONG>
+ ------------------------------------------------------------
+ fixterm restore tty to "in curses" state
+ gettmode establish current tty modes
+ mvcur low level cursor motion
+ putp utility function that uses <STRONG>tputs</STRONG> to send char-
+ acters via <STRONG>putchar</STRONG>.
+ resetterm set tty modes to "out of curses" state
+ resetty reset tty flags to stored value
+ saveterm save current modes as "in curses" state
+ savetty store current tty flags
+ setterm establish terminal with given type
+ setupterm establish terminal with given type
+ tparm instantiate a string expression with parameters
+ tputs apply padding information to a string
+ vidattr like <STRONG>vidputs</STRONG>, but outputs through <STRONG>putchar</STRONG>
+ vidputs output a string to put terminal in a specified
+ video attribute mode
+
+ The programming manual also mentioned functions provided for termcap
+ compatibility (commenting that they "may go away at a later date"):
+
+ <STRONG>Function</STRONG> <STRONG>Description</STRONG>
+ ------------------------------------------------
+ tgetent look up termcap entry for given <EM>name</EM>
+ tgetflag get boolean entry for given <EM>id</EM>
+ tgetnum get numeric entry for given <EM>id</EM>
+ tgetstr get string entry for given <EM>id</EM>
+ tgoto apply parameters to given capability
+ tputs apply padding to capability, calling
+ a function to put characters
+
+ Early terminfo programs obtained capability values from the <STRONG>TERMINAL</STRONG>
+ structure initialized by <STRONG>setupterm</STRONG>.
+
+ SVr3 extended terminfo by adding functions to retrieve capability val-
+ ues (like the termcap interface), and reusing tgoto and tputs:
+
+ <STRONG>Function</STRONG> <STRONG>Description</STRONG>
+ -------------------------------------------
+ tigetflag get boolean entry for given <EM>id</EM>
+ tigetnum get numeric entry for given <EM>id</EM>
+ tigetstr get string entry for given <EM>id</EM>
+
+ SVr3 also replaced several of the SVr2 terminfo functions which had no
+ counterpart in the termcap interface, documenting them as obsolete:
+
+ <STRONG>Function</STRONG> <STRONG>Replaced</STRONG> <STRONG>by</STRONG>
+ -----------------------------
+ crmode cbreak
+ fixterm reset_prog_mode
+ gettmode N/A
+ nocrmode nocbreak
+ resetterm reset_shell_mode
+ saveterm def_prog_mode
+ setterm setupterm
+
+ SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>,
+ <STRONG>tparm</STRONG> and <STRONG>tputs</STRONG>. The latter were needed to support padding, and han-
+ dling functions such as <STRONG>vidattr</STRONG> (which used more than the two parame-
+ ters supported by <STRONG>tgoto</STRONG>).
+
+ SVr3 introduced the functions for switching between terminal descrip-
+ tions, e.g., <STRONG>set_curterm</STRONG>. The various global variables such as <STRONG>bool-</STRONG>
+ <STRONG>names</STRONG> were mentioned in the programming manual at this point.
+
+ SVr4 added the <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> functions.
+
+ There are other low-level functions declared in the curses header files
+ on Unix systems, but none were documented. The functions marked "obso-
+ lete" remained in use by the Unix <STRONG>vi</STRONG> editor.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+
+</PRE><H3><a name="h3-Legacy-functions">Legacy functions</a></H3><PRE>
+ X/Open notes that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros.
+
+ The function <STRONG>setterm</STRONG> is not described by X/Open and must be considered
+ non-portable. All other functions are as described by X/Open.
- <STRONG>del_curterm</STRONG>
- returns an error if its terminal parameter is
- null.
- <STRONG>putp</STRONG> calls <STRONG>tputs</STRONG>, returning the same error-codes.
+</PRE><H3><a name="h3-Legacy-data">Legacy data</a></H3><PRE>
+ <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>. This is not
+ part of X/Open Curses, but is assumed by some applications.
- <STRONG>restartterm</STRONG>
- returns an error if the associated call to <STRONG>se-</STRONG>
- <STRONG>tupterm</STRONG> returns an error.
+ Other implementions may not declare the capability name arrays. Some
+ provide them without declaring them. X/Open does not specify them.
- <STRONG>setupterm</STRONG>
- returns an error if it cannot allocate enough
- memory, or create the initial windows (stdscr,
- curscr, newscr). Other error conditions are
- documented above.
+ Extended terminal capability names, e.g., as defined by <STRONG>tic</STRONG> <STRONG>-x</STRONG>, are not
+ stored in the arrays described here.
- <STRONG>tputs</STRONG>
- returns an error if the string parameter is
- null. It does not detect I/O errors: X/Open
- states that <STRONG>tputs</STRONG> ignores the return value of
- the output function <EM>putc</EM>.
+</PRE><H3><a name="h3-Output-buffering">Output buffering</a></H3><PRE>
+ Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor passed to
+ <STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses buffered I/O, and would write to
+ the corresponding stream. In addition to the limitation that the ter-
+ minal was left in block-buffered mode on exit (like System V curses),
+ it was problematic because <STRONG>ncurses</STRONG> did not allow a reliable way to
+ cleanup on receiving SIGTSTP.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- X/Open notes that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros.
+ The current version (ncurses6) uses output buffers managed directly by
+ <STRONG>ncurses</STRONG>. Some of the low-level functions described in this manual page
+ write to the standard output. They are not signal-safe. The high-lev-
+ el functions in <STRONG>ncurses</STRONG> use alternate versions of these functions using
+ the more reliable buffering scheme.
- The function <STRONG>setterm</STRONG> is not described by X/Open and must
- be considered non-portable. All other functions are as
- described by X/Open.
- <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>.
- This is not part of X/Open Curses, but is assumed by some
- applications.
+</PRE><H3><a name="h3-Function-prototypes">Function prototypes</a></H3><PRE>
+ The X/Open Curses prototypes are based on the SVr4 curses header decla-
+ rations, which were defined at the same time the C language was first
+ standardized in the late 1980s.
- If configured to use the terminal-driver, e.g., for the
- MinGW port,
-
- <STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty TERM variable as
- the special value "unknown".
-
- <STRONG>o</STRONG> <STRONG>setupterm</STRONG> allows explicit use of the the windows con-
- sole driver by checking if $TERM is set to "#win32con"
- or an abbreviation of that string.
-
- Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor
- passed to <STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses buffered
- I/O, and would write to the corresponding stream. In ad-
- dition to the limitation that the terminal was left in
- block-buffered mode on exit (like SystemV curses), it was
- problematic because <STRONG>ncurses</STRONG> did not allow a reliable way
- to cleanup on receiving SIGTSTP. The current version uses
- output buffers managed directly by <STRONG>ncurses</STRONG>. Some of the
- low-level functions described in this manual page write to
- the standard output. They are not signal-safe. The high-
- level functions in <STRONG>ncurses</STRONG> use alternate versions of these
- functions using the more reliable buffering scheme.
-
- In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return type
- and returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. We have chosen to implement the
- X/Open Curses semantics.
-
- In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the
- type <STRONG>int</STRONG> <STRONG>(*putc)(char)</STRONG>.
-
- At least one implementation of X/Open Curses (Solaris) re-
- turns a value other than OK/ERR from <STRONG>tputs</STRONG>. That returns
- the length of the string, and does no error-checking.
-
- X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of pa-
- rameters, rather than a variable argument list. This im-
- plementation uses a variable argument list, but can be
- configured to use the fixed-parameter list. Portable ap-
- plications should provide 9 parameters after the format;
- zeroes are fine for this purpose.
-
- In response to comments by Thomas E. Dickey, X/Open Curses
- Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009.
-
- X/Open notes that after calling <STRONG>mvcur</STRONG>, the curses state
- may not match the actual terminal state, and that an ap-
- plication should touch and refresh the window before re-
- suming normal curses calls. Both <STRONG>ncurses</STRONG> and System V Re-
- lease 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo-
- cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is docu-
- mented as a terminfo function, <STRONG>mvcur</STRONG> is really a curses
- function which is not well specified.
-
- X/Open states that the old location must be given for
- <STRONG>mvcur</STRONG>. This implementation allows the caller to use -1's
- for the old ordinates. In that case, the old location is
- unknown.
-
- Other implementions may not declare the capability name
- arrays. Some provide them without declaring them. X/Open
- does not specify them.
-
- Extended terminal capability names, e.g., as defined by
- <STRONG>tic</STRONG> <STRONG>-x</STRONG>, are not stored in the arrays described here.
+ <STRONG>o</STRONG> X/Open Curses uses <STRONG>const</STRONG> less effectively than a later design
+ might, in some cases applying it needlessly to values are already
+ constant, and in most cases overlooking parameters which normally
+ would use <STRONG>const</STRONG>. Using constant parameters for functions which do
+ not use <STRONG>const</STRONG> may prevent the program from compiling. On the other
+ hand, <EM>writable</EM> <EM>strings</EM> are an obsolescent feature.
+ As an extension, this implementation can be configured to change
+ the function prototypes to use the <STRONG>const</STRONG> keyword. The ncurses ABI
+ 6 enables this feature by default.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG>curs_term-</STRONG>
- <STRONG><A HREF="curs_termcap.3x.html">cap(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>,
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ <STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters,
+ rather than a variable argument list.
+
+ This implementation uses a variable argument list, but can be con-
+ figured to use the fixed-parameter list. Portable applications
+ should provide 9 parameters after the format; zeroes are fine for
+ this purpose.
+
+ In response to review comments by Thomas E. Dickey, X/Open Curses
+ Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009.
+
+
+</PRE><H3><a name="h3-Special-TERM-treatment">Special TERM treatment</a></H3><PRE>
+ If configured to use the terminal-driver, e.g., for the MinGW port,
+
+ <STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty TERM variable as the special
+ value "unknown".
+
+ <STRONG>o</STRONG> <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver by
+ checking if $TERM is set to "#win32con" or an abbreviation of that
+ string.
+
+
+</PRE><H3><a name="h3-Other-portability-issues">Other portability issues</a></H3><PRE>
+ In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return type and returns
+ <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. We have chosen to implement the X/Open Curses semantics.
+
+ In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the type <STRONG>int</STRONG>
+ <STRONG>(*putc)(char)</STRONG>.
+
+ At least one implementation of X/Open Curses (Solaris) returns a value
+ other than <STRONG>OK</STRONG>/<STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>. That returns the length of the string,
+ and does no error-checking.
+
+ X/Open notes that after calling <STRONG>mvcur</STRONG>, the curses state may not match
+ the actual terminal state, and that an application should touch and re-
+ fresh the window before resuming normal curses calls. Both <STRONG>ncurses</STRONG> and
+ System V Release 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo-
+ cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as a
+ terminfo function, <STRONG>mvcur</STRONG> is really a curses function which is not well
+ specified.
+
+ X/Open states that the old location must be given for <STRONG>mvcur</STRONG>. This im-
+ plementation allows the caller to use -1's for the old ordinates. In
+ that case, the old location is unknown.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-The-Terminal-State">The Terminal State</a></li>
+<li><a href="#h3-Formatting-Output">Formatting Output</a></li>
+<li><a href="#h3-Output-Functions">Output Functions</a></li>
+<li><a href="#h3-Terminal-Capability-Functions">Terminal Capability Functions</a></li>
+<li><a href="#h3-Terminal-Capability-Names">Terminal Capability Names</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-Legacy-functions">Legacy functions</a></li>
+<li><a href="#h3-Legacy-data">Legacy data</a></li>
+<li><a href="#h3-Output-buffering">Output buffering</a></li>
+<li><a href="#h3-Function-prototypes">Function prototypes</a></li>
+<li><a href="#h3-Special-TERM-treatment">Special TERM treatment</a></li>
+<li><a href="#h3-Other-portability-issues">Other portability issues</a></li>
+</ul>
+</li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_threads.3x.html b/doc/html/man/curs_threads.3x.html
index 899037332f44..0977cac573c0 100644
--- a/doc/html/man/curs_threads.3x.html
+++ b/doc/html/man/curs_threads.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2008-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2008-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_threads.3x,v 1.19 2012/05/26 17:03:26 tom Exp @
+ * @Id: curs_threads.3x,v 1.24 2017/11/18 23:56:00 tom Exp @
* ***************************************************************************
* ***************************************************************************
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_threads 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_threads 3x</H1>
-<HR>
+<H1 class="no-header">curs_threads 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>use_screen</STRONG>, <STRONG>use_window</STRONG> - <STRONG>curses</STRONG> thread support
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>curs_threads</STRONG> - <STRONG>curses</STRONG> thread support
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>typedef</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_WINDOW_CB)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
@@ -61,574 +59,568 @@
<STRONG>int</STRONG> <STRONG>get_escdelay(void);</STRONG>
<STRONG>int</STRONG> <STRONG>set_escdelay(int</STRONG> <STRONG>size);</STRONG>
<STRONG>int</STRONG> <STRONG>set_tabsize(int</STRONG> <STRONG>size);</STRONG>
- <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*scr,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
- <STRONG>*data);</STRONG>
- <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG>
- <STRONG>*data);</STRONG>
+ <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*scr,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG> <STRONG>*data);</STRONG>
+ <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <STRONG>func,</STRONG> <STRONG>void</STRONG> <STRONG>*data);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This implementation can be configured to provide rudimen-
- tary support for multi-threaded applications. This makes
- a different set of libraries, e.g., <EM>libncursest</EM> since the
- binary interfaces are different.
-
- Rather than modify the interfaces to pass a thread speci-
- fier to each function, it adds a few functions which can
- be used in any configuration which hide the mutex's needed
- to prevent concurrent use of the global variables when
- configured for threading.
-
- In addition to forcing access to members of the <STRONG>WINDOW</STRONG>
- structure to be via functions (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>), it
- makes functions of the common global variables, e.g., COL-
- ORS, COLOR_PAIRS, COLS, ESCDELAY, LINES, TABSIZE curscr,
- newscr and ttytype. Those variables are maintained as
- read-only values, stored in the <STRONG>SCREEN</STRONG> structure.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This implementation can be configured to provide rudimentary support
+ for multi-threaded applications. This makes a different set of li-
+ braries, e.g., <EM>libncursest</EM> since the binary interfaces are different.
- Even this is not enough to make a thread-safe application
- using curses. A multi-threaded application would be ex-
- pected to have threads updating separate windows (within
- the same device), or updating on separate screens (on dif-
- ferent devices). Also, a few of the global variables are
- considered writable by some applications. The functions
- described here address these special situations.
+ Rather than modify the interfaces to pass a thread specifier to each
+ function, it adds a few functions which can be used in any configura-
+ tion which hide the mutex's needed to prevent concurrent use of the
+ global variables when configured for threading.
- The ESCDELAY and TABSIZE global variables are modified by
- some applications. To modify them in any configuration,
- use the <STRONG>set_escdelay</STRONG> or <STRONG>set_tabsize</STRONG> functions. Other
- global variables are not modifiable.
-
- The <STRONG>get_escdelay</STRONG> function returns the value for ESCDELAY.
-
- The <STRONG>use_window</STRONG> and <STRONG>use_screen</STRONG> functions provide coarse
- granularity mutexes for their respective <STRONG>WINDOW</STRONG> and <STRONG>SCREEN</STRONG>
- parameters, and call a user-supplied function, passing it
- a <EM>data</EM> parameter, and returning the value from the user-
- supplied function to the application.
-
- <STRONG>USAGE</STRONG>
- All of the ncurses library functions assume that the lo-
- cale is not altered during operation. In addition, they
- use data which is maintained within a hierarchy of scopes.
-
- <STRONG>o</STRONG> global data, e.g., used in the low-level terminfo
- or termcap interfaces.
-
- <STRONG>o</STRONG> terminal data, e.g., associated with a call to
- <EM>set</EM><STRONG>_</STRONG><EM>curterm</EM>. The terminal data are initialized
- when screens are created.
-
- <STRONG>o</STRONG> screen data, e.g., associated with a call to
- <EM>newterm</EM> or <EM>initscr</EM>.
-
- <STRONG>o</STRONG> window data, e.g., associated with a call to <EM>newwin</EM>
- or <EM>subwin</EM>. Windows are associated with screens.
- Pads are not necessarily associated with a particu-
- lar screen.
-
- Most curses applications operate on one or more
- windows within a single screen.
-
- <STRONG>o</STRONG> reentrant, i.e., it uses only the data passed as
- parameters.
-
- This table lists the scope of data used for each symbol in
- the ncurses library when it is configured to support
- threading:
-
- Symbol Scope
- -------------------------------------------------------------
- BC global
- COLORS screen (readonly)
- COLOR_PAIR reentrant
- COLOR_PAIRS screen (readonly)
- COLS screen (readonly)
- ESCDELAY screen (readonly, see <EM>set</EM><STRONG>_</STRONG><EM>escdelay</EM>)
- LINES screen (readonly)
- PAIR_NUMBER reentrant
- PC global
- SP global
- TABSIZE screen (readonly)
- UP global
- acs_map screen (readonly)
- add_wch window (stdscr)
- add_wchnstr window (stdscr)
- add_wchstr window (stdscr)
- addch window (stdscr)
- addchnstr window (stdscr)
- addchstr window (stdscr)
- addnstr window (stdscr)
- addnwstr window (stdscr)
- addstr window (stdscr)
- addwstr window (stdscr)
- assume_default_colors screen
- attr_get window (stdscr)
- attr_off window (stdscr)
- attr_on window (stdscr)
- attr_set window (stdscr)
- attroff window (stdscr)
- attron window (stdscr)
- attrset window (stdscr)
- baudrate screen
- beep screen
- bkgd window (stdscr)
- bkgdset window (stdscr)
- bkgrnd window (stdscr)
- bkgrndset window (stdscr)
- boolcodes global (readonly)
- boolfnames global (readonly)
- boolnames global (readonly)
- border window (stdscr)
-
- border_set window (stdscr)
- box window (stdscr)
- box_set window (stdscr)
- can_change_color terminal
- cbreak screen
- chgat window (stdscr)
- clear window (stdscr)
- clearok window
- clrtobot window (stdscr)
- clrtoeol window (stdscr)
- color_content screen
- color_set window (stdscr)
- copywin window locks(source, target)
- cur_term terminal
- curs_set screen
- curscr screen (readonly)
- curses_version global (readonly)
- def_prog_mode terminal
- def_shell_mode terminal
- define_key screen
- del_curterm screen
- delay_output screen
- delch window (stdscr)
- deleteln window (stdscr)
- delscreen global locks(screenlist, screen)
- delwin global locks(windowlist)
- derwin screen
- doupdate screen
- dupwin screen locks(window)
- echo screen
- echo_wchar window (stdscr)
- echochar window (stdscr)
- endwin screen
- erase window (stdscr)
- erasechar window (stdscr)
- erasewchar window (stdscr)
- filter global
- flash terminal
- flushinp screen
- get_wch screen (input-operation)
- get_wstr screen (input-operation)
- getattrs window
- getbegx window
- getbegy window
- getbkgd window
- getbkgrnd window
- getcchar reentrant
- getch screen (input-operation)
- getcurx window
- getcury window
- getmaxx window
- getmaxy window
- getmouse screen (input-operation)
- getn_wstr screen (input-operation)
- getnstr screen (input-operation)
- getparx window
- getpary window
- getstr screen (input-operation)
- getwin screen (input-operation)
- halfdelay screen
- has_colors terminal
- has_ic terminal
- has_il terminal
- has_key screen
- hline window (stdscr)
- hline_set window (stdscr)
-
- idcok window
- idlok window
- immedok window
- in_wch window (stdscr)
- in_wchnstr window (stdscr)
- in_wchstr window (stdscr)
- inch window (stdscr)
- inchnstr window (stdscr)
- inchstr window (stdscr)
- init_color screen
- init_pair screen
- initscr global locks(screenlist)
- innstr window (stdscr)
- innwstr window (stdscr)
- ins_nwstr window (stdscr)
- ins_wch window (stdscr)
- ins_wstr window (stdscr)
- insch window (stdscr)
- insdelln window (stdscr)
- insertln window (stdscr)
- insnstr window (stdscr)
- insstr window (stdscr)
- instr window (stdscr)
- intrflush terminal
- inwstr window (stdscr)
- is_cleared window
- is_idcok window
- is_idlok window
- is_immedok window
- is_keypad window
- is_leaveok window
- is_linetouched window
- is_nodelay window
- is_notimeout window
- is_scrollok window
- is_syncok window
- is_term_resized terminal
- is_wintouched window
- isendwin screen
- key_defined screen
- key_name global (static data)
- keybound screen
- keyname global (static data)
- keyok screen
- keypad window
- killchar terminal
- killwchar terminal
- leaveok window
- longname screen
- mcprint terminal
- meta screen
- mouse_trafo window (stdscr)
- mouseinterval screen
- mousemask screen
- move window (stdscr)
- mvadd_wch window (stdscr)
- mvadd_wchnstr window (stdscr)
- mvadd_wchstr window (stdscr)
- mvaddch window (stdscr)
- mvaddchnstr window (stdscr)
- mvaddchstr window (stdscr)
- mvaddnstr window (stdscr)
- mvaddnwstr window (stdscr)
- mvaddstr window (stdscr)
- mvaddwstr window (stdscr)
- mvchgat window (stdscr)
-
- mvcur screen
- mvdelch window (stdscr)
- mvderwin window (stdscr)
- mvget_wch screen (input-operation)
- mvget_wstr screen (input-operation)
- mvgetch screen (input-operation)
- mvgetn_wstr screen (input-operation)
- mvgetnstr screen (input-operation)
- mvgetstr screen (input-operation)
- mvhline window (stdscr)
- mvhline_set window (stdscr)
- mvin_wch window (stdscr)
- mvin_wchnstr window (stdscr)
- mvin_wchstr window (stdscr)
- mvinch window (stdscr)
- mvinchnstr window (stdscr)
- mvinchstr window (stdscr)
- mvinnstr window (stdscr)
- mvinnwstr window (stdscr)
- mvins_nwstr window (stdscr)
- mvins_wch window (stdscr)
- mvins_wstr window (stdscr)
- mvinsch window (stdscr)
- mvinsnstr window (stdscr)
- mvinsstr window (stdscr)
- mvinstr window (stdscr)
- mvinwstr window (stdscr)
- mvprintw window (stdscr)
- mvscanw screen
- mvvline window (stdscr)
- mvvline_set window (stdscr)
- mvwadd_wch window
- mvwadd_wchnstr window
- mvwadd_wchstr window
- mvwaddch window
- mvwaddchnstr window
- mvwaddchstr window
- mvwaddnstr window
- mvwaddnwstr window
- mvwaddstr window
- mvwaddwstr window
- mvwchgat window
- mvwdelch window
- mvwget_wch screen (input-operation)
- mvwget_wstr screen (input-operation)
- mvwgetch screen (input-operation)
- mvwgetn_wstr screen (input-operation)
- mvwgetnstr screen (input-operation)
- mvwgetstr screen (input-operation)
- mvwhline window
- mvwhline_set window
- mvwin window
- mvwin_wch window
- mvwin_wchnstr window
- mvwin_wchstr window
- mvwinch window
- mvwinchnstr window
- mvwinchstr window
- mvwinnstr window
- mvwinnwstr window
- mvwins_nwstr window
- mvwins_wch window
- mvwins_wstr window
- mvwinsch window
- mvwinsnstr window
- mvwinsstr window
-
- mvwinstr window
- mvwinwstr window
- mvwprintw window
- mvwscanw screen
- mvwvline window
- mvwvline_set window
- napms reentrant
- newpad global locks(windowlist)
- newscr screen (readonly)
- newterm global locks(screenlist)
- newwin global locks(windowlist)
- nl screen
- nocbreak screen
- nodelay window
- noecho screen
- nofilter global
- nonl screen
- noqiflush terminal
- noraw screen
- notimeout window
- numcodes global (readonly)
- numfnames global (readonly)
- numnames global (readonly)
- ospeed global
- overlay window locks(source, target)
- overwrite window locks(source, target)
- pair_content screen
- pecho_wchar screen
- pechochar screen
- pnoutrefresh screen
- prefresh screen
- printw window
- putp global
- putwin window
- qiflush terminal
- raw screen
- redrawwin window
- refresh screen
- reset_prog_mode screen
- reset_shell_mode screen
- resetty terminal
- resize_term screen locks(windowlist)
- resizeterm screen
- restartterm screen
- ripoffline global (static data)
- savetty terminal
- scanw screen
- scr_dump screen
- scr_init screen
- scr_restore screen
- scr_set screen
- scrl window (stdscr)
- scroll window
- scrollok window
- set_curterm screen
- set_escdelay screen
- set_tabsize screen
- set_term global locks(screenlist, screen)
- setcchar reentrant
- setscrreg window (stdscr)
- setupterm global
- slk_attr screen
- slk_attr_off screen
- slk_attr_on screen
- slk_attr_set screen
- slk_attroff screen
-
- slk_attron screen
- slk_attrset screen
- slk_clear screen
- slk_color screen
- slk_init screen
- slk_label screen
- slk_noutrefresh screen
- slk_refresh screen
- slk_restore screen
- slk_set screen
- slk_touch screen
- slk_wset screen
- standend window
- standout window
- start_color screen
- stdscr screen (readonly)
- strcodes global (readonly)
- strfnames global (readonly)
- strnames global (readonly)
- subpad window
- subwin window
- syncok window
- term_attrs screen
- termattrs screen
- termname terminal
- tgetent global
- tgetflag global
- tgetnum global
- tgetstr global
- tgoto global
- tigetflag terminal
- tigetnum terminal
- tigetstr terminal
- timeout window (stdscr)
- touchline window
- touchwin window
- tparm global (static data)
- tputs screen
- trace global (static data)
- ttytype screen (readonly)
- typeahead screen
- unctrl screen
- unget_wch screen (input-operation)
- ungetch screen (input-operation)
- ungetmouse screen (input-operation)
- untouchwin window
- use_default_colors screen
- use_env global (static data)
- use_extended_names global (static data)
- use_legacy_coding screen
- use_screen global locks(screenlist, screen)
- use_window global locks(windowlist, window)
- vid_attr screen
- vid_puts screen
- vidattr screen
- vidputs screen
- vline window (stdscr)
- vline_set window (stdscr)
- vw_printw window
- vw_scanw screen
- vwprintw window
- vwscanw screen
- wadd_wch window
- wadd_wchnstr window
- wadd_wchstr window
- waddch window
-
- waddchnstr window
- waddchstr window
- waddnstr window
- waddnwstr window
- waddstr window
- waddwstr window
- wattr_get window
- wattr_off window
- wattr_on window
- wattr_set window
- wattroff window
- wattron window
- wattrset window
- wbkgd window
- wbkgdset window
- wbkgrnd window
- wbkgrndset window
- wborder window
- wborder_set window
- wchgat window
- wclear window
- wclrtobot window
- wclrtoeol window
- wcolor_set window
- wcursyncup screen (affects window plus parents)
- wdelch window
- wdeleteln window
- wecho_wchar window
- wechochar window
- wenclose window
- werase window
- wget_wch screen (input-operation)
- wget_wstr screen (input-operation)
- wgetbkgrnd window
- wgetch screen (input-operation)
- wgetn_wstr screen (input-operation)
- wgetnstr screen (input-operation)
- wgetparent window
- wgetscrreg window
- wgetstr screen (input-operation)
- whline window
- whline_set window
- win_wch window
- win_wchnstr window
- win_wchstr window
- winch window
- winchnstr window
- winchstr window
- winnstr window
- winnwstr window
- wins_nwstr window
- wins_wch window
- wins_wstr window
- winsch window
- winsdelln window
- winsertln window
- winsnstr window
- winsstr window
- winstr window
- winwstr window
- wmouse_trafo window
- wmove window
- wnoutrefresh screen
- wprintw window
- wredrawln window
- wrefresh screen
-
- wresize window locks(windowlist)
- wscanw screen
- wscrl window
- wsetscrreg window
- wstandend window
- wstandout window
- wsyncdown screen (affects window plus parents)
- wsyncup screen (affects window plus parents)
- wtimeout window
- wtouchln window
- wunctrl global (static data)
- wvline window
- wvline_set window
+ In addition to forcing access to members of the <STRONG>WINDOW</STRONG> structure to be
+ via functions (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>), it makes functions of the common
+ global variables, e.g., COLORS, COLOR_PAIRS, COLS, ESCDELAY, LINES,
+ TABSIZE curscr, newscr and ttytype. Those variables are maintained as
+ read-only values, stored in the <STRONG>SCREEN</STRONG> structure.
+ Even this is not enough to make a thread-safe application using curses.
+ A multi-threaded application would be expected to have threads updating
+ separate windows (within the same device), or updating on separate
+ screens (on different devices). Also, a few of the global variables
+ are considered writable by some applications. The functions described
+ here address these special situations.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These functions all return TRUE or FALSE, except as noted.
+ The ESCDELAY and TABSIZE global variables are modified by some applica-
+ tions. To modify them in any configuration, use the <STRONG>set_escdelay</STRONG> or
+ <STRONG>set_tabsize</STRONG> functions. Other global variables are not modifiable.
+ The <STRONG>get_escdelay</STRONG> function returns the value for ESCDELAY.
-</PRE>
-<H2>NOTES</H2><PRE>
+ The <STRONG>use_window</STRONG> and <STRONG>use_screen</STRONG> functions provide coarse granularity mu-
+ texes for their respective <STRONG>WINDOW</STRONG> and <STRONG>SCREEN</STRONG> parameters, and call a us-
+ er-supplied function, passing it a <EM>data</EM> parameter, and returning the
+ value from the user-supplied function to the application.
+
+
+</PRE><H3><a name="h3-USAGE">USAGE</a></H3><PRE>
+ All of the ncurses library functions assume that the locale is not al-
+ tered during operation. In addition, they use data which is maintained
+ within a hierarchy of scopes.
+
+ <STRONG>o</STRONG> global data, e.g., used in the low-level terminfo or termcap in-
+ terfaces.
+
+ <STRONG>o</STRONG> terminal data, e.g., associated with a call to <EM>set</EM><STRONG>_</STRONG><EM>curterm</EM>. The
+ terminal data are initialized when screens are created.
+
+ <STRONG>o</STRONG> screen data, e.g., associated with a call to <EM>newterm</EM> or <EM>initscr</EM>.
+
+ <STRONG>o</STRONG> window data, e.g., associated with a call to <EM>newwin</EM> or <EM>subwin</EM>.
+ Windows are associated with screens. Pads are not necessarily
+ associated with a particular screen.
+
+ Most curses applications operate on one or more windows within a
+ single screen.
+
+ <STRONG>o</STRONG> reentrant, i.e., it uses only the data passed as parameters.
+
+ This table lists the scope of data used for each symbol in the ncurses
+ library when it is configured to support threading:
+
+ Symbol Scope
+ -------------------------------------------------------------
+ BC global
+ COLORS screen (readonly)
+ COLOR_PAIR reentrant
+ COLOR_PAIRS screen (readonly)
+ COLS screen (readonly)
+ ESCDELAY screen (readonly, see <EM>set</EM><STRONG>_</STRONG><EM>escdelay</EM>)
+ LINES screen (readonly)
+ PAIR_NUMBER reentrant
+ PC global
+ SP global
+ TABSIZE screen (readonly)
+ UP global
+ acs_map screen (readonly)
+ add_wch window (stdscr)
+ add_wchnstr window (stdscr)
+ add_wchstr window (stdscr)
+ addch window (stdscr)
+ addchnstr window (stdscr)
+ addchstr window (stdscr)
+ addnstr window (stdscr)
+ addnwstr window (stdscr)
+ addstr window (stdscr)
+ addwstr window (stdscr)
+ assume_default_colors screen
+ attr_get window (stdscr)
+ attr_off window (stdscr)
+ attr_on window (stdscr)
+ attr_set window (stdscr)
+ attroff window (stdscr)
+ attron window (stdscr)
+ attrset window (stdscr)
+ baudrate screen
+ beep screen
+ bkgd window (stdscr)
+ bkgdset window (stdscr)
+ bkgrnd window (stdscr)
+ bkgrndset window (stdscr)
+ boolcodes global (readonly)
+ boolfnames global (readonly)
+ boolnames global (readonly)
+ border window (stdscr)
+ border_set window (stdscr)
+ box window (stdscr)
+ box_set window (stdscr)
+ can_change_color terminal
+ cbreak screen
+ chgat window (stdscr)
+ clear window (stdscr)
+ clearok window
+ clrtobot window (stdscr)
+ clrtoeol window (stdscr)
+ color_content screen
+ color_set window (stdscr)
+ copywin window locks(source, target)
+
+ cur_term terminal
+ curs_set screen
+ curscr screen (readonly)
+ curses_version global (readonly)
+ def_prog_mode terminal
+ def_shell_mode terminal
+ define_key screen
+ del_curterm screen
+ delay_output screen
+ delch window (stdscr)
+ deleteln window (stdscr)
+ delscreen global locks(screenlist, screen)
+ delwin global locks(windowlist)
+ derwin screen
+ doupdate screen
+ dupwin screen locks(window)
+ echo screen
+ echo_wchar window (stdscr)
+ echochar window (stdscr)
+ endwin screen
+ erase window (stdscr)
+ erasechar window (stdscr)
+ erasewchar window (stdscr)
+ filter global
+ flash terminal
+ flushinp screen
+ get_wch screen (input-operation)
+ get_wstr screen (input-operation)
+ getattrs window
+ getbegx window
+ getbegy window
+ getbkgd window
+ getbkgrnd window
+ getcchar reentrant
+ getch screen (input-operation)
+ getcurx window
+ getcury window
+ getmaxx window
+ getmaxy window
+ getmouse screen (input-operation)
+ getn_wstr screen (input-operation)
+ getnstr screen (input-operation)
+ getparx window
+ getpary window
+ getstr screen (input-operation)
+ getwin screen (input-operation)
+ halfdelay screen
+ has_colors terminal
+ has_ic terminal
+ has_il terminal
+ has_key screen
+ hline window (stdscr)
+ hline_set window (stdscr)
+ idcok window
+ idlok window
+ immedok window
+ in_wch window (stdscr)
+ in_wchnstr window (stdscr)
+ in_wchstr window (stdscr)
+ inch window (stdscr)
+ inchnstr window (stdscr)
+ inchstr window (stdscr)
+ init_color screen
+ init_pair screen
+ initscr global locks(screenlist)
+ innstr window (stdscr)
+
+ innwstr window (stdscr)
+ ins_nwstr window (stdscr)
+ ins_wch window (stdscr)
+ ins_wstr window (stdscr)
+ insch window (stdscr)
+ insdelln window (stdscr)
+ insertln window (stdscr)
+ insnstr window (stdscr)
+ insstr window (stdscr)
+ instr window (stdscr)
+ intrflush terminal
+ inwstr window (stdscr)
+ is_cleared window
+ is_idcok window
+ is_idlok window
+ is_immedok window
+ is_keypad window
+ is_leaveok window
+ is_linetouched window
+ is_nodelay window
+ is_notimeout window
+ is_scrollok window
+ is_syncok window
+ is_term_resized terminal
+ is_wintouched window
+ isendwin screen
+ key_defined screen
+ key_name global (static data)
+ keybound screen
+ keyname global (static data)
+ keyok screen
+ keypad window
+ killchar terminal
+ killwchar terminal
+ leaveok window
+ longname screen
+ mcprint terminal
+ meta screen
+ mouse_trafo window (stdscr)
+ mouseinterval screen
+ mousemask screen
+ move window (stdscr)
+ mvadd_wch window (stdscr)
+ mvadd_wchnstr window (stdscr)
+ mvadd_wchstr window (stdscr)
+ mvaddch window (stdscr)
+ mvaddchnstr window (stdscr)
+ mvaddchstr window (stdscr)
+ mvaddnstr window (stdscr)
+ mvaddnwstr window (stdscr)
+ mvaddstr window (stdscr)
+ mvaddwstr window (stdscr)
+ mvchgat window (stdscr)
+ mvcur screen
+ mvdelch window (stdscr)
+ mvderwin window (stdscr)
+ mvget_wch screen (input-operation)
+ mvget_wstr screen (input-operation)
+ mvgetch screen (input-operation)
+ mvgetn_wstr screen (input-operation)
+ mvgetnstr screen (input-operation)
+ mvgetstr screen (input-operation)
+ mvhline window (stdscr)
+ mvhline_set window (stdscr)
+ mvin_wch window (stdscr)
+ mvin_wchnstr window (stdscr)
+
+ mvin_wchstr window (stdscr)
+ mvinch window (stdscr)
+ mvinchnstr window (stdscr)
+ mvinchstr window (stdscr)
+ mvinnstr window (stdscr)
+ mvinnwstr window (stdscr)
+ mvins_nwstr window (stdscr)
+ mvins_wch window (stdscr)
+ mvins_wstr window (stdscr)
+ mvinsch window (stdscr)
+ mvinsnstr window (stdscr)
+ mvinsstr window (stdscr)
+ mvinstr window (stdscr)
+ mvinwstr window (stdscr)
+ mvprintw window (stdscr)
+ mvscanw screen
+ mvvline window (stdscr)
+ mvvline_set window (stdscr)
+ mvwadd_wch window
+ mvwadd_wchnstr window
+ mvwadd_wchstr window
+ mvwaddch window
+ mvwaddchnstr window
+ mvwaddchstr window
+ mvwaddnstr window
+ mvwaddnwstr window
+ mvwaddstr window
+ mvwaddwstr window
+ mvwchgat window
+ mvwdelch window
+ mvwget_wch screen (input-operation)
+ mvwget_wstr screen (input-operation)
+ mvwgetch screen (input-operation)
+ mvwgetn_wstr screen (input-operation)
+ mvwgetnstr screen (input-operation)
+ mvwgetstr screen (input-operation)
+ mvwhline window
+ mvwhline_set window
+ mvwin window
+ mvwin_wch window
+ mvwin_wchnstr window
+ mvwin_wchstr window
+ mvwinch window
+ mvwinchnstr window
+ mvwinchstr window
+ mvwinnstr window
+ mvwinnwstr window
+ mvwins_nwstr window
+ mvwins_wch window
+ mvwins_wstr window
+ mvwinsch window
+ mvwinsnstr window
+ mvwinsstr window
+ mvwinstr window
+ mvwinwstr window
+ mvwprintw window
+ mvwscanw screen
+ mvwvline window
+ mvwvline_set window
+ napms reentrant
+ newpad global locks(windowlist)
+ newscr screen (readonly)
+ newterm global locks(screenlist)
+ newwin global locks(windowlist)
+ nl screen
+ nocbreak screen
+
+ nodelay window
+ noecho screen
+ nofilter global
+ nonl screen
+ noqiflush terminal
+ noraw screen
+ notimeout window
+ numcodes global (readonly)
+ numfnames global (readonly)
+ numnames global (readonly)
+ ospeed global
+ overlay window locks(source, target)
+ overwrite window locks(source, target)
+ pair_content screen
+ pecho_wchar screen
+ pechochar screen
+ pnoutrefresh screen
+ prefresh screen
+ printw window
+ putp global
+ putwin window
+ qiflush terminal
+ raw screen
+ redrawwin window
+ refresh screen
+ reset_prog_mode screen
+ reset_shell_mode screen
+ resetty terminal
+ resize_term screen locks(windowlist)
+ resizeterm screen
+ restartterm screen
+ ripoffline global (static data)
+ savetty terminal
+ scanw screen
+ scr_dump screen
+ scr_init screen
+ scr_restore screen
+ scr_set screen
+ scrl window (stdscr)
+ scroll window
+ scrollok window
+ set_curterm screen
+ set_escdelay screen
+ set_tabsize screen
+ set_term global locks(screenlist, screen)
+ setcchar reentrant
+ setscrreg window (stdscr)
+ setupterm global
+ slk_attr screen
+ slk_attr_off screen
+ slk_attr_on screen
+ slk_attr_set screen
+ slk_attroff screen
+ slk_attron screen
+ slk_attrset screen
+ slk_clear screen
+ slk_color screen
+ slk_init screen
+ slk_label screen
+ slk_noutrefresh screen
+ slk_refresh screen
+ slk_restore screen
+ slk_set screen
+ slk_touch screen
+ slk_wset screen
+ standend window
+
+ standout window
+ start_color screen
+ stdscr screen (readonly)
+ strcodes global (readonly)
+ strfnames global (readonly)
+ strnames global (readonly)
+ subpad window
+ subwin window
+ syncok window
+ term_attrs screen
+ termattrs screen
+ termname terminal
+ tgetent global
+ tgetflag global
+ tgetnum global
+ tgetstr global
+ tgoto global
+ tigetflag terminal
+ tigetnum terminal
+ tigetstr terminal
+ timeout window (stdscr)
+ touchline window
+ touchwin window
+ tparm global (static data)
+ tputs screen
+ trace global (static data)
+ ttytype screen (readonly)
+ typeahead screen
+ unctrl screen
+ unget_wch screen (input-operation)
+ ungetch screen (input-operation)
+ ungetmouse screen (input-operation)
+ untouchwin window
+ use_default_colors screen
+ use_env global (static data)
+ use_extended_names global (static data)
+ use_legacy_coding screen
+ use_screen global locks(screenlist, screen)
+ use_window global locks(windowlist, window)
+ vid_attr screen
+ vid_puts screen
+ vidattr screen
+ vidputs screen
+ vline window (stdscr)
+ vline_set window (stdscr)
+ vw_printw window
+ vw_scanw screen
+ vwprintw window
+ vwscanw screen
+ wadd_wch window
+ wadd_wchnstr window
+ wadd_wchstr window
+ waddch window
+ waddchnstr window
+ waddchstr window
+ waddnstr window
+ waddnwstr window
+ waddstr window
+ waddwstr window
+ wattr_get window
+ wattr_off window
+ wattr_on window
+ wattr_set window
+ wattroff window
+ wattron window
+ wattrset window
+
+ wbkgd window
+ wbkgdset window
+ wbkgrnd window
+ wbkgrndset window
+ wborder window
+ wborder_set window
+ wchgat window
+ wclear window
+ wclrtobot window
+ wclrtoeol window
+ wcolor_set window
+ wcursyncup screen (affects window plus parents)
+ wdelch window
+ wdeleteln window
+ wecho_wchar window
+ wechochar window
+ wenclose window
+ werase window
+ wget_wch screen (input-operation)
+ wget_wstr screen (input-operation)
+ wgetbkgrnd window
+ wgetch screen (input-operation)
+ wgetdelay window
+ wgetn_wstr screen (input-operation)
+ wgetnstr screen (input-operation)
+ wgetparent window
+ wgetscrreg window
+ wgetstr screen (input-operation)
+ whline window
+ whline_set window
+ win_wch window
+ win_wchnstr window
+ win_wchstr window
+ winch window
+ winchnstr window
+ winchstr window
+ winnstr window
+ winnwstr window
+ wins_nwstr window
+ wins_wch window
+ wins_wstr window
+ winsch window
+ winsdelln window
+ winsertln window
+ winsnstr window
+ winsstr window
+ winstr window
+ winwstr window
+ wmouse_trafo window
+ wmove window
+ wnoutrefresh screen
+ wprintw window
+ wredrawln window
+ wrefresh screen
+ wresize window locks(windowlist)
+ wscanw screen
+ wscrl window
+ wsetscrreg window
+ wstandend window
+ wstandout window
+ wsyncdown screen (affects window plus parents)
+ wsyncup screen (affects window plus parents)
+ wtimeout window
+ wtouchln window
+ wunctrl global (static data)
+ wvline window
+
+ wvline_set window
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These functions all return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, except as noted.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Both a macro and a function are provided for each name.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on ncurses ex-
- tensions be conditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on ncurses extensions be conditioned using NCURSES_VER-
+ SION.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+ <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-USAGE">USAGE</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_touch.3x.html b/doc/html/man/curs_touch.3x.html
index f2057b9e53b7..a60b3690e2a2 100644
--- a/doc/html/man/curs_touch.3x.html
+++ b/doc/html/man/curs_touch.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_touch.3x,v 1.14 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_touch.3x,v 1.21 2018/07/28 21:34:56 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_touch 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_touch 3x</H1>
-<HR>
+<H1 class="no-header">curs_touch 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>touchwin</STRONG>, <STRONG>touchline</STRONG>, <STRONG>untouchwin</STRONG>, <STRONG>wtouchln</STRONG>, <STRONG>is_linetouched</STRONG>,
<STRONG>is_wintouched</STRONG> - <STRONG>curses</STRONG> refresh control routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>touchwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
<STRONG>int</STRONG> <STRONG>touchline(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>start,</STRONG> <STRONG>int</STRONG> <STRONG>count);</STRONG>
@@ -62,83 +60,85 @@
<STRONG>bool</STRONG> <STRONG>is_wintouched(WINDOW</STRONG> <STRONG>*win);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away all opti-
- mization information about which parts of the window have
- been touched, by pretending that the entire window has
- been drawn on. This is sometimes necessary when using
- overlapping windows, since a change to one window affects
- the other window, but the records of which lines have been
- changed in the other window do not reflect the change.
- The routine <STRONG>touchline</STRONG> only pretends that <EM>count</EM> lines have
- been changed, beginning with line <EM>start</EM>.
-
- The <STRONG>untouchwin</STRONG> routine marks all lines in the window as
- unchanged since the last call to <STRONG>wrefresh</STRONG>.
-
- The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting
- at line <EM>y</EM>, look as if they have (<EM>changed</EM><STRONG>=1</STRONG>) or have not
- (<EM>changed</EM><STRONG>=0</STRONG>) been changed since the last call to <STRONG>wrefresh</STRONG>.
-
- The <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return <STRONG>TRUE</STRONG>
- if the specified line/window was modified since the last
- call to <STRONG>wrefresh</STRONG>; otherwise they return <STRONG>FALSE</STRONG>. In addi-
- tion, <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG> if <EM>line</EM> is not valid for
- the given window.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away all optimization infor-
+ mation about which parts of the window have been touched, by pretending
+ that the entire window has been drawn on. This is sometimes necessary
+ when using overlapping windows, since a change to one window affects
+ the other window, but the records of which lines have been changed in
+ the other window do not reflect the change. The routine <STRONG>touchline</STRONG> only
+ pretends that <EM>count</EM> lines have been changed, beginning with line <EM>start</EM>.
+ The <STRONG>untouchwin</STRONG> routine marks all lines in the window as unchanged since
+ the last call to <STRONG>wrefresh</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an
- integer value other than <STRONG>ERR</STRONG> upon successful completion,
- unless otherwise noted in the preceding routine descrip-
- tions.
+ The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting at line <EM>y</EM>,
+ look as if they have (<EM>changed</EM><STRONG>=1</STRONG>) or have not (<EM>changed</EM><STRONG>=0</STRONG>) been changed
+ since the last call to <STRONG>wrefresh</STRONG>.
- X/Open does not define any error conditions. In this im-
- plementation
+ The <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return <STRONG>TRUE</STRONG> if the speci-
+ fied line/window was modified since the last call to <STRONG>wrefresh</STRONG>; other-
+ wise they return <STRONG>FALSE</STRONG>. In addition, <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG> if
+ <EM>line</EM> is not valid for the given window.
- <STRONG>is_linetouched</STRONG>
- returns an error if the window pointer is
- null, or if the line number is outside the
- window. Note that ERR is distinct from TRUE
- and FALSE, which are the normal return values
- of this function.
- <STRONG>wtouchln</STRONG>
- returns an error if the window pointer is
- null, or if the line number is outside the
- window.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
+ other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted in
+ the preceding routine descriptions.
+ X/Open does not define any error conditions. In this implementation
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions.
+ <STRONG>is_linetouched</STRONG>
+ returns an error if the window pointer is null, or if the line
+ number is outside the window.
- Some historic curses implementations had, as an undocu-
- mented feature, the ability to do the equivalent of
- <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG> or <STRONG>clear(std-</STRONG>
- <STRONG>scr)</STRONG>. This will not work under ncurses.
+ The constant <STRONG>ERR</STRONG> is distinct from <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG>, which are the
+ normal return values of this function. Because the function
+ returns a <STRONG>bool</STRONG>, returning <STRONG>ERR</STRONG> (which is neither <STRONG>TRUE</STRONG> nor <STRONG>FALSE</STRONG>)
+ may not be supported by the compiler.
+ To provide error-checking and also match the X/Open function
+ prototype, the <STRONG>ERR</STRONG> is provided by a macro named <STRONG>is_linetouched</STRONG>.
+ The actual function returns <STRONG>FALSE</STRONG> when it detects an error.
-</PRE>
-<H2>NOTES</H2><PRE>
- Note that all routines except <STRONG>wtouchln</STRONG> may be macros.
+ <STRONG>wtouchln</STRONG>
+ returns an error if the window pointer is null, or if the line
+ number is outside the window.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions were introduced by SVr4. The Solaris curses header
+ file, for instance, defines both an actual function and macro for each.
+ The macros give the same result as the actual functions. SVr4 curses
+ does not check the window parameter <EM>win</EM> to ensure that it is not <STRONG>NULL</STRONG>;
+ otherwise this implementation behaves the same as SVr4.
+
+ The XSI Curses standard, Issue 4 describes these functions, but defines
+ no error conditions.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ All of these routines except <STRONG>wtouchln</STRONG> may be macros.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
- <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_trace.3x.html b/doc/html/man/curs_trace.3x.html
index d3c9eebd982b..77ecbccec61f 100644
--- a/doc/html/man/curs_trace.3x.html
+++ b/doc/html/man/curs_trace.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2000-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2000-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,160 +26,254 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_trace.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: curs_trace.3x,v 1.20 2019/12/07 18:55:02 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_trace 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_trace 3x</H1>
-<HR>
+<H1 class="no-header">curs_trace 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>_tracef</STRONG>, <STRONG>_tracedump</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>,
- <STRONG>_nc_tracebits</STRONG>, <STRONG>_tracecchar_t</STRONG>, <STRONG>_tracecchar_t2</STRONG>, <STRONG>_tracechar</STRONG>,
- <STRONG>_tracechtype</STRONG>, <STRONG>_tracechtype2</STRONG>, <STRONG>_tracemouse</STRONG>, <STRONG>trace</STRONG> - <STRONG>curses</STRONG>
- debugging routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>curses_trace</STRONG>, <STRONG>trace</STRONG>, <STRONG>_tracef</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>, <STRONG>_tracecchar_t</STRONG>,
+ <STRONG>_tracecchar_t2</STRONG>, <STRONG>_tracechar</STRONG>, <STRONG>_tracechtype</STRONG>, <STRONG>_tracechtype2</STRONG>, <STRONG>_nc_tracebits</STRONG>,
+ <STRONG>_tracedump</STRONG>, <STRONG>_tracemouse</STRONG> - <STRONG>curses</STRONG> debugging routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>void</STRONG> <STRONG>_tracef(const</STRONG> <STRONG>char</STRONG> <STRONG>*format,</STRONG> <STRONG>...);</STRONG>
- <STRONG>void</STRONG> <STRONG>_tracedump(const</STRONG> <STRONG>char</STRONG> <STRONG>*label,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_traceattr(attr_t</STRONG> <STRONG>attr);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_traceattr2(int</STRONG> <STRONG>buffer,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+ <STRONG>unsigned</STRONG> <STRONG>curses_trace(const</STRONG> <STRONG>unsigned</STRONG> <EM>param</EM><STRONG>);</STRONG>
+
+ <STRONG>void</STRONG> <STRONG>_tracef(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>format</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+
+ <STRONG>char</STRONG> <STRONG>*_traceattr(attr_t</STRONG> <EM>attr</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_traceattr2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracecchar_t(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracecchar_t2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracechtype(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracechtype2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+
+ <STRONG>void</STRONG> <STRONG>_tracedump(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_nc_tracebits(void);</STRONG>
- <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>_tracecchar_t(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*string);</STRONG>
- <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>_tracecchar_t2(int</STRONG> <STRONG>buffer,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*string);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <STRONG>ch);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechtype(chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechtype2(int</STRONG> <STRONG>buffer,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracemouse(const</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*event);</STRONG>
- <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <STRONG>param);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracemouse(const</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
+ /* deprecated */
+ <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <EM>param</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>trace</STRONG> routines are used for debugging the ncurses li-
- braries, as well as applications which use the ncurses li-
- braries. These functions are normally available only with
- the debugging library <EM>libncurses</EM><STRONG>_</STRONG><EM>g.a</EM>, but may be compiled
- into any model (shared, static, profile) by defining the
- symbol <STRONG>TRACE</STRONG>. Additionally, some functions are only
- available with the wide-character configuration of the li-
- braries.
-
- The principal parts of this interface are the <STRONG>trace</STRONG> rou-
- tine which selectively enables different tracing features,
- and the <STRONG>_tracef</STRONG> routine which writes formatted data to the
- <EM>trace</EM> file.
-
- Calling <STRONG>trace</STRONG> with a nonzero parameter opens the file
- <STRONG>trace</STRONG> in the current directory for output. The parameter
- is formed by OR'ing values from the list of <STRONG>TRACE_</STRONG><EM>xxx</EM> def-
- initions in <STRONG>&lt;curses.h&gt;</STRONG>. These include:
-
- TRACE_DISABLE
- turn off tracing.
-
- TRACE_TIMES
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <EM>curses</EM> <EM>trace</EM> routines are used for debugging the ncurses libraries,
+ as well as applications which use the ncurses libraries. Some limita-
+ tions apply:
+
+ <STRONG>o</STRONG> Aside from <STRONG>curses_trace</STRONG>, the other functions are normally available
+ only with the debugging library e.g., <EM>libncurses</EM><STRONG>_</STRONG><EM>g.a</EM>.
+
+ All of the trace functions may be compiled into any model (shared,
+ static, profile) by defining the symbol <STRONG>TRACE</STRONG>.
+
+ <STRONG>o</STRONG> Additionally, the functions which use <STRONG>cchar_t</STRONG> are only available
+ with the wide-character configuration of the libraries.
+
+
+</PRE><H3><a name="h3-Functions">Functions</a></H3><PRE>
+ The principal parts of this interface are
+
+ <STRONG>o</STRONG> <STRONG>curses_trace</STRONG>, which selectively enables different tracing features,
+ and
+
+ <STRONG>o</STRONG> <STRONG>_tracef</STRONG>, which writes formatted data to the <EM>trace</EM> file.
+
+ The other functions either return a pointer to a string-area (allo-
+ cated by the corresponding function), or return no value (such as
+ <STRONG>_tracedump</STRONG>, which implements the screen dump for <STRONG>TRACE_UPDATE</STRONG>).
+ The caller should not free these strings, since the allocation is
+ reused on successive calls. To work around the problem of a single
+ string-area per function, some use a buffer-number parameter,
+ telling the library to allocate additional string-areas.
+
+ The <STRONG>curses_trace</STRONG> function is always available, whether or not the other
+ trace functions are available:
+
+ <STRONG>o</STRONG> If tracing is available, calling <STRONG>curses_trace</STRONG> with a nonzero param-
+ eter updates the trace mask, and returns the previous trace mask.
+
+ When the trace mask is nonzero, ncurses creates the file "trace" in
+ the current directory for output. If the file already exists, no
+ tracing is done.
+
+ <STRONG>o</STRONG> If tracing is not available, <STRONG>curses_trace</STRONG> returns zero (0).
+
+
+</PRE><H3><a name="h3-Trace-Parameter">Trace Parameter</a></H3><PRE>
+ The trace parameter is formed by OR'ing values from the list of
+ <STRONG>TRACE_</STRONG><EM>xxx</EM> definitions in <STRONG>&lt;curses.h&gt;</STRONG>. These include:
+
+ <STRONG>TRACE_DISABLE</STRONG>
+ turn off tracing by passing a zero parameter.
+
+ The library flushes the output file, but retains an open file-de-
+ scriptor to the trace file so that it can resume tracing later if
+ a nonzero parameter is passed to the <STRONG>curses_trace</STRONG> function.
+
+ <STRONG>TRACE_TIMES</STRONG>
trace user and system times of updates.
- TRACE_TPUTS
- trace tputs calls.
+ <STRONG>TRACE_TPUTS</STRONG>
+ trace <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> calls.
- TRACE_UPDATE
+ <STRONG>TRACE_UPDATE</STRONG>
trace update actions, old &amp; new screens.
- TRACE_MOVE
+ <STRONG>TRACE_MOVE</STRONG>
trace cursor movement and scrolling.
- TRACE_CHARPUT
+ <STRONG>TRACE_CHARPUT</STRONG>
trace all character outputs.
- TRACE_ORDINARY
- trace all update actions. The old and new screen
- contents are written to the trace file for each re-
- fresh.
+ <STRONG>TRACE_ORDINARY</STRONG>
+ trace all update actions. The old and new screen contents are
+ written to the trace file for each refresh.
- TRACE_CALLS
- trace all curses calls. The parameters for each call
- are traced, as well as return values.
+ <STRONG>TRACE_CALLS</STRONG>
+ trace all curses calls. The parameters for each call are traced,
+ as well as return values.
- TRACE_VIRTPUT
+ <STRONG>TRACE_VIRTPUT</STRONG>
trace virtual character puts, i.e., calls to <STRONG>addch</STRONG>.
- TRACE_IEVENT
+ <STRONG>TRACE_IEVENT</STRONG>
trace low-level input processing, including timeouts.
- TRACE_BITS
+ <STRONG>TRACE_BITS</STRONG>
trace state of TTY control bits.
- TRACE_ICALLS
+ <STRONG>TRACE_ICALLS</STRONG>
trace internal/nested calls.
- TRACE_CCALLS
+ <STRONG>TRACE_CCALLS</STRONG>
trace per-character calls.
- TRACE_DATABASE
+ <STRONG>TRACE_DATABASE</STRONG>
trace read/write of terminfo/termcap data.
- TRACE_ATTRS
+ <STRONG>TRACE_ATTRS</STRONG>
trace changes to video attributes and colors.
- TRACE_MAXIMUM
- maximum trace level, enables all of the separate
- trace features.
+ <STRONG>TRACE_MAXIMUM</STRONG>
+ maximum trace level, enables all of the separate trace features.
- Some tracing features are enabled whenever the <STRONG>trace</STRONG> pa-
- rameter is nonzero. Some features overlap. The specific
- names are used as a guideline.
+ Some tracing features are enabled whenever the <STRONG>curses_trace</STRONG> parameter
+ is nonzero. Some features overlap. The specific names are used as a
+ guideline.
- These functions check the <STRONG>NCURSES_TRACE</STRONG> environment vari-
- able, to set the tracing feature as if <STRONG>trace</STRONG> was called:
- filter, initscr, new_prescr, newterm, nofilter,
- ripoffline, setupterm, slk_init, tgetent
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+ These functions check the <STRONG>NCURSES_TRACE</STRONG> environment variable, to set
+ the tracing feature as if <STRONG>curses_trace</STRONG> was called:
+ filter, initscr, new_prescr, newterm, nofilter, restartterm,
+ ripoffline, setupterm, slk_init, tgetent, use_env,
+ use_extended_names, use_tioctl
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines which return a value are designed to be used as
- parameters to the <STRONG>_tracef</STRONG> routine.
+</PRE><H3><a name="h3-Command-line-Utilities">Command-line Utilities</a></H3><PRE>
+ The command-line utilities such as <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> provide a verbose option
+ which extends the set of messages written using the <STRONG>curses_trace</STRONG> func-
+ tion. Both of these (<STRONG>-v</STRONG> and <STRONG>curses_trace</STRONG>) use the same variable
+ (<STRONG>_nc_tracing</STRONG>), which determines the messages which are written.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These functions are not part of the XSI interface. Some
- other curses implementations are known to have similar,
- undocumented features, but they are not compatible with
- ncurses.
+ Because the command-line utilities may call initialization functions
+ such as <STRONG>setupterm</STRONG>, <STRONG>tgetent</STRONG> or <STRONG>use_extended_names</STRONG>, some of their debug-
+ ging output may be directed to the <EM>trace</EM> file if the <STRONG>NCURSES_TRACE</STRONG> en-
+ vironment variable is set:
+ <STRONG>o</STRONG> messages produced in the utility are written to the standard error.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ <STRONG>o</STRONG> messages produced by the underlying library are written to <EM>trace</EM>.
+
+ If ncurses is built without tracing, none of the latter are produced,
+ and fewer diagnostics are provided by the command-line utilities.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines which return a value are designed to be used as parameters to
+ the <STRONG>_tracef</STRONG> routine.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These functions are not part of the XSI interface. Some other curses
+ implementations are known to have similar features, but they are not
+ compatible with ncurses:
+
+ <STRONG>o</STRONG> SVr4 provided <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, to control whether debugging
+ information was written to the "trace" file. While the functions
+ were always available, this feature was only enabled if <STRONG>DEBUG</STRONG> was
+ defined when building the library.
+
+ The SVr4 tracing feature is undocumented.
+
+ <STRONG>o</STRONG> PDCurses provides <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, which (like SVr4) are al-
+ ways available, and enable tracing to the "trace" file only when a
+ debug-library is built.
+
+ PDCurses has a short description of these functions, with a note
+ that they are not present in X/Open Curses, ncurses or NetBSD. It
+ does not mention SVr4, but the functions' inclusion in a header
+ file section labeled "Quasi-standard" hints at the origin.
+
+ <STRONG>o</STRONG> NetBSD does not provide functions for enabling/disabling traces.
+ It uses environment variables <STRONG>CURSES_TRACE_MASK</STRONG> and <STRONG>CURS-</STRONG>
+ <STRONG>ES_TRACE_FILE</STRONG> to determine what is traced, and where the results
+ are written. This is available only when a debug-library is built.
+
+ The NetBSD tracing feature is undocumented.
+
+ A few ncurses functions are not provided when symbol versioning is
+ used:
+
+ _nc_tracebits, _tracedump, _tracemouse
+
+ The original <STRONG>trace</STRONG> routine was deprecated because it often conflicted
+ with application names.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
- <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+ <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Functions">Functions</a></li>
+<li><a href="#h3-Trace-Parameter">Trace Parameter</a></li>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-Command-line-Utilities">Command-line Utilities</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html
index b2006cd3634c..1c175a774ab9 100644
--- a/doc/html/man/curs_util.3x.html
+++ b/doc/html/man/curs_util.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,39 +27,38 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_util.3x,v 1.37 2013/07/20 19:43:45 tom Exp @
+ * @Id: curs_util.3x,v 1.56 2019/11/30 21:04:02 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_util 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_util 3x</H1>
-<HR>
+<H1 class="no-header">curs_util 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>,
- <STRONG>nofilter</STRONG>, <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> -
- miscellaneous <STRONG>curses</STRONG> utility routines
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>, <STRONG>nofilter</STRONG>,
+ <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> - miscellaneous <STRONG>curses</STRONG>
+ utility routines
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <STRONG>c);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <STRONG>c);</STRONG>
<STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*c);</STRONG>
- <STRONG>char</STRONG> <STRONG>*keyname(int</STRONG> <STRONG>c);</STRONG>
- <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <STRONG>w);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*keyname(int</STRONG> <STRONG>c);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <STRONG>w);</STRONG>
<STRONG>void</STRONG> <STRONG>filter(void);</STRONG>
<STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG>
<STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <STRONG>f);</STRONG>
@@ -71,248 +69,318 @@
<STRONG>int</STRONG> <STRONG>flushinp(void);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>unctrl</STRONG> routine returns a character string which is a
- printable representation of the character <EM>c</EM>, ignoring at-
- tributes. Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> no-
- tation. Printing characters are displayed as is. The
- corresponding <STRONG>wunctrl</STRONG> returns a printable representation
- of a wide character.
-
- The <STRONG>keyname</STRONG> routine returns a character string correspond-
- ing to the key <EM>c</EM>:
-
- <STRONG>o</STRONG> Printable characters are displayed as themselves,
- e.g., a one-character string containing the key.
-
- <STRONG>o</STRONG> Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> nota-
- tion.
-
- <STRONG>o</STRONG> DEL (character 127) is displayed as <STRONG>^?</STRONG>.
-
- <STRONG>o</STRONG> Values above 128 are either meta characters (if the
- screen has not been initialized, or if <STRONG>meta</STRONG> has
- been called with a TRUE parameter), shown in the
- <STRONG>M-</STRONG><EM>X</EM> notation, or are displayed as themselves. In
- the latter case, the values may not be printable;
- this follows the X/Open specification.
-
- <STRONG>o</STRONG> Values above 256 may be the names of the names of
- function keys.
-
- <STRONG>o</STRONG> Otherwise (if there is no corresponding name) the
- function returns null, to denote an error. X/Open
- also lists an "UNKNOWN KEY" return value, which
- some implementations return rather than null.
-
- The corresponding <STRONG>key_name</STRONG> returns a character string cor-
- responding to the wide-character value <EM>w</EM>. The two func-
- tions do not return the same set of strings; the latter
- returns null where the former would display a meta charac-
- ter.
-
- The <STRONG>filter</STRONG> routine, if used, must be called before <STRONG>initscr</STRONG>
- or <STRONG>newterm</STRONG> are called. The effect is that, during those
- calls, <STRONG>LINES</STRONG> is set to 1; the capabilities <STRONG>clear</STRONG>, <STRONG>cup</STRONG>,
- <STRONG>cud</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cuu1</STRONG>, <STRONG>cuu</STRONG>, <STRONG>vpa</STRONG> are disabled; and the <STRONG>home</STRONG>
- string is set to the value of <STRONG>cr</STRONG>.
-
- The <STRONG>nofilter</STRONG> routine cancels the effect of a preceding
- <STRONG>filter</STRONG> call. That allows the caller to initialize a
- screen on a different device, using a different value of
- <STRONG>$TERM</STRONG>. The limitation arises because the <STRONG>filter</STRONG> routine
- modifies the in-memory copy of the terminal information.
-
- The <STRONG>use_env</STRONG> routine, if used, should be called before
- <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called (because those compute the
- screen size). It modifies the way <STRONG>ncurses</STRONG> treats environ-
- ment variables when determining the screen size.
-
- <STRONG>o</STRONG> Normally ncurses looks first at the terminal database
- for the screen size.
-
- If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it
- stops here unless If <STRONG>use_tioctl</STRONG> was also called with
- <STRONG>TRUE</STRONG> for parameter.
-
- <STRONG>o</STRONG> Then it asks for the screen size via operating system
- calls. If successful, it overrides the values from
- the terminal database.
-
- <STRONG>o</STRONG> Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> parame-
- ter), ncurses examines the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environ-
- ment variables, using a value in those to override the
- results from the operating system or terminal data-
- base.
-
- Ncurses also updates the screen size in response to
- SIGWINCH, unless overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG>
- environment variables,
-
- The <STRONG>use_tioctl</STRONG> routine, if used, should be called before
- <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> are called (because those compute the
- screen size). After <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an
- argument, ncurses modifies the last step in its computa-
- tion of screen size as follows:
-
- <STRONG>o</STRONG> checks if the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables
- are set to a number greater than zero.
-
- <STRONG>o</STRONG> for each, ncurses updates the corresponding environ-
- ment variable with the value that it has obtained via
- operating system call or from the terminal database.
-
- <STRONG>o</STRONG> ncurses re-fetches the value of the environment vari-
- ables so that it is still the environment variables
- which set the screen size.
-
- The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as summarized
- here:
-
- <EM>use</EM><STRONG>_</STRONG><EM>env</EM> <EM>use</EM><STRONG>_</STRONG><EM>tioctl</EM> <EM>Summary</EM>
- ----------------------------------------------------------------
- TRUE FALSE This is the default behavior. ncurses
- uses operating system calls unless over-
- ridden by $LINES or $COLUMNS environment
- variables.
- TRUE TRUE ncurses updates $LINES and $COLUMNS
- based on operating system calls.
-
- FALSE TRUE ncurses ignores $LINES and $COLUMNS, us-
- es operating system calls to obtain
- size.
- FALSE FALSE ncurses relies on the terminal database
- to determine size.
-
- The <STRONG>putwin</STRONG> routine writes all data associated with window
- <EM>win</EM> into the file to which <EM>filep</EM> points. This information
- can be later retrieved using the <STRONG>getwin</STRONG> function.
-
- The <STRONG>getwin</STRONG> routine reads window related data stored in the
- file by <STRONG>putwin</STRONG>. The routine then creates and initializes
- a new window using that data. It returns a pointer to the
- new window.
-
- The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM> millisecond pause
- in output. This routine should not be used extensively
- because padding characters are used rather than a CPU
- pause. If no padding character is specified, this uses
- <STRONG>napms</STRONG> to perform the delay.
-
- The <STRONG>flushinp</STRONG> routine throws away any typeahead that has
- been typed by the user and has not yet been read by the
- program.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-unctrl">unctrl</a></H3><PRE>
+ The <STRONG>unctrl</STRONG> routine returns a character string which is a printable rep-
+ resentation of the character <EM>c</EM>, ignoring attributes. Control charac-
+ ters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation. Printing characters are dis-
+ played as is. The corresponding <STRONG>wunctrl</STRONG> returns a printable represen-
+ tation of a wide character.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except for <STRONG>flushinp</STRONG>, routines that return an integer re-
- turn <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an in-
- teger value other than <STRONG>ERR</STRONG>") upon successful completion.
+
+</PRE><H3><a name="h3-keyname_key_name">keyname/key_name</a></H3><PRE>
+ The <STRONG>keyname</STRONG> routine returns a character string corresponding to the key
+ <EM>c</EM>:
+
+ <STRONG>o</STRONG> Printable characters are displayed as themselves, e.g., a one-char-
+ acter string containing the key.
+
+ <STRONG>o</STRONG> Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation.
+
+ <STRONG>o</STRONG> DEL (character 127) is displayed as <STRONG>^?</STRONG>.
+
+ <STRONG>o</STRONG> Values above 128 are either meta characters (if the screen has not
+ been initialized, or if <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> has been called with a <STRONG>TRUE</STRONG> param-
+ eter), shown in the <STRONG>M-</STRONG><EM>X</EM> notation, or are displayed as themselves.
+ In the latter case, the values may not be printable; this follows
+ the X/Open specification.
+
+ <STRONG>o</STRONG> Values above 256 may be the names of the names of function keys.
+
+ <STRONG>o</STRONG> Otherwise (if there is no corresponding name) the function returns
+ null, to denote an error. X/Open also lists an "UNKNOWN KEY" re-
+ turn value, which some implementations return rather than null.
+
+ The corresponding <STRONG>key_name</STRONG> returns a character string corresponding to
+ the wide-character value <EM>w</EM>. The two functions do not return the same
+ set of strings; the latter returns null where the former would display
+ a meta character.
+
+
+</PRE><H3><a name="h3-filter_nofilter">filter/nofilter</a></H3><PRE>
+ The <STRONG>filter</STRONG> routine, if used, must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>
+ are called. Calling <STRONG>filter</STRONG> causes these changes in initialization:
+
+ <STRONG>o</STRONG> <STRONG>LINES</STRONG> is set to 1;
+
+ <STRONG>o</STRONG> the capabilities <STRONG>clear</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cud</STRONG>, <STRONG>cup</STRONG>, <STRONG>cuu1</STRONG>, <STRONG>cuu</STRONG>, <STRONG>vpa</STRONG> are dis-
+ abled;
+
+ <STRONG>o</STRONG> the capability <STRONG>ed</STRONG> is disabled if <STRONG>bce</STRONG> is set;
+
+ <STRONG>o</STRONG> and the <STRONG>home</STRONG> string is set to the value of <STRONG>cr</STRONG>.
+
+ The <STRONG>nofilter</STRONG> routine cancels the effect of a preceding <STRONG>filter</STRONG> call.
+ That allows the caller to initialize a screen on a different device,
+ using a different value of <STRONG>$TERM</STRONG>. The limitation arises because the
+ <STRONG>filter</STRONG> routine modifies the in-memory copy of the terminal information.
+
+
+</PRE><H3><a name="h3-use_env">use_env</a></H3><PRE>
+ The <STRONG>use_env</STRONG> routine, if used, should be called before <STRONG>initscr</STRONG> or
+ <STRONG>newterm</STRONG> are called (because those compute the screen size). It modi-
+ fies the way <STRONG>ncurses</STRONG> treats environment variables when determining the
+ screen size.
+
+ <STRONG>o</STRONG> Normally <STRONG>ncurses</STRONG> looks first at the terminal database for the
+ screen size.
+
+ If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it stops here un-
+ less <STRONG>use_tioctl</STRONG> was also called with <STRONG>TRUE</STRONG> for parameter.
+
+ <STRONG>o</STRONG> Then it asks for the screen size via operating system calls. If
+ successful, it overrides the values from the terminal database.
+
+ <STRONG>o</STRONG> Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> parameter), <STRONG>ncurses</STRONG>
+ examines the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables, using a value
+ in those to override the results from the operating system or ter-
+ minal database.
+
+ <STRONG>Ncurses</STRONG> also updates the screen size in response to <STRONG>SIGWINCH</STRONG>, un-
+ less overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables,
+
+
+</PRE><H3><a name="h3-use_tioctl">use_tioctl</a></H3><PRE>
+ The <STRONG>use_tioctl</STRONG> routine, if used, should be called before <STRONG>initscr</STRONG> or
+ <STRONG>newterm</STRONG> are called (because those compute the screen size). After
+ <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an argument, <STRONG>ncurses</STRONG> modifies the
+ last step in its computation of screen size as follows:
+
+ <STRONG>o</STRONG> checks if the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables are set to a
+ number greater than zero.
+
+ <STRONG>o</STRONG> for each, <STRONG>ncurses</STRONG> updates the corresponding environment variable
+ with the value that it has obtained via operating system call or
+ from the terminal database.
+
+ <STRONG>o</STRONG> <STRONG>ncurses</STRONG> re-fetches the value of the environment variables so that
+ it is still the environment variables which set the screen size.
+
+ The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as summarized here:
+
+ <EM>use</EM><STRONG>_</STRONG><EM>env</EM> <EM>use</EM><STRONG>_</STRONG><EM>tioctl</EM> <EM>Summary</EM>
+ ----------------------------------------------------------------
+ TRUE FALSE This is the default behavior. <STRONG>ncurses</STRONG>
+ uses operating system calls unless over-
+ ridden by $LINES or $COLUMNS environment
+ variables.
+ TRUE TRUE <STRONG>ncurses</STRONG> updates $LINES and $COLUMNS
+ based on operating system calls.
+ FALSE TRUE <STRONG>ncurses</STRONG> ignores $LINES and $COLUMNS, us-
+ es operating system calls to obtain
+ size.
+ FALSE FALSE <STRONG>ncurses</STRONG> relies on the terminal database
+ to determine size.
+
+
+</PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
+ The <STRONG>putwin</STRONG> routine writes all data associated with window (or pad) <EM>win</EM>
+ into the file to which <EM>filep</EM> points. This information can be later re-
+ trieved using the <STRONG>getwin</STRONG> function.
+
+ The <STRONG>getwin</STRONG> routine reads window related data stored in the file by
+ <STRONG>putwin</STRONG>. The routine then creates and initializes a new window using
+ that data. It returns a pointer to the new window. There are a few
+ caveats:
+
+ <STRONG>o</STRONG> the data written is a copy of the <STRONG>WINDOW</STRONG> structure, and its associ-
+ ated character cells. The format differs between the wide-charac-
+ ter (<STRONG>ncursesw</STRONG>) and non-wide (<STRONG>ncurses</STRONG>) libraries. You can transfer
+ data between the two, however.
+
+ <STRONG>o</STRONG> the retrieved window is always created as a top-level window (or
+ pad), rather than a subwindow.
+
+ <STRONG>o</STRONG> the window's character cells contain the color pair <EM>value</EM>, but not
+ the actual color <EM>numbers</EM>. If cells in the retrieved window use
+ color pairs which have not been created in the application using
+ <STRONG>init_pair</STRONG>, they will not be colored when the window is refreshed.
+
+
+</PRE><H3><a name="h3-delay_output">delay_output</a></H3><PRE>
+ The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM> millisecond pause in output.
+ This routine should not be used extensively because padding characters
+ are used rather than a CPU pause. If no padding character is speci-
+ fied, this uses <STRONG>napms</STRONG> to perform the delay.
+
+
+</PRE><H3><a name="h3-flushinp">flushinp</a></H3><PRE>
+ The <STRONG>flushinp</STRONG> routine throws away any typeahead that has been typed by
+ the user and has not yet been read by the program.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <STRONG>flushinp</STRONG>, routines that return an integer return <STRONG>ERR</STRONG> upon
+ failure and <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
+ upon successful completion.
Routines that return pointers return <STRONG>NULL</STRONG> on error.
- X/Open does not define any error conditions. In this im-
- plementation
+ X/Open does not define any error conditions. In this implementation
<STRONG>flushinp</STRONG>
- returns an error if the terminal was not initial-
- ized.
-
- <STRONG>meta</STRONG> returns an error if the terminal was not initial-
- ized.
+ returns an error if the terminal was not initialized.
<STRONG>putwin</STRONG>
- returns an error if the associated <STRONG>fwrite</STRONG> calls
- return an error.
+ returns an error if the associated <STRONG>fwrite</STRONG> calls return an er-
+ ror.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+
+</PRE><H3><a name="h3-filter">filter</a></H3><PRE>
+ The SVr4 documentation describes the action of <STRONG>filter</STRONG> only in the
+ vaguest terms. The description here is adapted from the XSI Curses
+ standard (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>).
+
+
+</PRE><H3><a name="h3-keyname">keyname</a></H3><PRE>
+ The <STRONG>keyname</STRONG> function may return the names of user-defined string capa-
+ bilities which are defined in the terminfo entry via the <STRONG>-x</STRONG> option of
+ <STRONG>tic</STRONG>. This implementation automatically assigns at run-time keycodes to
+ user-defined strings which begin with "k". The keycodes start at
+ KEY_MAX, but are not guaranteed to be the same value for different runs
+ because user-defined codes are merged from all terminal descriptions
+ which have been loaded. The <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function controls
+ whether this data is loaded when the terminal description is read by
+ the library.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions. It states that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a
- null pointer if unsuccessful, but does not define any er-
- ror conditions. This implementation checks for three cas-
- es:
-
- <STRONG>o</STRONG> the parameter is a 7-bit US-ASCII code. This is
- the case that X/Open Curses documented.
-
- <STRONG>o</STRONG> the parameter is in the range 128-159, i.e., a C1
- control code. If <STRONG>use_legacy_coding</STRONG> has been called
- with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG> returns the parameter,
- i.e., a one-character string with the parameter as
- the first character. Otherwise, it returns "~@",
- "~A", etc., analogous to "^@", "^A", C0 controls.
-
- X/Open Curses does not document whether <STRONG>unctrl</STRONG> can
- be called before initializing curses. This imple-
- mentation permits that, and returns the "~@", etc.,
- values in that case.
-
- <STRONG>o</STRONG> parameter values outside the 0 to 255 range. <STRONG>unc-</STRONG>
- <STRONG>trl</STRONG> returns a null pointer.
-
- The SVr4 documentation describes the action of <STRONG>filter</STRONG> only
- in the vaguest terms. The description here is adapted
- from the XSI Curses standard (which erroneously fails to
- describe the disabling of <STRONG>cuu</STRONG>).
-
- The strings returned by <STRONG>unctrl</STRONG> in this implementation are
- determined at compile time, showing C1 controls from the
- upper-128 codes with a `~' prefix rather than `^'. Other
- implementations have different conventions. For example,
- they may show both sets of control characters with `^',
- and strip the parameter to 7 bits. Or they may ignore C1
- controls and treat all of the upper-128 codes as print-
- able. This implementation uses 8 bits but does not modify
- the string to reflect locale. The <STRONG>use_legacy_coding</STRONG> func-
- tion allows the caller to change the output of <STRONG>unctrl</STRONG>.
-
- Likewise, the <STRONG>meta</STRONG> function allows the caller to change
- the output of <STRONG>keyname</STRONG>, i.e., it determines whether to use
- the `M-' prefix for "meta" keys (codes in the range 128 to
- 255). Both <STRONG>use_legacy_coding</STRONG> and <STRONG>meta</STRONG> succeed only after
- curses is initialized. X/Open Curses does not document
- the treatment of codes 128 to 159. When treating them as
- "meta" keys (or if <STRONG>keyname</STRONG> is called before initializing
- curses), this implementation returns strings "M-^@",
- "M-^A", etc.
-
- The <STRONG>keyname</STRONG> function may return the names of user-defined
- string capabilities which are defined in the terminfo en-
- try via the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>. This implementation auto-
- matically assigns at run-time keycodes to user-defined
- strings which begin with "k". The keycodes start at
- KEY_MAX, but are not guaranteed to be the same value for
- different runs because user-defined codes are merged from
- all terminal descriptions which have been loaded. The
- <STRONG>use_extended_names</STRONG> function controls whether this data is
- loaded when the terminal description is read by the li-
- brary.
-
- The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to
- ncurses. They were not supported on Version 7, BSD or
- System V implementations. It is recommended that any code
- depending on ncurses extensions be conditioned using
- NCURSES_VERSION.
+</PRE><H3><a name="h3-nofilter_use_tioctl">nofilter/use_tioctl</a></H3><PRE>
+ The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to <STRONG>ncurses</STRONG>. They
+ were not supported on Version 7, BSD or System V implementations. It
+ is recommended that any code depending on <STRONG>ncurses</STRONG> extensions be condi-
+ tioned using NCURSES_VERSION.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG>curs_ker-</STRONG>
- <STRONG><A HREF="curs_kernel.3x.html">nel(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>lega-</STRONG>
- <STRONG><A HREF="legacy_coding.3x.html">cy_coding(3x)</A></STRONG>.
+</PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
+ The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions have several issues with portability:
+
+ <STRONG>o</STRONG> The files written and read by these functions use an implementa-
+ tion-specific format. Although the format is an obvious target for
+ standardization, it has been overlooked.
+
+ Interestingly enough, according to the copyright dates in Solaris
+ source, the functions (along with <STRONG>scr_init</STRONG>, etc.) originated with
+ the University of California, Berkeley (in 1982) and were later (in
+ 1988) incorporated into SVr4. Oddly, there are no such functions
+ in the 4.3BSD curses sources.
+
+ <STRONG>o</STRONG> Most implementations simply dump the binary <STRONG>WINDOW</STRONG> structure to the
+ file. These include SVr4 curses, NetBSD and PDCurses, as well as
+ older <STRONG>ncurses</STRONG> versions. This implementation (as well as the X/Open
+ variant of Solaris curses, dated 1995) uses textual dumps.
+
+ The implementations which use binary dumps use block-I/O (the
+ <STRONG>fwrite</STRONG> and <STRONG>fread</STRONG> functions). Those that use textual dumps use
+ buffered-I/O. A few applications may happen to write extra data in
+ the file using these functions. Doing that can run into problems
+ mixing block- and buffered-I/O. This implementation reduces the
+ problem on writes by flushing the output. However, reading from a
+ file written using mixed schemes may not be successful.
+
+
+</PRE><H3><a name="h3-unctrl_wunctrl">unctrl/wunctrl</a></H3><PRE>
+ The XSI Curses standard, Issue 4 describes these functions. It states
+ that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but
+ does not define any error conditions. This implementation checks for
+ three cases:
+
+ <STRONG>o</STRONG> the parameter is a 7-bit US-ASCII code. This is the case that
+ X/Open Curses documented.
+
+ <STRONG>o</STRONG> the parameter is in the range 128-159, i.e., a C1 control code. If
+ <STRONG>use_legacy_coding</STRONG> has been called with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG> re-
+ turns the parameter, i.e., a one-character string with the parame-
+ ter as the first character. Otherwise, it returns "~@", "~A",
+ etc., analogous to "^@", "^A", C0 controls.
+
+ X/Open Curses does not document whether <STRONG>unctrl</STRONG> can be called before
+ initializing curses. This implementation permits that, and returns
+ the "~@", etc., values in that case.
+
+ <STRONG>o</STRONG> parameter values outside the 0 to 255 range. <STRONG>unctrl</STRONG> returns a null
+ pointer.
+
+ The strings returned by <STRONG>unctrl</STRONG> in this implementation are determined at
+ compile time, showing C1 controls from the upper-128 codes with a "~"
+ prefix rather than "^". Other implementations have different conven-
+ tions. For example, they may show both sets of control characters with
+ "^", and strip the parameter to 7 bits. Or they may ignore C1 controls
+ and treat all of the upper-128 codes as printable. This implementation
+ uses 8 bits but does not modify the string to reflect locale. The
+ <STRONG>use_legacy_coding</STRONG> function allows the caller to change the output of
+ <STRONG>unctrl</STRONG>.
+
+ Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the output
+ of <STRONG>keyname</STRONG>, i.e., it determines whether to use the "M-" prefix for
+ "meta" keys (codes in the range 128 to 255). Both <STRONG>use_legacy_coding</STRONG>
+ and <STRONG>meta</STRONG> succeed only after curses is initialized. X/Open Curses does
+ not document the treatment of codes 128 to 159. When treating them as
+ "meta" keys (or if <STRONG>keyname</STRONG> is called before initializing curses), this
+ implementation returns strings "M-^@", "M-^A", etc.
+ X/Open Curses documents <STRONG>unctrl</STRONG> as declared in <STRONG>&lt;unctrl.h&gt;</STRONG>, which <STRONG>ncurses</STRONG>
+ does. However, <STRONG>ncurses</STRONG>' <STRONG>&lt;curses.h&gt;</STRONG> includes <STRONG>&lt;unctrl.h&gt;</STRONG>, matching the
+ behavior of SVr4 curses. Other implementations may not do that.
- <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+</PRE><H3><a name="h3-use_env_use_tioctl">use_env/use_tioctl</a></H3><PRE>
+ If <STRONG>ncurses</STRONG> is configured to provide the sp-functions extension, the
+ state of <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> may be updated before creating each
+ <EM>screen</EM> rather than once only (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>). This feature of
+ <STRONG>use_env</STRONG> is not provided by other implementation of curses.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
+ <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>, <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>.
+
+
+
+ <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-unctrl">unctrl</a></li>
+<li><a href="#h3-keyname_key_name">keyname/key_name</a></li>
+<li><a href="#h3-filter_nofilter">filter/nofilter</a></li>
+<li><a href="#h3-use_env">use_env</a></li>
+<li><a href="#h3-use_tioctl">use_tioctl</a></li>
+<li><a href="#h3-putwin_getwin">putwin/getwin</a></li>
+<li><a href="#h3-delay_output">delay_output</a></li>
+<li><a href="#h3-flushinp">flushinp</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-filter">filter</a></li>
+<li><a href="#h3-keyname">keyname</a></li>
+<li><a href="#h3-nofilter_use_tioctl">nofilter/use_tioctl</a></li>
+<li><a href="#h3-putwin_getwin">putwin/getwin</a></li>
+<li><a href="#h3-unctrl_wunctrl">unctrl/wunctrl</a></li>
+<li><a href="#h3-use_env_use_tioctl">use_env/use_tioctl</a></li>
+</ul>
+</li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_variables.3x.html b/doc/html/man/curs_variables.3x.html
index 4c407892cab8..afeca3b21e89 100644
--- a/doc/html/man/curs_variables.3x.html
+++ b/doc/html/man/curs_variables.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2010-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,32 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_variables.3x,v 1.6 2013/12/21 18:41:32 tom Exp @
+ * @Id: curs_variables.3x,v 1.13 2019/06/01 22:51:21 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_variables 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_variables 3x</H1>
-<HR>
+<H1 class="no-header">curs_variables 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>, <STRONG>COLS</STRONG>, <STRONG>ESCDELAY</STRONG>, <STRONG>LINES</STRONG>, <STRONG>TABSIZE</STRONG>,
- <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, <STRONG>stdscr</STRONG> - <STRONG>curses</STRONG> global variables
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>, <STRONG>COLS</STRONG>, <STRONG>ESCDELAY</STRONG>, <STRONG>LINES</STRONG>, <STRONG>TABSIZE</STRONG>, <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>,
+ <STRONG>stdscr</STRONG> - <STRONG>curses</STRONG> global variables
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>COLOR_PAIRS;</STRONG>
@@ -66,99 +64,156 @@
<STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>stdscr;</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This page summarizes variables provided by the <STRONG>curses</STRONG> li-
- brary. A more complete description is given in the <STRONG>curs-</STRONG>
- <STRONG><A HREF="ncurses.3x.html">es(3x)</A></STRONG> manual page.
-
- Depending on the configuration, these may be actual vari-
- ables, or macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> and
- <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>) which provide read-only access to <EM>curs-</EM>
- <EM>es</EM>'s state. In either case, applications should treat
- them as read-only to avoid confusing the library.
-
- <STRONG>COLOR_PAIRS</STRONG>
- After initializing curses, this variable contains the num-
- ber of color pairs which the terminal can support. Usual-
- ly the number of color pairs will be the product <STRONG>COL-</STRONG>
- <STRONG>ORS</STRONG>*<STRONG>COLORS</STRONG>, however this is not always true:
-
- <STRONG>o</STRONG> a few terminals use HLS colors, which do not follow
- this rule
-
- <STRONG>o</STRONG> terminals supporting a large number of colors are lim-
- ited by the number of color pairs that can be repre-
- sented in a <EM>signed</EM> <EM>short</EM> value.
-
- <STRONG>COLORS</STRONG>
- After initializing curses, this variable contains the num-
- ber of colors which the terminal can support.
-
- <STRONG>COLS</STRONG>
- After initializing curses, this variable contains the
- width of the screen, i.e., the number of columns.
-
- <STRONG>ESCDELAY</STRONG>
- This variable holds the number of milliseconds to wait af-
- ter reading an escape character, to distinguish between an
- individual escape character entered on the keyboard from
- escape sequences sent by cursor- and function-keys (see
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
-
- <STRONG>LINES</STRONG>
- After initializing curses, this variable contains the
- height of the screen, i.e., the number of lines.
-
- <STRONG>TABSIZE</STRONG>
- This variable holds the number of columns used by the
- <EM>curses</EM> library when converting a tab character to spaces
- as it adds the tab to a window (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
-
- <STRONG>The</STRONG> <STRONG>Current</STRONG> <STRONG>Screen</STRONG>
- This implementation of curses uses a special window <STRONG>curscr</STRONG>
- to record its updates to the terminal screen.
-
- <STRONG>The</STRONG> <STRONG>New</STRONG> <STRONG>Screen</STRONG>
- This implementation of curses uses a special window <STRONG>newscr</STRONG>
- to hold updates to the terminal screen before applying
- them to <STRONG>curscr</STRONG>.
-
- <STRONG>The</STRONG> <STRONG>Standard</STRONG> <STRONG>Screen</STRONG>
- Upon initializing curses, a default window called <STRONG>stdscr</STRONG>,
- which is the size of the terminal screen, is created.
- Many curses functions use this window.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This page summarizes variables provided by the <STRONG>curses</STRONG> library. A more
+ complete description is given in the <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> manual page.
+ Depending on the configuration, these may be actual variables, or
+ macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> and <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>) which provide read-
+ only access to <EM>curses</EM>'s state. In either case, applications should
+ treat them as read-only to avoid confusing the library.
-</PRE>
-<H2>NOTES</H2><PRE>
- The curses library is initialized using either
- <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, or <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>.
- If <STRONG>curses</STRONG> is configured to use separate curses/terminfo
- libraries, most of these variables reside in the curses
- library.
+</PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
+ After initializing curses, this variable contains the number of color
+ pairs which the terminal can support. Usually the number of color
+ pairs will be the product <STRONG>COLORS</STRONG>*<STRONG>COLORS</STRONG>, however this is not always
+ true:
+ <STRONG>o</STRONG> a few terminals use HLS colors, which do not follow this rule
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- ESCDELAY and TABSIZE are extensions, not provided in most
- other implementations of curses.
+ <STRONG>o</STRONG> terminals supporting a large number of colors are limited by the
+ number of color pairs that can be represented in a <EM>signed</EM> <EM>short</EM>
+ value.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,
- <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+</PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
+ After initializing curses, this variable contains the number of colors
+ which the terminal can support.
+
+
+</PRE><H3><a name="h3-COLS">COLS</a></H3><PRE>
+ After initializing curses, this variable contains the width of the
+ screen, i.e., the number of columns.
+
+
+</PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
+ This variable holds the number of milliseconds to wait after reading an
+ escape character, to distinguish between an individual escape character
+ entered on the keyboard from escape sequences sent by cursor- and func-
+ tion-keys (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>).
+
+
+</PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
+ After initializing curses, this variable contains the height of the
+ screen, i.e., the number of lines.
+
+
+</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
+ This variable holds the number of columns used by the <EM>curses</EM> library
+ when converting a tab character to spaces as it adds the tab to a win-
+ dow (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-The-Current-Screen">The Current Screen</a></H3><PRE>
+ This implementation of curses uses a special window <STRONG>curscr</STRONG> to record
+ its updates to the terminal screen.
+
+ This is referred to as the "physical screen" in the <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> manual pages.
+
+
+</PRE><H3><a name="h3-The-New-Screen">The New Screen</a></H3><PRE>
+ This implementation of curses uses a special window <STRONG>newscr</STRONG> to hold up-
+ dates to the terminal screen before applying them to <STRONG>curscr</STRONG>.
+
+ This is referred to as the "virtual screen" in the <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
+ <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> manual pages.
+
+
+</PRE><H3><a name="h3-The-Standard-Screen">The Standard Screen</a></H3><PRE>
+ Upon initializing curses, a default window called <STRONG>stdscr</STRONG>, which is the
+ size of the terminal screen, is created. Many curses functions use
+ this window.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The curses library is initialized using either <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>, or
+ <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>.
+
+ If <STRONG>curses</STRONG> is configured to use separate curses/terminfo libraries, most
+ of these variables reside in the curses library.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ <STRONG>TABSIZE</STRONG> is a feature of SVr4 curses which is not documented by X/Open
+ curses.
+
+ <STRONG>o</STRONG> In SVr4 curses, <STRONG>TABSIZE</STRONG> is initially set from the terminal descrip-
+ tion's <STRONG>init_tabs</STRONG> capability. After that, it can be altered by the
+ applications using SVr4 curses.
+
+ SVr4 curses uses the current value of <STRONG>TABSIZE</STRONG> to compute the posi-
+ tion of tabstops for updating both the virtual screen with <STRONG>add-</STRONG>
+ <STRONG><A HREF="addch.3x.html">ch(3x)</A></STRONG> as well as the physical screen with <STRONG><A HREF="curs_terminfo.3x.html">mvcur(3x)</A></STRONG>.
+
+ <STRONG>o</STRONG> This implementation uses the current value of <STRONG>TABSIZE</STRONG> only for up-
+ dating the virtual screen. It uses the terminal description's <STRONG>it</STRONG>
+ (<STRONG>init_tabs</STRONG>) capability for computing hardware tabs (i.e., tab stops
+ on the physical screen).
+
+ <STRONG>o</STRONG> Other implementations differ. For instance, NetBSD curses allows
+ <STRONG>TABSIZE</STRONG> to be set through an environment variable. This implemen-
+ tation does not.
+
+ NetBSD curses does not support hardware tabs; it uses the <STRONG>init_tabs</STRONG>
+ capability and the <STRONG>TABSIZE</STRONG> variable only for updating the virtual
+ screen.
+
+ <STRONG>ESCDELAY</STRONG> is an extension in AIX curses:
+
+ <STRONG>o</STRONG> In AIX, the units for <STRONG>ESCDELAY</STRONG> are <EM>fifths</EM> of a millisecond.
+
+ <STRONG>o</STRONG> The default value for AIX's <STRONG>ESCDELAY</STRONG> is 0.1 seconds.
+
+ <STRONG>o</STRONG> AIX also enforces a limit of 10,000 seconds for <STRONG>ESCDELAY</STRONG>; this im-
+ plementation currently has no upper limit.
+
+ This implementation has long used <STRONG>ESCDELAY</STRONG> with units of milliseconds,
+ making it impossible to be completely compatible with AIX. Likewise,
+ most users have either decided to override the value, or rely upon its
+ default value.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>,
+ <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-COLOR_PAIRS">COLOR_PAIRS</a></li>
+<li><a href="#h3-COLORS">COLORS</a></li>
+<li><a href="#h3-COLS">COLS</a></li>
+<li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
+<li><a href="#h3-LINES">LINES</a></li>
+<li><a href="#h3-TABSIZE">TABSIZE</a></li>
+<li><a href="#h3-The-Current-Screen">The Current Screen</a></li>
+<li><a href="#h3-The-New-Screen">The New Screen</a></li>
+<li><a href="#h3-The-Standard-Screen">The Standard Screen</a></li>
+</ul>
+</li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/curs_window.3x.html b/doc/html/man/curs_window.3x.html
index b98446a07da6..5c1edc65b488 100644
--- a/doc/html/man/curs_window.3x.html
+++ b/doc/html/man/curs_window.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,190 +26,231 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_window.3x,v 1.17 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_window.3x,v 1.20 2016/10/15 17:26:09 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>curs_window 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>curs_window 3x</H1>
-<HR>
+<H1 class="no-header">curs_window 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>newwin</STRONG>, <STRONG>delwin</STRONG>, <STRONG>mvwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>dupwin</STRONG>,
- <STRONG>wsyncup</STRONG>, <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create <STRONG>curses</STRONG>
- windows
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>newwin</STRONG>, <STRONG>delwin</STRONG>, <STRONG>mvwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>dupwin</STRONG>, <STRONG>wsyncup</STRONG>,
+ <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create <STRONG>curses</STRONG> windows
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*newwin(int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols,</STRONG> <STRONG>int</STRONG> <STRONG>begin_y,</STRONG>
- <STRONG>int</STRONG> <STRONG>begin_x);</STRONG>
- <STRONG>int</STRONG> <STRONG>delwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwin(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*subwin(WINDOW</STRONG> <STRONG>*orig,</STRONG> <STRONG>int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols,</STRONG>
- <STRONG>int</STRONG> <STRONG>begin_y,</STRONG> <STRONG>int</STRONG> <STRONG>begin_x);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*derwin(WINDOW</STRONG> <STRONG>*orig,</STRONG> <STRONG>int</STRONG> <STRONG>nlines,</STRONG> <STRONG>int</STRONG> <STRONG>ncols,</STRONG>
- <STRONG>int</STRONG> <STRONG>begin_y,</STRONG> <STRONG>int</STRONG> <STRONG>begin_x);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvderwin(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>par_y,</STRONG> <STRONG>int</STRONG> <STRONG>par_x);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*dupwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>void</STRONG> <STRONG>wsyncup(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>int</STRONG> <STRONG>syncok(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
- <STRONG>void</STRONG> <STRONG>wcursyncup(WINDOW</STRONG> <STRONG>*win);</STRONG>
- <STRONG>void</STRONG> <STRONG>wsyncdown(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*newwin(</STRONG>
+ <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>delwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*subwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*derwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
+ <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvderwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>par</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>par</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*dupwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wsyncup(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>syncok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wcursyncup(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>wsyncdown(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Calling <STRONG>newwin</STRONG> creates and returns a pointer to a new win-
- dow with the given number of lines and columns. The upper
- left-hand corner of the window is at line <EM>begin</EM>_<EM>y</EM>, column
- <EM>begin</EM>_<EM>x</EM>. If either <EM>nlines</EM> or <EM>ncols</EM> is zero, they default
- to <STRONG>LINES</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>y</EM> and <STRONG>COLS</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>x</EM>. A new full-screen
- window is created by calling <STRONG>newwin(0,0,0,0)</STRONG>.
-
- Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memo-
- ry associated with it (it does not actually erase the win-
- dow's screen image). Subwindows must be deleted before
- the main window can be deleted.
-
- Calling <STRONG>mvwin</STRONG> moves the window so that the upper left-hand
- corner is at position (<EM>x</EM>, <EM>y</EM>). If the move would cause the
- window to be off the screen, it is an error and the window
- is not moved. Moving subwindows is allowed, but should be
- avoided.
-
- Calling <STRONG>subwin</STRONG> creates and returns a pointer to a new win-
- dow with the given number of lines, <EM>nlines</EM>, and columns,
- <EM>ncols</EM>. The window is at position (<EM>begin</EM>_<EM>y</EM>, <EM>begin</EM>_<EM>x</EM>) on
- the screen. (This position is relative to the screen, and
- not to the window <EM>orig</EM>.) The window is made in the middle
- of the window <EM>orig</EM>, so that changes made to one window
- will affect both windows. The subwindow shares memory
- with the window <EM>orig</EM>. When using this routine, it is nec-
- essary to call <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before call-
- ing <STRONG>wrefresh</STRONG> on the subwindow.
-
- Calling <STRONG>derwin</STRONG> is the same as calling <STRONG>subwin,</STRONG> except that
- <EM>begin</EM>_<EM>y</EM> and <EM>begin</EM>_<EM>x</EM> are relative to the origin of the win-
- dow <EM>orig</EM> rather than the screen. There is no difference
- between the subwindows and the derived windows.
-
- Calling <STRONG>mvderwin</STRONG> moves a derived window (or subwindow) in-
- side its parent window. The screen-relative parameters of
- the window are not changed. This routine is used to dis-
- play different parts of the parent window at the same
- physical position on the screen.
-
- Calling <STRONG>dupwin</STRONG> creates an exact duplicate of the window
- <EM>win</EM>.
-
- Calling <STRONG>wsyncup</STRONG> touches all locations in ancestors of <EM>win</EM>
- that are changed in <EM>win</EM>. If <STRONG>syncok</STRONG> is called with second
- argument <STRONG>TRUE</STRONG> then <STRONG>wsyncup</STRONG> is called automatically whenev-
- er there is a change in the window.
-
- The <STRONG>wsyncdown</STRONG> routine touches each location in <EM>win</EM> that
- has been touched in any of its ancestor windows. This
- routine is called by <STRONG>wrefresh</STRONG>, so it should almost never
- be necessary to call it manually.
-
- The routine <STRONG>wcursyncup</STRONG> updates the current cursor position
- of all the ancestors of the window to reflect the current
- cursor position of the window.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+</PRE><H3><a name="h3-newwin">newwin</a></H3><PRE>
+ Calling <STRONG>newwin</STRONG> creates and returns a pointer to a new window with the
+ given number of lines and columns. The upper left-hand corner of the
+ window is at
+ line <EM>begin</EM>_<EM>y</EM>,
+ column <EM>begin</EM>_<EM>x</EM>
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return the integer <STRONG>ERR</STRONG> up-
- on failure and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value
- other than <STRONG>ERR</STRONG>") upon successful completion.
+ If either <EM>nlines</EM> or <EM>ncols</EM> is zero, they default to
+ <STRONG>LINES</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>y</EM> and
+ <STRONG>COLS</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>x</EM>.
+
+ A new full-screen window is created by calling <STRONG>newwin(0,0,0,0)</STRONG>.
+
+
+</PRE><H3><a name="h3-delwin">delwin</a></H3><PRE>
+ Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memory associated
+ with it (it does not actually erase the window's screen image). Sub-
+ windows must be deleted before the main window can be deleted.
+
+
+</PRE><H3><a name="h3-mvwin">mvwin</a></H3><PRE>
+ Calling <STRONG>mvwin</STRONG> moves the window so that the upper left-hand corner is at
+ position (<EM>x</EM>, <EM>y</EM>). If the move would cause the window to be off the
+ screen, it is an error and the window is not moved. Moving subwindows
+ is allowed, but should be avoided.
+
+
+</PRE><H3><a name="h3-subwin">subwin</a></H3><PRE>
+ Calling <STRONG>subwin</STRONG> creates and returns a pointer to a new window with the
+ given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. The window is at
+ position (<EM>begin</EM>_<EM>y</EM>, <EM>begin</EM>_<EM>x</EM>) on the screen. The subwindow shares memory
+ with the window <EM>orig</EM>, so that changes made to one window will affect
+ both windows. When using this routine, it is necessary to call <STRONG>touch-</STRONG>
+ <STRONG>win</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>wrefresh</STRONG> on the subwindow.
+
+
+</PRE><H3><a name="h3-derwin">derwin</a></H3><PRE>
+ Calling <STRONG>derwin</STRONG> is the same as calling <STRONG>subwin,</STRONG> except that <EM>begin</EM>_<EM>y</EM> and
+ <EM>begin</EM>_<EM>x</EM> are relative to the origin of the window <EM>orig</EM> rather than the
+ screen. There is no difference between the subwindows and the derived
+ windows.
+
+ Calling <STRONG>mvderwin</STRONG> moves a derived window (or subwindow) inside its par-
+ ent window. The screen-relative parameters of the window are not
+ changed. This routine is used to display different parts of the parent
+ window at the same physical position on the screen.
+
+
+</PRE><H3><a name="h3-dupwin">dupwin</a></H3><PRE>
+ Calling <STRONG>dupwin</STRONG> creates an exact duplicate of the window <EM>win</EM>.
+
+
+</PRE><H3><a name="h3-wsyncup">wsyncup</a></H3><PRE>
+ Calling <STRONG>wsyncup</STRONG> touches all locations in ancestors of <EM>win</EM> that are
+ changed in <EM>win</EM>. If <STRONG>syncok</STRONG> is called with second argument <STRONG>TRUE</STRONG> then
+ <STRONG>wsyncup</STRONG> is called automatically whenever there is a change in the win-
+ dow.
+
+
+</PRE><H3><a name="h3-wsyncdown">wsyncdown</a></H3><PRE>
+ The <STRONG>wsyncdown</STRONG> routine touches each location in <EM>win</EM> that has been
+ touched in any of its ancestor windows. This routine is called by <STRONG>wre-</STRONG>
+ <STRONG>fresh</STRONG>, so it should almost never be necessary to call it manually.
+
+
+</PRE><H3><a name="h3-wcursyncup">wcursyncup</a></H3><PRE>
+ The routine <STRONG>wcursyncup</STRONG> updates the current cursor position of all the
+ ancestors of the window to reflect the current cursor position of the
+ window.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return the integer <STRONG>ERR</STRONG> upon failure and
+ <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than <STRONG>ERR</STRONG>") upon suc-
+ cessful completion.
Routines that return pointers return <STRONG>NULL</STRONG> on error.
- X/Open defines no error conditions. In this implementa-
- tion
+ X/Open defines no error conditions. In this implementation
- <STRONG>delwin</STRONG>
- returns an error if the window pointer is
- null, or if the window is the parent of anoth-
- er window.
+ <STRONG>delwin</STRONG>
+ returns an error if the window pointer is null, or if the window
+ is the parent of another window.
- This implementation also maintains a list of
- windows, and checks that the pointer passed to
- <STRONG>delwin</STRONG> is one that it created, returning an
- error if it was not..
+ <STRONG>derwin</STRONG>
+ returns an error if the parent window pointer is null, or if any
+ of its ordinates or dimensions is negative, or if the resulting
+ window does not fit inside the parent window.
- <STRONG>mvderwin</STRONG>
- returns an error if the window pointer is
- null, or if some part of the window would be
- placed off-screen.
+ <STRONG>dupwin</STRONG>
+ returns an error if the window pointer is null.
- <STRONG>mvwin</STRONG>
- returns an error if the window pointer is
- null, or if the window is really a pad, or if
- some part of the window would be placed off-
- screen.
+ This implementation also maintains a list of windows, and checks
+ that the pointer passed to <STRONG>delwin</STRONG> is one that it created, return-
+ ing an error if it was not..
- <STRONG>syncok</STRONG>
- returns an error if the window pointer is
- null.
+ <STRONG>mvderwin</STRONG>
+ returns an error if the window pointer is null, or if some part of
+ the window would be placed off-screen.
+ <STRONG>mvwin</STRONG>
+ returns an error if the window pointer is null, or if the window
+ is really a pad, or if some part of the window would be placed
+ off-screen.
-</PRE>
-<H2>NOTES</H2><PRE>
- If many small changes are made to the window, the <STRONG>wsyncup</STRONG>
- option could degrade performance.
+ <STRONG>newwin</STRONG>
+ will fail if either of its beginning ordinates is negative, or if
+ either the number of lines or columns is negative.
+
+ <STRONG>syncok</STRONG>
+ returns an error if the window pointer is null.
+
+ <STRONG>subwin</STRONG>
+ returns an error if the parent window pointer is null, or if any
+ of its ordinates or dimensions is negative, or if the resulting
+ window does not fit inside the parent window.
+
+ The functions which return a window pointer may also fail if there is
+ insufficient memory for its data structures. Any of these functions
+ will fail if the screen has not been initialized, i.e., with <STRONG>initscr</STRONG> or
+ <STRONG>newterm</STRONG>.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ If many small changes are made to the window, the <STRONG>wsyncup</STRONG> option could
+ degrade performance.
Note that <STRONG>syncok</STRONG> may be a macro.
-</PRE>
-<H2>BUGS</H2><PRE>
- The subwindow functions (<EM>subwin</EM>, <EM>derwin</EM>, <EM>mvderwin</EM>, <STRONG>wsyn-</STRONG>
- <STRONG>cup</STRONG>, <STRONG>wsyncdown</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>syncok</STRONG>) are flaky, incomplete-
- ly implemented, and not well tested.
-
- The System V curses documentation is very unclear about
- what <STRONG>wsyncup</STRONG> and <STRONG>wsyncdown</STRONG> actually do. It seems to imply
- that they are only supposed to touch exactly those lines
- that are affected by ancestor changes. The language here,
- and the behavior of the <STRONG>curses</STRONG> implementation, is pat-
- terned on the XPG4 curses standard. The weaker XPG4 spec
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
+ The subwindow functions (<STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>wsyncup</STRONG>, <STRONG>wsyncdown</STRONG>,
+ <STRONG>wcursyncup</STRONG>, <STRONG>syncok</STRONG>) are flaky, incompletely implemented, and not well
+ tested.
+
+ The System V curses documentation is very unclear about what <STRONG>wsyncup</STRONG>
+ and <STRONG>wsyncdown</STRONG> actually do. It seems to imply that they are only sup-
+ posed to touch exactly those lines that are affected by ancestor
+ changes. The language here, and the behavior of the <STRONG>curses</STRONG> implementa-
+ tion, is patterned on the XPG4 curses standard. The weaker XPG4 spec
may result in slower updates.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The XSI Curses standard, Issue 4 describes these func-
- tions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The XSI Curses standard, Issue 4 describes these functions.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
- <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
- <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-newwin">newwin</a></li>
+<li><a href="#h3-delwin">delwin</a></li>
+<li><a href="#h3-mvwin">mvwin</a></li>
+<li><a href="#h3-subwin">subwin</a></li>
+<li><a href="#h3-derwin">derwin</a></li>
+<li><a href="#h3-dupwin">dupwin</a></li>
+<li><a href="#h3-wsyncup">wsyncup</a></li>
+<li><a href="#h3-wsyncdown">wsyncdown</a></li>
+<li><a href="#h3-wcursyncup">wcursyncup</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-BUGS">BUGS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/default_colors.3x.html b/doc/html/man/default_colors.3x.html
index ae05ea39017b..c91d0119598b 100644
--- a/doc/html/man/default_colors.3x.html
+++ b/doc/html/man/default_colors.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,153 +27,140 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997,1999,2000,2005
- * @Id: default_colors.3x,v 1.23 2011/01/03 21:52:27 Tim.van.der.Molen Exp @
+ * @Id: default_colors.3x,v 1.28 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>default_colors 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>default_colors 3x</H1>
-<HR>
+<H1 class="no-header">default_colors 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's
- default colors
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's default col-
+ ors
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>use_default_colors(void);</STRONG>
<STRONG>int</STRONG> <STRONG>assume_default_colors(int</STRONG> <STRONG>fg,</STRONG> <STRONG>int</STRONG> <STRONG>bg);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> and <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> func-
- tions are extensions to the curses library. They are used
- with terminals that support ISO 6429 color, or equivalent.
- These terminals allow the application to reset color to an
- unspecified default value (e.g., with SGR 39 or SGR 49).
-
- Applications that paint a colored background over the
- whole screen do not take advantage of SGR 39 and SGR 49.
- Some applications are designed to work with the default
- background, using colors only for text. For example,
- there are several implementations of the <STRONG>ls</STRONG> program which
- use colors to denote different file types or permissions.
- These "color ls" programs do not necessarily modify the
- background color, typically using only the <EM>setaf</EM> terminfo
- capability to set the foreground color. Full-screen
- applications that use default colors can achieve similar
- visual effects.
-
- The first function, <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> tells the curses
- library to assign terminal default foreground/background
- colors to color number -1. So init_pair(x,COLOR_RED,-1)
- will initialize pair x as red on default background and
- init_pair(x,-1,COLOR_BLUE) will initialize pair x as
- default foreground on blue.
-
- The other, <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> is a refinement which
- tells which colors to paint for color pair 0. This func-
- tion recognizes a special color number -1, which denotes
- the default terminal color.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>use_default_colors</STRONG> and <STRONG>assume_default_colors</STRONG> functions are exten-
+ sions to the curses library. They are used with terminals that support
+ ISO 6429 color, or equivalent. These terminals allow the application
+ to reset color to an unspecified default value (e.g., with SGR 39 or
+ SGR 49).
+
+ Applications that paint a colored background over the whole screen do
+ not take advantage of SGR 39 and SGR 49. Some applications are
+ designed to work with the default background, using colors only for
+ text. For example, there are several implementations of the <STRONG>ls</STRONG> program
+ which use colors to denote different file types or permissions. These
+ "color ls" programs do not necessarily modify the background color,
+ typically using only the <STRONG>setaf</STRONG> terminfo capability to set the fore-
+ ground color. Full-screen applications that use default colors can
+ achieve similar visual effects.
+
+ The first function, <STRONG>use_default_colors</STRONG> tells the curses library to
+ assign terminal default foreground/background colors to color number
+ -1. So init_pair(x,COLOR_RED,-1) will initialize pair x as red on
+ default background and init_pair(x,-1,COLOR_BLUE) will initialize pair
+ x as default foreground on blue.
+
+ The other, <STRONG>assume_default_colors</STRONG> is a refinement which tells which col-
+ ors to paint for color pair 0. This function recognizes a special
+ color number -1, which denotes the default terminal color.
The following are equivalent:
<EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors();</EM>
<EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors(-1,-1);</EM>
- These are ncurses extensions. For other curses implemen-
- tations, color number -1 does not mean anything, just as
- for ncurses before a successful call of <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>col-</EM>
- <EM>ors()</EM> or <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM>.
-
- Other curses implementations do not allow an application
- to modify color pair 0. They assume that the background
- is COLOR_BLACK, but do not ensure that the color pair 0 is
- painted to match the assumption. If your application does
- not use either <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> or <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>col-</EM>
- <EM>ors()</EM> ncurses will paint a white foreground (text) with
+ These are ncurses extensions. For other curses implementations, color
+ number -1 does not mean anything, just as for ncurses before a success-
+ ful call of <STRONG>use_default_colors</STRONG> or <STRONG>assume_default_colors</STRONG>.
+
+ Other curses implementations do not allow an application to modify
+ color pair 0. They assume that the background is COLOR_BLACK, but do
+ not ensure that the color pair 0 is painted to match the assumption.
+ If your application does not use either <STRONG>use_default_colors</STRONG> or
+ <STRONG>assume_default_colors</STRONG> ncurses will paint a white foreground (text) with
black background for color pair 0.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- on success. They will fail if either the terminal does
- not support the <EM>orig</EM><STRONG>_</STRONG><EM>pair</EM> or <EM>orig</EM><STRONG>_</STRONG><EM>colors</EM> capability. If
- the <EM>initialize</EM><STRONG>_</STRONG><EM>pair</EM> capability is not found, this causes
- an error as well.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+ They will fail if either the terminal does not support the <STRONG>orig_pair</STRONG> or
+ <STRONG>orig_colors</STRONG> capability. If the <STRONG>initialize_pair</STRONG> capability is not
+ found, this causes an error as well.
-</PRE>
-<H2>NOTES</H2><PRE>
- Associated with this extension, the <STRONG>init_pair</STRONG> function
- accepts negative arguments to specify default foreground
- or background colors.
-
- The <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> function was added to support
- <EM>ded</EM>. This is a full-screen application which uses curses
- to manage only part of the screen. The bottom portion of
- the screen, which is of adjustable size, is left uncolored
- to display the results from shell commands. The top por-
- tion of the screen colors filenames using a scheme like
- the "color ls" programs. Attempting to manage the back-
- ground color of the screen for this application would give
- unsatisfactory results for a variety of reasons. This
- extension was devised after noting that color xterm (and
- similar programs) provides a background color which does
- not necessarily correspond to any of the ANSI colors.
- While a special terminfo entry could be constructed using
- nine colors, there was no mechanism provided within curses
- to account for the related <EM>orig</EM><STRONG>_</STRONG><EM>pair</EM> and <EM>back</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>erase</EM>
- capabilities.
-
- The <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors()</EM> function was added to solve a
- different problem: support for applications which would
- use environment variables and other configuration to
- bypass curses' notion of the terminal's default colors,
- setting specific values.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ Associated with this extension, the <STRONG>init_pair</STRONG> function accepts negative
+ arguments to specify default foreground or background colors.
+ The <STRONG>use_default_colors</STRONG> function was added to support <EM>ded</EM>. This is a
+ full-screen application which uses curses to manage only part of the
+ screen. The bottom portion of the screen, which is of adjustable size,
+ is left uncolored to display the results from shell commands. The top
+ portion of the screen colors filenames using a scheme like the "color
+ ls" programs. Attempting to manage the background color of the screen
+ for this application would give unsatisfactory results for a variety of
+ reasons. This extension was devised after noting that color xterm (and
+ similar programs) provides a background color which does not necessar-
+ ily correspond to any of the ANSI colors. While a special terminfo
+ entry could be constructed using nine colors, there was no mechanism
+ provided within curses to account for the related <STRONG>orig_pair</STRONG> and
+ <STRONG>back_color_erase</STRONG> capabilities.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+ The <STRONG>assume_default_colors</STRONG> function was added to solve a different prob-
+ lem: support for applications which would use environment variables and
+ other configuration to bypass curses' notion of the terminal's default
+ colors, setting specific values.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on them be conditioned using NCURSES_VERSION.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG>ded(1)</STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
- Thomas Dickey (from an analysis of the requirements for
- color xterm for XFree86 3.1.2C, February 1996).
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+ Thomas Dickey (from an analysis of the requirements for color xterm for
+ XFree86 3.1.2C, February 1996).
- <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+ <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/define_key.3x.html b/doc/html/man/define_key.3x.html
index 2dd46c898052..0bd1b710c537 100644
--- a/doc/html/man/define_key.3x.html
+++ b/doc/html/man/define_key.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,84 +27,80 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997
- * @Id: define_key.3x,v 1.14 2010/12/04 18:49:20 tom Exp @
+ * @Id: define_key.3x,v 1.16 2018/07/28 21:34:56 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>define_key 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>define_key 3x</H1>
-<HR>
+<H1 class="no-header">define_key 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>define_key</STRONG> - define a keycode
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>define_key(const</STRONG> <STRONG>char</STRONG> <STRONG>*definition,</STRONG> <STRONG>int</STRONG> <STRONG>keycode);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is an extension to the curses library. It permits an
- application to define keycodes with their corresponding
- control strings, so that the ncurses library will inter-
- pret them just as it would the predefined codes in the
- terminfo database.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is an extension to the curses library. It permits an application
+ to define keycodes with their corresponding control strings, so that
+ the ncurses library will interpret them just as it would the predefined
+ codes in the terminfo database.
- If the given string is null, any existing definition for
- the keycode is removed. Similarly, if the given keycode
- is negative or zero, any existing string for the given
- definition is removed.
+ If the given string is null, any existing definition for the keycode is
+ removed. Similarly, if the given keycode is negative or zero, any
+ existing string for the given definition is removed.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The keycode must be greater than zero, and the string non-
- null, otherwise ERR is returned. ERR may also be returned
- if there is insufficient memory to allocate the data to
- store the definition. If no error is detected, OK is
- returned.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The keycode must be greater than zero, and the string non-null, other-
+ wise <STRONG>ERR</STRONG> is returned. <STRONG>ERR</STRONG> may also be returned if there is insuffi-
+ cient memory to allocate the data to store the definition. If no error
+ is detected, <STRONG>OK</STRONG> is returned.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on them be conditioned using NCURSES_VERSION.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>, <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Thomas Dickey.
- <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+ <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html
index 57e92f2c7bb4..63bee133e77b 100644
--- a/doc/html/man/form.3x.html
+++ b/doc/html/man/form.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,45 +27,42 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form.3x,v 1.24 2010/12/04 18:40:45 tom Exp @
+ * @Id: form.3x,v 1.33 2019/11/30 20:51:36 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form 3x</H1>
-<HR>
+<H1 class="no-header">form 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>form</STRONG> - curses extension for programming forms
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>form</STRONG> 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-
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>form</STRONG> 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 <STRONG>form</STRONG> library uses the <STRONG>curses</STRONG> libraries. To use the
- <STRONG>form</STRONG> library, link with the options <STRONG>-lform</STRONG> <STRONG>-lcurses</STRONG>.
+ The <STRONG>form</STRONG> library uses the <STRONG>curses</STRONG> libraries. To use the <STRONG>form</STRONG> library,
+ link with the options <STRONG>-lform</STRONG> <STRONG>-lcurses</STRONG>.
Your program should set up the locale, e.g.,
@@ -74,115 +70,115 @@
so that input/output processing will work.
- A curses initialization routine such as <STRONG>initscr</STRONG> must be
- called before using any of these functions.
-
- <STRONG>Current</STRONG> <STRONG>Default</STRONG> <STRONG>Values</STRONG> <STRONG>for</STRONG> <STRONG>Field</STRONG> <STRONG>Attributes</STRONG>
- The <STRONG>form</STRONG> library maintains a default value for field
- attributes. You can get or set this default by calling
- the appropriate <STRONG>set_</STRONG> or retrieval routine with a <STRONG>NULL</STRONG>
- field pointer. Changing this default with a <STRONG>set_</STRONG> function
- affects future field creations, but does not change the
- rendering of fields already created.
-
- <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
- The following table lists each <STRONG>form</STRONG> routine and the name
- of the manual page on which it is described.
-
- <STRONG>curses</STRONG> Routine Name Manual Page Name
- -------------------------------------------------
- current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- data_ahead <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
- data_behind <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
- dup_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
- dynamic_field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
- field_arg <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
- field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- field_count <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
- field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- field_index <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
- field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
- field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- field_opts_off <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- field_opts_on <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
-
- field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
- form_driver <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
- form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
- form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- form_opts <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
- form_opts_off <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
- form_opts_on <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
- form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- form_request_by_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
- form_request_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
- form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
- form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- free_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
- free_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- free_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
- link_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
- link_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- move_field <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
- new_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
- new_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- new_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
- new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
- pos_form_cursor <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
- post_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
- scale_form <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- set_current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- set_field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- set_field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- set_field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- set_field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- set_field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
- set_field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- set_field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- set_field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- set_field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- set_field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
- set_field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
- set_fieldtype_arg <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- set_fieldtype_choice <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- set_form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
- set_form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- set_form_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- set_form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- set_form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- set_form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- set_form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
- set_form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- set_max_field <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- set_new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
- unpost_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
-
-
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error, and
- set errno to the corresponding error-code returned by
- functions returning an integer. Routines that return an
- integer return one of the following error codes:
+ A curses initialization routine such as <STRONG>initscr</STRONG> must be called before
+ using any of these functions.
+
+
+</PRE><H3><a name="h3-Current-Default-Values-for-Field-Attributes">Current Default Values for Field Attributes</a></H3><PRE>
+ The <STRONG>form</STRONG> library maintains a default value for field attributes. You
+ can get or set this default by calling the appropriate <STRONG>set_</STRONG> or
+ retrieval routine with a <STRONG>NULL</STRONG> field pointer. Changing this default
+ with a <STRONG>set_</STRONG> function affects future field creations, but does not
+ change the rendering of fields already created.
+
+
+</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
+ The following table lists each <STRONG>form</STRONG> routine and the name of the manual
+ page on which it is described.
+
+ <STRONG>curses</STRONG> Routine Name Manual Page Name
+ --------------------------------------------------
+ current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ data_ahead <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+ data_behind <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+ dup_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ dynamic_field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+ field_arg <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ field_count <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ field_index <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+ field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+ field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ field_opts_off <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ field_opts_on <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+ form_driver <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+
+ form_driver_w <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>*
+ form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ form_opts <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ form_opts_off <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ form_opts_on <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ form_request_by_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+ form_request_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+ form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+ form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ free_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ free_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ free_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+ link_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ link_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ move_field <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ new_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ new_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ new_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+ new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+ pos_form_cursor <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+ post_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+ scale_form <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ set_current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ set_field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ set_field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ set_field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ set_field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ set_field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+ set_field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ set_field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ set_field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ set_field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ set_field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ set_field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+ set_fieldtype_arg <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ set_fieldtype_choice <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ set_form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ set_form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ set_form_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ set_form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ set_form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ set_form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ set_form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+ set_form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ set_max_field <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ set_new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+ unfocus_current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ unpost_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return pointers return <STRONG>NULL</STRONG> on error, and set errno to
+ the corresponding error-code returned by functions returning an inte-
+ ger. Routines that return an integer return one of the following error
+ codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_CONNECTED</STRONG>
The field is already connected to a form.
@@ -206,53 +202,72 @@
The form driver could not process the request.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_UNKNOWN_COMMAND</STRONG>
The form driver code saw an unknown request code.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header files
+ <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
+ 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 when using static libraries).
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- files <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
- In your library list, libform.a should be before libn-
- curses.a; that is, you want to say `-lform -lncurses', not
- the other way around (which would give you a link error
- using most linkers).
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
+ The menu facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
+ <EM>Programming</EM> <EM>(UNIX</EM> <EM>SVR4.2)</EM>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+ It is not part of X/Open Curses.
+ Aside from ncurses, there are few implementations:
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for ncurses
- by Eric S. Raymond.
+ <STRONG>o</STRONG> systems based on SVr4 source code, e.g., Solaris.
+ <STRONG>o</STRONG> NetBSD curses.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ A few functions in this implementation are extensions added for
+ ncurses, but not provided by other implementations, e.g.,
+ <STRONG>form_driver_w</STRONG>, <STRONG>unfocus_current_field</STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric S.
+ Raymond.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ descriptions of the entry points.
+
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+ <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Current-Default-Values-for-Field-Attributes">Current Default Values for Field Attributes</a></li>
+<li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_cursor.3x.html b/doc/html/man/form_cursor.3x.html
index 0dc4bee2a45f..9dcc6eee8886 100644
--- a/doc/html/man/form_cursor.3x.html
+++ b/doc/html/man/form_cursor.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,91 +27,89 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_cursor.3x,v 1.8 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_cursor.3x,v 1.11 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_cursor 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_cursor 3x</H1>
-<HR>
+<H1 class="no-header">form_cursor 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_cursor</STRONG> - position a form window cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>pos_form_cursor</STRONG> - position a form window cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int pos_form_cursor(FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>pos_form_cursor</STRONG> restores the cursor to the
- position required for the forms driver to continue pro-
- cessing requests. This is useful after <STRONG>curses</STRONG> routines
- have been called to do screen-painting in response to a
- form operation.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>pos_form_cursor</STRONG> restores the cursor to the position
+ required for the forms driver to continue processing requests. This is
+ useful after <STRONG>curses</STRONG> routines have been called to do screen-painting in
+ response to a form operation.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
This routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_NOT_POSTED</STRONG>
The form has not been posted.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+ <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_data.3x.html b/doc/html/man/form_data.3x.html
index d7d0dfa16888..71839fabdc10 100644
--- a/doc/html/man/form_data.3x.html
+++ b/doc/html/man/form_data.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,77 +27,75 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_data.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_data.3x,v 1.12 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_data 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_data 3x</H1>
-<HR>
+<H1 class="no-header">form_data 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_data</STRONG> - test for off-screen data in given forms
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>data_ahead</STRONG>, <STRONG>data_behind</STRONG> - test for off-screen data in given forms
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
bool data_ahead(const FORM *form);
bool data_behind(const FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>data_ahead</STRONG> tests whether there is off-screen
- data ahead in the given form. It returns TRUE (1) or
- FALSE (0).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>data_ahead</STRONG> tests whether there is off-screen data ahead in
+ the given form. It returns TRUE (1) or FALSE (0).
- The function <STRONG>data_behind</STRONG> tests whether there is off-screen
- data behind in the given form. It returns TRUE (1) or
- FALSE (0).
+ The function <STRONG>data_behind</STRONG> tests whether there is off-screen data behind
+ in the given form. It returns TRUE (1) or FALSE (0).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+ <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_driver.3x.html b/doc/html/man/form_driver.3x.html
index 7ffe298ef856..f815be827f58 100644
--- a/doc/html/man/form_driver.3x.html
+++ b/doc/html/man/form_driver.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,243 +26,163 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_driver.3x,v 1.22 2010/12/04 18:38:55 tom Exp @
+ * @Id: form_driver.3x,v 1.32 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_driver 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_driver 3x</H1>
-<HR>
+<H1 class="no-header">form_driver 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_driver</STRONG> - command-processing loop of the form system
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_driver</STRONG>, <STRONG>form_driver_w</STRONG> - command-processing loop of the form system
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int form_driver(FORM *form, int c);
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Once a form has been posted (displayed), you should funnel
- input events to it through <STRONG>form_driver</STRONG>. This routine has
- three major input cases:
-
- <STRONG>o</STRONG> The input is a form navigation request. Navigation
- request codes are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which
- are distinct from the key- and character codes
- returned by <STRONG>wgetch</STRONG>.
-
- <STRONG>o</STRONG> The input is a printable character. Printable charac-
- ters (which must be positive, less than 256) are
- checked according to the program's locale settings.
-
- <STRONG>o</STRONG> The input is the KEY_MOUSE special key associated with
- an mouse event.
-
- The form driver requests are as follows:
-
- REQ_NEXT_PAGE
- Move to the next page.
-
- REQ_PREV_PAGE
- Move to the previous page.
-
- REQ_FIRST_PAGE
- Move to the first page.
-
- REQ_LAST_PAGE
- Move to the last field.
-
-
- REQ_NEXT_FIELD
- Move to the next field.
-
- REQ_PREV_FIELD
- Move to the previous field.
-
- REQ_FIRST_FIELD
- Move to the first field.
-
- REQ_LAST_FIELD
- Move to the last field.
-
- REQ_SNEXT_FIELD
- Move to the sorted next field.
-
- REQ_SPREV_FIELD
- Move to the sorted previous field.
-
- REQ_SFIRST_FIELD
- Move to the sorted first field.
-
- REQ_SLAST_FIELD
- Move to the sorted last field.
-
- REQ_LEFT_FIELD
- Move left to a field.
-
- REQ_RIGHT_FIELD
- Move right to a field.
-
- REQ_UP_FIELD
- Move up to a field.
-
- REQ_DOWN_FIELD
- Move down to a field.
-
-
- REQ_NEXT_CHAR
- Move to the next char.
-
- REQ_PREV_CHAR
- Move to the previous char.
-
- REQ_NEXT_LINE
- Move to the next line.
-
- REQ_PREV_LINE
- Move to the previous line.
-
- REQ_NEXT_WORD
- Move to the next word.
-
- REQ_PREV_WORD
- Move to the previous word.
-
- REQ_BEG_FIELD
- Move to the beginning of the field.
+ <STRONG>int</STRONG> <STRONG>form_driver(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
- REQ_END_FIELD
- Move to the end of the field.
- REQ_BEG_LINE
- Move to the beginning of the line.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- REQ_END_LINE
- Move to the end of the line.
+</PRE><H3><a name="h3-form_driver">form_driver</a></H3><PRE>
+ Once a form has been posted (displayed), you should funnel input events
+ to it through <STRONG>form_driver</STRONG>. This routine has three major input cases:
- REQ_LEFT_CHAR
- Move left in the field.
+ <STRONG>o</STRONG> The input is a form navigation request. Navigation request codes
+ are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which are distinct from the key-
+ and character codes returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
- REQ_RIGHT_CHAR
- Move right in the field.
+ <STRONG>o</STRONG> The input is a printable character. Printable characters (which
+ must be positive, less than 256) are checked according to the pro-
+ gram's locale settings.
- REQ_UP_CHAR
- Move up in the field.
+ <STRONG>o</STRONG> The input is the KEY_MOUSE special key associated with an mouse
+ event.
- REQ_DOWN_CHAR
- Move down in the field.
+</PRE><H3><a name="h3-form_driver_w">form_driver_w</a></H3><PRE>
+ This extension simplifies the use of the forms library using wide char-
+ acters. The input is either a key code (a request) or a wide character
+ returned by <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>. The type must be passed as well, to enable
+ the library to determine whether the parameter is a wide character or a
+ request.
- REQ_NEW_LINE
- Insert or overlay a new line.
- REQ_INS_CHAR
- Insert a blank at the cursor.
-
- REQ_INS_LINE
- Insert a blank line at the cursor.
-
- REQ_DEL_CHAR
- Delete character at the cursor.
-
- REQ_DEL_PREV
- Delete character before the cursor.
-
- REQ_DEL_LINE
- Delete line at the cursor.
-
- REQ_DEL_WORD
- Delete blank-delimited word at the cursor.
-
- REQ_CLR_EOL
- Clear to end of line from cursor.
-
- REQ_CLR_EOF
- Clear to end of field from cursor.
-
- REQ_CLR_FIELD
- Clear the entire field.
-
- REQ_OVL_MODE
- Enter overlay mode.
-
- REQ_INS_MODE
- Enter insert mode.
-
-
- REQ_SCR_FLINE
- Scroll the field forward a line.
-
- REQ_SCR_BLINE
- Scroll the field backward a line.
-
- REQ_SCR_FPAGE
- Scroll the field forward a page.
-
- REQ_SCR_BPAGE
- Scroll the field backward a page.
-
- REQ_SCR_FHPAGE
- Scroll the field forward half a page.
-
- REQ_SCR_BHPAGE
- Scroll the field backward half a page.
-
-
- REQ_SCR_FCHAR
- Scroll the field forward a character.
-
- REQ_SCR_BCHAR
- Scroll the field backward a character.
-
- REQ_SCR_HFLINE
- Horizontal scroll the field forward a line.
-
- REQ_SCR_HBLINE
- Horizontal scroll the field backward a line.
-
- REQ_SCR_HFHALF
- Horizontal scroll the field forward half a line.
-
- REQ_SCR_HBHALF
- Horizontal scroll the field backward half a line.
-
-
- REQ_VALIDATION
- Validate field.
-
- REQ_NEXT_CHOICE
- Display next field choice.
-
- REQ_PREV_CHOICE
- Display previous field choice.
-
- If the second argument is a printable character, the
- driver places it in the current position in the current
- field. If it is one of the forms requests listed above,
- that request is executed.
+</PRE><H3><a name="h3-Form-driver-requests">Form-driver requests</a></H3><PRE>
+ The form driver requests are as follows:
- <STRONG>MOUSE</STRONG> <STRONG>HANDLING</STRONG>
- If the second argument is the KEY_MOUSE special key, the
- associated mouse event is translated into one of the above
- pre-defined requests. Currently only clicks in the user
- window (e.g., inside the form display area or the decora-
- tion window) are handled.
+ <EM>Name</EM> <EM>Description</EM>
+ ---------------------------------------------------------------------
+ REQ_BEG_FIELD Move to the beginning of the field.
+ REQ_BEG_LINE Move to the beginning of the line.
+ REQ_CLR_EOF Clear to end of field from cursor.
+ REQ_CLR_EOL Clear to end of line from cursor.
+ REQ_CLR_FIELD Clear the entire field.
+ REQ_DEL_CHAR Delete character at the cursor.
+ REQ_DEL_LINE Delete line at the cursor.
+ REQ_DEL_PREV Delete character before the cursor.
+ REQ_DEL_WORD Delete blank-delimited word at the cursor.
+ REQ_DOWN_CHAR Move down in the field.
+ REQ_DOWN_FIELD Move down to a field.
+ REQ_END_FIELD Move to the end of the field.
+ REQ_END_LINE Move to the end of the line.
+ REQ_FIRST_FIELD Move to the first field.
+ REQ_FIRST_PAGE Move to the first page.
+ REQ_INS_CHAR Insert a blank at the cursor.
+ REQ_INS_LINE Insert a blank line at the cursor.
+ REQ_INS_MODE Enter insert mode.
+ REQ_LAST_FIELD Move to the last field.
+ REQ_LAST_PAGE Move to the last field.
+ REQ_LEFT_CHAR Move left in the field.
+ REQ_LEFT_FIELD Move left to a field.
+ REQ_NEW_LINE Insert or overlay a new line.
+ REQ_NEXT_CHAR Move to the next char.
+ REQ_NEXT_CHOICE Display next field choice.
+
+ REQ_NEXT_FIELD Move to the next field.
+ REQ_NEXT_LINE Move to the next line.
+ REQ_NEXT_PAGE Move to the next page.
+ REQ_NEXT_PAGE Move to the next page.
+ REQ_NEXT_WORD Move to the next word.
+ REQ_OVL_MODE Enter overlay mode.
+ REQ_PREV_CHAR Move to the previous char.
+ REQ_PREV_CHOICE Display previous field choice.
+ REQ_PREV_FIELD Move to the previous field.
+ REQ_PREV_LINE Move to the previous line.
+ REQ_PREV_PAGE Move to the previous page.
+ REQ_PREV_WORD Move to the previous word.
+ REQ_RIGHT_CHAR Move right in the field.
+ REQ_RIGHT_FIELD Move right to a field.
+ REQ_SCR_BCHAR Scroll the field backward a character.
+ REQ_SCR_BHPAGE Scroll the field backward half a page.
+ REQ_SCR_BLINE Scroll the field backward a line.
+ REQ_SCR_BPAGE Scroll the field backward a page.
+ REQ_SCR_FCHAR Scroll the field forward a character.
+ REQ_SCR_FHPAGE Scroll the field forward half a page.
+ REQ_SCR_FLINE Scroll the field forward a line.
+ REQ_SCR_FPAGE Scroll the field forward a page.
+ REQ_SCR_HBHALF Horizontal scroll the field backward half a line.
+ REQ_SCR_HBLINE Horizontal scroll the field backward a line.
+ REQ_SCR_HFHALF Horizontal scroll the field forward half a line.
+ REQ_SCR_HFLINE Horizontal scroll the field forward a line.
+ REQ_SFIRST_FIELD Move to the sorted first field.
+ REQ_SLAST_FIELD Move to the sorted last field.
+ REQ_SNEXT_FIELD Move to the sorted next field.
+ REQ_SPREV_FIELD Move to the sorted previous field.
+ REQ_UP_CHAR Move up in the field.
+ REQ_UP_FIELD Move up to a field.
+ REQ_VALIDATION Validate field.
+
+ If the second argument is a printable character, the driver places it
+ in the current position in the current field. If it is one of the
+ forms requests listed above, that request is executed.
+
+
+</PRE><H3><a name="h3-Field-validation">Field validation</a></H3><PRE>
+ The form library makes updates to the window associated with form
+ fields rather than directly to the field buffers.
+
+ The form driver provides low-level control over updates to the form
+ fields. The form driver also provides for validating modified fields
+ to ensure that the contents meet whatever constraints an application
+ may attach using <STRONG>set_field_type</STRONG>.
+
+ You can validate a field without making any changes to it using
+ <STRONG>REQ_VALIDATION</STRONG>. The form driver also validates a field in these cases:
+
+ <STRONG>o</STRONG> a call to <STRONG>set_current_field</STRONG> attempts to move to a different field.
+
+ <STRONG>o</STRONG> a call to <STRONG>set_current_page</STRONG> attempts to move to a different page of
+ the form.
+
+ <STRONG>o</STRONG> a request attempts to move to a different field.
+
+ <STRONG>o</STRONG> a request attempts to move to a different page of the form.
+
+ In each case, the move fails if the field is invalid.
+
+ If the modified field is valid, the form driver copies the modified
+ data from the window associated with the field to the field buffer.
+
+
+</PRE><H3><a name="h3-Mouse-handling">Mouse handling</a></H3><PRE>
+ If the second argument is the KEY_MOUSE special key, the associated
+ mouse event is translated into one of the above pre-defined requests.
+ Currently only clicks in the user window (e.g., inside the form display
+ area or the decoration window) are handled.
If you click above the display region of the form:
@@ -281,48 +200,42 @@
a REQ_LAST_FIELD is generated for a triple-click.
- If you click at an field inside the display area of the
- form:
+ If you click at an field inside the display area of the form:
<STRONG>o</STRONG> the form cursor is positioned to that field.
- <STRONG>o</STRONG> If you double-click a field, the form cursor is
- positioned to that field and <STRONG>E_UNKNOWN_COMMAND</STRONG> is
- returned. This return value makes sense, because a
- double click usually means that an field-specific
- action should be returned. It is exactly the pur-
- pose of this return value to signal that an appli-
- cation specific command should be executed.
+ <STRONG>o</STRONG> If you double-click a field, the form cursor is positioned to
+ that field and <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned. This return value
+ makes sense, because a double click usually means that an field-
+ specific action should be returned. It is exactly the purpose
+ of this return value to signal that an application specific com-
+ mand should be executed.
- <STRONG>o</STRONG> If a translation into a request was done,
- <STRONG>form_driver</STRONG> returns the result of this request.
+ <STRONG>o</STRONG> If a translation into a request was done, <STRONG>form_driver</STRONG> returns
+ the result of this request.
- If you clicked outside the user window or the mouse event
- could not be translated into a form request an
- <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+ If you clicked outside the user window or the mouse event could not be
+ translated into a form request an <STRONG>E_REQUEST_DENIED</STRONG> is returned.
- <STRONG>APPLICATION-DEFINED</STRONG> <STRONG>COMMANDS</STRONG>
- If the second argument is neither printable nor one of the
- above pre-defined form requests, the driver assumes it is
- an application-specific command and returns <STRONG>E_UNKNOWN_COM-</STRONG>
- <STRONG>MAND</STRONG>. Application-defined commands should be defined rel-
- ative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of these pre-
- defined requests.
+</PRE><H3><a name="h3-Application-defined-commands">Application-defined commands</a></H3><PRE>
+ If the second argument is neither printable nor one of the above pre-
+ defined form requests, the driver assumes it is an application-specific
+ command and returns <STRONG>E_UNKNOWN_COMMAND</STRONG>. Application-defined commands
+ should be defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of these
+ pre-defined requests.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
<STRONG>form_driver</STRONG> returns one of the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NOT_POSTED</STRONG>
The form has not been posted.
@@ -330,46 +243,62 @@
<STRONG>E_INVALID_FIELD</STRONG>
Contents of field is invalid.
+ <STRONG>E_NOT_CONNECTED</STRONG>
+ No fields are connected to the form.
+
<STRONG>E_REQUEST_DENIED</STRONG>
The form driver could not process the request.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_UNKNOWN_COMMAND</STRONG>
The form driver code saw an unknown request code.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>, <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>,
+ <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- files <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header files
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+ <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-form_driver">form_driver</a></li>
+<li><a href="#h3-form_driver_w">form_driver_w</a></li>
+<li><a href="#h3-Form-driver-requests">Form-driver requests</a></li>
+<li><a href="#h3-Field-validation">Field validation</a></li>
+<li><a href="#h3-Mouse-handling">Mouse handling</a></li>
+<li><a href="#h3-Application-defined-commands">Application-defined commands</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field.3x.html b/doc/html/man/form_field.3x.html
index 3faa99656e01..6e6a096fabdc 100644
--- a/doc/html/man/form_field.3x.html
+++ b/doc/html/man/form_field.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field.3x,v 1.11 2012/11/03 23:03:59 tom Exp @
+ * @Id: form_field.3x,v 1.13 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field 3x</H1>
-<HR>
+<H1 class="no-header">form_field 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field</STRONG> - make and break connections between fields and
- forms
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_field</STRONG> - make and break connections between fields and forms
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_form_fields(FORM *form, FIELD **fields);
FIELD **form_fields(const FORM *form);
@@ -61,38 +58,31 @@
int move_field(FIELD *field, int frow, int fcol);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_form_fields</STRONG> changes the field pointer
- array of the given <EM>form</EM>. The array must be terminated by
- a <STRONG>NULL</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_form_fields</STRONG> changes the field pointer array of the
+ given <EM>form</EM>. The array must be terminated by a <STRONG>NULL</STRONG>.
- The function <STRONG>form_fields</STRONG> returns the field array of the
- given form.
+ The function <STRONG>form_fields</STRONG> returns the field array of the given form.
- The function <STRONG>field_count</STRONG> returns the count of fields in
- <EM>form</EM>.
+ The function <STRONG>field_count</STRONG> returns the count of fields in <EM>form</EM>.
- The function <STRONG>move_field</STRONG> moves the given field (which must
- be disconnected) to a specified location on the screen.
+ The function <STRONG>move_field</STRONG> moves the given field (which must be discon-
+ nected) to a specified location on the screen.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>form_fields</STRONG> returns a pointer (which may be
- <STRONG>NULL</STRONG>). It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>form_fields</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
+ does not set errno.
- The function <STRONG>field_count</STRONG> returns <STRONG>ERR</STRONG> if the <EM>form</EM> parameter
- is <STRONG>NULL</STRONG>.
+ The function <STRONG>field_count</STRONG> returns <STRONG>ERR</STRONG> if the <EM>form</EM> parameter is <STRONG>NULL</STRONG>.
- The functions <STRONG>set_form_fields</STRONG> and <STRONG>move_field</STRONG> return one of
- the following codes on error:
+ The functions <STRONG>set_form_fields</STRONG> and <STRONG>move_field</STRONG> return one of the follow-
+ ing codes on error:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_CONNECTED</STRONG>
The field is already connected to a form.
@@ -101,42 +91,45 @@
The form is already posted.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
- The SVr4 forms library documentation specifies the
- <STRONG>field_count</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
+ The SVr4 forms library documentation specifies the <STRONG>field_count</STRONG> error
+ value as -1 (which is the value of <STRONG>ERR</STRONG>).
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_attributes.3x.html b/doc/html/man/form_field_attributes.3x.html
index 0d7a126e2a84..42e82b5ac28c 100644
--- a/doc/html/man/form_field_attributes.3x.html
+++ b/doc/html/man/form_field_attributes.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_attributes.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_field_attributes.3x,v 1.15 2019/11/30 21:01:57 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_attributes 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_attributes 3x</H1>
-<HR>
+<H1 class="no-header">form_field_attributes 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field_attributes</STRONG> - color and attribute control for
- form fields
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_field_attributes</STRONG> - color and attribute control for form fields
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_field_fore(FIELD *field, chtype attr);
chtype field_fore(const FIELD *field);
@@ -63,68 +60,68 @@
int field_pad(const FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_field_fore</STRONG> sets the foreground attribute
- of <EM>field</EM>. This is the highlight used to display the field
- contents. The function <STRONG>field_fore</STRONG> returns the foreground
- attribute. The default is <STRONG>A_STANDOUT</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_field_fore</STRONG> sets the foreground attribute of <EM>field</EM>.
+ This is the highlight used to display the field contents. The function
+ <STRONG>field_fore</STRONG> returns the foreground attribute. The default is <STRONG>A_STAND-</STRONG>
+ <STRONG>OUT</STRONG>.
- The function <STRONG>set_field_back</STRONG> sets the background attribute
- of <EM>form</EM>. This is the highlight used to display the extent
- fields in the form. The function <STRONG>field_back</STRONG> returns the
- background attribute. The default is <STRONG>A_NORMAL</STRONG>.
+ The function <STRONG>set_field_back</STRONG> sets the background attribute of <EM>form</EM>. This
+ is the highlight used to display the extent fields in the form. The
+ function <STRONG>field_back</STRONG> returns the background attribute. The default is
+ <STRONG>A_NORMAL</STRONG>.
- The function <STRONG>set_field_pad</STRONG> sets the character used to fill
- the field. The function <STRONG>field_pad</STRONG> returns the given
- form's pad character. The default is a blank.
+ The function <STRONG>set_field_pad</STRONG> sets the character used to fill the field.
+ The function <STRONG>field_pad</STRONG> returns the given form's pad character. The
+ default is a blank.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ descriptions of the entry points.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_buffer.3x.html b/doc/html/man/form_field_buffer.3x.html
index 8b7389ba9283..71484d3aade1 100644
--- a/doc/html/man/form_field_buffer.3x.html
+++ b/doc/html/man/form_field_buffer.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,100 +27,88 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_buffer.3x,v 1.19 2010/12/04 18:38:55 tom Exp @
+ * @Id: form_field_buffer.3x,v 1.24 2019/11/30 21:02:22 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_buffer 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_buffer 3x</H1>
-<HR>
+<H1 class="no-header">form_field_buffer 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>form_field_buffer</STRONG> - field buffer control
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
- int set_field_buffer(FIELD *field, int buf, const char
- *value);
+ int set_field_buffer(FIELD *field, int buf, const char *value);
char *field_buffer(const FIELD *field, int buffer);
int set_field_status(FIELD *field, bool status);
bool field_status(const FIELD *field);
int set_max_field(FIELD *field, int max);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_field_buffer</STRONG> sets the numbered buffer of
- the given field to contain a given string:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_field_buffer</STRONG> sets the numbered buffer of the given
+ field to contain a given string:
<STRONG>o</STRONG> Buffer 0 is the displayed value of the field.
- <STRONG>o</STRONG> Other numbered buffers may be allocated by applica-
- tions through the <STRONG>nbuf</STRONG> argument of (see
- <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>) but are not manipulated by the
- forms library.
+ <STRONG>o</STRONG> Other numbered buffers may be allocated by applications through
+ the <STRONG>nbuf</STRONG> argument of (see <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>) but are not manip-
+ ulated by the forms library.
- The function <STRONG>field_buffer</STRONG> returns a pointer to the con-
- tents of the given numbered buffer:
+ The function <STRONG>field_buffer</STRONG> returns a pointer to the contents of the
+ given numbered buffer:
- <STRONG>o</STRONG> The buffer contents always have the same length,
- and are padded with trailing spaces as needed to
- ensure this length is the same.
+ <STRONG>o</STRONG> The buffer contents always have the same length, and are padded
+ with trailing spaces as needed to ensure this length is the
+ same.
- <STRONG>o</STRONG> The buffer may contain leading spaces, depending on
- how it was set.
+ <STRONG>o</STRONG> The buffer may contain leading spaces, depending on how it was
+ set.
- <STRONG>o</STRONG> The buffer contents are set with <STRONG>set_field_buffer</STRONG>,
- or as a side effect of any editing operations on
- the corresponding field.
+ <STRONG>o</STRONG> The buffer contents are set with <STRONG>set_field_buffer</STRONG>, or as a side
+ effect of any editing operations on the corresponding field.
- <STRONG>o</STRONG> Editing operations are based on the <EM>window</EM> which
- displays the field, rather than a <EM>string</EM>. The win-
- dow contains only printable characters, and is
- filled with blanks. If you want the raw data, you
- must write your own routine that copies the value
- out of the buffer and removes the leading and
- trailing spaces.
+ <STRONG>o</STRONG> Editing operations are based on the <EM>window</EM> which displays the
+ field, rather than a <EM>string</EM>. The window contains only printable
+ characters, and is filled with blanks. If you want the raw
+ data, you must write your own routine that copies the value out
+ of the buffer and removes the leading and trailing spaces.
- <STRONG>o</STRONG> Because editing operations change the content of
- the buffer to correspond to the window, you should
- not rely on using buffers for long-term storage of
- form data.
+ <STRONG>o</STRONG> Because editing operations change the content of the buffer to
+ correspond to the window, you should not rely on using buffers
+ for long-term storage of form data.
- The function <STRONG>set_field_status</STRONG> sets the associated status
- flag of <EM>field</EM>; <STRONG>field_status</STRONG> gets the current value. The
- status flag is set to a nonzero value whenever the field
- changes.
+ The function <STRONG>set_field_status</STRONG> sets the associated status flag of <EM>field</EM>;
+ <STRONG>field_status</STRONG> gets the current value. The status flag is set to a
+ nonzero value whenever the field changes.
- The function <STRONG>set_max_field</STRONG> sets the maximum size for a
- dynamic field. An argument of 0 turns off any maximum
- size threshold for that field.
+ The function <STRONG>set_max_field</STRONG> sets the maximum size for a dynamic field.
+ An argument of 0 turns off any maximum size threshold for that field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The <STRONG>field_buffer</STRONG> function returns NULL on error. It sets
- errno according to their success:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The <STRONG>field_buffer</STRONG> function returns NULL on error. It sets errno accord-
+ ing to their success:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
The <STRONG>field_status</STRONG> function returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
@@ -130,50 +117,54 @@
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ descriptions of the entry points.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
- When configured for wide characters, <STRONG>field_buffer</STRONG> returns
- a pointer to temporary storage (allocated and freed by the
- library). The application should not attempt to modify
- the data. It will be freed on the next call to <STRONG>field_buf-</STRONG>
- <STRONG>fer</STRONG> to return the same buffer. <STRONG>&lt;curses.h&gt;</STRONG>.
+ When configured for wide characters, <STRONG>field_buffer</STRONG> returns a pointer to
+ temporary storage (allocated and freed by the library). The applica-
+ tion should not attempt to modify the data. It will be freed on the
+ next call to <STRONG>field_buffer</STRONG> to return the same buffer. <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
+ The <STRONG>set_max_field</STRONG> function checks for an ncurses extension
+ <STRONG>O_INPUT_FIELD</STRONG> which allows a dynamic field to shrink if the new limit
+ is smaller than the current field size.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_info.3x.html b/doc/html/man/form_field_info.3x.html
index 07606e7993f9..c3199ebb55a8 100644
--- a/doc/html/man/form_field_info.3x.html
+++ b/doc/html/man/form_field_info.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,102 +27,99 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_info.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_field_info.3x,v 1.16 2019/11/30 21:02:29 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_info 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_info 3x</H1>
-<HR>
+<H1 class="no-header">form_field_info 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field_info</STRONG> - retrieve field characteristics
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>dynamic_field_info</STRONG>, <STRONG>field_info</STRONG> - retrieve field characteristics
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int field_info(const FIELD *field, int *rows, int *cols,
int *frow, int *fcol, int *nrow, int *nbuf);
- int dynamic_field_info(const FIELD *field, int *rows, int
- *cols, int *max);
+ int dynamic_field_info(const FIELD *field, int *rows, int *cols, int
+ *max);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>field_info</STRONG> returns the sizes and other
- attributes passed in to the field at its creation time.
- The attributes are: height, width, row of upper-left cor-
- ner, column of upper-left corner, number off-screen rows,
- and number of working buffers.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>field_info</STRONG> returns the sizes and other attributes passed
+ in to the field at its creation time. The attributes are: height,
+ width, row of upper-left corner, column of upper-left corner, number
+ off-screen rows, and number of working buffers.
- The function <STRONG>dynamic_field_info</STRONG> returns the actual size of
- the field, and its maximum possible size. If the field
- has no size limit, the location addressed by the third
- argument will be set to 0. A field can be made dynamic by
- turning off the <STRONG>O_STATIC</STRONG> option with <STRONG>field_opts_off</STRONG>.
+ The function <STRONG>dynamic_field_info</STRONG> returns the actual size of the field,
+ and its maximum possible size. If the field has no size limit, the
+ location addressed by the third argument will be set to 0. A field can
+ be made dynamic by turning off the <STRONG>O_STATIC</STRONG> option with <STRONG>field_opts_off</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ descriptions of the entry points.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
- A null (zero pointer) is accepted for any of the return
- values, to ignore that value. Not all implementations
- allow this, e.g., Solaris 2.7 does not.
+ A null (zero pointer) is accepted for any of the return values, to
+ ignore that value. Not all implementations allow this, e.g., Solaris
+ 2.7 does not.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_just.3x.html b/doc/html/man/form_field_just.3x.html
index e98de08df624..8f7ab13ef17a 100644
--- a/doc/html/man/form_field_just.3x.html
+++ b/doc/html/man/form_field_just.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,92 +27,91 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_just.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_field_just.3x,v 1.15 2019/11/30 21:02:36 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_just 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_just 3x</H1>
-<HR>
+<H1 class="no-header">form_field_just 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field_just</STRONG> - retrieve field characteristics
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_field_just</STRONG>, <STRONG>field_just</STRONG> - retrieve field characteristics
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_field_just(FIELD *field, int justification);
int field_just(const FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_field_just</STRONG> sets the justification
- attribute of a field; <STRONG>field_just</STRONG> returns a field's justi-
- fication attribute. The attribute may be one of NO_JUSTI-
- FICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_field_just</STRONG> sets the justification attribute of a
+ field; <STRONG>field_just</STRONG> returns a field's justification attribute. The
+ attribute may be one of NO_JUSTIFICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT,
+ or JUSTIFY_CENTER.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>field_just</STRONG> returns one of: NO_JUSTIFICATION,
- JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>field_just</STRONG> returns one of: NO_JUSTIFICATION, JUS-
+ TIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
The function <STRONG>set_field_just</STRONG> returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ descriptions of the entry points.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_new.3x.html b/doc/html/man/form_field_new.3x.html
index 2c9745963197..94132de7b982 100644
--- a/doc/html/man/form_field_new.3x.html
+++ b/doc/html/man/form_field_new.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_new.3x,v 1.18 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_field_new.3x,v 1.20 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_new 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_new 3x</H1>
-<HR>
+<H1 class="no-header">form_field_new 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field_new</STRONG> - create and destroy form fields
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG>, <STRONG>free_field</STRONG> - create and destroy form
+ fields
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
FIELD *new_field(int height, int width,
int toprow, int leftcol,
@@ -62,38 +61,32 @@
int free_field(FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>new_field</STRONG> allocates a new field and initial-
- izes it from the parameters given: height, width, row of
- upper-left corner, column of upper-left corner, number
- off-screen rows, and number of additional working buffers.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>new_field</STRONG> allocates a new field and initializes it from
+ the parameters given: height, width, row of upper-left corner, column
+ of upper-left corner, number off-screen rows, and number of additional
+ working buffers.
- The function <STRONG>dup_field</STRONG> duplicates a field at a new loca-
- tion. Most attributes (including current contents, size,
- validation type, buffer count, growth threshold, justifi-
- cation, foreground, background, pad character, options,
- and user pointer) are copied. Field status and the field
- page bit are not copied.
+ The function <STRONG>dup_field</STRONG> duplicates a field at a new location. Most
+ attributes (including current contents, size, validation type, buffer
+ count, growth threshold, justification, foreground, background, pad
+ character, options, and user pointer) are copied. Field status and the
+ field page bit are not copied.
- The function <STRONG>link_field</STRONG> acts like <STRONG>dup_field</STRONG>, but the new
- field shares buffers with its parent. Attribute data is
- separate.
+ The function <STRONG>link_field</STRONG> acts like <STRONG>dup_field</STRONG>, but the new field shares
+ buffers with its parent. Attribute data is separate.
- The function <STRONG>free_field</STRONG> de-allocates storage associated
- with a field.
+ The function <STRONG>free_field</STRONG> de-allocates storage associated with a field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function, <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG> return <STRONG>NULL</STRONG>
- on error. They set errno according to their success:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function, <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG> return <STRONG>NULL</STRONG> on error.
+ They set errno according to their success:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_SYSTEM_ERROR</STRONG>
System error occurred, e.g., malloc failure.
@@ -103,48 +96,49 @@
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_CONNECTED</STRONG>
field is connected.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
- It may be unwise to count on the set of attributes copied
- by <STRONG>dup_field</STRONG> being portable; the System V forms library
- documents are not very explicit about what gets copied and
- what does not.
+ It may be unwise to count on the set of attributes copied by <STRONG>dup_field</STRONG>
+ being portable; the System V forms library documents are not very
+ explicit about what gets copied and what does not.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_opts.3x.html b/doc/html/man/form_field_opts.3x.html
index 1cdfe7038ae5..04a1cafcca7c 100644
--- a/doc/html/man/form_field_opts.3x.html
+++ b/doc/html/man/form_field_opts.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_opts.3x,v 1.16 2010/12/04 18:41:07 tom Exp @
+ * @Id: form_field_opts.3x,v 1.24 2019/01/20 20:19:03 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_opts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_opts 3x</H1>
-<HR>
+<H1 class="no-header">form_field_opts 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field_opts</STRONG> - set and get field options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_field_opts</STRONG>, <STRONG>field_opts_on</STRONG>, <STRONG>field_opts_off</STRONG>, <STRONG>field_opts</STRONG> - set and get
+ field options
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_field_opts(FIELD *field, Field_Options opts);
int field_opts_on(FIELD *field, Field_Options opts);
@@ -60,109 +59,127 @@
Field_Options field_opts(const FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_field_opts</STRONG> sets all the given field's
- option bits (field option bits may be logically-OR'ed
- together).
-
- The function <STRONG>field_opts_on</STRONG> turns on the given option bits,
- and leaves others alone.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_field_opts</STRONG> sets all the given field's option bits
+ (field option bits may be logically-OR'ed together).
- The function <STRONG>field_opts_off</STRONG> turns off the given option
- bits, and leaves others alone.
+ The function <STRONG>field_opts_on</STRONG> turns on the given option bits, and leaves
+ others alone.
- The function <STRONG>field_opts</STRONG> returns the field's current option
- bits.
+ The function <STRONG>field_opts_off</STRONG> turns off the given option bits, and leaves
+ others alone.
- The following options are defined (all are on by default):
+ The function <STRONG>field_opts</STRONG> returns the field's current option bits.
- O_VISIBLE
- The field is displayed. If this option is off, dis-
- play of the field is suppressed.
+ The following standard options are defined (all are on by default):
O_ACTIVE
- The field is visited during processing. If this
- option is off, the field will not be reachable by
- navigation keys. Please notice that an invisible
- field appears to be inactive also.
+ The field is visited during processing. If this option is off,
+ the field will not be reachable by navigation keys. Please notice
+ that an invisible field appears to be inactive also.
- O_PUBLIC
- The field contents are displayed as data is entered.
+ O_AUTOSKIP
+ Skip to the next field when this one fills.
+
+ O_BLANK
+ The field is cleared whenever a character is entered at the first
+ position.
O_EDIT
The field can be edited.
+ O_NULLOK
+ Allow a blank field.
+
+ O_PASSOK
+ Validate field only if modified by user.
+
+ O_PUBLIC
+ The field contents are displayed as data is entered.
+
+ O_STATIC
+ Field buffers are fixed to field's original size. Turn this
+ option off to create a dynamic field.
+
+ O_VISIBLE
+ The field is displayed. If this option is off, display of the
+ field is suppressed.
+
O_WRAP
- Words that do not fit on a line are wrapped to the
- next line. Words are blank-separated.
+ Words that do not fit on a line are wrapped to the next line.
+ Words are blank-separated.
- O_BLANK
- The field is cleared whenever a character is entered
- at the first position.
+ These extension options are defined (extensions are off by default):
- O_AUTOSKIP
- Skip to the next field when this one fills.
+ O_DYNAMIC_JUSTIFY
+ Permit dynamic fields to be justified, like static fields.
- O_NULLOK
- Allow a blank field.
+ O_NO_LEFT_STRIP
+ Preserve leading whitespace in the field buffer, which is normally
+ discarded.
- O_STATIC
- Field buffers are fixed to field's original size.
- Turn this option off to create a dynamic field.
+ O_EDGE_INSERT_STAY
+ When inserting into a field up to the boundary position, option-
+ ally delay the scrolling, so that the last inserted character
+ remains visible, but advance the cursor to reflect the insertion.
+ This allows the form library to display the inserted character in
+ one-character fields as well as allowing the library to maintain
+ consistent state.
- O_PASSOK
- Validate field only if modified by user.
+ O_INPUT_FIELD
+ The <STRONG>set_max_field</STRONG> function checks for this extension, which allows
+ a dynamic field to shrink if the new limit is smaller than the
+ current field size.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except for <STRONG>field_opts</STRONG>, each routine returns one of the
- following:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <STRONG>field_opts</STRONG>, each routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_CURRENT</STRONG>
The field is the current field.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_userptr.3x.html b/doc/html/man/form_field_userptr.3x.html
index 845027db82c4..3adc70edb472 100644
--- a/doc/html/man/form_field_userptr.3x.html
+++ b/doc/html/man/form_field_userptr.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,85 +27,85 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_userptr.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_field_userptr.3x,v 1.12 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_userptr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_userptr 3x</H1>
-<HR>
+<H1 class="no-header">form_field_userptr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_field_userptr</STRONG> - associate application data with a
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_field_userptr</STRONG>, <STRONG>field_userptr</STRONG> - associate application data with a
form field
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_field_userptr(FIELD *field, void*userptr);
void *field_userptr(const FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every form field has a field that can be used to hold
- application-specific data (that is, the form-driver code
- leaves it alone). These functions get and set that field.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every form field has a field that can be used to hold application-spe-
+ cific data (that is, the form-driver code leaves it alone). These
+ functions get and set that field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>field_userptr</STRONG> returns a pointer (which may be
- <STRONG>NULL</STRONG>). It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>field_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
+ does not set errno.
The function <STRONG>set_field_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
- The user pointer is a void pointer. We chose not to leave
- it as a char pointer for SVr4 compatibility.
+ The user pointer is a void pointer. We chose not to leave it as a char
+ pointer for SVr4 compatibility.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_field_validation.3x.html b/doc/html/man/form_field_validation.3x.html
index 08201ff1315e..a65e0b4ad4d5 100644
--- a/doc/html/man/form_field_validation.3x.html
+++ b/doc/html/man/form_field_validation.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,31 +26,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_field_validation.3x,v 1.20 2010/12/04 18:38:55 tom Exp @
+ * @Id: form_field_validation.3x,v 1.24 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_field_validation 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_field_validation 3x</H1>
-<HR>
+<H1 class="no-header">form_field_validation 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>form_field_validation</STRONG> - data type validation for fields
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_field_type(FIELD *field, FIELDTYPE *type, ...);
FIELDTYPE *field_type(const FIELD *field);
@@ -66,130 +64,142 @@
FIELDTYPE *TYPE_IPV4;
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_field_type</STRONG> declares a data type for a
- given form field. This is the type checked by validation
- functions. The predefined types are as follows:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_field_type</STRONG> declares a data type for a given form
+ field. This is the type checked by validation functions. The prede-
+ fined types are as follows:
TYPE_ALNUM
- Alphanumeric data. Requires a third <STRONG>int</STRONG> argument, a
- minimum field width.
+ Alphanumeric data. Requires a third <STRONG>int</STRONG> argument, a minimum field
+ width.
TYPE_ALPHA
- Character data. Requires a third <STRONG>int</STRONG> argument, a
- minimum field width.
+ Character data. Requires a third <STRONG>int</STRONG> argument, a minimum field
+ width.
TYPE_ENUM
- Accept one of a specified set of strings. Requires a
- third <STRONG>(char</STRONG> <STRONG>**)</STRONG> argument pointing to a string list; a
- fourth <STRONG>int</STRONG> flag argument to enable case-sensitivity;
- and a fifth <STRONG>int</STRONG> flag argument specifying whether a
- partial match must be a unique one (if this flag is
- off, a prefix matches the first of any set of more
- than one list elements with that prefix). Please
- notice that the string list is copied. So you may use
- a list that lives in automatic variables on the
- stack.
+ Accept one of a specified set of strings. Requires additional
+ parameters:
+
+ <STRONG>o</STRONG> a third <STRONG>(char</STRONG> <STRONG>**)</STRONG> argument pointing to a string list;
+
+ <STRONG>o</STRONG> a fourth <STRONG>int</STRONG> flag argument to enable case-sensitivity;
+
+ <STRONG>o</STRONG> and a fifth <STRONG>int</STRONG> flag argument specifying whether a partial
+ match must be a unique one. If this flag is off, a prefix
+ matches the first of any set of more than one list elements
+ with that prefix.
+
+ The library copies the string list, so you may use a list that
+ lives in automatic variables on the stack.
TYPE_INTEGER
- Integer data, parsable to an integer by <STRONG>atoi(3)</STRONG>.
- Requires a third <STRONG>int</STRONG> argument controlling the preci-
- sion, a fourth <STRONG>long</STRONG> argument constraining minimum
- value, and a fifth <STRONG>long</STRONG> constraining maximum value.
- If the maximum value is less than or equal to the
- minimum value, the range is simply ignored. On return
- the field buffer is formatted according to the <STRONG>printf</STRONG>
- format specification ".*ld", where the '*' is
- replaced by the precision argument. For details of
- the precision handling see <STRONG>printf's</STRONG> man-page.
+ Integer data, parsable to an integer by <STRONG>atoi(3)</STRONG>. Requires addi-
+ tional parameters:
+
+ <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision,
+
+ <STRONG>o</STRONG> a fourth <STRONG>long</STRONG> argument constraining minimum value,
+
+ <STRONG>o</STRONG> and a fifth <STRONG>long</STRONG> constraining maximum value. If the maximum
+ value is less than or equal to the minimum value, the range is
+ simply ignored. On return, the field buffer is formatted
+ according to the <STRONG>printf</STRONG> format specification ".*ld", where the
+ "*" is replaced by the precision argument.
+
+ For details of the precision handling see <STRONG>printf(3)</STRONG>.
TYPE_NUMERIC
- Numeric data (may have a decimal-point part).
- Requires a third <STRONG>int</STRONG> argument controlling the preci-
- sion, a fourth <STRONG>double</STRONG> argument constraining minimum
- value, and a fifth <STRONG>double</STRONG> constraining maximum value.
- If your system supports locales, the decimal point
- character to be used must be the one specified by
- your locale. If the maximum value is less than or
- equal to the minimum value, the range is simply
- ignored. On return the field buffer is formatted
- according to the <STRONG>printf</STRONG> format specification ".*f",
- where the '*' is replaced by the precision argument.
- For details of the precision handling see <STRONG>printf's</STRONG>
- man-page.
+ Numeric data (may have a decimal-point part). This requires addi-
+ tional parameters:
+
+ <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision,
+
+ <STRONG>o</STRONG> a fourth <STRONG>double</STRONG> argument constraining minimum value,
+
+ <STRONG>o</STRONG> and a fifth <STRONG>double</STRONG> constraining maximum value. If your system
+ supports locales, the decimal point character must be the one
+ specified by your locale. If the maximum value is less than
+ or equal to the minimum value, the range is simply ignored.
+
+ On return, the field buffer is formatted according to the
+ <STRONG>printf</STRONG> format specification ".*f", where the "*" is replaced
+ by the precision argument.
+
+ For details of the precision handling see <STRONG>printf(3)</STRONG>.
TYPE_REGEXP
- Regular expression data. Requires a regular expres-
- sion <STRONG>(char</STRONG> <STRONG>*)</STRONG> third argument; the data is valid if
- the regular expression matches it. Regular expres-
- sions are in the format of <STRONG>regcomp</STRONG> and <STRONG>regexec</STRONG>.
- Please notice that the regular expression must match
- the whole field. If you have for example an eight
- character wide field, a regular expression "^[0-9]*$"
- always means that you have to fill all eight posi-
- tions with digits. If you want to allow fewer digits,
- you may use for example "^[0-9]* *$" which is good
- for trailing spaces (up to an empty field), or "^
- *[0-9]* *$" which is good for leading and trailing
- spaces around the digits.
+ Regular expression data. Requires a regular expression <STRONG>(char</STRONG> <STRONG>*)</STRONG>
+ third argument. The data is valid if the regular expression
+ matches it.
+
+ Regular expressions are in the format of <STRONG>regcomp</STRONG> and <STRONG>regexec</STRONG>.
+
+ The regular expression must match the whole field. If you have
+ for example, an eight character wide field, a regular expression
+ "^[0-9]*$" always means that you have to fill all eight positions
+ with digits. If you want to allow fewer digits, you may use for
+ example "^[0-9]* *$" which is good for trailing spaces (up to an
+ empty field), or "^ *[0-9]* *$" which is good for leading and
+ trailing spaces around the digits.
TYPE_IPV4
- An Internet Protocol Version 4 address. This requires
- no additional argument. It is checked whether or not
- the buffer has the form a.b.c.d, where a,b,c and d
- are numbers between 0 and 255. Trailing blanks in the
- buffer are ignored. The address itself is not vali-
- dated. Please note that this is an ncurses extension.
- This field type may not be available in other curses
- implementations.
+ An Internet Protocol Version 4 address. This requires no addi-
+ tional argument. The library checks whether or not the buffer has
+ the form a.b.c.d, where a,b,c and d are numbers between 0 and 255.
+ Trailing blanks in the buffer are ignored. The address itself is
+ not validated.
- It is possible to set up new programmer-defined field
- types. See the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page.
+ This is an ncurses extension; this field type may not be available
+ in other curses implementations.
+ It is possible to set up new programmer-defined field types. See the
+ <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The functions <STRONG>field_type</STRONG> and <STRONG>field_arg</STRONG> return <STRONG>NULL</STRONG> on
- error. The function <STRONG>set_field_type</STRONG> returns one of the fol-
- lowing:
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The functions <STRONG>field_type</STRONG> and <STRONG>field_arg</STRONG> return <STRONG>NULL</STRONG> on error. The func-
+ tion <STRONG>set_field_type</STRONG> returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_fieldtype.3x.html b/doc/html/man/form_fieldtype.3x.html
index f2778a1e3e11..468c9dbedae8 100644
--- a/doc/html/man/form_fieldtype.3x.html
+++ b/doc/html/man/form_fieldtype.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_fieldtype.3x,v 1.16 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_fieldtype.3x,v 1.19 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_fieldtype 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_fieldtype 3x</H1>
-<HR>
+<H1 class="no-header">form_fieldtype 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>form_fieldtype</STRONG> - define validation-field types
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
FIELDTYPE *new_fieldtype(
bool (* const field_check)(FIELD *, const void *),
@@ -71,75 +69,62 @@
FIELDTYPE *type2);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>new_fieldtype</STRONG> creates a new field type usable
- for data validation. You supply it with <EM>field</EM><STRONG>_</STRONG><EM>check</EM>, a
- predicate to check the validity of an entered data string
- whenever the user attempts to leave a field. The (FIELD
- *) argument is passed in so the validation predicate can
- see the field's buffer, sizes and other attributes; the
- second argument is an argument-block structure, about
- which more below.
-
- You also supply <STRONG>new_fieldtype</STRONG> with <EM>char</EM><STRONG>_</STRONG><EM>check</EM>, a function
- to validate input characters as they are entered; it will
- be passed the character to be checked and a pointer to an
- argument-block structure.
-
- The function <STRONG>free_fieldtype</STRONG> frees the space allocated for
- a given validation type.
-
- The function <STRONG>set_fieldtype_arg</STRONG> associates three storage-
- management functions with a field type. The <EM>make</EM><STRONG>_</STRONG><EM>arg</EM>
- function is automatically applied to the list of arguments
- you give <STRONG>set_field_type</STRONG> when attaching validation to a
- field; its job is to bundle these into an allocated argu-
- ment-block object which can later be passed to validation
- predicated. The other two hook arguments should copy and
- free argument-block structures. They will be used by the
- forms-driver code. You must supply the <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function,
- the other two are optional, you may supply NULL for them.
- In this case it is assumed that <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does not allocate
- memory but simply loads the argument into a single scalar
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>new_fieldtype</STRONG> creates a new field type usable for data
+ validation. You supply it with <EM>field</EM><STRONG>_</STRONG><EM>check</EM>, a predicate to check the
+ validity of an entered data string whenever the user attempts to leave
+ a field. The (FIELD *) argument is passed in so the validation predi-
+ cate can see the field's buffer, sizes and other attributes; the second
+ argument is an argument-block structure, about which more below.
+
+ You also supply <STRONG>new_fieldtype</STRONG> with <EM>char</EM><STRONG>_</STRONG><EM>check</EM>, a function to validate
+ input characters as they are entered; it will be passed the character
+ to be checked and a pointer to an argument-block structure.
+
+ The function <STRONG>free_fieldtype</STRONG> frees the space allocated for a given vali-
+ dation type.
+
+ The function <STRONG>set_fieldtype_arg</STRONG> associates three storage-management
+ functions with a field type. The <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function is automatically
+ applied to the list of arguments you give <STRONG>set_field_type</STRONG> when attaching
+ validation to a field; its job is to bundle these into an allocated
+ argument-block object which can later be passed to validation predi-
+ cated. The other two hook arguments should copy and free argument-
+ block structures. They will be used by the forms-driver code. You
+ must supply the <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function, the other two are optional, you may
+ supply NULL for them. In this case it is assumed that <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does
+ not allocate memory but simply loads the argument into a single scalar
value.
- The function <STRONG>link_fieldtype</STRONG> creates a new field type from
- the two given types. They are connected by an logical
- 'OR'.
+ The function <STRONG>link_fieldtype</STRONG> creates a new field type from the two given
+ types. They are connected by an logical 'OR'.
- The form driver requests <STRONG>REQ_NEXT_CHOICE</STRONG> and
- <STRONG>REQ_PREV_CHOICE</STRONG> assume that the possible values of a field
- form an ordered set, and provide the forms user with a way
- to move through the set. The <STRONG>set_fieldtype_choice</STRONG> func-
- tion allows forms programmers to define successor and pre-
- decessor functions for the field type. These functions
- take the field pointer and an argument-block structure as
- arguments.
+ The form driver requests <STRONG>REQ_NEXT_CHOICE</STRONG> and <STRONG>REQ_PREV_CHOICE</STRONG> assume
+ that the possible values of a field form an ordered set, and provide
+ the forms user with a way to move through the set. The <STRONG>set_field-</STRONG>
+ <STRONG>type_choice</STRONG> function allows forms programmers to define successor and
+ predecessor functions for the field type. These functions take the
+ field pointer and an argument-block structure as arguments.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The pointer-valued routines return NULL on error. They
- set errno according to their success:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The pointer-valued routines return NULL on error. They set errno
+ according to their success:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_SYSTEM_ERROR</STRONG>
System error occurred, e.g., malloc failure.
- The integer-valued routines return one of the following
- codes on error:
+ The integer-valued routines return one of the following codes on error:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_CONNECTED</STRONG>
The field is already connected to a form.
@@ -148,43 +133,46 @@
The field is the current field.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
- All of the <STRONG>(char</STRONG> <STRONG>*)</STRONG> arguments of these functions should
- actually be <STRONG>(void</STRONG> <STRONG>*)</STRONG>. The type has been left uncorrected
- for strict compatibility with System V.
+ All of the <STRONG>(char</STRONG> <STRONG>*)</STRONG> arguments of these functions should actually be
+ <STRONG>(void</STRONG> <STRONG>*)</STRONG>. The type has been left uncorrected for strict compatibility
+ with System V.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_hook.3x.html b/doc/html/man/form_hook.3x.html
index 837d6f403dd9..b2b02708ab7d 100644
--- a/doc/html/man/form_hook.3x.html
+++ b/doc/html/man/form_hook.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_hook.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_hook.3x,v 1.13 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_hook 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_hook 3x</H1>
-<HR>
+<H1 class="no-header">form_hook 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_hook</STRONG> - set hooks for automatic invocation by applica-
- tions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_hook</STRONG> - set hooks for automatic invocation by applications
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_field_init(FORM *form, Form_Hook func);
Form_Hook field_init(const FORM *form);
@@ -65,74 +62,73 @@
Form_Hook form_term(const FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions make it possible to set hook functions to
- be called at various points in the automatic processing of
- input event codes by <STRONG>form_driver</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions make it possible to set hook functions to be called at
+ various points in the automatic processing of input event codes by
+ <STRONG>form_driver</STRONG>.
- The function <STRONG>set_field_init</STRONG> sets a hook to be called at
- form-post time and each time the selected field changes
- (after the change). <STRONG>field_init</STRONG> returns the current field
- init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_field_init</STRONG> sets a hook to be called at form-post time
+ and each time the selected field changes (after the change).
+ <STRONG>field_init</STRONG> returns the current field init hook, if any (<STRONG>NULL</STRONG> if there
+ is no such hook).
- The function <STRONG>set_field_term</STRONG> sets a hook to be called at
- form-unpost time and each time the selected field changes
- (before the change). <STRONG>field_term</STRONG> returns the current field
- term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_field_term</STRONG> sets a hook to be called at form-unpost
+ time and each time the selected field changes (before the change).
+ <STRONG>field_term</STRONG> returns the current field term hook, if any (<STRONG>NULL</STRONG> if there
+ is no such hook).
- The function <STRONG>set_form_init</STRONG> sets a hook to be called at
- form-post time and just after a page change once it is
- posted. <STRONG>form_init</STRONG> returns the current form init hook, if
- any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_form_init</STRONG> sets a hook to be called at form-post time
+ and just after a page change once it is posted. <STRONG>form_init</STRONG> returns the
+ current form init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
- The function <STRONG>set_form_term</STRONG> sets a hook to be called at
- form-unpost time and just before a page change once it is
- posted. <STRONG>form_init</STRONG> returns the current form term hook, if
- any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_form_term</STRONG> sets a hook to be called at form-unpost time
+ and just before a page change once it is posted. <STRONG>form_init</STRONG> returns the
+ current form term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Other
- routines return one of the following:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return pointers return <STRONG>NULL</STRONG> on error. Other routines
+ return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_new.3x.html b/doc/html/man/form_new.3x.html
index 81002200fef3..83f6e2da2fe0 100644
--- a/doc/html/man/form_new.3x.html
+++ b/doc/html/man/form_new.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,56 +27,51 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_new.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_new.3x,v 1.11 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_new 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_new 3x</H1>
-<HR>
+<H1 class="no-header">form_new 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_new</STRONG> - create and destroy forms
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>new_form</STRONG>, <STRONG>free_form</STRONG> - create and destroy forms
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
FORM *new_form(FIELD **fields);
int free_form(FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>new_form</STRONG> creates a new form connected to a
- specified field pointer array (which must be <STRONG>NULL</STRONG>-termi-
- nated).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>new_form</STRONG> creates a new form connected to a specified field
+ pointer array (which must be <STRONG>NULL</STRONG>-terminated).
- The function <STRONG>free_form</STRONG> disconnects <EM>form</EM> from its field
- array and frees the storage allocated for the form.
+ The function <STRONG>free_form</STRONG> disconnects <EM>form</EM> from its field array and frees
+ the storage allocated for the form.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>new_form</STRONG> returns <STRONG>NULL</STRONG> on error. It sets
- errno according to the function's success:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>new_form</STRONG> returns <STRONG>NULL</STRONG> on error. It sets errno according
+ to the function's success:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_CONNECTED</STRONG>
The field is already connected to a form.
@@ -90,43 +84,45 @@
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_POSTED</STRONG>
The form has already been posted.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+ <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_new_page.3x.html b/doc/html/man/form_new_page.3x.html
index 171b09ac5dbb..7eceabe639cc 100644
--- a/doc/html/man/form_new_page.3x.html
+++ b/doc/html/man/form_new_page.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,92 +27,88 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_new_page.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_new_page.3x,v 1.14 2019/11/30 21:06:30 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_new_page 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_new_page 3x</H1>
-<HR>
+<H1 class="no-header">form_new_page 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_new_page</STRONG> - form pagination functions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_new_page</STRONG>, <STRONG>new_page</STRONG> - form pagination functions
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_new_page(FIELD *field, bool new_page_flag);
bool new_page(const FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_new_page</STRONG> sets or resets a flag marking
- the given field as the beginning of a new page on its
- form.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_new_page</STRONG> sets or resets a flag marking the given field
+ as the beginning of a new page on its form.
- The function <STRONG>new_page</STRONG> is a predicate which tests if a
- given field marks a page beginning on its form.
+ The function <STRONG>new_page</STRONG> is a predicate which tests if a given field marks
+ a page beginning on its form.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
The function <STRONG>new_page</STRONG> returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
- The function <STRONG>set_new_page</STRONG> return one of the following:
+ The function <STRONG>set_new_page</STRONG> returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
-
<STRONG>E_CONNECTED</STRONG>
The given field is already connected to a form.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ descriptions of the entry points.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+ <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_opts.3x.html b/doc/html/man/form_opts.3x.html
index ee73c24a2f5a..472fefdf212d 100644
--- a/doc/html/man/form_opts.3x.html
+++ b/doc/html/man/form_opts.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_opts.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_opts.3x,v 1.14 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_opts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_opts 3x</H1>
-<HR>
+<H1 class="no-header">form_opts 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_opts</STRONG> - set and get form options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_form_opts</STRONG>, <STRONG>form_opts_on</STRONG>, <STRONG>form_opts_off</STRONG>, <STRONG>form_opts</STRONG> - set and get
+ form options
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_form_opts(FORM *form, Field_Options opts);
int form_opts_on(FORM *form, Field_Options opts);
@@ -60,75 +59,71 @@
Field_Options form_opts(const FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_form_opts</STRONG> sets all the given form's
- option bits (form option bits may be logically-OR'ed
- together).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_form_opts</STRONG> sets all the given form's option bits (form
+ option bits may be logically-OR'ed together).
- The function <STRONG>form_opts_on</STRONG> turns on the given option bits,
- and leaves others alone.
+ The function <STRONG>form_opts_on</STRONG> turns on the given option bits, and leaves
+ others alone.
- The function <STRONG>form_opts_off</STRONG> turns off the given option
- bits, and leaves others alone.
+ The function <STRONG>form_opts_off</STRONG> turns off the given option bits, and leaves
+ others alone.
- The function <STRONG>form_opts</STRONG> returns the form's current option
- bits.
+ The function <STRONG>form_opts</STRONG> returns the form's current option bits.
The following options are defined (all are on by default):
O_NL_OVERLOAD
- Overload the <STRONG>REQ_NEW_LINE</STRONG> forms driver request so
- that calling it at the end of a field goes to the
- next field.
+ Overload the <STRONG>REQ_NEW_LINE</STRONG> forms driver request so that calling it
+ at the end of a field goes to the next field.
O_BS_OVERLOAD
- Overload the <STRONG>REQ_DEL_PREV</STRONG> forms driver request so
- that calling it at the beginning of a field goes to
- the previous field.
+ Overload the <STRONG>REQ_DEL_PREV</STRONG> forms driver request so that calling it
+ at the beginning of a field goes to the previous field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except for <STRONG>form_opts</STRONG>, each routine returns one of the fol-
- lowing:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <STRONG>form_opts</STRONG>, each routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_page.3x.html b/doc/html/man/form_page.3x.html
index 07c83da31773..999089962fea 100644
--- a/doc/html/man/form_page.3x.html
+++ b/doc/html/man/form_page.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,71 +27,67 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_page.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_page.3x,v 1.16 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_page 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_page 3x</H1>
-<HR>
+<H1 class="no-header">form_page 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>form_page</STRONG> - set and get form page number
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_current_field(FORM *form, FIELD *field);
FIELD *current_field(const FORM *);
+ int unfocus_current_field(FORM *form);
int set_form_page(FORM *form, int n);
int form_page(const FORM *form);
int field_index(const FIELD *field);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_current</STRONG> <STRONG>field</STRONG> sets the current field of
- the given form; <STRONG>current_field</STRONG> returns the current field of
- the given form.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_current_field</STRONG> sets the current field of the given
+ form; <STRONG>current_field</STRONG> returns the current field of the given form.
- The function <STRONG>set_form_page</STRONG> sets the form's page number
- (goes to page <EM>n</EM> of the form).
+ The function <STRONG>unfocus_current_field</STRONG> removes the focus from the current
+ field of the form. In such state, inquiries via <STRONG>current_field</STRONG> shall
+ return a NULL pointer.
- The function <STRONG>form_page</STRONG> returns the form's current page
- number.
+ The function <STRONG>set_form_page</STRONG> sets the form's page number (goes to page <EM>n</EM>
+ of the form).
- The function <STRONG>field_index</STRONG> returns the index of the field in
- the field array of the form it is connected to. It returns
- <STRONG>ERR</STRONG> if the argument is the null pointer or the field is
- not connected.
+ The function <STRONG>form_page</STRONG> returns the form's current page number.
+ The function <STRONG>field_index</STRONG> returns the index of the field in the field
+ array of the form it is connected to. It returns <STRONG>ERR</STRONG> if the argument
+ is the null pointer or the field is not connected.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except for <STRONG>form_page</STRONG>, each routine returns one of the fol-
- lowing:
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <STRONG>form_page</STRONG>, each routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_INVALID_FIELD</STRONG>
Contents of a field are not valid.
@@ -101,39 +96,44 @@
The form driver could not process the request.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
+ The <STRONG>unfocus_current_field</STRONG> function is an ncurses extension.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_post.3x.html b/doc/html/man/form_post.3x.html
index 38f8a8f501c2..0cb52febfe56 100644
--- a/doc/html/man/form_post.3x.html
+++ b/doc/html/man/form_post.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,62 +27,55 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_post.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_post.3x,v 1.13 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_post 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_post 3x</H1>
-<HR>
+<H1 class="no-header">form_post 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_post</STRONG> - write or erase forms from associated subwin-
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>post_form</STRONG>, <STRONG>unpost_form</STRONG> - write or erase forms from associated subwin-
dows
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int post_form(FORM *form);
int unpost_form(FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>post_form</STRONG> displays a form to its associated
- subwindow. To trigger physical display of the subwindow,
- use <STRONG>refresh</STRONG> or some equivalent <STRONG>curses</STRONG> routine (the
- implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG> input request
- will do).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>post_form</STRONG> displays a form to its associated subwindow. To
+ trigger physical display of the subwindow, use <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or some
+ equivalent <STRONG>curses</STRONG> routine (the implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG>
+ input request will do).
- The function <STRONG>unpost_form</STRONG> erases form from its associated
- subwindow.
+ The function <STRONG>unpost_form</STRONG> erases form from its associated subwindow.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NOT_POSTED</STRONG>
The form has not been posted.
@@ -98,39 +90,42 @@
The form has already been posted.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+ <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_requestname.3x.html b/doc/html/man/form_requestname.3x.html
index 68fe8497f4d4..9156cc24aee0 100644
--- a/doc/html/man/form_requestname.3x.html
+++ b/doc/html/man/form_requestname.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,85 +27,85 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_requestname.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_requestname.3x,v 1.11 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_requestname 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_requestname 3x</H1>
-<HR>
+<H1 class="no-header">form_requestname 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_requestname</STRONG> - handle printable form request names
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_request_by_name</STRONG>, <STRONG>form_request_name</STRONG> - handle printable form request
+ names
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
const char *form_request_name(int request);
int form_request_by_name(const char *name);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>form_request_name</STRONG> returns the printable name
- of a form request code.
- The function <STRONG>form_request_by_name</STRONG> searches in the name-ta-
- ble for a request with the given name and returns its
- request code. Otherwise E_NO_MATCH is returned.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>form_request_name</STRONG> returns the printable name of a form
+ request code.
+ The function <STRONG>form_request_by_name</STRONG> searches in the name-table for a
+ request with the given name and returns its request code. Otherwise
+ E_NO_MATCH is returned.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>form_request_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets errno to
- <STRONG>E_BAD_ARGUMENT</STRONG>.
- <STRONG>form_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error. It does
- not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>form_request_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets errno to <STRONG>E_BAD_ARGU-</STRONG>
+ <STRONG>MENT</STRONG>.
+ <STRONG>form_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error. It does not set
+ errno.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on them be conditioned using NCURSES_VERSION.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+ <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_userptr.3x.html b/doc/html/man/form_userptr.3x.html
index 564295a53197..b3edafb5331a 100644
--- a/doc/html/man/form_userptr.3x.html
+++ b/doc/html/man/form_userptr.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,85 +27,85 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_userptr.3x,v 1.13 2010/12/04 18:40:45 tom Exp @
+ * @Id: form_userptr.3x,v 1.15 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_userptr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_userptr 3x</H1>
-<HR>
+<H1 class="no-header">form_userptr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_userptr</STRONG> - associate application data with a form item
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_form_userptr</STRONG>, <STRONG>form_userptr</STRONG> - associate application data with a form
+ item
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_form_userptr(FORM *form, void *userptr);
void* form_userptr(const FORM *form);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every form and every form item has a field that can be
- used to hold application-specific data (that is, the form-
- driver code leaves it alone). These functions get and set
- the form user pointer field.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every form and every form item has a field that can be used to hold
+ application-specific data (that is, the form-driver code leaves it
+ alone). These functions get and set the form user pointer field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>form_userptr</STRONG> returns a pointer (which may be
- <STRONG>NULL</STRONG>). It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>form_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
+ does not set errno.
The function <STRONG>set_form_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
- The user pointer is a void pointer. We chose not to leave
- it as a char pointer for SVr4 compatibility.
+ The user pointer is a void pointer. We chose not to leave it as a char
+ pointer for SVr4 compatibility.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+ <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_variables.3x.html b/doc/html/man/form_variables.3x.html
index fdbc8625343d..844f0ae5d724 100644
--- a/doc/html/man/form_variables.3x.html
+++ b/doc/html/man/form_variables.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2010-2013,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,33 +26,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_variables.3x,v 1.4 2013/06/22 17:58:32 tom Exp @
+ * @Id: form_variables.3x,v 1.5 2017/11/20 00:59:21 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_variables 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_variables 3x</H1>
-<HR>
+<H1 class="no-header">form_variables 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>TYPE_ALNUM</STRONG>, <STRONG>TYPE_ALPHA</STRONG>, <STRONG>TYPE_ENUM</STRONG>, <STRONG>TYPE_INTEGER</STRONG>,
- <STRONG>TYPE_IPV4</STRONG>, <STRONG>TYPE_NUMERIC</STRONG>, <STRONG>TYPE_REGEXP</STRONG> - form system global
- variables
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>TYPE_ALNUM</STRONG>, <STRONG>TYPE_ALPHA</STRONG>, <STRONG>TYPE_ENUM</STRONG>, <STRONG>TYPE_INTEGER</STRONG>, <STRONG>TYPE_IPV4</STRONG>,
+ <STRONG>TYPE_NUMERIC</STRONG>, <STRONG>TYPE_REGEXP</STRONG> - form system global variables
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
<STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_ALNUM;</STRONG>
@@ -65,54 +62,70 @@
<STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_REGEXP;</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These are building blocks for the form library, defining
- fields that can be created using <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>. Each
- provides functions for field- and character-validation,
- according to the given datatype.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These are building blocks for the form library, defining fields that
+ can be created using <STRONG><A HREF="form_fieldtype.3x.html">set_fieldtype(3x)</A></STRONG>. Each provides functions for
+ field- and character-validation, according to the given datatype.
+
- <STRONG>TYPE_ALNUM</STRONG>
+</PRE><H3><a name="h3-TYPE_ALNUM">TYPE_ALNUM</a></H3><PRE>
This holds alphanumeric data.
- <STRONG>TYPE_ALPHA</STRONG>
+
+</PRE><H3><a name="h3-TYPE_ALPHA">TYPE_ALPHA</a></H3><PRE>
This holds alphabetic data.
- <STRONG>TYPE_ENUM</STRONG>
+
+</PRE><H3><a name="h3-TYPE_ENUM">TYPE_ENUM</a></H3><PRE>
This holds an enumerated type.
- <STRONG>TYPE_INTEGER</STRONG>
+
+</PRE><H3><a name="h3-TYPE_INTEGER">TYPE_INTEGER</a></H3><PRE>
This holds a decimal integer.
- <STRONG>TYPE_IPV4</STRONG>
+
+</PRE><H3><a name="h3-TYPE_IPV4">TYPE_IPV4</a></H3><PRE>
This holds an IPv4 internet address, e.g., "127.0.0.1".
- <STRONG>TYPE_NUMERIC</STRONG>
- This holds a decimal number, with optional sign and deci-
- mal point.
- <STRONG>TYPE_REGEXP</STRONG>
+</PRE><H3><a name="h3-TYPE_NUMERIC">TYPE_NUMERIC</a></H3><PRE>
+ This holds a decimal number, with optional sign and decimal point.
+
+
+</PRE><H3><a name="h3-TYPE_REGEXP">TYPE_REGEXP</a></H3><PRE>
This holds a regular expression.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The <STRONG>TYPE_IPV4</STRONG> variable is an extension not provided by
- older implementations of the form library.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <STRONG>TYPE_IPV4</STRONG> variable is an extension not provided by older implemen-
+ tations of the form library.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
- <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+ <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-TYPE_ALNUM">TYPE_ALNUM</a></li>
+<li><a href="#h3-TYPE_ALPHA">TYPE_ALPHA</a></li>
+<li><a href="#h3-TYPE_ENUM">TYPE_ENUM</a></li>
+<li><a href="#h3-TYPE_INTEGER">TYPE_INTEGER</a></li>
+<li><a href="#h3-TYPE_IPV4">TYPE_IPV4</a></li>
+<li><a href="#h3-TYPE_NUMERIC">TYPE_NUMERIC</a></li>
+<li><a href="#h3-TYPE_REGEXP">TYPE_REGEXP</a></li>
+</ul>
+</li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/form_win.3x.html b/doc/html/man/form_win.3x.html
index be604a152d9a..f477f34d0cf6 100644
--- a/doc/html/man/form_win.3x.html
+++ b/doc/html/man/form_win.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_win.3x,v 1.13 2010/12/04 18:38:55 tom Exp @
+ * @Id: form_win.3x,v 1.15 2019/01/20 20:31:42 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>form_win 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>form_win 3x</H1>
-<HR>
+<H1 class="no-header">form_win 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>form_win</STRONG> - make and break form window and subwindow asso-
- ciations
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_win</STRONG> - make and break form window and subwindow associations
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
int set_form_win(FORM *form, WINDOW *win);
WINDOW *form_win(const FORM *form);
@@ -62,40 +59,35 @@
int scale_form(const FORM *form, int *rows, int *columns);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every form has an associated pair of <STRONG>curses</STRONG> windows. The
- form window displays any title and border associated with
- the window; the form subwindow displays the items of the
- form that are currently available for selection.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every form has an associated pair of <STRONG>curses</STRONG> windows. The form window
+ displays any title and border associated with the window; the form sub-
+ window displays the items of the form that are currently available for
+ selection.
- The first four functions get and set those windows. It is
- not necessary to set either window; by default, the driver
- code uses <STRONG>stdscr</STRONG> for both.
+ The first four functions get and set those windows. It is not neces-
+ sary to set either window; by default, the driver code uses <STRONG>stdscr</STRONG> for
+ both.
- In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated
- as though it were <STRONG>stsdcr</STRONG>. A form argument of <STRONG>NULL</STRONG> is
- treated as a request to change the system default form
- window or subwindow.
+ In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated as though it
+ were <STRONG>stsdcr</STRONG>. A form argument of <STRONG>NULL</STRONG> is treated as a request to change
+ the system default form window or subwindow.
- The function <STRONG>scale_form</STRONG> returns the minimum size required
- for the subwindow of <EM>form</EM>.
+ The function <STRONG>scale_form</STRONG> returns the minimum size required for the sub-
+ window of <EM>form</EM>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Rou-
- tines that return an integer return one of the following
- error codes:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return pointers return <STRONG>NULL</STRONG> on error. Routines that
+ return an integer return one of the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_POSTED</STRONG>
The form has already been posted.
@@ -104,36 +96,39 @@
No items are connected to the form.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;form.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V forms library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V forms library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/index.html b/doc/html/man/index.html
index c93d1f84ccc4..aa8f274f0598 100644
--- a/doc/html/man/index.html
+++ b/doc/html/man/index.html
@@ -1,7 +1,7 @@
<!--
- $Id: index.html,v 1.7 2013/06/07 20:12:36 tom Exp $
+ $Id: index.html,v 1.11 2019/03/16 19:39:05 tom Exp $
****************************************************************************
- * Copyright (c) 1998-2010,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -36,7 +36,7 @@
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<title>NCURSES &ndash; Manual Pages</title>
- <link rev="MADE" href="mailto:dickey@invisible-island.net">
+ <link rel="author" href="mailto:dickey@invisible-island.net">
<meta http-equiv="Content-Type" content=
"text/html; charset=us-ascii">
</head>
@@ -75,14 +75,26 @@
</ul>
</li>
+ <li>Scripts:
+
+ <ul>
+ <li><a href=
+ "adacurses6-config.1.html">adacurses*-config</a> &ndash;
+ helper script for AdaCurses libraries</li>
+
+ <li><a href="ncurses6-config.1.html">ncurses*-config</a>
+ &ndash; helper script for ncurses libraries</li>
+ </ul>
+ </li>
+
<li>Libraries:
<ul>
<li><a href="ncurses.3x.html">ncurses &ndash; CRT screen
handling and optimization package</a></li>
- <li><a href="panel.3x.html">panel- panel stack extension
- for curses</a></li>
+ <li><a href="panel.3x.html">panel &ndash; panel stack
+ extension for curses</a></li>
<li><a href="form.3x.html">form &ndash; curses extension
for programming forms</a></li>
@@ -101,6 +113,9 @@
<li><a href="term.5.html">term &ndash; format of compiled
term file.</a></li>
+ <li><a href="scr_dump.5.html">scr_dump &ndash; format of
+ curses screen dumps.</a></li>
+
<li><a href="term.7.html">term &ndash; conventions for
naming terminal types</a></li>
</ul>
diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html
index fc15a2b9eeca..63c29e415f91 100644
--- a/doc/html/man/infocmp.1m.html
+++ b/doc/html/man/infocmp.1m.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,359 +27,383 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infocmp.1m,v 1.53 2013/02/02 22:07:35 tom Exp @
+ * @Id: infocmp.1m,v 1.75 2019/07/20 18:42:11 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>infocmp 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>infocmp 1m</H1>
-<HR>
+<H1 class="no-header">infocmp 1m</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>infocmp</STRONG> - compare or print out <EM>terminfo</EM> descriptions
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVcdegilnpqrtux</STRONG>]
- [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>]
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVWcdegilnpqrtux</STRONG>]
+ [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-Q</STRONG> <EM>n</EM>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>]
[<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>]
[<EM>termname</EM>...]
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>infocmp</STRONG> can be used to compare a binary <STRONG>terminfo</STRONG> entry
- with other terminfo entries, rewrite a <STRONG>terminfo</STRONG> descrip-
- tion to take advantage of the <STRONG>use=</STRONG> terminfo field, or
- print out a <STRONG>terminfo</STRONG> description from the binary file
- (<STRONG>term</STRONG>) in a variety of formats. In all cases, the boolean
- fields will be printed first, followed by the numeric
- fields, followed by the string fields.
-
- <STRONG>Default</STRONG> <STRONG>Options</STRONG>
- If no options are specified and zero or one <EM>termnames</EM> are
- specified, the <STRONG>-I</STRONG> option will be assumed. If more than
- one <EM>termname</EM> is specified, the <STRONG>-d</STRONG> option will be assumed.
-
- <STRONG>Comparison</STRONG> <STRONG>Options</STRONG> <STRONG>[-d]</STRONG> <STRONG>[-c]</STRONG> <STRONG>[-n]</STRONG>
- <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first
- terminal <EM>termname</EM> with each of the descriptions given by
- the entries for the other terminal's <EM>termnames</EM>. If a
- capability is defined for only one of the terminals, the
- value returned will depend on the type of the capability:
- <STRONG>F</STRONG> for boolean variables, <STRONG>-1</STRONG> for integer variables, and
- <STRONG>NULL</STRONG> for string variables.
-
- The <STRONG>-d</STRONG> option produces a list of each capability that is
- different between two entries. This option is useful to
- show the difference between two entries, created by dif-
- ferent people, for the same or similar terminals.
-
- The <STRONG>-c</STRONG> option produces a list of each capability that is
- common between two or more entries. Capabilities that are
- not set are ignored. This option can be used as a quick
- check to see if the <STRONG>-u</STRONG> option is worth using.
-
- The <STRONG>-n</STRONG> option produces a list of each capability that is
- in none of the given entries. If no <EM>termnames</EM> are given,
- the environment variable <STRONG>TERM</STRONG> will be used for both of the
- <EM>termnames</EM>. This can be used as a quick check to see if
- anything was left out of a description.
-
- <STRONG>Source</STRONG> <STRONG>Listing</STRONG> <STRONG>Options</STRONG> <STRONG>[-I]</STRONG> <STRONG>[-L]</STRONG> <STRONG>[-C]</STRONG> <STRONG>[-r]</STRONG>
- The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing
- for each terminal named.
-
- <STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names
- <STRONG>-L</STRONG> use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
- <STRONG>-C</STRONG> use the <STRONG>termcap</STRONG> names
- <STRONG>-r</STRONG> when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
- <STRONG>-K</STRONG> modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
-
- If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG>
- will be used for the terminal name.
-
- The source produced by the <STRONG>-C</STRONG> option may be used directly
- as a <STRONG>termcap</STRONG> entry, but not all parameterized strings can
- be changed to the <STRONG>termcap</STRONG> format. <STRONG>infocmp</STRONG> will attempt to
- convert most of the parameterized information, and any-
- thing not converted will be plainly marked in the output
- and commented out. These should be edited by hand.
-
- For best results when converting to <STRONG>termcap</STRONG> format, you
- should use both <STRONG>-C</STRONG> and <STRONG>-r</STRONG>. Normally a termcap description
- is limited to 1023 bytes. infocmp trims away less essen-
- tial parts to make it fit. If you are converting to one
- of the (rare) termcap implementations which accept an
- unlimited size of termcap, you may want to add the <STRONG>-T</STRONG>
- option. More often however, you must help the termcap
- implementation, and trim excess whitespace (use the <STRONG>-0</STRONG>
- option for that).
-
- All padding information for strings will be collected
- together and placed at the beginning of the string where
- <STRONG>termcap</STRONG> expects it. Mandatory padding (padding informa-
- tion with a trailing '/') will become optional.
-
- All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but
- which are derivable from other <STRONG>terminfo</STRONG> variables, will be
- output. Not all <STRONG>terminfo</STRONG> capabilities will be translated;
- only those variables which were part of <STRONG>termcap</STRONG> will nor-
- mally be output. Specifying the <STRONG>-r</STRONG> option will take off
- this restriction, allowing all capabilities to be output
- in <EM>termcap</EM> form. Normally you would use both the <STRONG>-C</STRONG> and
- <STRONG>-r</STRONG> options. The actual format used incorporates some
- improvements for escaped characters from terminfo format.
- For a stricter BSD-compatible translation, use the <STRONG>-K</STRONG>
- option rather than <STRONG>-C</STRONG>.
-
- Note that because padding is collected to the beginning of
- the capability, not all capabilities are output. Manda-
- tory padding is not supported. Because <STRONG>termcap</STRONG> strings
- are not as flexible, it is not always possible to convert
- a <STRONG>terminfo</STRONG> string capability into an equivalent <STRONG>termcap</STRONG>
- format. A subsequent conversion of the <STRONG>termcap</STRONG> file back
- into <STRONG>terminfo</STRONG> format will not necessarily reproduce the
- original <STRONG>terminfo</STRONG> source.
-
- Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG>
- equivalents, and some terminal types which commonly have
- such sequences, are:
-
- <STRONG>terminfo</STRONG> <STRONG>termcap</STRONG> Representative Terminals
- ---------------------------------------------------------------
- <STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> adm
- <STRONG>%p1%d</STRONG> <STRONG>%d</STRONG> hp, ANSI standard, vt100
- <STRONG>%p1%'x'%+%c</STRONG> <STRONG>%+x</STRONG> concept
- <STRONG>%i</STRONG> <STRONG>%i</STRONG>q ANSI standard, vt100
- <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG> <STRONG>%&gt;xy</STRONG> concept
- <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG> <STRONG>%r</STRONG> hp
-
- <STRONG>Use=</STRONG> <STRONG>Option</STRONG> <STRONG>[-u]</STRONG>
- The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of
- the first terminal <EM>termname</EM> which is relative to the sum
- of the descriptions given by the entries for the other
- terminals <EM>termnames</EM>. It does this by analyzing the dif-
- ferences between the first <EM>termname</EM> and the other
- <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for
- the other terminals. In this manner, it is possible to
- retrofit generic terminfo entries into a terminal's
- description. Or, if two similar terminals exist, but were
- coded at different times or by different people so that
- each description is a full description, using <STRONG>infocmp</STRONG> will
- show what can be done to change one description to be rel-
- ative to the other.
-
- A capability will get printed with an at-sign (@) if it no
- longer exists in the first <EM>termname</EM>, but one of the other
- <EM>termname</EM> entries contains a value for it. A capability's
- value gets printed if the value in the first <EM>termname</EM> is
- not found in any of the other <EM>termname</EM> entries, or if the
- first of the other <EM>termname</EM> entries that has this capabil-
- ity gives a different value for the capability than that
- in the first <EM>termname</EM>.
-
- The order of the other <EM>termname</EM> entries is significant.
- Since the terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan
- of the capabilities, specifying two <STRONG>use=</STRONG> entries that con-
- tain differing entries for the same capabilities will pro-
- duce different results depending on the order that the
- entries are given in. <STRONG>infocmp</STRONG> will flag any such incon-
- sistencies between the other <EM>termname</EM> entries as they are
- found.
-
- Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry
- that contains that capability will cause the second speci-
- fication to be ignored. Using <STRONG>infocmp</STRONG> to recreate a
- description can be a useful check to make sure that every-
- thing was specified correctly in the original source
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>infocmp</STRONG> can be used to compare a binary <STRONG>terminfo</STRONG> entry with other ter-
+ minfo entries, rewrite a <STRONG>terminfo</STRONG> description to take advantage of the
+ <STRONG>use=</STRONG> terminfo field, or print out a <STRONG>terminfo</STRONG> description from the
+ binary file (<STRONG>term</STRONG>) in a variety of formats. In all cases, the boolean
+ fields will be printed first, followed by the numeric fields, followed
+ by the string fields.
+
+
+</PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE>
+ If no options are specified and zero or one <EM>termnames</EM> are specified,
+ the <STRONG>-I</STRONG> option will be assumed. If more than one <EM>termname</EM> is specified,
+ the <STRONG>-d</STRONG> option will be assumed.
+
+
+</PRE><H3><a name="h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE>
+ <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first terminal
+ <EM>termname</EM> with each of the descriptions given by the entries for the
+ other terminal's <EM>termnames</EM>. If a capability is defined for only one of
+ the terminals, the value returned depends on the type of the capabil-
+ ity:
+
+ <STRONG>o</STRONG> <STRONG>F</STRONG> for missing boolean variables
+
+ <STRONG>o</STRONG> <STRONG>NULL</STRONG> for missing integer or string variables
+
+ Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM> and <EM>cancelled</EM>
+ capabilities.
+
+ These options produce a list which you can use to compare two or more
+ terminal descriptions:
+
+ <STRONG>-d</STRONG> produces a list of each capability that is <EM>different</EM> between two
+ entries. Each item in the list shows ":" after the capability
+ name, followed by the capability values, separated by a comma.
+
+ <STRONG>-c</STRONG> produces a list of each capability that is <EM>common</EM> between two or
+ more entries. Missing capabilities are ignored. Each item in the
+ list shows "=" after the capability name, followed by the capabil-
+ ity value.
+
+ The <STRONG>-u</STRONG> option provides a related output, showing the first termi-
+ nal description rewritten to use the second as a building block
+ via the "use=" clause.
+
+ <STRONG>-n</STRONG> produces a list of each capability that is in <EM>none</EM> of the given
+ entries. Each item in the list shows "!" before the capability
+ name.
+
+ Normally only the conventional capabilities are shown. Use the <STRONG>-x</STRONG>
+ option to add the BSD-compatibility capabilities (names prefixed
+ with "OT").
+
+ If no <EM>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the environment variable
+ <STRONG>TERM</STRONG> for each of the <EM>termnames</EM>.
+
+
+</PRE><H3><a name="h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE>
+ The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing for each ter-
+ minal named.
+
+ <STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names
+ <STRONG>-L</STRONG> use the long C variable name listed in &lt;<STRONG>term.h</STRONG>&gt;
+ <STRONG>-C</STRONG> use the <STRONG>termcap</STRONG> names
+ <STRONG>-r</STRONG> when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
+ <STRONG>-K</STRONG> modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
+
+ If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG> will be used
+ for the terminal name.
+
+ The source produced by the <STRONG>-C</STRONG> option may be used directly as a <STRONG>termcap</STRONG>
+ entry, but not all parameterized strings can be changed to the <STRONG>termcap</STRONG>
+ format. <STRONG>infocmp</STRONG> will attempt to convert most of the parameterized
+ information, and anything not converted will be plainly marked in the
+ output and commented out. These should be edited by hand.
+
+ For best results when converting to <STRONG>termcap</STRONG> format, you should use both
+ <STRONG>-C</STRONG> and <STRONG>-r</STRONG>. Normally a termcap description is limited to 1023 bytes.
+ <STRONG>infocmp</STRONG> trims away less essential parts to make it fit. If you are
+ converting to one of the (rare) termcap implementations which accept an
+ unlimited size of termcap, you may want to add the <STRONG>-T</STRONG> option. More
+ often however, you must help the termcap implementation, and trim
+ excess whitespace (use the <STRONG>-0</STRONG> option for that).
+
+ All padding information for strings will be collected together and
+ placed at the beginning of the string where <STRONG>termcap</STRONG> expects it. Manda-
+ tory padding (padding information with a trailing "/") will become
+ optional.
+
+ All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but which are
+ derivable from other <STRONG>terminfo</STRONG> variables, will be output. Not all <STRONG>ter-</STRONG>
+ <STRONG>minfo</STRONG> capabilities will be translated; only those variables which were
+ part of <STRONG>termcap</STRONG> will normally be output. Specifying the <STRONG>-r</STRONG> option will
+ take off this restriction, allowing all capabilities to be output in
+ <EM>termcap</EM> form. Normally you would use both the <STRONG>-C</STRONG> and <STRONG>-r</STRONG> options. The
+ actual format used incorporates some improvements for escaped charac-
+ ters from terminfo format. For a stricter BSD-compatible translation,
+ use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>.
+
+ Note that because padding is collected to the beginning of the capabil-
+ ity, not all capabilities are output. Mandatory padding is not sup-
+ ported. Because <STRONG>termcap</STRONG> strings are not as flexible, it is not always
+ possible to convert a <STRONG>terminfo</STRONG> string capability into an equivalent
+ <STRONG>termcap</STRONG> format. A subsequent conversion of the <STRONG>termcap</STRONG> file back into
+ <STRONG>terminfo</STRONG> format will not necessarily reproduce the original <STRONG>terminfo</STRONG>
+ source.
+
+ Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG> equivalents,
+ and some terminal types which commonly have such sequences, are:
+
+ <STRONG>terminfo</STRONG> <STRONG>termcap</STRONG> Representative Terminals
+ ---------------------------------------------------------------
+ <STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> adm
+ <STRONG>%p1%d</STRONG> <STRONG>%d</STRONG> hp, ANSI standard, vt100
+ <STRONG>%p1%'x'%+%c</STRONG> <STRONG>%+x</STRONG> concept
+ <STRONG>%i</STRONG> <STRONG>%i</STRONG>q ANSI standard, vt100
+ <STRONG>%p1%?%'x'%&gt;%t%p1%'y'%+%;</STRONG> <STRONG>%&gt;xy</STRONG> concept
+ <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG> <STRONG>%r</STRONG> hp
+
+
+</PRE><H3><a name="h3-Use_-Option-_-u_">Use= Option [-u]</a></H3><PRE>
+ The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of the first ter-
+ minal <EM>termname</EM> which is relative to the sum of the descriptions given
+ by the entries for the other terminals <EM>termnames</EM>. It does this by ana-
+ lyzing the differences between the first <EM>termname</EM> and the other
+ <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for the other
+ terminals. In this manner, it is possible to retrofit generic terminfo
+ entries into a terminal's description. Or, if two similar terminals
+ exist, but were coded at different times or by different people so that
+ each description is a full description, using <STRONG>infocmp</STRONG> will show what
+ can be done to change one description to be relative to the other.
+
+ A capability will get printed with an at-sign (@) if it no longer
+ exists in the first <EM>termname</EM>, but one of the other <EM>termname</EM> entries
+ contains a value for it. A capability's value gets printed if the
+ value in the first <EM>termname</EM> is not found in any of the other <EM>termname</EM>
+ entries, or if the first of the other <EM>termname</EM> entries that has this
+ capability gives a different value for the capability than that in the
+ first <EM>termname</EM>.
+
+ The order of the other <EM>termname</EM> entries is significant. Since the ter-
+ minfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities, spec-
+ ifying two <STRONG>use=</STRONG> entries that contain differing entries for the same
+ capabilities will produce different results depending on the order that
+ the entries are given in. <STRONG>infocmp</STRONG> will flag any such inconsistencies
+ between the other <EM>termname</EM> entries as they are found.
+
+ Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains
+ that capability will cause the second specification to be ignored.
+ Using <STRONG>infocmp</STRONG> to recreate a description can be a useful check to make
+ sure that everything was specified correctly in the original source
description.
- Another error that does not cause incorrect compiled
- files, but will slow down the compilation time, is speci-
- fying extra <STRONG>use=</STRONG> fields that are superfluous. <STRONG>infocmp</STRONG>
- will flag any other <EM>termname</EM> <EM>use=</EM> fields that were not
- needed.
+ Another error that does not cause incorrect compiled files, but will
+ slow down the compilation time, is specifying extra <STRONG>use=</STRONG> fields that
+ are superfluous. <STRONG>infocmp</STRONG> will flag any other <EM>termname</EM> <EM>use=</EM> fields that
+ were not needed.
<STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
- Like other <STRONG>ncurses</STRONG> utilities, infocmp looks for the termi-
- nal descriptions in several places. You can use the <STRONG>TER-</STRONG>
- <STRONG>MINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG> environment variables to override
- the compiled-in default list of places to search (see
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
+ Like other <STRONG>ncurses</STRONG> utilities, <STRONG>infocmp</STRONG> looks for the terminal descrip-
+ tions in several places. You can use the <STRONG>TERMINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG>
+ environment variables to override the compiled-in default list of
+ places to search (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
- You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the
- list of places to search when comparing terminal descrip-
- tions:
+ You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places
+ to search when comparing terminal descriptions:
<STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
- <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other
- <EM>termnames</EM>.
-
- Using these options, it is possible to compare descrip-
- tions for a terminal with the same name located in two
- different databases. For instance, you can use this fea-
- ture for comparing descriptions for the same terminal cre-
- ated by different people.
-
- <STRONG>Other</STRONG> <STRONG>Options</STRONG>
- <STRONG>-0</STRONG> causes the fields to be printed on one line, without
- wrapping.
-
- <STRONG>-1</STRONG> causes the fields to be printed out one to a line.
- Otherwise, the fields will be printed several to a
- line to a maximum width of 60 characters.
-
- <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities
- rather than discarding them. Capabilities are com-
- mented by prefixing them with a period.
-
- <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it
- knows about, and exit.
-
- <STRONG>-E</STRONG> Dump the capabilities of the given terminal as
- tables, needed in the C initializer for a TERMTYPE
- structure (the terminal capability structure in the
- <STRONG>&lt;term.h&gt;</STRONG>). This option is useful for preparing ver-
- sions of the curses library hardwired for a given
- terminal type. The tables are all declared static,
- and are named according to the type and the name of
- the corresponding terminal entry.
-
- Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG>
- options was not needed; but support for extended
- names required making the arrays of terminal capabil-
- ities separate from the TERMTYPE structure.
-
- <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C
- initializer for a TERMTYPE structure (the terminal
- capability structure in the <STRONG>&lt;term.h&gt;</STRONG>). This option
- is useful for preparing versions of the curses
- library hardwired for a given terminal type.
-
- <STRONG>-F</STRONG> compare terminfo files. This assumes that two fol-
- lowing arguments are filenames. The files are
- searched for pairwise matches between entries, with
- two entries considered to match if any of their names
- do. The report printed to standard output lists
- entries with no matches in the other file, and
- entries with more than one match. For entries with
- exactly one match it includes a difference report.
- Normally, to reduce the volume of the report, use
- references are not resolved before looking for dif-
- ferences, but resolution can be forced by also speci-
- fying <STRONG>-r</STRONG>.
-
- <STRONG>-f</STRONG> Display complex terminfo strings which contain
- if/then/else/endif expressions indented for readabil-
- ity.
-
- <STRONG>-G</STRONG> Display constant literals in decimal form rather than
- their character equivalents.
-
- <STRONG>-g</STRONG> Display constant character literals in quoted form
- rather than their decimal equivalents.
-
- <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset
- (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>), strings in the entry. For each
- string, the code tries to analyze it into actions in
- terms of the other capabilities in the entry, certain
- X3.64/ISO 6429/ECMA-48 capabilities, and certain DEC
- VT-series private modes (the set of recognized spe-
- cial sequences has been selected for completeness
- over the existing terminfo database). Each report
- line consists of the capability name, followed by a
- colon and space, followed by a printable expansion of
- the capability string with sections matching recog-
- nized actions translated into {}-bracketed descrip-
- tions. Here is a list of the DEC/ANSI special
- sequences recognized: i.
-
- Action Meaning
- -----------------------------------------
- RIS full reset
-
- SC save cursor
- RC restore cursor
- LL home-down
- RSR reset scroll region
- -----------------------------------------
- DECSTR soft reset (VT320)
- S7C1T 7-bit controls (VT220)
- -----------------------------------------
- ISO DEC G0 enable DEC graphics for G0
- ISO UK G0 enable UK chars for G0
- ISO US G0 enable US chars for G0
- ISO DEC G1 enable DEC graphics for G1
- ISO UK G1 enable UK chars for G1
- ISO US G1 enable US chars for G1
- -----------------------------------------
- DECPAM application keypad mode
- DECPNM normal keypad mode
- DECANSI enter ANSI mode
- -----------------------------------------
- ECMA[+-]AM keyboard action mode
- ECMA[+-]IRM insert replace mode
- ECMA[+-]SRM send receive mode
- ECMA[+-]LNM linefeed mode
- -----------------------------------------
- DEC[+-]CKM application cursor keys
- DEC[+-]ANM set VT52 mode
- DEC[+-]COLM 132-column mode
- DEC[+-]SCLM smooth scroll
- DEC[+-]SCNM reverse video mode
- DEC[+-]OM origin mode
- DEC[+-]AWM wraparound mode
- DEC[+-]ARM auto-repeat mode
-
- It also recognizes a SGR action corresponding to
- ANSI/ISO 6429/ECMA Set Graphics Rendition, with the
- values NORMAL, BOLD, UNDERLINE, BLINK, and REVERSE.
- All but NORMAL may be prefixed with `+' (turn on) or
- `-' (turn off).
-
- An SGR0 designates an empty highlight sequence (equivalent
- to {SGR:NORMAL}).
+ <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>.
+
+ Using these options, it is possible to compare descriptions for a ter-
+ minal with the same name located in two different databases. For
+ instance, you can use this feature for comparing descriptions for the
+ same terminal created by different people.
+
+
+</PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
+ <STRONG>-0</STRONG> causes the fields to be printed on one line, without wrapping.
+
+ <STRONG>-1</STRONG> causes the fields to be printed out one to a line. Otherwise, the
+ fields will be printed several to a line to a maximum width of 60
+ characters.
+
+ <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities rather than
+ discarding them. Capabilities are commented by prefixing them
+ with a period.
+
+ <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
+ and exit.
+
+ <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in
+ the C initializer for a TERMTYPE structure (the terminal capabil-
+ ity structure in the <STRONG>&lt;term.h&gt;</STRONG>). This option is useful for prepar-
+ ing versions of the curses library hardwired for a given terminal
+ type. The tables are all declared static, and are named according
+ to the type and the name of the corresponding terminal entry.
+
+ Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was
+ not needed; but support for extended names required making the
+ arrays of terminal capabilities separate from the TERMTYPE struc-
+ ture.
+
+ <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C initializer for
+ a TERMTYPE structure (the terminal capability structure in the
+ <STRONG>&lt;term.h&gt;</STRONG>). This option is useful for preparing versions of the
+ curses library hardwired for a given terminal type.
+
+ <STRONG>-F</STRONG> compare terminfo files. This assumes that two following arguments
+ are filenames. The files are searched for pairwise matches
+ between entries, with two entries considered to match if any of
+ their names do. The report printed to standard output lists
+ entries with no matches in the other file, and entries with more
+ than one match. For entries with exactly one match it includes a
+ difference report. Normally, to reduce the volume of the report,
+ use references are not resolved before looking for differences,
+ but resolution can be forced by also specifying <STRONG>-r</STRONG>.
+
+ <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif
+ expressions indented for readability.
+
+ <STRONG>-G</STRONG> Display constant literals in decimal form rather than their char-
+ acter equivalents.
+
+ <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
+ their decimal equivalents.
+
+ <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
+ <STRONG>rs3</STRONG>), strings in the entry, as well as those used for start-
+ ing/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well as
+ starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
+
+ For each string, the code tries to analyze it into actions in
+ terms of the other capabilities in the entry, certain X3.64/ISO
+ 6429/ECMA-48 capabilities, and certain DEC VT-series private modes
+ (the set of recognized special sequences has been selected for
+ completeness over the existing terminfo database). Each report
+ line consists of the capability name, followed by a colon and
+ space, followed by a printable expansion of the capability string
+ with sections matching recognized actions translated into
+ {}-bracketed descriptions.
+
+ Here is a list of the DEC/ANSI special sequences recognized:
+
+ Action Meaning
+ -----------------------------------------
+ RIS full reset
+ SC save cursor
+ RC restore cursor
+ LL home-down
+ RSR reset scroll region
+ -----------------------------------------
+ DECSTR soft reset (VT320)
+ S7C1T 7-bit controls (VT220)
+ -----------------------------------------
+
+ ISO DEC G0 enable DEC graphics for G0
+ ISO UK G0 enable UK chars for G0
+ ISO US G0 enable US chars for G0
+ ISO DEC G1 enable DEC graphics for G1
+ ISO UK G1 enable UK chars for G1
+ ISO US G1 enable US chars for G1
+ -----------------------------------------
+ DECPAM application keypad mode
+ DECPNM normal keypad mode
+ DECANSI enter ANSI mode
+ -----------------------------------------
+ ECMA[+-]AM keyboard action mode
+ ECMA[+-]IRM insert replace mode
+ ECMA[+-]SRM send receive mode
+ ECMA[+-]LNM linefeed mode
+ -----------------------------------------
+ DEC[+-]CKM application cursor keys
+ DEC[+-]ANM set VT52 mode
+ DEC[+-]COLM 132-column mode
+ DEC[+-]SCLM smooth scroll
+ DEC[+-]SCNM reverse video mode
+ DEC[+-]OM origin mode
+ DEC[+-]AWM wraparound mode
+ DEC[+-]ARM auto-repeat mode
+
+ It also recognizes a SGR action corresponding to ANSI/ISO
+ 6429/ECMA Set Graphics Rendition, with the values NORMAL, BOLD,
+ UNDERLINE, BLINK, and REVERSE. All but NORMAL may be prefixed
+ with
+
+ <STRONG>o</STRONG> "+" (turn on) or
+
+ <STRONG>o</STRONG> "-" (turn off).
+
+ An SGR0 designates an empty highlight sequence (equivalent to
+ {SGR:NORMAL}).
<STRONG>-l</STRONG> Set output format to terminfo.
<STRONG>-p</STRONG> Ignore padding specifications when comparing strings.
- <STRONG>-q</STRONG> Make the comparison listing shorter by omitting sub-
- headings, and using "-" for absent capabilities, "@"
- for canceled rather than "NULL".
+ <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the com-
+ piled (binary) format in hexadecimal or base64 form, depending on
+ the option's value:
+
+ 1 hexadecimal
+
+ 2 base64
+
+ 3 hexadecimal and base64
+
+ For example, this prints the compiled terminfo value as a string
+ which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable:
+
+ infocmp -0 -q -Q2
+
+ <STRONG>-q</STRONG> This makes the output a little shorter:
+
+ <STRONG>o</STRONG> Make the comparison listing shorter by omitting subheadings,
+ and using "-" for absent capabilities, "@" for canceled rather
+ than "NULL".
+
+ <STRONG>o</STRONG> However, show differences between absent and cancelled capa-
+ bilities.
+
+ <STRONG>o</STRONG> Omit the "Reconstructed from" comment for source listings.
<STRONG>-R</STRONG><EM>subset</EM>
- Restrict output to a given subset. This option is
- for use with archaic versions of terminfo like those
- on SVr1, Ultrix, or HP/UX that do not support the
- full set of SVR4/XSI Curses terminfo; and variants
- such as AIX that have their own extensions incompati-
- ble with SVr4/XSI. Available terminfo subsets are
- "SVr1", "Ultrix", "HP", and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- for details. You can also choose the subset "BSD"
- which selects only capabilities with termcap equiva-
- lents recognized by 4.4BSD.
+ Restrict output to a given subset. This option is for use with
+ archaic versions of terminfo like those on SVr1, Ultrix, or HP/UX
+ that do not support the full set of SVR4/XSI Curses terminfo; and
+ variants such as AIX that have their own extensions incompatible
+ with SVr4/XSI.
+
+ <STRONG>o</STRONG> Available terminfo subsets are "SVr1", "Ultrix", "HP", and
+ "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
+
+ <STRONG>o</STRONG> You can also choose the subset "BSD" which selects only capa-
+ bilities with termcap equivalents recognized by 4.4BSD. The
+ <STRONG>-C</STRONG> option sets the "BSD" subset as a side-effect.
+
+ <STRONG>o</STRONG> If you select any other value for <STRONG>-R</STRONG>, it is the same as no
+ subset, i.e., all capabilities are used. The <STRONG>-I</STRONG> option like-
+ wise selects no subset as a side-effect.
<STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
- The <STRONG>-s</STRONG> option sorts the fields within each type
- according to the argument below:
+ The <STRONG>-s</STRONG> option sorts the fields within each type according to the
+ argument below:
- <STRONG>d</STRONG> leave fields in the order that they are stored
- in the <EM>terminfo</EM> database.
+ <STRONG>d</STRONG> leave fields in the order that they are stored in the <EM>ter-</EM>
+ <EM>minfo</EM> database.
<STRONG>i</STRONG> sort by <EM>terminfo</EM> name.
@@ -388,89 +411,139 @@
<STRONG>c</STRONG> sort by the <EM>termcap</EM> name.
- If the <STRONG>-s</STRONG> option is not given, the fields printed out
- will be sorted alphabetically by the <STRONG>terminfo</STRONG> name
- within each type, except in the case of the <STRONG>-C</STRONG> or the
- <STRONG>-L</STRONG> options, which cause the sorting to be done by the
- <STRONG>termcap</STRONG> name or the long C variable name, respec-
- tively.
+ If the <STRONG>-s</STRONG> option is not given, the fields printed out will be
+ sorted alphabetically by the <STRONG>terminfo</STRONG> name within each type,
+ except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the
+ sorting to be done by the <STRONG>termcap</STRONG> name or the long C variable
+ name, respectively.
+
+ <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is
+ mainly useful for testing and analysis, since the compiled
+ descriptions are limited (e.g., 1023 for termcap, 4096 for ter-
+ minfo).
- <STRONG>-T</STRONG> eliminates size-restrictions on the generated text.
- This is mainly useful for testing and analysis, since
- the compiled descriptions are limited (e.g., 1023 for
- termcap, 4096 for terminfo).
+ <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when
+ translating from terminfo to termcap, untranslatable capabilities
+ are commented-out.
- <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities.
- Normally when translating from terminfo to termcap,
- untranslatable capabilities are commented-out.
+ <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after parsing the
+ source file. This feature helps when comparing the actual con-
+ tents of two source files, since it excludes the inferences that
+ <STRONG>infocmp</STRONG> makes to fill in missing data.
- <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after
- parsing the source file. This feature helps when
- comparing the actual contents of two source files,
- since it excludes the inferences that <STRONG>infocmp</STRONG> makes
- to fill in missing data.
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ exits.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this
- program, and exits.
+ <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as the program
+ runs.
- <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as
- the program runs. Higher values of n induce greater
- verbosity.
+ The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive,
+ indicating the desired level of detail of information. If ncurses
+ is built without tracing support, the optional parameter is
+ ignored.
+
+ <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
+ wrapped. Use the <STRONG>-W</STRONG> option to do this.
<STRONG>-w</STRONG> <EM>width</EM>
changes the output to <EM>width</EM> characters.
- <STRONG>-x</STRONG> print information for user-defined capabilities.
- These are extensions to the terminfo repertoire which
- can be loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
+ <STRONG>-x</STRONG> print information for user-defined capabilities (see <STRONG>user_caps(5)</STRONG>.
+ These are extensions to the terminfo repertoire which can be
+ loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
-</PRE>
-<H2>FILES</H2><PRE>
- /usr/share/terminfo Compiled terminal description data-
- base.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ /usr/share/terminfo Compiled terminal description database.
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
- The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>,
- <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG> and <STRONG>-t</STRONG> options are not supported in SVr4
- curses.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ Although System V Release 2 provided a terminfo library, it had no doc-
+ umented tool for decompiling the terminal descriptions. Tony Hansen
+ (AT&amp;T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
- The <STRONG>-r</STRONG> option's notion of `termcap' capabilities is System
- V Release 4's. Actual BSD curses versions will have a
- more restricted set. To see only the 4.4BSD set, use <STRONG>-r</STRONG>
- <STRONG>-RBSD</STRONG>.
+ Eric Raymond used the AT&amp;T documentation in 1995 to provide an equiva-
+ lent <STRONG>infocmp</STRONG> for ncurses. In addition, he added a few new features
+ such as:
+ <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal descrip-
+ tions
-</PRE>
-<H2>BUGS</H2><PRE>
+ <STRONG>o</STRONG> the <STRONG>-i</STRONG> option, to help with analysis
+
+ Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option,
+ and the <STRONG>-E</STRONG> option to support fallback entries with user-defined capa-
+ bilities.
+
+ For a complete list, see the <EM>EXTENSIONS</EM> section.
+
+ In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program for NetBSD. It is
+ less capable than the SVr4 or ncurses versions (e.g., it lacks the
+ sorting options documented in X/Open), but does include the <STRONG>-x</STRONG> option
+ adapted from ncurses.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses, Issue 7 (2009) provides a description of <STRONG>infocmp</STRONG>. It
+ does not mention the options used for converting to termcap format.
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG>
+ and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
+
+ SVr4 infocmp does not distinguish between absent and cancelled capabil-
+ ities. Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the internal
+ value used to represent missing integers). This implementation shows
+ those as "NULL", for consistency with missing strings.
+
+ The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System V Release
+ 4's. Actual BSD curses versions will have a more restricted set. To
+ see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
+
+
+</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
The <STRONG>-F</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>ter-</STRONG>
+ <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
- http://invisible-island.net/ncurses/tctest.html
+ https://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
- <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Default-Options">Default Options</a></li>
+<li><a href="#h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></li>
+<li><a href="#h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></li>
+<li><a href="#h3-Use_-Option-_-u_">Use= Option [-u]</a></li>
+<li><a href="#h3-Other-Options">Other Options</a></li>
+</ul>
+</li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-BUGS">BUGS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html
index 247f85eb4f17..882703fa9ff2 100644
--- a/doc/html/man/infotocap.1m.html
+++ b/doc/html/man/infotocap.1m.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1999-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,88 +27,91 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infotocap.1m,v 1.11 2010/12/04 18:38:55 tom Exp @
+ * @Id: infotocap.1m,v 1.15 2019/10/12 21:16:00 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>infotocap 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>infotocap 1m</H1>
-<HR>
+<H1 class="no-header">infotocap 1m</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>infotocap</STRONG> - convert a <EM>terminfo</EM> description into a <EM>termcap</EM>
- description
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>infotocap</STRONG> - convert a <EM>terminfo</EM> description into a <EM>termcap</EM> description
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>infotocap</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> . . .
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>infotocap</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> ...
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>infotocap</STRONG> looks in each given text <EM>file</EM> for <STRONG>terminfo</STRONG>
- descriptions. For each terminfo description found, an
- equivalent <STRONG>termcap</STRONG> description is written to standard out-
- put. Terminfo <STRONG>use</STRONG> capabilities are translated directly to
- termcap <STRONG>tc</STRONG> capabilities.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <STRONG>infotocap</STRONG> looks in each given text <EM>file</EM> for <STRONG>terminfo</STRONG> descriptions. For
+ each terminfo description found, an equivalent <STRONG>termcap</STRONG> description is
+ written to standard output. Terminfo <STRONG>use</STRONG> capabilities are translated
+ directly to termcap <STRONG>tc</STRONG> capabilities.
- <STRONG>-v</STRONG> print out tracing information on standard error as
- the program runs.
+ <STRONG>-v</STRONG> print out tracing information on standard error as the program
+ runs.
- <STRONG>-V</STRONG> print out the version of the program in use on stan-
- dard error and exit.
+ <STRONG>-V</STRONG> print out the version of the program in use on standard error and
+ exit.
- <STRONG>-1</STRONG> cause the fields to print out one to a line. Other-
- wise, the fields will be printed several to a line to
- a maximum width of 60 characters.
+ <STRONG>-1</STRONG> cause the fields to print out one to a line. Otherwise, the
+ fields will be printed several to a line to a maximum width of 60
+ characters.
<STRONG>-w</STRONG> change the output to <EM>width</EM> characters.
-</PRE>
-<H2>FILES</H2><PRE>
- /usr/share/terminfo Compiled terminal description data-
- base.
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ /usr/share/terminfo Compiled terminal description database.
-</PRE>
-<H2>NOTES</H2><PRE>
- This utility is actually a link to <EM>tic</EM>, running in <EM>-C</EM>
- mode. You can use other <EM>tic</EM> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ This utility is actually a link to <STRONG>tic</STRONG>, running in <EM>-C</EM> mode. You can
+ use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ None of X/Open Curses, Issue 7 (2009), SVr4 or NetBSD document this
+ application.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
- <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+ <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/key_defined.3x.html b/doc/html/man/key_defined.3x.html
index e726ece694f3..7de895abe73c 100644
--- a/doc/html/man/key_defined.3x.html
+++ b/doc/html/man/key_defined.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2003-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2003-2010,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,76 +27,73 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 2003
- * @Id: key_defined.3x,v 1.6 2010/12/04 18:40:45 tom Exp @
+ * @Id: key_defined.3x,v 1.8 2018/07/28 22:08:59 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>key_defined 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>key_defined 3x</H1>
-<HR>
+<H1 class="no-header">key_defined 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>key_defined</STRONG> - check if a keycode is defined
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>key_defined(const</STRONG> <STRONG>char</STRONG> <STRONG>*definition);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is an extension to the curses library. It permits an
- application to determine if a string is currently bound to
- any keycode.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is an extension to the curses library. It permits an application
+ to determine if a string is currently bound to any keycode.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- If the string is bound to a keycode, its value (greater
- than zero) is returned. If no keycode is bound, zero is
- returned. If the string conflicts with longer strings
- which are bound to keys, -1 is returned.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ If the string is bound to a keycode, its value (greater than zero) is
+ returned. If no keycode is bound, zero is returned. If the string
+ conflicts with longer strings which are bound to keys, -1 is returned.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on them be conditioned using NCURSES_VERSION.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Thomas Dickey.
- <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+ <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/keybound.3x.html b/doc/html/man/keybound.3x.html
index 8275428587c2..bebbadd4405e 100644
--- a/doc/html/man/keybound.3x.html
+++ b/doc/html/man/keybound.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1999-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2010,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,78 +27,76 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1999
- * @Id: keybound.3x,v 1.8 2010/12/04 18:49:20 tom Exp @
+ * @Id: keybound.3x,v 1.9 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>keybound 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>keybound 3x</H1>
-<HR>
+<H1 class="no-header">keybound 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>keybound</STRONG> - return definition of keycode
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keybound(int</STRONG> <STRONG>keycode,</STRONG> <STRONG>int</STRONG> <STRONG>count);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is an extension to the curses library. It permits an
- application to determine the string which is defined in
- the terminfo for specific keycodes.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is an extension to the curses library. It permits an application
+ to determine the string which is defined in the terminfo for specific
+ keycodes.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The <EM>keycode</EM> parameter must be greater than zero, else NULL
- is returned. If it does not correspond to a defined key,
- then NULL is returned. The <EM>count</EM> parameter is used to
- allow the application to iterate through multiple defini-
- tions, counting from zero. When successful, the function
- returns a string which must be freed by the caller.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The <EM>keycode</EM> parameter must be greater than zero, else NULL is returned.
+ If it does not correspond to a defined key, then NULL is returned. The
+ <EM>count</EM> parameter is used to allow the application to iterate through
+ multiple definitions, counting from zero. When successful, the func-
+ tion returns a string which must be freed by the caller.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on them be conditioned using NCURSES_VERSION.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Thomas Dickey.
- <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+ <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/keyok.3x.html b/doc/html/man/keyok.3x.html
index ce866d4c4d39..afa6514f3289 100644
--- a/doc/html/man/keyok.3x.html
+++ b/doc/html/man/keyok.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,78 +27,75 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1997
- * @Id: keyok.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: keyok.3x,v 1.13 2018/07/28 21:34:56 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>keyok 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>keyok 3x</H1>
-<HR>
+<H1 class="no-header">keyok 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>keyok</STRONG> - enable or disable a keycode
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>keyok(int</STRONG> <STRONG>keycode,</STRONG> <STRONG>bool</STRONG> <STRONG>enable);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is an extension to the curses library. It permits an
- application to disable specific keycodes, rather than use
- the <EM>keypad</EM> function to disable all keycodes. Keys that
- have been disabled can be re-enabled.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is an extension to the curses library. It permits an application
+ to disable specific keycodes, rather than use the <EM>keypad</EM> function to
+ disable all keycodes. Keys that have been disabled can be re-enabled.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The keycode must be greater than zero, else ERR is
- returned. If it does not correspond to a defined key,
- then ERR is returned. If the <EM>enable</EM> parameter is true,
- then the key must have been disabled, and vice versa.
- Otherwise, the function returns OK.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The keycode must be greater than zero, else <STRONG>ERR</STRONG> is returned. If it
+ does not correspond to a defined key, then <STRONG>ERR</STRONG> is returned. If the
+ <EM>enable</EM> parameter is true, then the key must have been disabled, and
+ vice versa. Otherwise, the function returns <STRONG>OK</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on them be conditioned using NCURSES_VERSION.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Thomas Dickey.
- <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+ <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/legacy_coding.3x.html b/doc/html/man/legacy_coding.3x.html
index 22cb734636d2..bf64f79526c3 100644
--- a/doc/html/man/legacy_coding.3x.html
+++ b/doc/html/man/legacy_coding.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2005-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2005-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,91 +27,88 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey
- * @Id: legacy_coding.3x,v 1.4 2010/12/04 18:49:20 tom Exp @
+ * @Id: legacy_coding.3x,v 1.6 2017/03/15 08:14:25 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>legacy_coding 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>legacy_coding 3x</H1>
-<HR>
+<H1 class="no-header">legacy_coding 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>use_legacy_coding</STRONG> - use terminal's default colors
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>use_legacy_coding</STRONG> - override locale-encoding checks
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>use_legacy_coding(int</STRONG> <STRONG>level);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <EM>use</EM><STRONG>_</STRONG><EM>legacy</EM><STRONG>_</STRONG><EM>coding()</EM> function is an extension to the
- curses library. It allows the caller to change the result
- of <STRONG>unctrl</STRONG>, and suppress related checks within the library
- that would normally cause nonprinting characters to be
- rendered in visible form. This affects only 8-bit charac-
- ters.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>use_legacy_coding</STRONG> function is an extension to the curses library.
+ It allows the caller to change the result of <STRONG>unctrl</STRONG>, and suppress
+ related checks within the library that would normally cause nonprinting
+ characters to be rendered in visible form. This affects only 8-bit
+ characters.
The <EM>level</EM> parameter controls the result:
- 0 the library functions normally, rendering non-
- printing characters as described in <STRONG>unctrl</STRONG>.
+ 0 the library functions normally, rendering nonprinting char-
+ acters as described in <STRONG>unctrl</STRONG>.
- 1 the library ignores <STRONG>isprintf</STRONG> for codes in the
- range 160-255.
+ 1 the library ignores <STRONG>isprintf</STRONG> for codes in the range
+ 160-255.
- 2 the library ignores <STRONG>isprintf</STRONG> for codes in the
- range 128-255. It also modifies the output of
- <STRONG>unctrl</STRONG>, showing codes in the range 128-159 as
- is.
+ 2 the library ignores <STRONG>isprintf</STRONG> for codes in the range
+ 128-255. It also modifies the output of <STRONG>unctrl</STRONG>, showing
+ codes in the range 128-159 as is.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- If the screen has not been initialized, or the <EM>level</EM>
- parameter is out of range, the function returns <STRONG>ERR</STRONG>. Oth-
- erwise, it returns the previous level: <STRONG>0</STRONG>, <STRONG>1</STRONG> or <STRONG>2</STRONG>.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ If the screen has not been initialized, or the <EM>level</EM> parameter is out
+ of range, the function returns <STRONG>ERR</STRONG>. Otherwise, it returns the previous
+ level: <STRONG>0</STRONG>, <STRONG>1</STRONG> or <STRONG>2</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- This routine is specific to ncurses. It was not supported
- on Version 7, BSD or System V implementations. It is rec-
- ommended that any code depending on ncurses extensions be
- conditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ This routine is specific to ncurses. It was not supported on Version
+ 7, BSD or System V implementations. It is recommended that any code
+ depending on ncurses extensions be conditioned using NCURSES_VERSION.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG>unctrl</STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Thomas Dickey (to support lynx's font-switching feature).
- <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+ <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html
index c974468d9a4c..7770423bfd0d 100644
--- a/doc/html/man/menu.3x.html
+++ b/doc/html/man/menu.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,59 +27,56 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu.3x,v 1.21 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu.3x,v 1.26 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu 3x</H1>
-<HR>
+<H1 class="no-header">menu 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>menu</STRONG> - curses extension for programming menus
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>menu</STRONG> library provides terminal-independent facilities
- for composing menu systems on character-cell terminals.
- The library includes: item routines, which create and mod-
- ify menu items; and menu routines, which group items into
- menus, display menus on the screen, and handle interaction
- with the user.
-
- The <STRONG>menu</STRONG> library uses the <STRONG>curses</STRONG> libraries, and a curses
- initialization routine such as <STRONG>initscr</STRONG> must be called
- before using any of these functions. To use the <STRONG>menu</STRONG>
- library, link with the options <STRONG>-lmenu</STRONG> <STRONG>-lcurses</STRONG>.
-
- <STRONG>Current</STRONG> <STRONG>Default</STRONG> <STRONG>Values</STRONG> <STRONG>for</STRONG> <STRONG>Item</STRONG> <STRONG>Attributes</STRONG>
- The <STRONG>menu</STRONG> library maintains a default value for item
- attributes. You can get or set this default by calling
- the appropriate <STRONG>get_</STRONG> or <STRONG>set_</STRONG> routine with a <STRONG>NULL</STRONG> item
- pointer. Changing this default with a <STRONG>set_</STRONG> function
- affects future item creations, but does not change the
- rendering of items already created.
-
- <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
- The following table lists each <STRONG>menu</STRONG> routine and the name
- of the manual page on which it is described.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>menu</STRONG> library provides terminal-independent facilities for composing
+ menu systems on character-cell terminals. The library includes: item
+ routines, which create and modify menu items; and menu routines, which
+ group items into menus, display menus on the screen, and handle inter-
+ action with the user.
+
+ The <STRONG>menu</STRONG> library uses the <STRONG>curses</STRONG> libraries, and a curses initialization
+ routine such as <STRONG>initscr</STRONG> must be called before using any of these func-
+ tions. To use the <STRONG>menu</STRONG> library, link with the options <STRONG>-lmenu</STRONG> <STRONG>-lcurses</STRONG>.
+
+
+</PRE><H3><a name="h3-Current-Default-Values-for-Item-Attributes">Current Default Values for Item Attributes</a></H3><PRE>
+ The <STRONG>menu</STRONG> library maintains a default value for item attributes. You
+ can get or set this default by calling the appropriate <STRONG>get_</STRONG> or <STRONG>set_</STRONG>
+ routine with a <STRONG>NULL</STRONG> item pointer. Changing this default with a <STRONG>set_</STRONG>
+ function affects future item creations, but does not change the render-
+ ing of items already created.
+
+
+</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
+ The following table lists each <STRONG>menu</STRONG> routine and the name of the manual
+ page on which it is described.
<STRONG>curses</STRONG> Routine Name Manual Page Name
--------------------------------------------
@@ -112,10 +108,10 @@
menu_opts_on <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
menu_pad <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
menu_pattern <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
-
menu_request_by_name <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
menu_request_name <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
menu_spacing <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+
menu_sub <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
menu_term <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
menu_userptr <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
@@ -151,21 +147,17 @@
unpost_menu <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Rou-
- tines that return an integer return one of the following
- error codes:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return pointers return <STRONG>NULL</STRONG> on error. Routines that
+ return an integer return one of the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NO_MATCH</STRONG>
Character failed to match.
@@ -189,53 +181,68 @@
The menu driver could not process the request.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_UNKNOWN_COMMAND</STRONG>
The menu driver code saw an unknown request code.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header files
+ <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
+ In your library list, libmenu.a should be before libncurses.a; that is,
+ you should say "-lmenu -lncurses", not the other way around (which
+ would give a link-error when using static libraries).
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- files <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
- In your library list, libmenu.a should be before libn-
- curses.a; that is, you want to say `-lmenu -lncurses', not
- the other way around (which would usually give a link-
- error).
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
+ The menu facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
+ <EM>Programming</EM> <EM>(UNIX</EM> <EM>SVR4.2)</EM>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+ It is not part of X/Open Curses.
+ Aside from ncurses, there are few implementations:
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for ncurses
- by Eric S. Raymond.
+ <STRONG>o</STRONG> systems based on SVr4 source code, e.g., Solaris.
+ <STRONG>o</STRONG> NetBSD curses.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric S.
+ Raymond.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed
+ descriptions of the entry points.
+
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+ <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Current-Default-Values-for-Item-Attributes">Current Default Values for Item Attributes</a></li>
+<li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_attributes.3x.html b/doc/html/man/menu_attributes.3x.html
index f73757f00b72..b1efafb2f65b 100644
--- a/doc/html/man/menu_attributes.3x.html
+++ b/doc/html/man/menu_attributes.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_attributes.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_attributes.3x,v 1.16 2019/11/30 21:02:51 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_attributes 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_attributes 3x</H1>
-<HR>
+<H1 class="no-header">menu_attributes 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_attributes</STRONG> - color and attribute control for menus
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>menu_back</STRONG>, <STRONG>menu_fore</STRONG>, <STRONG>menu_grey</STRONG>, <STRONG>menu_pad</STRONG>, <STRONG>set_menu_back</STRONG>,
+ <STRONG>set_menu_fore</STRONG>, <STRONG>set_menu_grey</STRONG>, <STRONG>set_menu_pad</STRONG> - color and attribute con-
+ trol for menus
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_fore(MENU *menu, chtype attr);
chtype menu_fore(const MENU *menu);
@@ -64,76 +64,72 @@
int menu_pad(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_menu_fore</STRONG> sets the foreground attribute
- of <EM>menu</EM>. This is the highlight used for selected menu
- items. <STRONG>menu_fore</STRONG> returns the foreground attribute. The
- default is <STRONG>A_REVERSE</STRONG>.
-
- The function <STRONG>set_menu_back</STRONG> sets the background attribute
- of <EM>menu</EM>. This is the highlight used for selectable (but
- not currently selected) menu items. The function
- <STRONG>menu_back</STRONG> returns the background attribute. The default
- is <STRONG>A_NORMAL</STRONG>.
-
- The function <STRONG>set_menu_grey</STRONG> sets the grey attribute of
- <EM>menu</EM>. This is the highlight used for un-selectable menu
- items in menus that permit more than one selection. The
- function <STRONG>menu_grey</STRONG> returns the grey attribute. The
- default is <STRONG>A_UNDERLINE</STRONG>.
-
- The function <STRONG>set_menu_pad</STRONG> sets the character used to fill
- the space between the name and description parts of a menu
- item. <STRONG>menu_pad</STRONG> returns the given menu's pad character.
- The default is a blank.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_menu_fore</STRONG> sets the foreground attribute of <EM>menu</EM>. This
+ is the highlight used for selected menu items. <STRONG>menu_fore</STRONG> returns the
+ foreground attribute. The default is <STRONG>A_REVERSE</STRONG>.
+ The function <STRONG>set_menu_back</STRONG> sets the background attribute of <EM>menu</EM>. This
+ is the highlight used for selectable (but not currently selected) menu
+ items. The function <STRONG>menu_back</STRONG> returns the background attribute. The
+ default is <STRONG>A_NORMAL</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+ The function <STRONG>set_menu_grey</STRONG> sets the grey attribute of <EM>menu</EM>. This is the
+ highlight used for un-selectable menu items in menus that permit more
+ than one selection. The function <STRONG>menu_grey</STRONG> returns the grey attribute.
+ The default is <STRONG>A_UNDERLINE</STRONG>.
+
+ The function <STRONG>set_menu_pad</STRONG> sets the character used to fill the space
+ between the name and description parts of a menu item. <STRONG>menu_pad</STRONG>
+ returns the given menu's pad character. The default is a blank.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for
- detailed descriptions of the entry points.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed
+ descriptions of the entry points.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+ <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_cursor.3x.html b/doc/html/man/menu_cursor.3x.html
index 37a724eb1961..77d17a183716 100644
--- a/doc/html/man/menu_cursor.3x.html
+++ b/doc/html/man/menu_cursor.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,90 +27,89 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_cursor.3x,v 1.8 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_cursor.3x,v 1.11 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_cursor 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_cursor 3x</H1>
-<HR>
+<H1 class="no-header">menu_cursor 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_cursor</STRONG> - position a menu's cursor
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>pos_menu_cursor</STRONG> - position a menu's cursor
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int pos_menu_cursor(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>pos_menu_cursor</STRONG> restores the cursor to the
- current position associated with the menu's selected item.
- This is useful after <STRONG>curses</STRONG> routines have been called to
- do screen-painting in response to a menu select.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>pos_menu_cursor</STRONG> restores the cursor to the current posi-
+ tion associated with the menu's selected item. This is useful after
+ <STRONG>curses</STRONG> routines have been called to do screen-painting in response to a
+ menu select.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
This routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_NOT_POSTED</STRONG>
The menu has not been posted.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+ <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_driver.3x.html b/doc/html/man/menu_driver.3x.html
index 4eaf63166795..5a35438e006a 100644
--- a/doc/html/man/menu_driver.3x.html
+++ b/doc/html/man/menu_driver.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,52 +26,48 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_driver.3x,v 1.20 2010/12/04 18:38:55 tom Exp @
+ * @Id: menu_driver.3x,v 1.25 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_driver 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_driver 3x</H1>
-<HR>
+<H1 class="no-header">menu_driver 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>menu_driver</STRONG> - command-processing loop of the menu system
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int menu_driver(MENU *menu, int c);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Once a menu has been posted (displayed), you should funnel
- input events to it through <STRONG>menu_driver</STRONG>. This routine has
- three major input cases:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Once a menu has been posted (displayed), you should funnel input events
+ to it through <STRONG>menu_driver</STRONG>. This routine has three major input cases:
- <STRONG>o</STRONG> The input is a form navigation request. Navigation
- request codes are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which
- are distinct from the key- and character codes
- returned by <STRONG>wgetch</STRONG>.
+ <STRONG>o</STRONG> The input is a form navigation request. Navigation request codes
+ are constants defined in <STRONG>&lt;form.h&gt;</STRONG>, which are distinct from the key-
+ and character codes returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
- <STRONG>o</STRONG> The input is a printable character. Printable charac-
- ters (which must be positive, less than 256) are
- checked according to the program's locale settings.
+ <STRONG>o</STRONG> The input is a printable character. Printable characters (which
+ must be positive, less than 256) are checked according to the pro-
+ gram's locale settings.
- <STRONG>o</STRONG> The input is the KEY_MOUSE special key associated with
- an mouse event.
+ <STRONG>o</STRONG> The input is the KEY_MOUSE special key associated with an mouse
+ event.
The menu driver requests are as follows:
@@ -119,8 +114,7 @@
Clear the menu pattern buffer.
REQ_BACK_PATTERN
- Delete the previous character from the pattern buf-
- fer.
+ Delete the previous character from the pattern buffer.
REQ_NEXT_MATCH
Move to the next item matching the pattern match.
@@ -128,21 +122,20 @@
REQ_PREV_MATCH
Move to the previous item matching the pattern match.
- If the second argument is a printable character, the code
- appends it to the pattern buffer and attempts to move to
- the next item matching the new pattern. If there is no
- such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG> and deletes the
- appended character from the buffer.
+ If the second argument is a printable character, the code appends it to
+ the pattern buffer and attempts to move to the next item matching the
+ new pattern. If there is no such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG>
+ and deletes the appended character from the buffer.
+
+ If the second argument is one of the above pre-defined requests, the
+ corresponding action is performed.
- If the second argument is one of the above pre-defined
- requests, the corresponding action is performed.
- <STRONG>MOUSE</STRONG> <STRONG>HANDLING</STRONG>
- If the second argument is the KEY_MOUSE special key, the
- associated mouse event is translated into one of the above
- pre-defined requests. Currently only clicks in the user
- window (e.g., inside the menu display area or the decora-
- tion window) are handled.
+</PRE><H3><a name="h3-MOUSE-HANDLING">MOUSE HANDLING</a></H3><PRE>
+ If the second argument is the KEY_MOUSE special key, the associated
+ mouse event is translated into one of the above pre-defined requests.
+ Currently only clicks in the user window (e.g., inside the menu display
+ area or the decoration window) are handled.
If you click above the display region of the menu:
@@ -160,51 +153,44 @@
<STRONG>o</STRONG> a REQ_LAST_ITEM is generated for a triple-click.
- If you click at an item inside the display area of the
- menu:
+ If you click at an item inside the display area of the menu:
<STRONG>o</STRONG> the menu cursor is positioned to that item.
- <STRONG>o</STRONG> If you double-click an item a REQ_TOGGLE_ITEM is gen-
- erated and <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned. This return
- value makes sense, because a double click usually
- means that an item-specific action should be returned.
- It is exactly the purpose of this return value to sig-
- nal that an application specific command should be
- executed.
+ <STRONG>o</STRONG> If you double-click an item a REQ_TOGGLE_ITEM is generated and
+ <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned. This return value makes sense,
+ because a double click usually means that an item-specific action
+ should be returned. It is exactly the purpose of this return value
+ to signal that an application specific command should be executed.
- <STRONG>o</STRONG> If a translation into a request was done, <STRONG>menu_driver</STRONG>
- returns the result of this request.
+ <STRONG>o</STRONG> If a translation into a request was done, <STRONG>menu_driver</STRONG> returns the
+ result of this request.
- If you clicked outside the user window or the mouse event
- could not be translated into a menu request an
- <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+ If you clicked outside the user window or the mouse event could not be
+ translated into a menu request an <STRONG>E_REQUEST_DENIED</STRONG> is returned.
- <STRONG>APPLICATION-DEFINED</STRONG> <STRONG>COMMANDS</STRONG>
- If the second argument is neither printable nor one of the
- above pre-defined menu requests or KEY_MOUSE, the drive
- assumes it is an application-specific command and returns
- <STRONG>E_UNKNOWN_COMMAND</STRONG>. Application-defined commands should be
- defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of
- these pre-defined requests.
+</PRE><H3><a name="h3-APPLICATION-DEFINED-COMMANDS">APPLICATION-DEFINED COMMANDS</a></H3><PRE>
+ If the second argument is neither printable nor one of the above pre-
+ defined menu requests or KEY_MOUSE, the drive assumes it is an applica-
+ tion-specific command and returns <STRONG>E_UNKNOWN_COMMAND</STRONG>. Application-
+ defined commands should be defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum
+ value of these pre-defined requests.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
<STRONG>menu_driver</STRONG> return one of the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NOT_POSTED</STRONG>
The menu has not been posted.
@@ -219,37 +205,45 @@
The menu driver could not process the request.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- files <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header files
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions. The sup-
- port for mouse events is ncurses specific.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions. The support for mouse events is
+ ncurses specific.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+ <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-MOUSE-HANDLING">MOUSE HANDLING</a></li>
+<li><a href="#h3-APPLICATION-DEFINED-COMMANDS">APPLICATION-DEFINED COMMANDS</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_format.3x.html b/doc/html/man/menu_format.3x.html
index 912b01caa12f..329ecd4a82b1 100644
--- a/doc/html/man/menu_format.3x.html
+++ b/doc/html/man/menu_format.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,68 +27,61 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_format.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_format.3x,v 1.16 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_format 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_format 3x</H1>
-<HR>
+<H1 class="no-header">menu_format 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_format</STRONG> - set and get menu sizes
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_format</STRONG>, <STRONG>menu_format</STRONG> - set and get menu sizes
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_format(MENU *menu, int rows, int cols);
void menu_format(const MENU *menu, int *rows, int *cols);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_menu_format</STRONG> sets the maximum display size
- of the given menu. If this size is too small to display
- all menu items, the menu will be made scrollable. If this
- size is larger than the menus subwindow and the subwindow
- is too small to display all menu items, <STRONG>post_menu()</STRONG> will
- fail.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_menu_format</STRONG> sets the maximum display size of the given
+ menu. If this size is too small to display all menu items, the menu
+ will be made scrollable. If this size is larger than the menus subwin-
+ dow and the subwindow is too small to display all menu items, <STRONG>post_menu</STRONG>
+ will fail.
- The default format is 16 rows, 1 column. Calling
- <STRONG>set_menu_format</STRONG> with a null menu pointer will change this
- default. A zero row or column argument to <STRONG>set_menu_format</STRONG>
- is interpreted as a request not to change the current
- value.
+ The default format is 16 rows, 1 column. Calling <STRONG>set_menu_format</STRONG> with
+ a null menu pointer will change this default. A zero row or column
+ argument to <STRONG>set_menu_format</STRONG> is interpreted as a request not to change
+ the current value.
- The function <STRONG>menu_format</STRONG> returns the maximum-size con-
- straints for the given menu into the storage addressed by
- <STRONG>rows</STRONG> and <STRONG>cols</STRONG>.
+ The function <STRONG>menu_format</STRONG> returns the maximum-size constraints for the
+ given menu into the storage addressed by <STRONG>rows</STRONG> and <STRONG>cols</STRONG>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_POSTED</STRONG>
The menu is already posted.
@@ -98,36 +90,39 @@
No items are connected to the menu.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+ <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_hook.3x.html b/doc/html/man/menu_hook.3x.html
index 9e10787f57ab..e25ee824a7d8 100644
--- a/doc/html/man/menu_hook.3x.html
+++ b/doc/html/man/menu_hook.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_hook.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_hook.3x,v 1.13 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_hook 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_hook 3x</H1>
-<HR>
+<H1 class="no-header">menu_hook 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_hook</STRONG> - set hooks for automatic invocation by applica-
- tions
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>menu_hook</STRONG> - set hooks for automatic invocation by applications
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_item_init(MENU *menu, Menu_Hook func);
Menu_Hook item_init(const MENU *menu);
@@ -65,74 +62,75 @@
Menu_Hook menu_term(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- These functions make it possible to set hook functions to
- be called at various points in the automatic processing of
- input event codes by <STRONG>menu_driver</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions make it possible to set hook functions to be called at
+ various points in the automatic processing of input event codes by
+ <STRONG>menu_driver</STRONG>.
- The function <STRONG>set_item_init</STRONG> sets a hook to be called at
- menu-post time and each time the selected item changes
- (after the change). <STRONG>item_init</STRONG> returns the current item
- init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_item_init</STRONG> sets a hook to be called at menu-post time
+ and each time the selected item changes (after the change). <STRONG>item_init</STRONG>
+ returns the current item init hook, if any (<STRONG>NULL</STRONG> if there is no such
+ hook).
- The function <STRONG>set_item_term</STRONG> sets a hook to be called at
- menu-unpost time and each time the selected item changes
- (before the change). <STRONG>item_term</STRONG> returns the current item
- term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_item_term</STRONG> sets a hook to be called at menu-unpost time
+ and each time the selected item changes (before the change). <STRONG>item_term</STRONG>
+ returns the current item term hook, if any (<STRONG>NULL</STRONG> if there is no such
+ hook).
- The function <STRONG>set_menu_init</STRONG> sets a hook to be called at
- menu-post time and just after the top row on the menu
- changes once it is posted. <STRONG>menu_init</STRONG> returns the current
- menu init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_menu_init</STRONG> sets a hook to be called at menu-post time
+ and just after the top row on the menu changes once it is posted.
+ <STRONG>menu_init</STRONG> returns the current menu init hook, if any (<STRONG>NULL</STRONG> if there is
+ no such hook).
- The function <STRONG>set_menu_term</STRONG> sets a hook to be called at
- menu-unpost time and just before the top row on the menu
- changes once it is posted. <STRONG>menu_term</STRONG> returns the current
- menu term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <STRONG>set_menu_term</STRONG> sets a hook to be called at menu-unpost time
+ and just before the top row on the menu changes once it is posted.
+ <STRONG>menu_term</STRONG> returns the current menu term hook, if any (<STRONG>NULL</STRONG> if there is
+ no such hook).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Other
- routines return one of the following:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return pointers return <STRONG>NULL</STRONG> on error. Other routines
+ return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+ <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_items.3x.html b/doc/html/man/menu_items.3x.html
index 81b7e8dd6a08..5b6512b62bdf 100644
--- a/doc/html/man/menu_items.3x.html
+++ b/doc/html/man/menu_items.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2010,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,67 +27,60 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_items.3x,v 1.10 2012/11/03 23:03:59 tom Exp @
+ * @Id: menu_items.3x,v 1.13 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_items 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_items 3x</H1>
-<HR>
+<H1 class="no-header">menu_items 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_items</STRONG> - make and break connections between items and
- menus
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_items</STRONG>, <STRONG>menu_items</STRONG>, <STRONG>item_count</STRONG> - make and break connections
+ between items and menus
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_items(MENU *menu, ITEM **items);
ITEM **menu_items(const MENU *menu);
int item_count(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_menu_items</STRONG> changes the item pointer array
- of the given <EM>menu</EM>. The array must be terminated by a
- <STRONG>NULL</STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_menu_items</STRONG> changes the item pointer array of the given
+ <EM>menu</EM>. The array must be terminated by a <STRONG>NULL</STRONG>.
- The function <STRONG>menu_items</STRONG> returns the item array of the
- given menu.
+ The function <STRONG>menu_items</STRONG> returns the item array of the given menu.
- The function <STRONG>item_count</STRONG> returns the count of items in
- <EM>menu</EM>.
+ The function <STRONG>item_count</STRONG> returns the count of items in <EM>menu</EM>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>menu_items</STRONG> returns a pointer (which may be
- <STRONG>NULL</STRONG>). It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>menu_items</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It does
+ not set errno.
- The function <STRONG>item_count</STRONG> returns <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG>
- error return value) if its <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
+ The function <STRONG>item_count</STRONG> returns <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG> error return
+ value) if its <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
- The function <STRONG>set_menu_items</STRONG> returns one of the following
- codes on error:
+ The function <STRONG>set_menu_items</STRONG> returns one of the following codes on
+ error:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_NOT_CONNECTED</STRONG>
No items are connected to the menu.
@@ -97,42 +89,45 @@
The menu is already posted.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
- The SVr4 menu library documentation specifies the
- <STRONG>item_count</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
+ The SVr4 menu library documentation specifies the <STRONG>item_count</STRONG> error
+ value as -1 (which is the value of <STRONG>ERR</STRONG>).
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+ <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_mark.3x.html b/doc/html/man/menu_mark.3x.html
index d7dfefba2631..7e280f72201a 100644
--- a/doc/html/man/menu_mark.3x.html
+++ b/doc/html/man/menu_mark.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,104 +27,100 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_mark.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_mark.3x,v 1.14 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_mark 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_mark 3x</H1>
-<HR>
+<H1 class="no-header">menu_mark 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_mark</STRONG> - get and set the menu mark string
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_mark</STRONG>, <STRONG>menu_mark</STRONG> - get and set the menu mark string
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_mark(MENU *menu, const char *mark);
const char *menu_mark(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- In order to make menu selections visible on older termi-
- nals without highlighting or color capability, the menu
- library marks selected items in a menu with a prefix
- string.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ In order to make menu selections visible on older terminals without
+ highlighting or color capability, the menu library marks selected items
+ in a menu with a prefix string.
- The function <STRONG>set_menu_mark</STRONG> sets the mark string for the
- given menu. Calling <STRONG>set_menu_mark</STRONG> with a null menu item
- will abolish the mark string. Note that changing the
- length of the mark string for a menu while the menu is
- posted is likely to produce unhelpful behavior.
+ The function <STRONG>set_menu_mark</STRONG> sets the mark string for the given menu.
+ Calling <STRONG>set_menu_mark</STRONG> with a null menu item will abolish the mark
+ string. Note that changing the length of the mark string for a menu
+ while the menu is posted is likely to produce unhelpful behavior.
- The default string is "-" (a dash). Calling <STRONG>set_menu_mark</STRONG>
- with a non-<STRONG>NULL</STRONG> menu argument will change this default.
+ The default string is "-" (a dash). Calling <STRONG>set_menu_mark</STRONG> with a non-
+ <STRONG>NULL</STRONG> menu argument will change this default.
- The function <STRONG>menu_mark</STRONG> returns the menu's mark string (or
- <STRONG>NULL</STRONG> if there is none).
+ The function <STRONG>menu_mark</STRONG> returns the menu's mark string (or <STRONG>NULL</STRONG> if there
+ is none).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>menu_mark</STRONG> returns a pointer (which may be
- <STRONG>NULL</STRONG>). It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>menu_mark</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It does
+ not set errno.
- The function <STRONG>set_menu_mark</STRONG> may return the following error
- codes:
+ The function <STRONG>set_menu_mark</STRONG> may return the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+ <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_new.3x.html b/doc/html/man/menu_new.3x.html
index 10f30e775413..9fce52b77ea8 100644
--- a/doc/html/man/menu_new.3x.html
+++ b/doc/html/man/menu_new.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,50 +27,46 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_new.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_new.3x,v 1.14 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_new 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_new 3x</H1>
-<HR>
+<H1 class="no-header">menu_new 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_new</STRONG> - create and destroy menus
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>new_menu</STRONG>, <STRONG>free_menu</STRONG> - create and destroy menus
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
MENU *new_menu(ITEM **items);
int free_menu(MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>new_menu</STRONG> creates a new menu connected to a
- specified item pointer array (which must be <STRONG>NULL</STRONG>-termi-
- nated).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>new_menu</STRONG> creates a new menu connected to a specified item
+ pointer array (which must be <STRONG>NULL</STRONG>-terminated).
- The function <STRONG>free_menu</STRONG> disconnects <EM>menu</EM> from its item
- array and frees the storage allocated for the menu.
+ The function <STRONG>free_menu</STRONG> disconnects <EM>menu</EM> from its item array and frees
+ the storage allocated for the menu.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>new_menu</STRONG> returns <STRONG>NULL</STRONG> on error. It sets
- errno according to the function's failure:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>new_menu</STRONG> returns <STRONG>NULL</STRONG> on error. It sets errno according
+ to the function's failure:
<STRONG>E_NOT_CONNECTED</STRONG>
No items are connected to the menu.
@@ -84,46 +79,48 @@
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_POSTED</STRONG>
The menu has already been posted.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+ <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_opts.3x.html b/doc/html/man/menu_opts.3x.html
index 18557237249c..b777b2655071 100644
--- a/doc/html/man/menu_opts.3x.html
+++ b/doc/html/man/menu_opts.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_opts.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_opts.3x,v 1.16 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_opts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_opts 3x</H1>
-<HR>
+<H1 class="no-header">menu_opts 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_opts</STRONG> - set and get menu options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_opts</STRONG>, <STRONG>menu_opts_on</STRONG>, <STRONG>menu_opts_off</STRONG>, <STRONG>menu_opts</STRONG> - set and get
+ menu options
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_opts(MENU *menu, Menu_Options opts);
int menu_opts_on(MENU *menu, Menu_Options opts);
@@ -60,20 +59,17 @@
Menu_Options menu_opts(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_menu_opts</STRONG> sets all the given menu's
- option bits (menu option bits may be logically-OR'ed
- together).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_menu_opts</STRONG> sets all the given menu's option bits (menu
+ option bits may be logically-OR'ed together).
- The function <STRONG>menu_opts_on</STRONG> turns on the given option bits,
- and leaves others alone.
+ The function <STRONG>menu_opts_on</STRONG> turns on the given option bits, and leaves
+ others alone.
- The function <STRONG>menu_opts_off</STRONG> turns off the given option
- bits, and leaves others alone.
+ The function <STRONG>menu_opts_off</STRONG> turns off the given option bits, and leaves
+ others alone.
- The function <STRONG>menu_opts</STRONG> returns the menu's current option
- bits.
+ The function <STRONG>menu_opts</STRONG> returns the menu's current option bits.
The following options are defined (all are on by default):
@@ -81,8 +77,7 @@
Only one item can be selected for this menu.
O_SHOWDESC
- Display the item descriptions when the menu is
- posted.
+ Display the item descriptions when the menu is posted.
O_ROWMAJOR
Display the menu in row-major order.
@@ -91,58 +86,63 @@
Ignore the case when pattern-matching.
O_SHOWMATCH
- Move the cursor to within the item name while pat-
- tern-matching.
+ Move the cursor to within the item name while pattern-matching.
O_NONCYCLIC
- Don't wrap around next-item and previous-item,
- requests to the other end of the menu.
+ Don't wrap around next-item and previous-item, requests to the
+ other end of the menu.
+ O_MOUSE_MENU
+ If user clicks with the mouse and it does not fall on the cur-
+ rently active menu, push <STRONG>KEY_MOUSE</STRONG> and the <STRONG>MEVENT</STRONG> data back on the
+ queue to allow processing in another part of the calling program.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except for <STRONG>menu_opts</STRONG>, each routine returns one of the fol-
- lowing:
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <STRONG>menu_opts</STRONG>, each routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_POSTED</STRONG>
The menu is already posted.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+ <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_pattern.3x.html b/doc/html/man/menu_pattern.3x.html
index 4a2f09b3396e..8fea22ab80e0 100644
--- a/doc/html/man/menu_pattern.3x.html
+++ b/doc/html/man/menu_pattern.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,71 +26,61 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_pattern.3x,v 1.13 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_pattern.3x,v 1.17 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_pattern 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_pattern 3x</H1>
-<HR>
+<H1 class="no-header">menu_pattern 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_pattern</STRONG> - get and set a menu's pattern buffer
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_pattern</STRONG>, <STRONG>menu_pattern</STRONG> - set and get a menu's pattern buffer
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_pattern(MENU *menu, const char *pattern);
char *menu_pattern(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every menu has an associated pattern match buffer. As
- input events that are printable characters come in, they
- are appended to this match buffer and tested for a match,
- as described in <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every menu has an associated pattern match buffer. As input events
+ that are printable characters come in, they are appended to this match
+ buffer and tested for a match, as described in <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>.
- The function <STRONG>set_menu_pattern</STRONG> sets the pattern buffer for
- the given menu and tries to find the first matching item.
- If it succeeds, that item becomes current; if not, the
- current item does not change.
+ The function <STRONG>set_menu_pattern</STRONG> sets the pattern buffer for the given
+ menu and tries to find the first matching item. If it succeeds, that
+ item becomes current; if not, the current item does not change.
- The function <STRONG>menu_pattern</STRONG> returns the pattern buffer of
- the given <EM>menu</EM>.
+ The function <STRONG>menu_pattern</STRONG> returns the pattern buffer of the given <EM>menu</EM>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>menu_pattern</STRONG> returns a pointer, which is <STRONG>NULL</STRONG>
- if the <EM>menu</EM> parameter is <STRONG>NULL</STRONG>. Otherwise, it is a pointer
- to a string which is empty if no pattern has been set. It
- does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>menu_pattern</STRONG> returns a pointer, which is <STRONG>NULL</STRONG> if the <EM>menu</EM>
+ parameter is <STRONG>NULL</STRONG>. Otherwise, it is a pointer to a string which is
+ empty if no pattern has been set. It does not set errno.
- The function <STRONG>set_menu_pattern</STRONG> may return the following
- error codes:
+ The function <STRONG>set_menu_pattern</STRONG> may return the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NOT_CONNECTED</STRONG>
No items are connected to menu.
@@ -100,39 +89,42 @@
Character failed to match.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+ <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_post.3x.html b/doc/html/man/menu_post.3x.html
index 0a360e2dca4a..92b57e904794 100644
--- a/doc/html/man/menu_post.3x.html
+++ b/doc/html/man/menu_post.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,73 +27,66 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_post.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_post.3x,v 1.17 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_post 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_post 3x</H1>
-<HR>
+<H1 class="no-header">menu_post 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_post</STRONG> - write or erase menus from associated subwin-
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>post_menu</STRONG>, <STRONG>unpost_menu</STRONG> - write or erase menus from associated subwin-
dows
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int post_menu(MENU *menu);
int unpost_menu(MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>post_menu</STRONG> displays a menu to its associated
- subwindow. To trigger physical display of the subwindow,
- use <STRONG>refresh</STRONG> or some equivalent <STRONG>curses</STRONG> routine (the
- implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG> input request
- will do). <STRONG>post_menu</STRONG> resets the selection status of all
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>post_menu</STRONG> displays a menu to its associated subwindow. To
+ trigger physical display of the subwindow, use <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or some
+ equivalent <STRONG>curses</STRONG> routine (the implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG>
+ input request will do). <STRONG>post_menu</STRONG> resets the selection status of all
items.
- The function <STRONG>unpost_menu</STRONG> erases menu from its associated
- subwindow.
+ The function <STRONG>unpost_menu</STRONG> erases menu from its associated subwindow.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_POSTED</STRONG>
The menu has already been posted.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NO_ROOM</STRONG>
- Menu is too large for its window. You should consider
- to use <STRONG>set_menu_format()</STRONG> to solve the problem.
+ Menu is too large for its window. You should consider using
+ <STRONG>set_menu_format</STRONG> to solve the problem.
<STRONG>E_NOT_POSTED</STRONG>
The menu has not been posted.
@@ -103,36 +95,39 @@
No items are connected to the menu.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+ <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_requestname.3x.html b/doc/html/man/menu_requestname.3x.html
index 43c6ef569979..a6cff4cccaa6 100644
--- a/doc/html/man/menu_requestname.3x.html
+++ b/doc/html/man/menu_requestname.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,85 +27,85 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_requestname.3x,v 1.9 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_requestname.3x,v 1.11 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_requestname 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_requestname 3x</H1>
-<HR>
+<H1 class="no-header">menu_requestname 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_requestname</STRONG> - handle printable menu request names
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>menu_request_by_name</STRONG>, <STRONG>menu_request_name</STRONG> - handle printable menu request
+ names
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
const char *menu_request_name(int request);
int menu_request_by_name(const char *name);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>menu_request_name</STRONG> returns the printable name
- of a menu request code.
- The function <STRONG>menu_request_by_name</STRONG> searches in the name-ta-
- ble for a request with the given name and returns its
- request code. Otherwise E_NO_MATCH is returned.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>menu_request_name</STRONG> returns the printable name of a menu
+ request code.
+ The function <STRONG>menu_request_by_name</STRONG> searches in the name-table for a
+ request with the given name and returns its request code. Otherwise
+ E_NO_MATCH is returned.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>menu_request_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets errno to
- <STRONG>E_BAD_ARGUMENT</STRONG>.
- <STRONG>menu_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error. It does
- not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>menu_request_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets errno to <STRONG>E_BAD_ARGU-</STRONG>
+ <STRONG>MENT</STRONG>.
+ <STRONG>menu_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error. It does not set
+ errno.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on them be conditioned using NCURSES_VERSION.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+ <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_spacing.3x.html b/doc/html/man/menu_spacing.3x.html
index 50f3b52b84ee..13e64d8a1df2 100644
--- a/doc/html/man/menu_spacing.3x.html
+++ b/doc/html/man/menu_spacing.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_spacing.3x,v 1.12 2010/12/04 18:38:55 tom Exp @
+ * @Id: menu_spacing.3x,v 1.15 2019/06/01 22:33:45 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_spacing 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_spacing 3x</H1>
-<HR>
+<H1 class="no-header">menu_spacing 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_spacing</STRONG> - Control spacing between menu items.
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_spacing</STRONG>, <STRONG>menu_spacing</STRONG> - set and get spacing between menu
+ items.
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_spacing(MENU *menu,
int spc_description,
@@ -64,66 +63,63 @@
int* spc_columns);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_menu_spacing</STRONG> sets the spacing information
- for the menu. Its parameter <STRONG>spc_description</STRONG> controls the
- number of spaces between an item name and an item descrip-
- tion. It must not be larger than <STRONG>TABSIZE</STRONG>. The menu sys-
- tem puts in the middle of this spacing area the pad char-
- acter. The remaining parts are filled with spaces. The
- <STRONG>spc_rows</STRONG> parameter controls the number of rows that are
- used for an item. It must not be larger than 3. The menu
- system inserts the blank lines between item rows, these
- lines will contain the pad character in the appropriate
- positions. The <STRONG>spc_columns</STRONG> parameter controls the number
- of blanks between columns of items. It must not be larger
- than TABSIZE. A value of 0 for all the spacing values
- resets them to the default, which is 1 for all of them.
- The function <STRONG>menu_spacing</STRONG> passes back the spacing info for
- the menu. If a pointer is NULL, this specific info is
- simply not returned.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_menu_spacing</STRONG> sets the spacing information for the
+ menu. Its parameter <STRONG>spc_description</STRONG> controls the number of spaces
+ between an item name and an item description. It must not be larger
+ than <STRONG>TABSIZE</STRONG>. The menu system puts in the middle of this spacing area
+ the pad character. The remaining parts are filled with spaces. The
+ <STRONG>spc_rows</STRONG> parameter controls the number of rows that are used for an
+ item. It must not be larger than 3. The menu system inserts the blank
+ lines between item rows, these lines will contain the pad character in
+ the appropriate positions. The <STRONG>spc_columns</STRONG> parameter controls the num-
+ ber of blanks between columns of items. It must not be larger than
+ <STRONG>TABSIZE</STRONG>. A value of 0 for all the spacing values resets them to the
+ default, which is 1 for all of them.
+ The function <STRONG>menu_spacing</STRONG> passes back the spacing info for the menu.
+ If a pointer is NULL, this specific info is simply not returned.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Both routines return <STRONG>E_OK</STRONG> on success. <STRONG>set_menu_spacing</STRONG>
- may return <STRONG>E_POSTED</STRONG> if the menu is posted, or <STRONG>E_BAD_ARGU-</STRONG>
- <STRONG>MENT</STRONG> if one of the spacing values is out of range.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Both routines return <STRONG>E_OK</STRONG> on success. <STRONG>set_menu_spacing</STRONG> may return
+ <STRONG>E_POSTED</STRONG> if the menu is posted, or <STRONG>E_BAD_ARGUMENT</STRONG> if one of the spacing
+ values is out of range.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines are specific to ncurses. They were not
- supported on Version 7, BSD or System V implementations.
- It is recommended that any code depending on them be con-
- ditioned using NCURSES_VERSION.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on them be conditioned using NCURSES_VERSION.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+ <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_userptr.3x.html b/doc/html/man/menu_userptr.3x.html
index 816c3f895693..d50ad455b97e 100644
--- a/doc/html/man/menu_userptr.3x.html
+++ b/doc/html/man/menu_userptr.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,85 +27,85 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_userptr.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+ * @Id: menu_userptr.3x,v 1.12 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_userptr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_userptr 3x</H1>
-<HR>
+<H1 class="no-header">menu_userptr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_userptr</STRONG> - associate application data with a menu item
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_menu_userptr</STRONG>, <STRONG>menu_userptr</STRONG> - associate application data with a menu
+ item
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_userptr(MENU *menu, void *userptr);
void *menu_userptr(const MENU *menu);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every menu and every menu item has a field that can be
- used to hold application-specific data (that is, the menu-
- driver code leaves it alone). These functions get and set
- the menu user pointer field.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every menu and every menu item has a field that can be used to hold
+ application-specific data (that is, the menu-driver code leaves it
+ alone). These functions get and set the menu user pointer field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>menu_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
- does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>menu_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It does not set
+ errno.
<STRONG>set_menu_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
- The user pointer is a void pointer. We chose not to leave
- it as a char pointer for SVr4 compatibility.
+ The user pointer is a void pointer. We chose not to leave it as a char
+ pointer for SVr4 compatibility.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+ <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/menu_win.3x.html b/doc/html/man/menu_win.3x.html
index db62b23c3d24..70778b9dd8e7 100644
--- a/doc/html/man/menu_win.3x.html
+++ b/doc/html/man/menu_win.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,30 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: menu_win.3x,v 1.11 2010/12/04 18:38:55 tom Exp @
+ * @Id: menu_win.3x,v 1.13 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>menu_win 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>menu_win 3x</H1>
-<HR>
+<H1 class="no-header">menu_win 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>menu_win</STRONG> - make and break menu window and subwindow asso-
- ciations
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>menu_win</STRONG> - make and break menu window and subwindow associations
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_menu_win(MENU *menu, WINDOW *win);
WINDOW *menu_win(const MENU *menu);
@@ -62,40 +59,35 @@
int scale_menu(const MENU *menu, int *rows, int *columns);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every menu has an associated pair of <STRONG>curses</STRONG> windows. The
- menu window displays any title and border associated with
- the window; the menu subwindow displays the items of the
- menu that are currently available for selection.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every menu has an associated pair of <STRONG>curses</STRONG> windows. The menu window
+ displays any title and border associated with the window; the menu sub-
+ window displays the items of the menu that are currently available for
+ selection.
- The first four functions get and set those windows. It is
- not necessary to set either window; by default, the driver
- code uses <STRONG>stdscr</STRONG> for both.
+ The first four functions get and set those windows. It is not neces-
+ sary to set either window; by default, the driver code uses <STRONG>stdscr</STRONG> for
+ both.
- In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated
- as though it were <STRONG>stsdcr</STRONG>. A menu argument of <STRONG>NULL</STRONG> is
- treated as a request to change the system default menu
- window or subwindow.
+ In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated as though it
+ were <STRONG>stsdcr</STRONG>. A menu argument of <STRONG>NULL</STRONG> is treated as a request to change
+ the system default menu window or subwindow.
- The function <STRONG>scale_menu</STRONG> returns the minimum size required
- for the subwindow of <EM>menu</EM>.
+ The function <STRONG>scale_menu</STRONG> returns the minimum size required for the sub-
+ window of <EM>menu</EM>.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Rou-
- tines that return an integer return one of the following
- error codes:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return pointers return <STRONG>NULL</STRONG> on error. Routines that
+ return an integer return one of the following error codes:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_POSTED</STRONG>
The menu has already been posted.
@@ -104,36 +96,39 @@
No items are connected to the menu.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+ <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_current.3x.html b/doc/html/man/mitem_current.3x.html
index 964aa9d7cf8d..3f62802197ec 100644
--- a/doc/html/man/mitem_current.3x.html
+++ b/doc/html/man/mitem_current.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,119 +27,113 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_current.3x,v 1.13 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_current.3x,v 1.16 2019/03/23 21:47:36 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_current 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_current 3x</H1>
-<HR>
+<H1 class="no-header">mitem_current 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>mitem_current</STRONG> - set and get current_menu_item
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
- int set_current_item(MENU *menu, const ITEM *item);
+ int set_current_item(MENU *menu, ITEM *item);
ITEM *current_item(const MENU *menu);
int set_top_row(MENU *menu, int row);
int top_row(const MENU *menu);
int item_index(const ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_current_item</STRONG> sets the current item (the
- item on which the menu cursor is positioned). <STRONG>cur-</STRONG>
- <STRONG>rent_item</STRONG> returns a pointer to the current item in the
- given menu.
-
- The function <STRONG>set_top_row</STRONG> sets the top row of the menu to
- show the given row (the top row is initially 0, and is
- reset to this value whenever the <STRONG>O_ROWMAJOR</STRONG> option is tog-
- gled). The item leftmost on the given row becomes cur-
- rent. The function <STRONG>top_row</STRONG> returns the number of the top
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_current_item</STRONG> sets the current item (the item on which
+ the menu cursor is positioned). <STRONG>current_item</STRONG> returns a pointer to the
+ current item in the given menu.
+
+ The function <STRONG>set_top_row</STRONG> sets the top row of the menu to show the given
+ row (the top row is initially 0, and is reset to this value whenever
+ the <STRONG>O_ROWMAJOR</STRONG> option is toggled). The item leftmost on the given row
+ becomes current. The function <STRONG>top_row</STRONG> returns the number of the top
menu row being displayed.
- The function <STRONG>item_index</STRONG> returns the (zero-origin) index of
- <EM>item</EM> in the menu's item pointer list.
+ The function <STRONG>item_index</STRONG> returns the (zero-origin) index of <EM>item</EM> in the
+ menu's item pointer list.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- <STRONG>current_item</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
- does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ <STRONG>current_item</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It does not set
+ errno.
- <STRONG>top_row</STRONG> and <STRONG>item_index</STRONG> return <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG>
- error value) if their <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
+ <STRONG>top_row</STRONG> and <STRONG>item_index</STRONG> return <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG> error value) if
+ their <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
- <STRONG>set_current_item</STRONG> and <STRONG>set_top_row</STRONG> return one of the follow-
- ing:
+ <STRONG>set_current_item</STRONG> and <STRONG>set_top_row</STRONG> return one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_BAD_STATE</STRONG>
- Routine was called from an initialization or termina-
- tion function.
+ Routine was called from an initialization or termination function.
<STRONG>E_NOT_CONNECTED</STRONG>
No items are connected to the menu.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
- The SVr4 menu library documentation specifies the <STRONG>top_row</STRONG>
- and <STRONG>index_item</STRONG> error value as -1 (which is the value of
- <STRONG>ERR</STRONG>).
+ The SVr4 menu library documentation specifies the <STRONG>top_row</STRONG> and
+ <STRONG>index_item</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_name.3x.html b/doc/html/man/mitem_name.3x.html
index 2f8a9e8b1f7d..66699db46bb4 100644
--- a/doc/html/man/mitem_name.3x.html
+++ b/doc/html/man/mitem_name.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,80 +27,79 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_name.3x,v 1.8 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_name.3x,v 1.10 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_name 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_name 3x</H1>
-<HR>
+<H1 class="no-header">mitem_name 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>mitem_name</STRONG> - get menu item name and description fields
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>item_name</STRONG>, <STRONG>item_description</STRONG> - get menu item name and description fields
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
const char *item_name(const ITEM *item);
const char *item_description(const ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>item_name</STRONG> returns the name part of the given
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>item_name</STRONG> returns the name part of the given item.
+ The function <STRONG>item_description</STRONG> returns the description part of the given
item.
- The function <STRONG>item_description</STRONG> returns the description part
- of the given item.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- These routines return a pointer (which may be <STRONG>NULL</STRONG>). They
- do not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These routines return a pointer (which may be <STRONG>NULL</STRONG>). They do not set
+ errno.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_new.3x.html b/doc/html/man/mitem_new.3x.html
index 927c3d075e48..63d28a77604d 100644
--- a/doc/html/man/mitem_new.3x.html
+++ b/doc/html/man/mitem_new.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,58 +27,52 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_new.3x,v 1.12 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_new.3x,v 1.15 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_new 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_new 3x</H1>
-<HR>
+<H1 class="no-header">mitem_new 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>mitem_new</STRONG> - create and destroy menu items
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>new_item</STRONG>, <STRONG>free_item</STRONG> - create and destroy menu items
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
ITEM *new_item(const char *name, const char *description);
int free_item(ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>new_item</STRONG> allocates a new item and initializes
- it from the <STRONG>name</STRONG> and <STRONG>description</STRONG> pointers. Please notice
- that the item stores only the pointers to the name and
- description. Those pointers must be valid during the life-
- time of the item. So you should be very careful with names
- or descriptions allocated on the stack of some routines.
- The function <STRONG>free_item</STRONG> de-allocates an item. Please notice
- that it is the responsibility of the application to
- release the memory for the name or the description of the
- item.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>new_item</STRONG> allocates a new item and initializes it from the
+ <STRONG>name</STRONG> and <STRONG>description</STRONG> pointers. Please notice that the item stores only
+ the pointers to the name and description. Those pointers must be valid
+ during the lifetime of the item. So you should be very careful with
+ names or descriptions allocated on the stack of some routines.
+ The function <STRONG>free_item</STRONG> de-allocates an item. Please notice that it is
+ the responsibility of the application to release the memory for the
+ name or the description of the item.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>new_item</STRONG> returns <STRONG>NULL</STRONG> on error. It sets
- errno according to the function's failure:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>new_item</STRONG> returns <STRONG>NULL</STRONG> on error. It sets errno according
+ to the function's failure:
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_SYSTEM_ERROR</STRONG>
System error occurred, e.g., malloc failure.
@@ -89,46 +82,48 @@
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_BAD_ARGUMENT</STRONG>
- Routine detected an incorrect or out-of-range argu-
- ment.
+ Routine detected an incorrect or out-of-range argument.
<STRONG>E_CONNECTED</STRONG>
Item is connected to a menu.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_opts.3x.html b/doc/html/man/mitem_opts.3x.html
index bd7b3ff666d5..ba565d277d5f 100644
--- a/doc/html/man/mitem_opts.3x.html
+++ b/doc/html/man/mitem_opts.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,31 +27,31 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_opts.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_opts.3x,v 1.14 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_opts 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_opts 3x</H1>
-<HR>
+<H1 class="no-header">mitem_opts 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>mitem_opts</STRONG> - set and get menu item options
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_item_opts</STRONG>, <STRONG>item_opts_on</STRONG>, <STRONG>item_opts_off</STRONG>, <STRONG>item_opts</STRONG> - set and get
+ menu item options
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_item_opts(ITEM *item, Item_Options opts);
int item_opts_on(ITEM *item, Item_Options opts);
@@ -60,67 +59,65 @@
Item_Options item_opts(const ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The function <STRONG>set_item_opts</STRONG> sets all the given item's
- option bits (menu option bits may be logically-OR'ed
- together).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The function <STRONG>set_item_opts</STRONG> sets all the given item's option bits (menu
+ option bits may be logically-OR'ed together).
- The function <STRONG>item_opts_on</STRONG> turns on the given option bits,
- and leaves others alone.
+ The function <STRONG>item_opts_on</STRONG> turns on the given option bits, and leaves
+ others alone.
- The function <STRONG>item_opts_off</STRONG> turns off the given option
- bits, and leaves others alone.
+ The function <STRONG>item_opts_off</STRONG> turns off the given option bits, and leaves
+ others alone.
- The function <STRONG>item_opts</STRONG> returns the item's current option
- bits.
+ The function <STRONG>item_opts</STRONG> returns the item's current option bits.
- There is only one defined option bit mask, <STRONG>O_SELECTABLE</STRONG>.
- When this is on, the item may be selected during menu pro-
- cessing. This option defaults to on.
+ There is only one defined option bit mask, <STRONG>O_SELECTABLE</STRONG>. When this is
+ on, the item may be selected during menu processing. This option
+ defaults to on.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except for <STRONG>item_opts</STRONG>, each routine returns one of the fol-
- lowing:
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except for <STRONG>item_opts</STRONG>, each routine returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_userptr.3x.html b/doc/html/man/mitem_userptr.3x.html
index 92d368105154..905f559311ec 100644
--- a/doc/html/man/mitem_userptr.3x.html
+++ b/doc/html/man/mitem_userptr.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,85 +27,85 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_userptr.3x,v 1.11 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_userptr.3x,v 1.13 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_userptr 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_userptr 3x</H1>
-<HR>
+<H1 class="no-header">mitem_userptr 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>mitem_userptr</STRONG> - associate application data with a menu
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_item_userptr</STRONG>, <STRONG>item_userptr</STRONG> - associate application data with a menu
item
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_item_userptr(ITEM *item, void *userptr);
void *item_userptr(const ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Every menu item has a field that can be used to hold
- application-specific data (that is, the menu-driver code
- leaves it alone). These functions get and set that field.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Every menu item has a field that can be used to hold application-spe-
+ cific data (that is, the menu-driver code leaves it alone). These
+ functions get and set that field.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function <STRONG>item_userptr</STRONG> returns a pointer (possibly
- <STRONG>NULL</STRONG>). It does not set errno.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function <STRONG>item_userptr</STRONG> returns a pointer (possibly <STRONG>NULL</STRONG>). It does
+ not set errno.
The <STRONG>set_item_userptr</STRONG> always returns <STRONG>E_OK</STRONG> (success).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
- The user pointer is a void pointer. We chose not to leave
- it as a char pointer for SVr4 compatibility.
+ The user pointer is a void pointer. We chose not to leave it as a char
+ pointer for SVr4 compatibility.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_value.3x.html b/doc/html/man/mitem_value.3x.html
index 7dfc5839111d..256404b42158 100644
--- a/doc/html/man/mitem_value.3x.html
+++ b/doc/html/man/mitem_value.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,91 +26,90 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_value.3x,v 1.10 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_value.3x,v 1.13 2019/01/20 20:32:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_value 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_value 3x</H1>
-<HR>
+<H1 class="no-header">mitem_value 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>mitem_value</STRONG> - set and get menu item values
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>set_item_value</STRONG>, <STRONG>item_value</STRONG> - set and get menu item values
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
int set_item_value(ITEM *item, bool value);
bool item_value(const ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- If you turn off the menu option <STRONG>O_ONEVALUE</STRONG> (e.g., with
- <STRONG>set_menu_opts</STRONG> or <STRONG>menu_opts_off</STRONG>; see <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>), the
- menu becomes multi-valued; that is, more than one item may
- simultaneously be selected.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ If you turn off the menu option <STRONG>O_ONEVALUE</STRONG> (e.g., with <STRONG>set_menu_opts</STRONG> or
+ <STRONG>menu_opts_off</STRONG>; see <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>), the menu becomes multi-valued; that
+ is, more than one item may simultaneously be selected.
- In a multi_valued menu, you can used <STRONG>set_item_value</STRONG> to
- select the given menu item (second argument <STRONG>TRUE</STRONG>) or dese-
- lect it (second argument <STRONG>FALSE</STRONG>).
+ In a multi_valued menu, you can used <STRONG>set_item_value</STRONG> to select the given
+ menu item (second argument <STRONG>TRUE</STRONG>) or deselect it (second argument
+ <STRONG>FALSE</STRONG>).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
The function <STRONG>set_item_value</STRONG> returns one of the following:
<STRONG>E_OK</STRONG> The routine succeeded.
<STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno</STRONG>).
+ System error occurred (see <STRONG>errno(3)</STRONG>).
<STRONG>E_REQUEST_DENIED</STRONG>
The menu driver could not process the request.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/mitem_visible.3x.html b/doc/html/man/mitem_visible.3x.html
index 521be28c41d4..425e06a46558 100644
--- a/doc/html/man/mitem_visible.3x.html
+++ b/doc/html/man/mitem_visible.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,73 +27,72 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: mitem_visible.3x,v 1.7 2010/12/04 18:40:45 tom Exp @
+ * @Id: mitem_visible.3x,v 1.8 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>mitem_visible 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>mitem_visible 3x</H1>
-<HR>
+<H1 class="no-header">mitem_visible 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>mitem_visible</STRONG> - check visibility of a menu item
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
bool item_visible(const ITEM *item);
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- A menu item is visible when it is in the portion of a
- posted menu that is mapped onto the screen (if the menu is
- scrollable, in particular, this portion will be smaller
- than the whole menu).
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ A menu item is visible when it is in the portion of a posted menu that
+ is mapped onto the screen (if the menu is scrollable, in particular,
+ this portion will be smaller than the whole menu).
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header
- file <STRONG>&lt;curses.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;menu.h&gt;</STRONG> automatically includes the header file
+ <STRONG>&lt;curses.h&gt;</STRONG>.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- These routines emulate the System V menu library. They
- were not supported on Version 7 or BSD versions.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines emulate the System V menu library. They were not sup-
+ ported on Version 7 or BSD versions.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Juergen Pfeifer. Manual pages and adaptation for new
- curses by Eric S. Raymond.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S.
+ Raymond.
- <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+ <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html
index 57ca23abd60f..2a36e050e22e 100644
--- a/doc/html/man/ncurses.3x.html
+++ b/doc/html/man/ncurses.3x.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,1134 +27,1178 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: ncurses.3x,v 1.112 2013/07/20 19:29:59 tom Exp @
+ * @Id: ncurses.3x,v 1.143 2019/11/30 20:47:07 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>ncurses 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>ncurses 3x</H1>
-<HR>
+<H1 class="no-header">ncurses 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>ncurses</STRONG> - CRT screen handling and optimization package
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>ncurses</STRONG> library routines give the user a terminal-
- independent method of updating character screens with rea-
- sonable optimization. This implementation is "new curses"
- (ncurses) and is the approved replacement for 4.4BSD clas-
- sic curses, which has been discontinued. This describes
- <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
-
- The <STRONG>ncurses</STRONG> library emulates the curses library of System
- V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
- curses (also known as XSI curses). XSI stands for X/Open
- System Interfaces Extension. The <STRONG>ncurses</STRONG> library is
- freely redistributable in source form. Differences from
- the SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG> and
- <STRONG>PORTABILITY</STRONG> sections below and described in detail in the
- respective <STRONG>EXTENSIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections of
- individual man pages.
-
- The <STRONG>ncurses</STRONG> library also provides many useful extensions,
- i.e., features which cannot be implemented by a simple
- add-on library but which require access to the internals
- of the library.
-
- A program using these routines must be linked with the
- <STRONG>-lncurses</STRONG> option, or (if it has been generated) with the
- debugging library <STRONG>-lncurses_g</STRONG>. (Your system integrator
- may also have installed these libraries under the names
- <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>.) The ncurses_g library generates
- trace logs (in a file called 'trace' in the current direc-
- tory) that describe curses actions. See also the section
- on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
-
- The <STRONG>ncurses</STRONG> package supports: overall screen, window and
- pad manipulation; output to windows and pads; reading ter-
- minal input; control over terminal and <STRONG>curses</STRONG> input and
- output options; environment query routines; color manipu-
- lation; use of soft label keys; terminfo capabilities; and
- access to low-level terminal-manipulation routines.
-
- The library uses the locale which the calling program has
- initialized. That is normally done with <STRONG>setlocale</STRONG>:
-
- <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
-
- If the locale is not initialized, the library assumes that
- characters are printable as in ISO-8859-1, to work with
- certain legacy programs. You should initialize the locale
- and not rely on specific details of the library when the
- locale has not been setup.
-
- The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to initial-
- ize the library before any of the other routines that deal
- with windows and screens are used. The routine <STRONG>endwin</STRONG>
- must be called before exiting.
-
- To get character-at-a-time input without echoing (most
- interactive, screen oriented programs want this), the fol-
- lowing sequence should be used:
-
- <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>ncurses</STRONG> library routines give the user a terminal-independent
+ method of updating character screens with reasonable optimization.
+ This implementation is "new curses" (ncurses) and is the approved
+ replacement for 4.4BSD classic curses, which has been discontinued.
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
+
+ The <STRONG>ncurses</STRONG> library emulates the curses library of System V Release 4
+ UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI
+ curses). XSI stands for X/Open System Interfaces Extension. The
+ <STRONG>ncurses</STRONG> library is freely redistributable in source form. Differences
+ from the SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG> and <STRONG>PORTABIL-</STRONG>
+ <STRONG>ITY</STRONG> sections below and described in detail in the respective <STRONG>EXTEN-</STRONG>
+ <STRONG>SIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections of individual man pages.
+
+ The <STRONG>ncurses</STRONG> library also provides many useful extensions, i.e., fea-
+ tures which cannot be implemented by a simple add-on library but which
+ require access to the internals of the library.
+
+ A program using these routines must be linked with the <STRONG>-lncurses</STRONG>
+ option, or (if it has been generated) with the debugging library
+ <STRONG>-lncurses_g</STRONG>. (Your system integrator may also have installed these
+ libraries under the names <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>.) The ncurses_g
+ library generates trace logs (in a file called 'trace' in the current
+ directory) that describe curses actions. See also the section on
+ <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
+
+ The <STRONG>ncurses</STRONG> package supports: overall screen, window and pad manipula-
+ tion; output to windows and pads; reading terminal input; control over
+ terminal and <STRONG>curses</STRONG> input and output options; environment query rou-
+ tines; color manipulation; use of soft label keys; terminfo capabili-
+ ties; and access to low-level terminal-manipulation routines.
+
+
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+ The library uses the locale which the calling program has initialized.
+ That is normally done with <STRONG>setlocale</STRONG>:
+
+ <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
+
+ If the locale is not initialized, the library assumes that characters
+ are printable as in ISO-8859-1, to work with certain legacy programs.
+ You should initialize the locale and not rely on specific details of
+ the library when the locale has not been setup.
+
+ The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to initialize the
+ library before any of the other routines that deal with windows and
+ screens are used. The routine <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> must be called before exit-
+ ing.
+
+ To get character-at-a-time input without echoing (most interactive,
+ screen oriented programs want this), the following sequence should be
+ used:
+
+ <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
Most programs would additionally use the sequence:
- <STRONG>nonl();</STRONG>
- <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
- <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
+ <STRONG>nonl();</STRONG>
+ <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
+ <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
- Before a <STRONG>curses</STRONG> program is run, the tab stops of the ter-
- minal should be set and its initialization strings, if
- defined, must be output. This can be done by executing
- the <STRONG>tput</STRONG> <STRONG>init</STRONG> command after the shell environment variable
- <STRONG>TERM</STRONG> has been exported. <STRONG>tset(1)</STRONG> is usually responsible
+ Before a <STRONG>curses</STRONG> program is run, the tab stops of the terminal should be
+ set and its initialization strings, if defined, must be output. This
+ can be done by executing the <STRONG>tput</STRONG> <STRONG>init</STRONG> command after the shell environ-
+ ment variable <STRONG>TERM</STRONG> has been exported. <STRONG>tset(1)</STRONG> is usually responsible
for doing this. [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.]
- The <STRONG>ncurses</STRONG> library permits manipulation of data struc-
- tures, called <EM>windows</EM>, which can be thought of as two-
- dimensional arrays of characters representing all or part
- of a CRT screen. A default window called <STRONG>stdscr</STRONG>, which is
- the size of the terminal screen, is supplied. Others may
- be created with <STRONG>newwin</STRONG>.
-
- Note that <STRONG>curses</STRONG> does not handle overlapping windows,
- that's done by the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library. This means that you
- can either use <STRONG>stdscr</STRONG> or divide the screen into tiled win-
- dows and not using <STRONG>stdscr</STRONG> at all. Mixing the two will
- result in unpredictable, and undesired, effects.
-
- Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>.
- These data structures are manipulated with routines
- described here and elsewhere in the <STRONG>ncurses</STRONG> manual pages.
- Among those, the most basic routines are <STRONG>move</STRONG> and <STRONG>addch</STRONG>.
- More general versions of these routines are included with
- names beginning with <STRONG>w</STRONG>, allowing the user to specify a
- window. The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
-
- After using routines to manipulate a window, <STRONG>refresh</STRONG> is
- called, telling <STRONG>curses</STRONG> to make the user's CRT screen look
- like <STRONG>stdscr</STRONG>. The characters in a window are actually of
- type <STRONG>chtype</STRONG>, (character and attribute data) so that other
- information about the character may also be stored with
- each character.
-
- Special windows called <EM>pads</EM> may also be manipulated.
- These are windows which are not constrained to the size of
- the screen and whose contents need not be completely dis-
- played. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more information.
-
- In addition to drawing characters on the screen, video
- attributes and colors may be supported, causing the char-
- acters to show up in such modes as underlined, in reverse
- video, or in color on terminals that support such display
- enhancements. Line drawing characters may be specified to
- be output. On input, <STRONG>curses</STRONG> is also able to translate
- arrow and function keys that transmit escape sequences
- into single values. The video attributes, line drawing
- characters, and input values use names, defined in
- <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and <STRONG>KEY_LEFT</STRONG>.
-
- If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
- if the program is executing in a window environment, line
- and column information in the environment will override
- information read by <EM>terminfo</EM>. This would affect a program
- running in an AT&amp;T 630 layer, for example, where the size
- of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
-
- If the environment variable <STRONG>TERMINFO</STRONG> is defined, any pro-
- gram using <STRONG>curses</STRONG> checks for a local terminal definition
- before checking in the standard place. For example, if
- <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the compiled terminal defini-
- tion is found in
-
- <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
-
- (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid
- creation of huge directories.) However, if <STRONG>TERMINFO</STRONG> is
- set to <STRONG>$HOME/myterms</STRONG>, <STRONG>curses</STRONG> first checks
-
- <STRONG>$HOME/myterms/a/att4424</STRONG>,
+
+</PRE><H3><a name="h3-Datatypes">Datatypes</a></H3><PRE>
+ The <STRONG>ncurses</STRONG> library permits manipulation of data structures, called
+ <EM>windows</EM>, which can be thought of as two-dimensional arrays of charac-
+ ters representing all or part of a CRT screen. A default window called
+ <STRONG>stdscr</STRONG>, which is the size of the terminal screen, is supplied. Others
+ may be created with <STRONG>newwin</STRONG>.
+
+ Note that <STRONG>curses</STRONG> does not handle overlapping windows, that's done by
+ the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library. This means that you can either use <STRONG>stdscr</STRONG> or
+ divide the screen into tiled windows and not using <STRONG>stdscr</STRONG> at all. Mix-
+ ing the two will result in unpredictable, and undesired, effects.
+
+ Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>. These data
+ structures are manipulated with routines described here and elsewhere
+ in the <STRONG>ncurses</STRONG> manual pages. Among those, the most basic routines are
+ <STRONG>move</STRONG> and <STRONG>addch</STRONG>. More general versions of these routines are included
+ with names beginning with <STRONG>w</STRONG>, allowing the user to specify a window.
+ The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
+
+ After using routines to manipulate a window, <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called,
+ telling <STRONG>curses</STRONG> to make the user's CRT screen look like <STRONG>stdscr</STRONG>. The
+ characters in a window are actually of type <STRONG>chtype</STRONG>, (character and
+ attribute data) so that other information about the character may also
+ be stored with each character.
+
+ Special windows called <EM>pads</EM> may also be manipulated. These are windows
+ which are not constrained to the size of the screen and whose contents
+ need not be completely displayed. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more informa-
+ tion.
+
+ In addition to drawing characters on the screen, video attributes and
+ colors may be supported, causing the characters to show up in such
+ modes as underlined, in reverse video, or in color on terminals that
+ support such display enhancements. Line drawing characters may be
+ specified to be output. On input, <STRONG>curses</STRONG> is also able to translate
+ arrow and function keys that transmit escape sequences into single val-
+ ues. The video attributes, line drawing characters, and input values
+ use names, defined in <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>, and
+ <STRONG>KEY_LEFT</STRONG>.
+
+
+</PRE><H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE>
+ If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or if the pro-
+ gram is executing in a window environment, line and column information
+ in the environment will override information read by <EM>terminfo</EM>. This
+ would affect a program running in an AT&amp;T 630 layer, for example, where
+ the size of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
+
+ If the environment variable <STRONG>TERMINFO</STRONG> is defined, any program using
+ <STRONG>curses</STRONG> checks for a local terminal definition before checking in the
+ standard place. For example, if <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the com-
+ piled terminal definition is found in
+
+ <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+
+ (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid creation of
+ huge directories.) However, if <STRONG>TERMINFO</STRONG> is set to <STRONG>$HOME/myterms</STRONG>,
+ <STRONG>curses</STRONG> first checks
+
+ <STRONG>$HOME/myterms/a/att4424</STRONG>,
and if that fails, it then checks
- <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
-
- This is useful for developing experimental definitions or
- when write permission in <STRONG>/usr/share/terminfo</STRONG> is not avail-
- able.
-
- The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in
- <STRONG>&lt;curses.h&gt;</STRONG> and will be filled in by <STRONG>initscr</STRONG> with the size
- of the screen. The constants <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the val-
- ues <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
-
- The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable
- <STRONG>curscr</STRONG> which is used for certain low-level operations like
- clearing and redrawing a screen containing garbage. The
- <STRONG>curscr</STRONG> can be used in only a few routines.
-
- <STRONG>Routine</STRONG> <STRONG>and</STRONG> <STRONG>Argument</STRONG> <STRONG>Names</STRONG>
- Many <STRONG>curses</STRONG> routines have two or more versions. The rou-
- tines prefixed with <STRONG>w</STRONG> require a window argument. The rou-
- tines prefixed with <STRONG>p</STRONG> require a pad argument. Those with-
- out a prefix generally use <STRONG>stdscr</STRONG>.
-
- The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate
- to move to before performing the appropriate action. The
- <STRONG>mv</STRONG> routines imply a call to <STRONG>move</STRONG> before the call to the
- other routine. The coordinate <EM>y</EM> always refers to the row
- (of the window), and <EM>x</EM> always refers to the column. The
- upper left-hand corner is always (0,0), not (1,1).
-
- The routines prefixed with <STRONG>mvw</STRONG> take both a window argument
- and <EM>x</EM> and <EM>y</EM> coordinates. The window argument is always
- specified before the coordinates.
-
- In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the
- pad affected; <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WIN-</STRONG>
- <STRONG>DOW</STRONG>.
-
- Option setting routines require a Boolean flag <EM>bf</EM> with the
- value <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of
- the data types used in the library routines, such as <STRONG>WIN-</STRONG>
- <STRONG>DOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG>.
- Types used for the terminfo routines such as <STRONG>TERMINAL</STRONG> are
- defined in <STRONG>&lt;term.h&gt;</STRONG>.
-
- This manual page describes functions which may appear in
- any configuration of the library. There are two common
- configurations of the library:
-
- ncurses
- the "normal" library, which handles 8-bit
- characters. The normal (8-bit) library stores
- characters combined with attributes in <STRONG>chtype</STRONG>
- data.
-
- Attributes alone (no corresponding character)
- may be stored in <STRONG>chtype</STRONG> or the equivalent
- <STRONG>attr_t</STRONG> data. In either case, the data is
- stored in something like an integer.
-
- Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
- stored as a <STRONG>chtype</STRONG>.
-
- ncursesw
- the so-called "wide" library, which handles
- multibyte characters (see the section on
- <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>). The "wide" library
- includes all of the calls from the "normal"
- library. It adds about one third more calls
- using data types which store multibyte charac-
- ters:
-
- <STRONG>cchar_t</STRONG>
- corresponds to <STRONG>chtype</STRONG>. However it is a
- structure, because more data is stored
- than can fit into an integer. The char-
- acters are large enough to require a full
- integer value - and there may be more
- than one character per cell. The video
- attributes and color are stored in sepa-
- rate fields of the structure.
-
- Each cell (row and column) in a <STRONG>WINDOW</STRONG> is
- stored as a <STRONG>cchar_t</STRONG>.
-
- <STRONG>wchar_t</STRONG>
- stores a "wide" character. Like <STRONG>chtype</STRONG>,
- this may be an integer.
-
- <STRONG>wint_t</STRONG>
- stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same,
- though both may have the same size.
-
- The "wide" library provides new functions
- which are analogous to functions in the "nor-
- mal" library. There is a naming convention
- which relates many of the normal/wide vari-
- ants: a "_w" is inserted into the name. For
- example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
-
- <STRONG>Routine</STRONG> <STRONG>Name</STRONG> <STRONG>Index</STRONG>
- The following table lists each <STRONG>curses</STRONG> routine and the name
- of the manual page on which it is described. Routines
- flagged with `*' are ncurses-specific, not described by
- XPG4 or present in SVr4.
-
- <STRONG>curses</STRONG> Routine Name Manual Page Name
- --------------------------------------------
- COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- PAIR_NUMBER <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- _nc_free_and_exit <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
- _nc_freeall <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
- _nc_tracebits <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
-
- _traceattr <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _traceattr2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _tracechar <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _tracechtype <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _tracechtype2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _tracedump <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _tracef <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- _tracemouse <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- add_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- add_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- add_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- addch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- addchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- addchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- addnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- addnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- addstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- addwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- assume_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
- attr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- baudrate <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- beep <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
- bkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- bkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- bkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- bkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- border <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- border_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- box <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- box_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- can_change_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- cbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- chgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- clear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- clearok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- clrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- clrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- color_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- copywin <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
- curs_set <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- curses_version <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
- def_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- def_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- define_key <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
- del_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- delay_output <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- delch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
- deleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- delscreen <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- delwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- derwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- doupdate <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- dupwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-
- erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- flash <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
- flushinp <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- get_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- get_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- getattrs <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- getbegx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getbegy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getbegyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
- getbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- getbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- getcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
- getch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- getcurx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getcury <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getmaxx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getmaxy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getmaxyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
- getmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- getn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- getnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- getparx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getpary <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getparyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
- getstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- getsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- getwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- getyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
- halfdelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- has_colors <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- has_ic <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- has_il <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- has_key <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
- hline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- hline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- idcok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- idlok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- immedok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- in_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- in_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- in_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- inch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
- inchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- inchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- init_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- init_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- initscr <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- innstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- innwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- ins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- ins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
- ins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- insch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
- insdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- insertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- insnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- insstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- instr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- intrflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- inwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
-
- is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_linetouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- is_nodelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_notimeout <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_scrollok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_syncok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_term_resized <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
- is_wintouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- isendwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- key_defined <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
- key_name <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- keybound <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
- keyname <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- keyok <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
- keypad <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- killchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- killwchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- leaveok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- longname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- mcprint <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
- meta <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- mouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- mouseinterval <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- mousemask <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- move <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
- mvadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- mvadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- mvadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- mvaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- mvaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- mvaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- mvaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- mvaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- mvaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- mvaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- mvchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- mvcur <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- mvdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
- mvderwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- mvhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- mvhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- mvin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- mvin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- mvin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- mvinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
- mvinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- mvinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- mvinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- mvinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- mvins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- mvins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
- mvins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- mvinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
- mvinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- mvinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-
- mvprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- mvscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- mvvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- mvvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- mvwadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- mvwadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- mvwadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- mvwaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- mvwaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- mvwaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- mvwaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- mvwaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- mvwaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- mvwaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- mvwchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- mvwdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
- mvwget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- mvwget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- mvwgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- mvwgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- mvwgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- mvwgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- mvwhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- mvwhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- mvwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- mvwin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- mvwin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- mvwin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- mvwinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
- mvwinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- mvwinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- mvwinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- mvwinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- mvwins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- mvwins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
- mvwins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- mvwinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
- mvwinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- mvwinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- mvwinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- mvwinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- newterm <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- newwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- nl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- nodelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- noecho <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- nofilter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
- nonl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- noqiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- noraw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- notimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- overlay <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
- overwrite <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
- pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
-
- putp <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- raw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- redrawwin <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- refresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- reset_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- reset_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- resetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- resizeterm <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
- restartterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- ripoffline <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- savetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- scr_dump <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
- scr_init <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
- scr_restore <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
- scr_set <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
- scrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
- scroll <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
- scrollok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- set_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- set_term <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- setcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
- setscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- setsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- setterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- setupterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- slk_attr <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
- slk_attr_off <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attr_on <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attr_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attroff <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attron <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attrset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_clear <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- start_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- subpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- subwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- syncok <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- term_attrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- termattrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- termname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- tgetent <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tgetflag <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tgetnum <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tgetstr <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tgoto <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tigetflag <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- tigetnum <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-
- tputs <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- typeahead <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- unctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- unget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- ungetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- ungetmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- untouchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- use_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
- use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- use_extended_names <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
- use_legacy_coding <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
- use_tioctl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- vid_attr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- vid_puts <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- vidattr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- vidputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- vline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- vline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- vw_printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- vw_scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- vwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- vwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- wadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- wadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- wadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- waddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- waddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- waddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- waddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- wattr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- wbkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- wbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- wbkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- wborder <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- wborder_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- wchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wclear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- wclrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- wclrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- wcolor_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wcursyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- wdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
- wdeleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- wecho_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- wechochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- wenclose <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- werase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- wget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- wget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- wgetbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- wgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- wgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
-
- wgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- whline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- whline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- win_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- win_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- win_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- winch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
- winchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- winchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- winnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- winnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- wins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- wins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
- wins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- winsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
- winsdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- winsertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- winsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- winsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- winstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- winwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- wmouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- wmove <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
- wnoutrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- wprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- wredrawln <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- wrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- wresize <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
- wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
- wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- wtouchln <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- wunctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- wvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- wvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+
+ This is useful for developing experimental definitions or when write
+ permission in <STRONG>/usr/share/terminfo</STRONG> is not available.
+
+ The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG> and will
+ be filled in by <STRONG>initscr</STRONG> with the size of the screen. The constants
+ <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the values <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
+
+ The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable <STRONG>curscr</STRONG> which is
+ used for certain low-level operations like clearing and redrawing a
+ screen containing garbage. The <STRONG>curscr</STRONG> can be used in only a few rou-
+ tines.
+
+
+</PRE><H3><a name="h3-Routine-and-Argument-Names">Routine and Argument Names</a></H3><PRE>
+ Many <STRONG>curses</STRONG> routines have two or more versions. The routines prefixed
+ with <STRONG>w</STRONG> require a window argument. The routines prefixed with <STRONG>p</STRONG> require
+ a pad argument. Those without a prefix generally use <STRONG>stdscr</STRONG>.
+
+ The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate to move to
+ before performing the appropriate action. The <STRONG>mv</STRONG> routines imply a call
+ to <STRONG>move</STRONG> before the call to the other routine. The coordinate <EM>y</EM> always
+ refers to the row (of the window), and <EM>x</EM> always refers to the column.
+ The upper left-hand corner is always (0,0), not (1,1).
+
+ The routines prefixed with <STRONG>mvw</STRONG> take both a window argument and <EM>x</EM> and <EM>y</EM>
+ coordinates. The window argument is always specified before the coor-
+ dinates.
+
+ In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the pad affected;
+ <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WINDOW</STRONG>.
+
+ Option setting routines require a Boolean flag <EM>bf</EM> with the value <STRONG>TRUE</STRONG>
+ or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of the data types used in
+ the library routines, such as <STRONG>WINDOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are
+ defined in <STRONG>&lt;curses.h&gt;</STRONG>. Types used for the terminfo routines such as
+ <STRONG>TERMINAL</STRONG> are defined in <STRONG>&lt;term.h&gt;</STRONG>.
+
+ This manual page describes functions which may appear in any configura-
+ tion of the library. There are two common configurations of the
+ library:
+
+ <EM>ncurses</EM>
+ the "normal" library, which handles 8-bit characters. The nor-
+ mal (8-bit) library stores characters combined with attributes
+ in <STRONG>chtype</STRONG> data.
+
+ Attributes alone (no corresponding character) may be stored in
+ <STRONG>chtype</STRONG> or the equivalent <STRONG>attr_t</STRONG> data. In either case, the data
+ is stored in something like an integer.
+
+ Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored as a <STRONG>chtype</STRONG>.
+
+ <EM>ncursesw</EM>
+ the so-called "wide" library, which handles multibyte charac-
+ ters (see the section on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>). The "wide"
+ library includes all of the calls from the "normal" library.
+ It adds about one third more calls using data types which store
+ multibyte characters:
+
+ <STRONG>cchar_t</STRONG>
+ corresponds to <STRONG>chtype</STRONG>. However it is a structure, because
+ more data is stored than can fit into an integer. The
+ characters are large enough to require a full integer
+ value - and there may be more than one character per cell.
+ The video attributes and color are stored in separate
+ fields of the structure.
+
+ Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored as a
+ <STRONG>cchar_t</STRONG>.
+
+ The <STRONG><A HREF="setcchar.3x.html">setcchar(3x)</A></STRONG> and <STRONG><A HREF="getcchar.3x.html">getcchar(3x)</A></STRONG> functions store and
+ retrieve the data from a <STRONG>cchar_t</STRONG> structure.
+
+ <STRONG>wchar_t</STRONG>
+ stores a "wide" character. Like <STRONG>chtype</STRONG>, this may be an
+ integer.
+
+ <STRONG>wint_t</STRONG>
+ stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same, though both may
+ have the same size.
+
+ The "wide" library provides new functions which are analogous
+ to functions in the "normal" library. There is a naming con-
+ vention which relates many of the normal/wide variants: a "_w"
+ is inserted into the name. For example, <STRONG>waddch</STRONG> becomes
+ <STRONG>wadd_wch</STRONG>.
+
+
+</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
+ The following table lists each <STRONG>curses</STRONG> routine and the name of the man-
+ ual page on which it is described. Routines flagged with "*" are
+ ncurses-specific, not described by XPG4 or present in SVr4.
+
+ <STRONG>curses</STRONG> Routine Name Manual Page Name
+ ---------------------------------------------
+ COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ PAIR_NUMBER <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ _nc_free_and_exit <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+ _nc_freeall <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+ _nc_tracebits <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _traceattr <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _traceattr2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracechar <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracechtype <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracechtype2 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracedump <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracef <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ _tracemouse <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ add_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ add_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ add_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ addch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ addchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ addchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ addnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ addnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ addstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ addwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ alloc_pair <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+ assume_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
+ attr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ attr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ attr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ attr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+
+ attroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ attron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ attrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ baudrate <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ beep <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+ bkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ bkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ bkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ bkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ border <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ border_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ box <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ box_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ can_change_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ cbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ chgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ clear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ clearok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ clrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ clrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ color_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ copywin <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ curs_set <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ curses_version <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+ def_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ def_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ define_key <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
+ del_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ delay_output <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ delch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ deleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ delscreen <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ delwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ derwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ doupdate <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ dupwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ extended_color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+ extended_pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+ extended_slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
+ filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ find_pair <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+ flash <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+ flushinp <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ free_pair <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+ get_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ get_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ getattrs <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ getbegx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getbegy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getbegyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ getbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ getbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ getcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ getch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ getcurx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getcury <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getmaxx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+
+ getmaxy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getmaxyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ getmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ getn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ getnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ getparx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getpary <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+ getparyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ getstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ getsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ getwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ getyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ halfdelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ has_colors <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ has_ic <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ has_il <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ has_key <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
+ hline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ hline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ idcok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ idlok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ immedok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ in_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ in_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ in_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ inch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ inchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ inchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ init_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ init_extended_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+ init_extended_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+ init_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ initscr <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ innstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ innwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ ins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ ins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ ins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ insch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ insdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ insertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ insnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ insstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ instr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ intrflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ inwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_linetouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ is_nodelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_notimeout <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_pad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_scrollok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_subwin <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_syncok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ is_term_resized <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+ is_wintouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ isendwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ key_defined <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
+ key_name <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ keybound <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
+
+ keyname <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ keyok <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
+ keypad <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ killchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ killwchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ leaveok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ longname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ mcprint <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
+ meta <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ mouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ mouseinterval <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ mousemask <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ move <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ mvadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ mvadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ mvadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ mvaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ mvaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ mvaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ mvaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ mvaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ mvaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ mvaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ mvchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ mvcur <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ mvdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ mvderwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ mvhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ mvhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ mvin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ mvin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ mvin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ mvinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ mvinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ mvinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ mvinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ mvinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ mvins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ mvins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ mvins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ mvinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ mvinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ mvinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ mvprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ mvscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ mvvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ mvvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ mvwadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ mvwadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ mvwadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ mvwaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ mvwaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ mvwaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ mvwaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ mvwaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ mvwaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ mvwaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+
+ mvwchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ mvwdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ mvwget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ mvwget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ mvwgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ mvwgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ mvwgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ mvwgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ mvwhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ mvwhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ mvwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ mvwin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ mvwin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ mvwin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ mvwinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ mvwinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ mvwinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ mvwinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ mvwinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ mvwins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ mvwins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ mvwins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ mvwinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ mvwinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ mvwinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ mvwinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ mvwinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ newterm <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ newwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ nl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ nodelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ noecho <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ nofilter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
+ nonl <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ noqiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ noraw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ notimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ overlay <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ overwrite <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ putp <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ raw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ redrawwin <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ refresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ reset_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ reset_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ resetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ resize_term <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+ resizeterm <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+ restartterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ ripoffline <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ savetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+
+ scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ scr_dump <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ scr_init <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ scr_restore <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ scr_set <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ scrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ scroll <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ scrollok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ set_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ set_term <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ setcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ setscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ setsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ setterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ setupterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ slk_attr <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
+ slk_attr_off <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_attr_on <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_attr_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_attroff <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_attron <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_attrset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_clear <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ start_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ subpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ subwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ syncok <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ term_attrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ termattrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ termname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ tgetent <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tgetflag <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tgetnum <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tgetstr <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tgoto <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tigetflag <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ tigetnum <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ tiparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
+ touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ tputs <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+ typeahead <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ unctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ unget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ ungetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ ungetmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ untouchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ use_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
+ use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ use_extended_names <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+
+ use_legacy_coding <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
+ use_tioctl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
+ vid_attr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ vid_puts <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ vidattr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ vidputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ vline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ vline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ vw_printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ vw_scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ vwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ vwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ wadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ wadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ wadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ waddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ waddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ waddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ waddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ wattr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wattr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wattr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wattr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wattroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wattron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wattrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ wbkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ wbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ wbkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ wborder <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ wborder_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ wchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wclear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ wclrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ wclrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ wcolor_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wcursyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ wdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ wdeleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ wecho_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ wechochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ wenclose <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ werase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ wget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ wget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ wgetbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ wgetdelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ wgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ wgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ wgetparent <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ wgetscrreg <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+ wgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ whline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ whline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ win_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ win_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ win_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ winch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ winchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ winchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+
+ winnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ winnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ wins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ wins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ wins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ winsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ winsdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ winsertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ winsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ winsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ winstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ winwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ wmouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ wmove <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ wnoutrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ wprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ wredrawln <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ wrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ wresize <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
+ wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ wtouchln <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ wunctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ wvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ wvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Routines that return an integer return <STRONG>ERR</STRONG> upon failure and an integer
+ value other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted
+ in the routine descriptions.
+
+ As a general rule, routines check for null pointers passed as parame-
+ ters, and handle this as an error.
+
+ All macros return the value of the <STRONG>w</STRONG> version, except <STRONG>setscrreg</STRONG>,
+ <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The return values of
+ <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG> are undefined
+ (i.e., these should not be used as the right-hand side of assignment
+ statements).
+ Routines that return pointers return <STRONG>NULL</STRONG> on error.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
- and an integer value other than <STRONG>ERR</STRONG> upon successful com-
- pletion, unless otherwise noted in the routine descrip-
- tions.
- As a general rule, routines check for null pointers passed
- as parameters, and handle this as an error.
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+ The following environment symbols are useful for customizing the run-
+ time behavior of the <STRONG>ncurses</STRONG> library. The most important ones have
+ been already discussed in detail.
- All macros return the value of the <STRONG>w</STRONG> version, except
- <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The
- return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
- and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
- as the right-hand side of assignment statements).
- Routines that return pointers return <STRONG>NULL</STRONG> on error.
+</PRE><H3><a name="h3-CC-command-character">CC command-character</a></H3><PRE>
+ When set, change occurrences of the command_character (i.e., the <STRONG>cmdch</STRONG>
+ capability) of the loaded terminfo entries to the value of this vari-
+ able. Very few terminfo entries provide this feature.
+ Because this name is also used in development environments to represent
+ the C compiler's name, <STRONG>ncurses</STRONG> ignores it if it does not happen to be a
+ single character.
-</PRE>
-<H2>ENVIRONMENT</H2><PRE>
- The following environment symbols are useful for customiz-
- ing the runtime behavior of the <STRONG>ncurses</STRONG> library. The most
- important ones have been already discussed in detail.
-
- BAUDRATE
- The debugging library checks this environment vari-
- able when the application has redirected output to a
- file. The variable's numeric value is used for the
- baudrate. If no value is found, <STRONG>ncurses</STRONG> uses 9600.
- This allows testers to construct repeatable test-
- cases that take into account costs that depend on
- baudrate.
-
- CC When set, change occurrences of the command_character
- (i.e., the <STRONG>cmdch</STRONG> capability) of the loaded terminfo
- entries to the value of this variable. Very few ter-
- minfo entries provide this feature.
-
- Because this name is also used in development envi-
- ronments to represent the C compiler's name, <STRONG>ncurses</STRONG>
- ignores it if it does not happen to be a single char-
- acter.
-
- COLUMNS
- Specify the width of the screen in characters.
- Applications running in a windowing environment usu-
- ally are able to obtain the width of the window in
- which they are executing. If neither the <STRONG>COLUMNS</STRONG>
- value nor the terminal's screen size is available,
- <STRONG>ncurses</STRONG> uses the size which may be specified in the
- terminfo database (i.e., the <STRONG>cols</STRONG> capability).
-
- It is important that your application use a correct
- size for the screen. This is not always possible
- because your application may be running on a host
- which does not honor NAWS (Negotiations About Window
- Size), or because you are temporarily running as
- another user. However, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG>
- overrides the library's use of the screen size
- obtained from the operating system.
-
- Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified
- independently. This is mainly useful to circumvent
- legacy misfeatures of terminal descriptions, e.g.,
- xterm which commonly specifies a 65 line screen. For
- best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified
- in a terminal description for terminals which are run
- as emulations.
-
- Use the <STRONG>use_env</STRONG> function to disable all use of exter-
- nal environment (but not including system calls) to
- determine the screen size. Use the <STRONG>use_tioctl</STRONG> func-
- tion to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen
- size obtained from system calls or the terminal data-
- base.
-
- ESCDELAY
- Specifies the total time, in milliseconds, for which
- ncurses will await a character sequence, e.g., a
- function key. The default value, 1000 milliseconds,
- is enough for most uses. However, it is made a vari-
- able to accommodate unusual applications.
-
- The most common instance where you may wish to change
- this value is to work with slow hosts, e.g., running
- on a network. If the host cannot read characters
- rapidly enough, it will have the same effect as if
- the terminal did not send characters rapidly enough.
- The library will still see a timeout.
-
- Note that xterm mouse events are built up from char-
- acter sequences received from the xterm. If your
- application makes heavy use of multiple-clicking, you
- may wish to lengthen this default value because the
- timeout applies to the composed multi-click event as
- well as the individual clicks.
-
- In addition to the environment variable, this imple-
- mentation provides a global variable with the same
- name. Portable applications should not rely upon the
- presence of ESCDELAY in either form, but setting the
- environment variable rather than the global variable
- does not create problems when compiling an applica-
- tion.
-
- HOME Tells <STRONG>ncurses</STRONG> where your home directory is. That is
- where it may read and write auxiliary terminal
- descriptions:
-
- $HOME/.termcap
- $HOME/.terminfo
-
- LINES
- Like COLUMNS, specify the height of the screen in
- characters. See COLUMNS for a detailed description.
-
- MOUSE_BUTTONS_123
- This applies only to the OS/2 EMX port. It specifies
- the order of buttons on the mouse. OS/2 numbers a
- 3-button mouse inconsistently from other platforms:
-
- 1 = left
- 2 = right
- 3 = middle.
-
- This variable lets you customize the mouse. The
- variable must be three numeric digits 1-3 in any
- order, e.g., 123 or 321. If it is not specified,
- <STRONG>ncurses</STRONG> uses 132.
-
- NCURSES_ASSUMED_COLORS
- Override the compiled-in assumption that the termi-
- nal's default colors are white-on-black (see
- <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the foreground and
- background color values with this environment vari-
- able by proving a 2-element list: foreground,back-
- ground. For example, to tell ncurses to not assume
- anything about the colors, set this to "-1,-1". To
- make it green-on-black, set it to "2,0". Any posi-
- tive value from zero to the terminfo <STRONG>max_colors</STRONG> value
- is allowed.
-
- NCURSES_GPM_TERMS
- This applies only to ncurses configured to use the
- GPM interface.
-
- If present, the environment variable is a list of one
- or more terminal names against which the TERM envi-
- ronment variable is matched. Setting it to an empty
- value disables the GPM interface; using the built-in
- support for xterm, etc.
-
- If the environment variable is absent, ncurses will
- attempt to open GPM if TERM contains "linux".
-
- NCURSES_NO_HARD_TABS
- <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement
- optimization. In some cases, your terminal driver
- may not handle these properly. Set this environment
- variable to disable the feature. You can also adjust
- your <STRONG>stty</STRONG> settings to avoid the problem.
-
- NCURSES_NO_MAGIC_COOKIES
- Some terminals use a magic-cookie feature which
- requires special handling to make highlighting and
- other video attributes display properly. You can
- suppress the highlighting entirely for these termi-
- nals by setting this environment variable.
-
- NCURSES_NO_PADDING
- Most of the terminal descriptions in the terminfo
- database are written for real "hardware" terminals.
- Many people use terminal emulators which run in a
- windowing environment and use curses-based applica-
- tions. Terminal emulators can duplicate all of the
- important aspects of a hardware terminal, but they do
- not have the same limitations. The chief limitation
- of a hardware terminal from the standpoint of your
- application is the management of dataflow, i.e., tim-
- ing. Unless a hardware terminal is interfaced into a
- terminal concentrator (which does flow control), it
- (or your application) must manage dataflow, prevent-
- ing overruns. The cheapest solution (no hardware
- cost) is for your program to do this by pausing after
- operations that the terminal does slowly, such as
- clearing the display.
-
- As a result, many terminal descriptions (including
- the vt100) have delay times embedded. You may wish
- to use these descriptions, but not want to pay the
- performance penalty.
-
- Set the NCURSES_NO_PADDING environment variable to
- disable all but mandatory padding. Mandatory padding
- is used as a part of special control sequences such
- as <EM>flash</EM>.
-
- NCURSES_NO_SETBUF
- This setting is obsolete. Before changes
-
- <STRONG>o</STRONG> started with 5.9 patch 20120825 and
-
- <STRONG>o</STRONG> continued though 5.9 patch 20130126
-
- <STRONG>ncurses</STRONG> enabled buffered output during terminal ini-
- tialization. This was done (as in SVr4 curses) for
- performance reasons. For testing purposes, both of
- <STRONG>ncurses</STRONG> and certain applications, this feature was
- made optional. Setting the NCURSES_NO_SETBUF vari-
- able disabled output buffering, leaving the output in
- the original (usually line buffered) mode.
-
- In the current implementation, ncurses performs its
- own buffering and does not require this workaround.
- It does not modify the buffering of the standard out-
- put.
-
- The reason for the change was to make the behavior
- for interrupts and other signals more robust. One
- drawback is that certain nonconventional programs
- would mix ordinary stdio calls with ncurses calls and
- (usually) work. This is no longer possible since
- ncurses is not using the buffered standard output but
- its own output (to the same file descriptor). As a
- special case, the low-level calls such as <STRONG>putp</STRONG> still
- use the standard output. But high-level curses calls
- do not.
-
- NCURSES_NO_UTF8_ACS
- During initialization, the <STRONG>ncurses</STRONG> library checks for
- special cases where VT100 line-drawing (and the cor-
- responding alternate character set capabilities)
- described in the terminfo are known to be missing.
- Specifically, when running in a UTF-8 locale, the
- Linux console emulator and the GNU screen program
- ignore these. Ncurses checks the TERM environment
- variable for these. For other special cases, you
- should set this environment variable. Doing this
- tells ncurses to use Unicode values which correspond
- to the VT100 line-drawing glyphs. That works for the
- special cases cited, and is likely to work for termi-
- nal emulators.
-
- When setting this variable, you should set it to a
- nonzero value. Setting it to zero (or to a nonnum-
- ber) disables the special check for "linux" and
- "screen".
-
- As an alternative to the environment variable,
- ncurses checks for an extended terminfo capability
- <STRONG>U8</STRONG>. This is a numeric capability which can be com-
- piled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>. For example
-
- # linux console, if patched to provide working
- # VT100 shift-in/shift-out, with corresponding font.
- linux-vt100|linux console with VT100 line-graphics,
- U8#0, use=linux,
-
- # uxterm with vt100Graphics resource set to false
- xterm-utf8|xterm relying on UTF-8 line-graphics,
- U8#1, use=xterm,
-
- The name "U8" is chosen to be two characters, to per-
- mit it to be used by applications that use ncurses'
- termcap interface.
-
- NCURSES_TRACE
- During initialization, the <STRONG>ncurses</STRONG> debugging library
- checks the NCURSES_TRACE environment variable. If it
- is defined, to a numeric value, <STRONG>ncurses</STRONG> calls the
- <STRONG>trace</STRONG> function, using that value as the argument.
-
- The argument values, which are defined in <STRONG>curses.h</STRONG>,
- provide several types of information. When running
- with traces enabled, your application will write the
- file <STRONG>trace</STRONG> to the current directory.
-
- TERM Denotes your terminal type. Each terminal type is
- distinct, though many are similar.
-
- TERMCAP
- If the <STRONG>ncurses</STRONG> library has been configured with <EM>term-</EM>
- <EM>cap</EM> support, <STRONG>ncurses</STRONG> will check for a terminal's
- description in termcap form if it is not available in
- the terminfo database.
-
- The TERMCAP environment variable contains either a
- terminal description (with newlines stripped out), or
- a file name telling where the information denoted by
- the TERM environment variable exists. In either
- case, setting it directs <STRONG>ncurses</STRONG> to ignore the usual
- place for this information, e.g., /etc/termcap.
-
- TERMINFO
- Overrides the directory in which <STRONG>ncurses</STRONG> searches for
- your terminal description. This is the simplest, but
- not the only way to change the list of directories.
- The complete list of directories in order follows:
-
- <STRONG>o</STRONG> the last directory to which <STRONG>ncurses</STRONG> wrote, if
- any, is searched first
-
- <STRONG>o</STRONG> the directory specified by the TERMINFO environ-
- ment variable
-
- <STRONG>o</STRONG> $HOME/.terminfo
-
- <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environ-
- ment variable
-
- <STRONG>o</STRONG> one or more directories whose names are config-
- ured and compiled into the ncurses library, i.e.,
-
- <STRONG>o</STRONG> /usr/local/ncurses/share/ter-
- minfo:/usr/share/terminfo (corresponding to
- the TERMINFO_DIRS variable)
-
- <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the
- TERMINFO variable)
-
- TERMINFO_DIRS
- Specifies a list of directories to search for termi-
- nal descriptions. The list is separated by colons
- (i.e., ":") on Unix, semicolons on OS/2 EMX.
-
- All of the terminal descriptions are in terminfo
- form. Normally these are stored in a directory tree,
- using subdirectories named by the first letter of the
- terminal names therein.
-
- If <STRONG>ncurses</STRONG> is built with a hashed database, then each
- entry in this list can also be the path of the corre-
- sponding database file.
-
- If <STRONG>ncurses</STRONG> is built with a support for reading term-
- cap files directly, then an entry in this list may be
- the path of a termcap file.
-
- TERMPATH
- If TERMCAP does not hold a file name then <STRONG>ncurses</STRONG>
- checks the TERMPATH environment variable. This is a
- list of filenames separated by spaces or colons
- (i.e., ":") on Unix, semicolons on OS/2 EMX.
-
- If the TERMPATH environment variable is not set,
- <STRONG>ncurses</STRONG> looks in the files /etc/termcap,
- /usr/share/misc/termcap and $HOME/.termcap, in that
- order.
-
- The library may be configured to disregard the following
- variables when the current user is the superuser (root),
- or if the application uses setuid or setgid permissions:
- $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as
- $HOME.
+</PRE><H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
+ The debugging library checks this environment variable when the appli-
+ cation has redirected output to a file. The variable's numeric value
+ is used for the baudrate. If no value is found, <STRONG>ncurses</STRONG> uses 9600.
+ This allows testers to construct repeatable test-cases that take into
+ account costs that depend on baudrate.
-</PRE>
-<H2>ALTERNATE CONFIGURATIONS</H2><PRE>
- Several different configurations are possible, depending
- on the configure script options used when building
- <STRONG>ncurses</STRONG>. There are a few main options whose effects are
- visible to the applications developer using <STRONG>ncurses</STRONG>:
+</PRE><H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
+ Specify the width of the screen in characters. Applications running in
+ a windowing environment usually are able to obtain the width of the
+ window in which they are executing. If neither the <STRONG>COLUMNS</STRONG> value nor
+ the terminal's screen size is available, <STRONG>ncurses</STRONG> uses the size which
+ may be specified in the terminfo database (i.e., the <STRONG>cols</STRONG> capability).
+
+ It is important that your application use a correct size for the
+ screen. This is not always possible because your application may be
+ running on a host which does not honor NAWS (Negotiations About Window
+ Size), or because you are temporarily running as another user. How-
+ ever, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> overrides the library's use of the
+ screen size obtained from the operating system.
+
+ Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified independently. This
+ is mainly useful to circumvent legacy misfeatures of terminal descrip-
+ tions, e.g., xterm which commonly specifies a 65 line screen. For best
+ results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified in a terminal descrip-
+ tion for terminals which are run as emulations.
+
+ Use the <STRONG>use_env</STRONG> function to disable all use of external environment
+ (but not including system calls) to determine the screen size. Use the
+ <STRONG>use_tioctl</STRONG> function to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen size
+ obtained from system calls or the terminal database.
+
+
+</PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
+ Specifies the total time, in milliseconds, for which ncurses will await
+ a character sequence, e.g., a function key. The default value, 1000
+ milliseconds, is enough for most uses. However, it is made a variable
+ to accommodate unusual applications.
+
+ The most common instance where you may wish to change this value is to
+ work with slow hosts, e.g., running on a network. If the host cannot
+ read characters rapidly enough, it will have the same effect as if the
+ terminal did not send characters rapidly enough. The library will
+ still see a timeout.
+
+ Note that xterm mouse events are built up from character sequences
+ received from the xterm. If your application makes heavy use of multi-
+ ple-clicking, you may wish to lengthen this default value because the
+ timeout applies to the composed multi-click event as well as the indi-
+ vidual clicks.
+
+ In addition to the environment variable, this implementation provides a
+ global variable with the same name. Portable applications should not
+ rely upon the presence of ESCDELAY in either form, but setting the
+ environment variable rather than the global variable does not create
+ problems when compiling an application.
+
+
+</PRE><H3><a name="h3-HOME">HOME</a></H3><PRE>
+ Tells <STRONG>ncurses</STRONG> where your home directory is. That is where it may read
+ and write auxiliary terminal descriptions:
+
+ $HOME/.termcap
+ $HOME/.terminfo
+
+
+</PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
+ Like COLUMNS, specify the height of the screen in characters. See COL-
+ UMNS for a detailed description.
+
+
+</PRE><H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE>
+ This applies only to the OS/2 EMX port. It specifies the order of but-
+ tons on the mouse. OS/2 numbers a 3-button mouse inconsistently from
+ other platforms:
+
+ 1 = left
+ 2 = right
+ 3 = middle.
+
+ This variable lets you customize the mouse. The variable must be three
+ numeric digits 1-3 in any order, e.g., 123 or 321. If it is not speci-
+ fied, <STRONG>ncurses</STRONG> uses 132.
+
+
+</PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
+ Override the compiled-in assumption that the terminal's default colors
+ are white-on-black (see <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the fore-
+ ground and background color values with this environment variable by
+ proving a 2-element list: foreground,background. For example, to tell
+ ncurses to not assume anything about the colors, set this to "-1,-1".
+ To make it green-on-black, set it to "2,0". Any positive value from
+ zero to the terminfo <STRONG>max_colors</STRONG> value is allowed.
+
+
+</PRE><H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
+ This applies only to the MinGW port of ncurses.
+
+ The <STRONG>Console2</STRONG> program's handling of the Microsoft Console API call <STRONG>Cre-</STRONG>
+ <STRONG>ateConsoleScreenBuffer</STRONG> is defective. Applications which use this will
+ hang. However, it is possible to simulate the action of this call by
+ mapping coordinates, explicitly saving and restoring the original
+ screen contents. Setting the environment variable <STRONG>NCGDB</STRONG> has the same
+ effect.
+
+
+</PRE><H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE>
+ This applies only to ncurses configured to use the GPM interface.
+
+ If present, the environment variable is a list of one or more terminal
+ names against which the <STRONG>TERM</STRONG> environment variable is matched. Setting
+ it to an empty value disables the GPM interface; using the built-in
+ support for xterm, etc.
+
+ If the environment variable is absent, ncurses will attempt to open GPM
+ if <STRONG>TERM</STRONG> contains "linux".
+
+
+</PRE><H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
+ <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement optimization. In
+ some cases, your terminal driver may not handle these properly. Set
+ this environment variable to disable the feature. You can also adjust
+ your <STRONG>stty</STRONG> settings to avoid the problem.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></H3><PRE>
+ Some terminals use a magic-cookie feature which requires special han-
+ dling to make highlighting and other video attributes display properly.
+ You can suppress the highlighting entirely for these terminals by set-
+ ting this environment variable.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE>
+ Most of the terminal descriptions in the terminfo database are written
+ for real "hardware" terminals. Many people use terminal emulators
+ which run in a windowing environment and use curses-based applications.
+ Terminal emulators can duplicate all of the important aspects of a
+ hardware terminal, but they do not have the same limitations. The
+ chief limitation of a hardware terminal from the standpoint of your
+ application is the management of dataflow, i.e., timing. Unless a
+ hardware terminal is interfaced into a terminal concentrator (which
+ does flow control), it (or your application) must manage dataflow, pre-
+ venting overruns. The cheapest solution (no hardware cost) is for your
+ program to do this by pausing after operations that the terminal does
+ slowly, such as clearing the display.
+
+ As a result, many terminal descriptions (including the vt100) have
+ delay times embedded. You may wish to use these descriptions, but not
+ want to pay the performance penalty.
+
+ Set the NCURSES_NO_PADDING environment variable to disable all but
+ mandatory padding. Mandatory padding is used as a part of special con-
+ trol sequences such as <EM>flash</EM>.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
+ This setting is obsolete. Before changes
+
+ <STRONG>o</STRONG> started with 5.9 patch 20120825 and
+
+ <STRONG>o</STRONG> continued though 5.9 patch 20130126
+
+ <STRONG>ncurses</STRONG> enabled buffered output during terminal initialization. This
+ was done (as in SVr4 curses) for performance reasons. For testing pur-
+ poses, both of <STRONG>ncurses</STRONG> and certain applications, this feature was made
+ optional. Setting the NCURSES_NO_SETBUF variable disabled output
+ buffering, leaving the output in the original (usually line buffered)
+ mode.
+
+ In the current implementation, ncurses performs its own buffering and
+ does not require this workaround. It does not modify the buffering of
+ the standard output.
+
+ The reason for the change was to make the behavior for interrupts and
+ other signals more robust. One drawback is that certain nonconven-
+ tional programs would mix ordinary stdio calls with ncurses calls and
+ (usually) work. This is no longer possible since ncurses is not using
+ the buffered standard output but its own output (to the same file
+ descriptor). As a special case, the low-level calls such as <STRONG>putp</STRONG> still
+ use the standard output. But high-level curses calls do not.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
+ During initialization, the <STRONG>ncurses</STRONG> library checks for special cases
+ where VT100 line-drawing (and the corresponding alternate character set
+ capabilities) described in the terminfo are known to be missing.
+ Specifically, when running in a UTF-8 locale, the Linux console emula-
+ tor and the GNU screen program ignore these. Ncurses checks the <STRONG>TERM</STRONG>
+ environment variable for these. For other special cases, you should
+ set this environment variable. Doing this tells ncurses to use Unicode
+ values which correspond to the VT100 line-drawing glyphs. That works
+ for the special cases cited, and is likely to work for terminal emula-
+ tors.
+
+ When setting this variable, you should set it to a nonzero value. Set-
+ ting it to zero (or to a nonnumber) disables the special check for
+ "linux" and "screen".
+
+ As an alternative to the environment variable, ncurses checks for an
+ extended terminfo capability <STRONG>U8</STRONG>. This is a numeric capability which
+ can be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>. For example
+
+ # linux console, if patched to provide working
+ # VT100 shift-in/shift-out, with corresponding font.
+ linux-vt100|linux console with VT100 line-graphics,
+ U8#0, use=linux,
+
+ # uxterm with vt100Graphics resource set to false
+ xterm-utf8|xterm relying on UTF-8 line-graphics,
+ U8#1, use=xterm,
+
+ The name "U8" is chosen to be two characters, to permit it to be used
+ by applications that use ncurses' termcap interface.
+
+
+</PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
+ During initialization, the <STRONG>ncurses</STRONG> debugging library checks the
+ NCURSES_TRACE environment variable. If it is defined, to a numeric
+ value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function, using that value as the argu-
+ ment.
+
+ The argument values, which are defined in <STRONG>curses.h</STRONG>, provide several
+ types of information. When running with traces enabled, your applica-
+ tion will write the file <STRONG>trace</STRONG> to the current directory.
+
+ See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
+
+
+</PRE><H3><a name="h3-TERM">TERM</a></H3><PRE>
+ Denotes your terminal type. Each terminal type is distinct, though
+ many are similar.
+
+ <STRONG>TERM</STRONG> is commonly set by terminal emulators to help applications find a
+ workable terminal description. Some of those choose a popular approxi-
+ mation, e.g., "ansi", "vt100", "xterm" rather than an exact fit. Not
+ infrequently, your application will have problems with that approach,
+ e.g., incorrect function-key definitions.
+
+ If you set <STRONG>TERM</STRONG> in your environment, it has no effect on the operation
+ of the terminal emulator. It only affects the way applications work
+ within the terminal. Likewise, as a general rule (<STRONG>xterm</STRONG> being a rare
+ exception), terminal emulators which allow you to specify <STRONG>TERM</STRONG> as a
+ parameter or configuration value do not change their behavior to match
+ that setting.
+
+
+</PRE><H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
+ If the <STRONG>ncurses</STRONG> library has been configured with <EM>termcap</EM> support,
+ <STRONG>ncurses</STRONG> will check for a terminal's description in termcap form if it
+ is not available in the terminfo database.
+
+ The <STRONG>TERMCAP</STRONG> environment variable contains either a terminal description
+ (with newlines stripped out), or a file name telling where the informa-
+ tion denoted by the <STRONG>TERM</STRONG> environment variable exists. In either case,
+ setting it directs <STRONG>ncurses</STRONG> to ignore the usual place for this informa-
+ tion, e.g., /etc/termcap.
+
+
+</PRE><H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
+ <STRONG>ncurses</STRONG> can be configured to read from multiple terminal databases.
+ The <STRONG>TERMINFO</STRONG> variable overrides the location for the default terminal
+ database. Terminal descriptions (in terminal format) are stored in
+ terminal databases:
+
+ <STRONG>o</STRONG> Normally these are stored in a directory tree, using subdirectories
+ named by the first letter of the terminal names therein.
+
+ This is the scheme used in System V, which legacy Unix systems use,
+ and the <STRONG>TERMINFO</STRONG> variable is used by <EM>curses</EM> applications on those
+ systems to override the default location of the terminal database.
+
+ <STRONG>o</STRONG> If <STRONG>ncurses</STRONG> is built to use hashed databases, then each entry in
+ this list may be the path of a hashed database file, e.g.,
+
+ /usr/share/terminfo.db
+
+ rather than
+
+ /usr/share/terminfo/
+
+ The hashed database uses less disk-space and is a little faster
+ than the directory tree. However, some applications assume the
+ existence of the directory tree, reading it directly rather than
+ using the terminfo library calls.
+
+ <STRONG>o</STRONG> If <STRONG>ncurses</STRONG> is built with a support for reading termcap files
+ directly, then an entry in this list may be the path of a termcap
+ file.
+
+ <STRONG>o</STRONG> If the <STRONG>TERMINFO</STRONG> variable begins with "hex:" or "b64:", <STRONG>ncurses</STRONG> uses
+ the remainder of that variable as a compiled terminal description.
+ You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
+
+ TERMINFO="$(infocmp -0 -Q2 -q)"
+ export TERMINFO
+
+ The compiled description is used if it corresponds to the terminal
+ identified by the <STRONG>TERM</STRONG> variable.
+
+ Setting <STRONG>TERMINFO</STRONG> is the simplest, but not the only way to set location
+ of the default terminal database. The complete list of database loca-
+ tions in order follows:
+
+ <STRONG>o</STRONG> the last terminal database to which <STRONG>ncurses</STRONG> wrote, if any, is
+ searched first
+
+ <STRONG>o</STRONG> the location specified by the TERMINFO environment variable
+
+ <STRONG>o</STRONG> $HOME/.terminfo
+
+ <STRONG>o</STRONG> locations listed in the TERMINFO_DIRS environment variable
+
+ <STRONG>o</STRONG> one or more locations whose names are configured and compiled
+ into the ncurses library, i.e.,
+
+ <STRONG>o</STRONG> /usr/local/ncurses/share/terminfo:/usr/share/terminfo (corre-
+ sponding to the TERMINFO_DIRS variable)
+
+ <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the TERMINFO variable)
+
+
+</PRE><H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
+ Specifies a list of locations to search for terminal descriptions.
+ Each location in the list is a terminal database as described in the
+ section on the <STRONG>TERMINFO</STRONG> variable. The list is separated by colons
+ (i.e., ":") on Unix, semicolons on OS/2 EMX.
+
+ There is no corresponding feature in System V terminfo; it is an exten-
+ sion developed for <STRONG>ncurses</STRONG>.
+
+
+</PRE><H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
+ If <STRONG>TERMCAP</STRONG> does not hold a file name then <STRONG>ncurses</STRONG> checks the <STRONG>TERMPATH</STRONG>
+ environment variable. This is a list of filenames separated by spaces
+ or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
+
+ If the <STRONG>TERMPATH</STRONG> environment variable is not set, <STRONG>ncurses</STRONG> looks in the
+ files
+
+ /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
+
+ in that order.
+
+ The library may be configured to disregard the following variables when
+ the current user is the superuser (root), or if the application uses
+ setuid or setgid permissions:
+
+ $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
+
+
+</PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
+ Several different configurations are possible, depending on the config-
+ ure script options used when building <STRONG>ncurses</STRONG>. There are a few main
+ options whose effects are visible to the applications developer using
+ <STRONG>ncurses</STRONG>:
--disable-overwrite
- The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYN-</STRONG>
- <STRONG>OPSIS</STRONG>:
+ The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYNOPSIS</STRONG>:
- <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
- This option is used to avoid filename conflicts when
- <STRONG>ncurses</STRONG> is not the main implementation of curses of
- the computer. If <STRONG>ncurses</STRONG> is installed disabling
- overwrite, it puts its headers in a subdirectory,
- e.g.,
+ This option is used to avoid filename conflicts when <STRONG>ncurses</STRONG> is
+ not the main implementation of curses of the computer. If <STRONG>ncurses</STRONG>
+ is installed disabling overwrite, it puts its headers in a subdi-
+ rectory, e.g.,
- <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
+ <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
- It also omits a symbolic link which would allow you
- to use <STRONG>-lcurses</STRONG> to build executables.
+ It also omits a symbolic link which would allow you to use
+ <STRONG>-lcurses</STRONG> to build executables.
--enable-widec
- The configure script renames the library and (if the
- <STRONG>--disable-overwrite</STRONG> option is used) puts the header
- files in a different subdirectory. All of the
- library names have a "w" appended to them, i.e.,
- instead of
+ The configure script renames the library and (if the <STRONG>--dis-</STRONG>
+ <STRONG>able-overwrite</STRONG> option is used) puts the header files in a differ-
+ ent subdirectory. All of the library names have a "w" appended to
+ them, i.e., instead of
- <STRONG>-lncurses</STRONG>
+ <STRONG>-lncurses</STRONG>
you link with
- <STRONG>-lncursesw</STRONG>
-
- You must also define <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> when com-
- piling for the wide-character library to use the
- extended (wide-character) functions. The <STRONG>curses.h</STRONG>
- file which is installed for the wide-character
- library is designed to be compatible with the normal
- library's header. Only the size of the <STRONG>WINDOW</STRONG> struc-
- ture differs, and very few applications require more
- than a pointer to <STRONG>WINDOW</STRONG>s. If the headers are
- installed allowing overwrite, the wide-character
- library's headers should be installed last, to allow
- applications to be built using either library from
- the same set of headers.
+ <STRONG>-lncursesw</STRONG>
+
+ You must also enable the wide-character features in the header
+ file when compiling for the wide-character library to use the
+ extended (wide-character) functions. The symbol which enables
+ these features has changed since XSI Curses, Issue 4:
+
+ <STRONG>o</STRONG> Originally, the wide-character feature required the symbol
+ <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> but that was only valid for XPG4
+ (1996).
+
+ <STRONG>o</STRONG> Later, that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG> defined
+ to 500.
+
+ <STRONG>o</STRONG> As of mid-2018, none of the features in this implementation
+ require a <STRONG>_XOPEN_SOURCE</STRONG> feature greater than 600. However,
+ X/Open Curses, Issue 7 (2009) recommends defining it to 700.
+
+ <STRONG>o</STRONG> Alternatively, you can enable the feature by defining
+ <STRONG>NCURSES_WIDECHAR</STRONG> with the caveat that some other header file
+ than <STRONG>curses.h</STRONG> may require a specific value for <STRONG>_XOPEN_SOURCE</STRONG>
+ (or a system-specific symbol).
+
+ The <STRONG>curses.h</STRONG> file which is installed for the wide-character
+ library is designed to be compatible with the normal library's
+ header. Only the size of the <STRONG>WINDOW</STRONG> structure differs, and very
+ few applications require more than a pointer to <STRONG>WINDOW</STRONG>s.
+
+ If the headers are installed allowing overwrite, the wide-charac-
+ ter library's headers should be installed last, to allow applica-
+ tions to be built using either library from the same set of head-
+ ers.
+
+ --with-pthread
+ The configure script renames the library. All of the library
+ names have a "t" appended to them (before any "w" added by
+ <STRONG>--enable-widec</STRONG>).
+
+ The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow
+ read-only access. At the same time, setter-functions are provided
+ to set these values. Some applications (very few) may require
+ changes to work with this convention.
--with-shared
@@ -1164,163 +1207,186 @@
--with-debug
--with-profile
- The shared and normal (static) library names differ
- by their suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libn-</STRONG>
- <STRONG>curses.a</STRONG>. The debug and profiling libraries add a
- "_g" and a "_p" to the root names respectively, e.g.,
- <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
+ The shared and normal (static) library names differ by their suf-
+ fixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libncurses.a</STRONG>. The debug and pro-
+ filing libraries add a "_g" and a "_p" to the root names respec-
+ tively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
--with-trace
- The <STRONG>trace</STRONG> function normally resides in the debug
- library, but it is sometimes useful to configure this
- in the shared library. Configure scripts should
- check for the function's existence rather than assum-
- ing it is always in the debug library.
+ The <STRONG>trace</STRONG> function normally resides in the debug library, but it
+ is sometimes useful to configure this in the shared library. Con-
+ figure scripts should check for the function's existence rather
+ than assuming it is always in the debug library.
-</PRE>
-<H2>FILES</H2><PRE>
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
/usr/share/tabset
- directory containing initialization files for the
- terminal capability database /usr/share/terminfo ter-
- minal capability database
+ directory containing initialization files for the terminal capa-
+ bility database /usr/share/terminfo terminal capability database
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_"
- for detailed routine descriptions.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_" for detailed
+ routine descriptions.
<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
-
-
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
- The <STRONG>ncurses</STRONG> library can be compiled with an option
- (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/term-
- cap file if the terminal setup code cannot find a terminfo
- entry corresponding to <STRONG>TERM</STRONG>. Use of this feature is not
- recommended, as it essentially includes an entire termcap
- compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost
- in core and startup cycles.
-
- The <STRONG>ncurses</STRONG> library includes facilities for capturing
- mouse events on certain terminals (including xterm). See
- the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
-
- The <STRONG>ncurses</STRONG> library includes facilities for responding to
- window resizing events, e.g., when running in an xterm.
- See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for
- details. In addition, the library may be configured with
- a SIGWINCH handler.
-
- The <STRONG>ncurses</STRONG> library extends the fixed set of function key
- capabilities of terminals by allowing the application
- designer to define additional key sequences at runtime.
- See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> man-
- ual pages for details.
-
- The <STRONG>ncurses</STRONG> library can exploit the capabilities of termi-
- nals which implement the ISO-6429 SGR 39 and SGR 49 con-
- trols, which allow an application to reset the terminal to
- its original foreground and background colors. From the
- users' perspective, the application is able to draw col-
- ored text on a background whose color is set indepen-
- dently, providing better control over color contrasts.
- See the <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
-
- The <STRONG>ncurses</STRONG> library includes a function for directing
- application output to a printer attached to the terminal
- device. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
-
-
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The <STRONG>ncurses</STRONG> library is intended to be BASE-level confor-
- mant with XSI Curses. The EXTENDED XSI Curses functional-
- ity (including color support) is supported.
-
- A small number of local differences (that is, individual
- differences between the XSI Curses and <STRONG>ncurses</STRONG> calls) are
- described in <STRONG>PORTABILITY</STRONG> sections of the library man
- pages.
-
- Unlike other implementations, this one checks parameters
- such as pointers to WINDOW structures to ensure they are
- not null. The main reason for providing this behavior is
- to guard against programmer error. The standard interface
- does not provide a way for the library to tell an applica-
- tion which of several possible errors were detected.
- Relying on this (or some other) extension will adversely
- affect the portability of curses applications.
+ <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> for user-defined capabilities
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ The <STRONG>ncurses</STRONG> library can be compiled with an option (<STRONG>-DUSE_GETCAP</STRONG>) that
+ falls back to the old-style /etc/termcap file if the terminal setup
+ code cannot find a terminfo entry corresponding to <STRONG>TERM</STRONG>. Use of this
+ feature is not recommended, as it essentially includes an entire term-
+ cap compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost in core
+ and startup cycles.
+
+ The <STRONG>ncurses</STRONG> library includes facilities for capturing mouse events on
+ certain terminals (including xterm). See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual
+ page for details.
+
+ The <STRONG>ncurses</STRONG> library includes facilities for responding to window resiz-
+ ing events, e.g., when running in an xterm. See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and
+ <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for details. In addition, the library may be
+ configured with a <STRONG>SIGWINCH</STRONG> handler.
+
+ The <STRONG>ncurses</STRONG> library extends the fixed set of function key capabilities
+ of terminals by allowing the application designer to define additional
+ key sequences at runtime. See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and
+ <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> manual pages for details.
+
+ The <STRONG>ncurses</STRONG> library can exploit the capabilities of terminals which
+ implement the ISO-6429 SGR 39 and SGR 49 controls, which allow an
+ application to reset the terminal to its original foreground and back-
+ ground colors. From the users' perspective, the application is able to
+ draw colored text on a background whose color is set independently,
+ providing better control over color contrasts. See the <STRONG>default_col-</STRONG>
+ <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG> manual page for details.
+
+ The <STRONG>ncurses</STRONG> library includes a function for directing application out-
+ put to a printer attached to the terminal device. See the
+ <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The <STRONG>ncurses</STRONG> library is intended to be BASE-level conformant with XSI
+ Curses. The EXTENDED XSI Curses functionality (including color sup-
+ port) is supported.
+
+ A small number of local differences (that is, individual differences
+ between the XSI Curses and <STRONG>ncurses</STRONG> calls) are described in <STRONG>PORTABILITY</STRONG>
+ sections of the library man pages.
+
+ Unlike other implementations, this one checks parameters such as point-
+ ers to WINDOW structures to ensure they are not null. The main reason
+ for providing this behavior is to guard against programmer error. The
+ standard interface does not provide a way for the library to tell an
+ application which of several possible errors were detected. Relying on
+ this (or some other) extension will adversely affect the portability of
+ curses applications.
This implementation also contains several extensions:
- <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it
- present in SVr4. See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page
- for details.
+ <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it present in SVr4.
+ See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page for details.
- <STRONG>o</STRONG> The routine <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it
- present in SVr4. See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for
- details.
+ <STRONG>o</STRONG> The routine <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it present in
+ SVr4. See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for details.
- <STRONG>o</STRONG> The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousein-</STRONG>
- <STRONG>terval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse interfacing are
- not part of XPG4, nor are they present in SVr4. See
- the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
+ <STRONG>o</STRONG> The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mouseinterval</STRONG>, and
+ <STRONG>wenclose</STRONG> relating to mouse interfacing are not part of XPG4, nor
+ are they present in SVr4. See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for
+ details.
- <STRONG>o</STRONG> The routine <STRONG>mcprint</STRONG> was not present in any previous
- curses implementation. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual
- page for details.
+ <STRONG>o</STRONG> The routine <STRONG>mcprint</STRONG> was not present in any previous curses imple-
+ mentation. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
- <STRONG>o</STRONG> The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it
- present in SVr4. See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for
- details.
+ <STRONG>o</STRONG> The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it present in SVr4.
+ See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for details.
- <STRONG>o</STRONG> The WINDOW structure's internal details can be hidden
- from application programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for
- the discussion of <STRONG>is_scrollok</STRONG>, etc.
+ <STRONG>o</STRONG> The WINDOW structure's internal details can be hidden from applica-
+ tion programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for the discussion of <STRONG>is_scrol-</STRONG>
+ <STRONG>lok</STRONG>, etc.
- <STRONG>o</STRONG> This implementation can be configured to provide rudi-
- mentary support for multi-threaded applications. See
- <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for details.
+ <STRONG>o</STRONG> This implementation can be configured to provide rudimentary sup-
+ port for multi-threaded applications. See <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for
+ details.
- <STRONG>o</STRONG> This implementation can also be configured to provide
- a set of functions which improve the ability to manage
- multiple screens. See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
+ <STRONG>o</STRONG> This implementation can also be configured to provide a set of
+ functions which improve the ability to manage multiple screens.
+ See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
- In historic curses versions, delays embedded in the capa-
- bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
- delay bits in the UNIX tty driver. In this implementa-
- tion, all padding is done by sending NUL bytes. This
- method is slightly more expensive, but narrows the inter-
- face to the UNIX kernel significantly and increases the
- package's portability correspondingly.
+ In historic curses versions, delays embedded in the capabilities <STRONG>cr</STRONG>,
+ <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits in the UNIX
+ tty driver. In this implementation, all padding is done by sending NUL
+ bytes. This method is slightly more expensive, but narrows the inter-
+ face to the UNIX kernel significantly and increases the package's
+ portability correspondingly.
-</PRE>
-<H2>NOTES</H2><PRE>
- The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the
- header files <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The header file <STRONG>&lt;curses.h&gt;</STRONG> automatically includes the header files
+ <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
- If standard output from a <STRONG>ncurses</STRONG> program is re-directed
- to something which is not a tty, screen updates will be
- directed to standard error. This was an undocumented fea-
- ture of AT&amp;T System V Release 3 curses.
+ If standard output from a <STRONG>ncurses</STRONG> program is re-directed to something
+ which is not a tty, screen updates will be directed to standard error.
+ This was an undocumented feature of AT&amp;T System V Release 3 curses.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
- Based on pcurses by Pavel Curtis.
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on pcurses
+ by Pavel Curtis.
- <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-Datatypes">Datatypes</a></li>
+<li><a href="#h3-Environment-variables">Environment variables</a></li>
+<li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li>
+<li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
+<ul>
+<li><a href="#h3-CC-command-character">CC command-character</a></li>
+<li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
+<li><a href="#h3-COLUMNS">COLUMNS</a></li>
+<li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
+<li><a href="#h3-HOME">HOME</a></li>
+<li><a href="#h3-LINES">LINES</a></li>
+<li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
+<li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
+<li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
+<li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
+<li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
+<li><a href="#h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></li>
+<li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
+<li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
+<li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
+<li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
+<li><a href="#h3-TERM">TERM</a></li>
+<li><a href="#h3-TERMCAP">TERMCAP</a></li>
+<li><a href="#h3-TERMINFO">TERMINFO</a></li>
+<li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
+<li><a href="#h3-TERMPATH">TERMPATH</a></li>
+</ul>
+</li>
+<li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/ncurses5-config.1.html b/doc/html/man/ncurses6-config.1.html
index 99c00fb455f0..d0417c0d2486 100644
--- a/doc/html/man/ncurses5-config.1.html
+++ b/doc/html/man/ncurses6-config.1.html
@@ -1,4 +1,3 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
* Copyright (c) 2010 Free Software Foundation, Inc. *
@@ -29,40 +28,37 @@
****************************************************************************
* @Id: MKncu_config.in,v 1.3 2010/03/06 22:29:17 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
-<TITLE>ncurses5-config 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>ncurses6-config 1</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>ncurses5-config 1</H1>
-<HR>
+<H1 class="no-header">ncurses6-config 1</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="ncurses5-config.1.html">ncurses5-config(1)</A></STRONG> <STRONG><A HREF="ncurses5-config.1.html">ncurses5-config(1)</A></STRONG>
+<STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG> General Commands Manual <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- ncurses5-config - helper script for ncurses libraries
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ ncurses6-config - helper script for ncurses libraries
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>ncurses5-config</STRONG> [<EM>options</EM>]
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>ncurses6-config</STRONG> [<EM>options</EM>]
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is a shell script which simplifies configuring appli-
- cations against a particular set of ncurses libraries.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is a shell script which simplifies configuring applications
+ against a particular set of ncurses libraries.
-</PRE>
-<H2>OPTIONS</H2><PRE>
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
<STRONG>--prefix</STRONG>
echos the package-prefix of ncurses
@@ -70,8 +66,7 @@
echos the executable-prefix of ncurses
<STRONG>--cflags</STRONG>
- echos the C compiler flags needed to compile with
- ncurses
+ echos the C compiler flags needed to compile with ncurses
<STRONG>--libs</STRONG> echos the libraries needed to link with ncurses
@@ -105,30 +100,32 @@
<STRONG>--terminfo-dirs</STRONG>
echos the $TERMINFO_DIRS directory list, e.g.,
- /usr/local/ncurses/share/terminfo:/usr/share/ter-
- minfo
+ /usr/local/ncurses/share/terminfo:/usr/share/terminfo
<STRONG>--termpath</STRONG>
- echos the $TERMPATH termcap list, if support for
- termcap is configured.
+ echos the $TERMPATH termcap list, if support for termcap is con-
+ figured.
<STRONG>--help</STRONG> prints this message
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="ncurses5-config.1.html">ncurses5-config(1)</A></STRONG>
+ <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/new_pair.3x.html b/doc/html/man/new_pair.3x.html
new file mode 100644
index 000000000000..30740285cb7b
--- /dev/null
+++ b/doc/html/man/new_pair.3x.html
@@ -0,0 +1,186 @@
+<!--
+ ****************************************************************************
+ * Copyright (c) 2017,2018 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey
+ * @Id: new_pair.3x,v 1.13 2018/07/28 22:19:56 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>new_pair 3x</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1 class="no-header">new_pair 3x</H1>
+<PRE>
+<STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>alloc_pair</STRONG>, <STRONG>find_pair</STRONG>, <STRONG>free_pair</STRONG> - new curses color-pair functions
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+ <STRONG>int</STRONG> <STRONG>alloc_pair(int</STRONG> <STRONG>fg,</STRONG> <STRONG>int</STRONG> <STRONG>bg);</STRONG>
+ <STRONG>int</STRONG> <STRONG>find_pair(int</STRONG> <STRONG>fg,</STRONG> <STRONG>int</STRONG> <STRONG>bg);</STRONG>
+ <STRONG>int</STRONG> <STRONG>free_pair(int</STRONG> <STRONG>pair);</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ These functions are an extension to the curses library. They permit an
+ application to dynamically allocate a color pair using the fore-
+ ground/background colors rather than assign a fixed color pair number,
+ and return an unused pair to the pool.
+
+ The number of colors may be related to the number of possible color
+ pairs for a given terminal, or it may not:
+
+ <STRONG>o</STRONG> While almost all terminals allow setting the color <EM>attributes</EM> inde-
+ pendently, it is unlikely that your terminal allows you to modify
+ the attributes of a given character cell without rewriting it.
+ That is, the foreground and background colors are applied as a
+ pair.
+
+ <STRONG>o</STRONG> Color pairs are the curses library's way of managing a color pal-
+ ette on a terminal. If the library does not keep track of the <EM>com-</EM>
+ <EM>binations</EM> of colors which are displayed, it will be inefficient.
+
+ <STRONG>o</STRONG> For simple terminal emulators with only a few dozen color combina-
+ tions, it is convenient to use the maximum number of combinations
+ as the limit on color pairs:
+
+ <STRONG>COLORS</STRONG> <EM>*</EM> <STRONG>COLORS</STRONG>
+
+ <STRONG>o</STRONG> Terminals which support <EM>default</EM> <EM>colors</EM> distinct from "ANSI colors"
+ add to the possible combinations, producing this total:
+
+ <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM> <EM>*</EM> <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM>
+
+ <STRONG>o</STRONG> An application might use up to a few dozen color pairs to implement
+ a predefined color scheme.
+
+ Beyond that lies in the realm of programs using the foreground and
+ background colors for "ASCII art" (or some other non-textual appli-
+ cation).
+
+ Also beyond those few dozen pairs, the required size for a table to
+ represent the combinations grows rapidly with an increasing number
+ of colors.
+
+ These functions allow a developer to let the screen library manage
+ color pairs.
+
+
+</PRE><H3><a name="h3-alloc_pair">alloc_pair</a></H3><PRE>
+ The <STRONG>alloc_pair</STRONG> function accepts parameters for foreground and back-
+ ground color, and checks if that color combination is already associ-
+ ated with a color pair.
+
+ <STRONG>o</STRONG> If the combination already exists, <STRONG>alloc_pair</STRONG> returns the existing
+ pair.
+
+ <STRONG>o</STRONG> If the combination does not exist, <STRONG>alloc_pair</STRONG> allocates a new color
+ pair and returns that.
+
+ <STRONG>o</STRONG> If the table fills up, <STRONG>alloc_pair</STRONG> discards the least-recently allo-
+ cated entry using <STRONG>free_pair</STRONG> and allocates a new color pair.
+
+ All of the color pairs are allocated from a table of possible color
+ pairs. The size of the table is determined by the terminfo <EM>pairs</EM> capa-
+ bility. The table is shared with <STRONG>init_pair</STRONG>; in fact <STRONG>alloc_pair</STRONG> calls
+ <STRONG>init_pair</STRONG> after updating the ncurses library's fast index to the colors
+ versus color pairs.
+
+
+</PRE><H3><a name="h3-find_pair">find_pair</a></H3><PRE>
+ The <STRONG>find_pair</STRONG> function accepts parameters for foreground and background
+ color, and checks if that color combination is already associated with
+ a color pair, returning the pair number if it has been allocated. Oth-
+ erwise it returns -1.
+
+
+</PRE><H3><a name="h3-free_pair">free_pair</a></H3><PRE>
+ Marks the given color pair as unused, i.e., like color pair 0.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The <STRONG>alloc_pair</STRONG> function returns a color pair number in the range 1
+ through <STRONG>COLOR_PAIRS</STRONG>-1, unless it encounters an error updating its fast
+ index to the color pair values, preventing it from allocating a color
+ pair. In that case, it returns -1.
+
+ The <STRONG>find_pair</STRONG> function returns a color pair number if the given color
+ combination has been associated with a color pair, or -1 if not.
+
+ Likewise, <STRONG>free_pair</STRONG> returns <STRONG>OK</STRONG> unless it encounters an error updating
+ the fast index or if no such color pair is in use.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that any
+ code depending on them be conditioned using NCURSES_VERSION.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+ Thomas Dickey.
+
+
+
+ <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+</PRE>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-alloc_pair">alloc_pair</a></li>
+<li><a href="#h3-find_pair">find_pair</a></li>
+<li><a href="#h3-free_pair">free_pair</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html
index 8f9af37b9eee..3304dff61223 100644
--- a/doc/html/man/panel.3x.html
+++ b/doc/html/man/panel.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,140 +26,126 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: panel.3x,v 1.17 2010/10/02 23:22:44 tom Exp @
+ * @Id: panel.3x,v 1.27 2019/03/23 19:23:01 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>panel 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>panel 3x</H1>
-<HR>
+<H1 class="no-header">panel 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
panel - panel stack extension for curses
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;panel.h&gt;</STRONG>
<STRONG>cc</STRONG> <STRONG>[flags]</STRONG> <STRONG>sourcefiles</STRONG> <STRONG>-lpanel</STRONG> <STRONG>-lncurses</STRONG>
- <STRONG>PANEL</STRONG> <STRONG>*new_panel(WINDOW</STRONG> <STRONG>*win)</STRONG>
- <STRONG>int</STRONG> <STRONG>bottom_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>int</STRONG> <STRONG>top_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>int</STRONG> <STRONG>show_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>void</STRONG> <STRONG>update_panels();</STRONG>
- <STRONG>int</STRONG> <STRONG>hide_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*panel_window(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>int</STRONG> <STRONG>replace_panel(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*window)</STRONG>
- <STRONG>int</STRONG> <STRONG>move_panel(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>int</STRONG> <STRONG>starty,</STRONG> <STRONG>int</STRONG> <STRONG>startx)</STRONG>
- <STRONG>int</STRONG> <STRONG>panel_hidden(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>PANEL</STRONG> <STRONG>*panel_above(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>PANEL</STRONG> <STRONG>*panel_below(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>int</STRONG> <STRONG>set_panel_userptr(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*ptr)</STRONG>
- <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*panel_userptr(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan)</STRONG>
- <STRONG>int</STRONG> <STRONG>del_panel(PANEL</STRONG> <STRONG>*pan)</STRONG>
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- Panels are <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> windows with the added feature of
- depth. Panel functions allow the use of stacked windows
- and ensure the proper portions of each window and the
- curses <STRONG>stdscr</STRONG> window are hidden or displayed when panels
- are added, moved, modified or removed. The set of cur-
- rently visible panels is the stack of panels. The <STRONG>stdscr</STRONG>
- window is beneath all panels, and is not considered part
- of the stack.
-
- A window is associated with every panel. The panel rou-
- tines enable you to create, move, hide, and show panels,
- as well as position a panel at any desired location in the
- stack.
-
- Panel routines are a functional layer added to <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
- make only high-level curses calls, and work anywhere ter-
- minfo curses does.
-
-
-</PRE>
-<H2>FUNCTIONS</H2><PRE>
+ <STRONG>PANEL</STRONG> <STRONG>*new_panel(WINDOW</STRONG> <STRONG>*win);</STRONG>
+ <STRONG>int</STRONG> <STRONG>bottom_panel(PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>int</STRONG> <STRONG>top_panel(PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>int</STRONG> <STRONG>show_panel(PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>void</STRONG> <STRONG>update_panels(void);</STRONG>
+ <STRONG>int</STRONG> <STRONG>hide_panel(PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>WINDOW</STRONG> <STRONG>*panel_window(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>int</STRONG> <STRONG>replace_panel(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*window);</STRONG>
+ <STRONG>int</STRONG> <STRONG>move_panel(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>int</STRONG> <STRONG>starty,</STRONG> <STRONG>int</STRONG> <STRONG>startx);</STRONG>
+ <STRONG>int</STRONG> <STRONG>panel_hidden(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>PANEL</STRONG> <STRONG>*panel_above(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>PANEL</STRONG> <STRONG>*panel_below(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>int</STRONG> <STRONG>set_panel_userptr(PANEL</STRONG> <STRONG>*pan,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*ptr);</STRONG>
+ <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*panel_userptr(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*pan);</STRONG>
+ <STRONG>int</STRONG> <STRONG>del_panel(PANEL</STRONG> <STRONG>*pan);</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ Panels are <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> windows with the added feature of depth. Panel
+ functions allow the use of stacked windows and ensure the proper por-
+ tions of each window and the curses <STRONG>stdscr</STRONG> window are hidden or dis-
+ played when panels are added, moved, modified or removed. The set of
+ currently visible panels is the stack of panels. The <STRONG>stdscr</STRONG> window is
+ beneath all panels, and is not considered part of the stack.
+
+ A window is associated with every panel. The panel routines enable you
+ to create, move, hide, and show panels, as well as position a panel at
+ any desired location in the stack.
+
+ Panel routines are a functional layer added to <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, make only
+ high-level curses calls, and work anywhere terminfo curses does.
+
+
+</PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
<STRONG>new_panel(win)</STRONG>
- allocates a <STRONG>PANEL</STRONG> structure, associates it with
- <STRONG>win</STRONG>, places the panel on the top of the stack
- (causes it to be displayed above any other
- panel) and returns a pointer to the new panel.
-
- <STRONG>update_panels()</STRONG>
- refreshes the virtual screen to reflect the rela-
- tions between the panels in the stack, but does not
- call doupdate() to refresh the physical screen.
- Use this function and not <STRONG>wrefresh</STRONG> or <STRONG>wnoutrefresh</STRONG>.
- <STRONG>update_panels</STRONG> may be called more than once before a
- call to doupdate(), but doupdate() is the function
- responsible for updating the physical screen.
+ allocates a <STRONG>PANEL</STRONG> structure, associates it with <STRONG>win</STRONG>, places
+ the panel on the top of the stack (causes it to be displayed
+ above any other panel) and returns a pointer to the new panel.
+
+ <STRONG>update_panels</STRONG>
+ refreshes the <EM>virtual</EM> <EM>screen</EM> to reflect the relations between
+ the panels in the stack, but does not call <STRONG>doupdate</STRONG> to refresh
+ the <EM>physical</EM> <EM>screen</EM>. Use this function and not <STRONG>wrefresh</STRONG> or
+ <STRONG>wnoutrefresh</STRONG>. <STRONG>update_panels</STRONG> may be called more than once before
+ a call to <STRONG>doupdate</STRONG>, but <STRONG>doupdate</STRONG> is the function responsible for
+ updating the <EM>physical</EM> <EM>screen</EM>.
<STRONG>del_panel(pan)</STRONG>
- removes the given panel from the stack and deallo-
- cates the <STRONG>PANEL</STRONG> structure (but not its associated
- window).
+ removes the given panel from the stack and deallocates the
+ <STRONG>PANEL</STRONG> structure (but not its associated window).
<STRONG>hide_panel(pan)</STRONG>
- removes the given panel from the panel stack and
- thus hides it from view. The <STRONG>PANEL</STRONG> structure is not
- lost, merely removed from the stack.
+ removes the given panel from the panel stack and thus hides it
+ from view. The <STRONG>PANEL</STRONG> structure is not lost, merely removed from
+ the stack.
<STRONG>panel_hidden(pan)</STRONG>
- returns TRUE if the panel is in the panel stack,
- FALSE if it is not. If the panel is a null
- pointer, return ERR.
+ returns <STRONG>TRUE</STRONG> if the panel is in the panel stack, <STRONG>FALSE</STRONG> if it is
+ not. If the panel is a null pointer, return <STRONG>ERR</STRONG>.
<STRONG>show_panel(pan)</STRONG>
- makes a hidden panel visible by placing it on top
- of the panels in the panel stack. See COMPATIBILITY
- below.
+ makes a hidden panel visible by placing it on top of the panels
+ in the panel stack. See COMPATIBILITY below.
<STRONG>top_panel(pan)</STRONG>
- puts the given visible panel on top of all panels
- in the stack. See COMPATIBILITY below.
+ puts the given visible panel on top of all panels in the stack.
+ See COMPATIBILITY below.
<STRONG>bottom_panel(pan)</STRONG>
puts panel at the bottom of all panels.
<STRONG>move_panel(pan,starty,startx)</STRONG>
- moves the given panel window so that its upper-left
- corner is at <STRONG>starty</STRONG>, <STRONG>startx</STRONG>. It does not change
- the position of the panel in the stack. Be sure to
- use this function, not <STRONG>mvwin()</STRONG>, to move a panel
- window.
+ moves the given panel window so that its upper-left corner is at
+ <STRONG>starty</STRONG>, <STRONG>startx</STRONG>. It does not change the position of the panel in
+ the stack. Be sure to use this function, not <STRONG>mvwin</STRONG>, to move a
+ panel window.
<STRONG>replace_panel(pan,window)</STRONG>
- replaces the current window of panel with <STRONG>window</STRONG>
- (useful, for example if you want to resize a panel;
- if you're using <STRONG>ncurses</STRONG>, you can call <STRONG>replace_panel</STRONG>
- on the output of <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>). It does not change
- the position of the panel in the stack.
+ replaces the current window of panel with <STRONG>window</STRONG> (useful, for
+ example if you want to resize a panel; if you're using <STRONG>ncurses</STRONG>,
+ you can call <STRONG>replace_panel</STRONG> on the output of <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>). It
+ does not change the position of the panel in the stack.
<STRONG>panel_above(pan)</STRONG>
- returns a pointer to the panel above pan. If the
- panel argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a pointer
- to the bottom panel in the stack.
+ returns a pointer to the panel above pan. If the panel argument
+ is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a pointer to the bottom panel in the
+ stack.
<STRONG>panel_below(pan)</STRONG>
- returns a pointer to the panel just below pan. If
- the panel argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a
- pointer to the top panel in the stack.
+ returns a pointer to the panel just below pan. If the panel
+ argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a pointer to the top panel in
+ the stack.
<STRONG>set_panel_userptr(pan,ptr)</STRONG>
sets the panel's user pointer.
@@ -172,70 +157,79 @@
returns a pointer to the window of the given panel.
-</PRE>
-<H2>DIAGNOSTICS</H2><PRE>
- Each routine that returns a pointer returns <STRONG>NULL</STRONG> if an
- error occurs. Each routine that returns an int value
- returns <STRONG>OK</STRONG> if it executes successfully and <STRONG>ERR</STRONG> if not.
+</PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
+ Each routine that returns a pointer returns <STRONG>NULL</STRONG> if an error occurs.
+ Each routine that returns an int value returns <STRONG>OK</STRONG> if it executes suc-
+ cessfully and <STRONG>ERR</STRONG> if not.
-</PRE>
-<H2>COMPATIBILITY</H2><PRE>
- Reasonable care has been taken to ensure compatibility
- with the native panel facility introduced in SVr3.2
- (inspection of the SVr4 manual pages suggests the program-
- ming interface is unchanged). The <STRONG>PANEL</STRONG> data structures
- are merely similar. The programmer is cautioned not to
- directly use <STRONG>PANEL</STRONG> fields.
-
- The functions <STRONG>show_panel()</STRONG> and <STRONG>top_panel()</STRONG> are identical
- in this implementation, and work equally well with dis-
- played or hidden panels. In the native System V implemen-
- tation, <STRONG>show_panel()</STRONG> is intended for making a hidden panel
- visible (at the top of the stack) and <STRONG>top_panel()</STRONG> is
- intended for making an already-visible panel move to the
- top of the stack. You are cautioned to use the correct
- function to ensure compatibility with native panel
- libraries.
+</PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
+ Reasonable care has been taken to ensure compatibility with the
+ native panel facility introduced in System V (inspection of the SVr4
+ manual pages suggests the programming interface is unchanged). The
+ <STRONG>PANEL</STRONG> data structures are merely similar. The programmer is cau-
+ tioned not to directly use <STRONG>PANEL</STRONG> fields.
+ The functions <STRONG>show_panel</STRONG> and <STRONG>top_panel</STRONG> are identical in this implemen-
+ tation, and work equally well with displayed or hidden panels. In the
+ native System V implementation, <STRONG>show_panel</STRONG> is intended for making a
+ hidden panel visible (at the top of the stack) and <STRONG>top_panel</STRONG> is
+ intended for making an already-visible panel move to the top of the
+ stack. You are cautioned to use the correct function to ensure compat-
+ ibility with native panel libraries.
-</PRE>
-<H2>NOTE</H2><PRE>
- In your library list, libpanel.a should be before libn-
- curses.a; that is, you want to say `-lpanel -lncurses',
- not the other way around (which would usually give a link-
- error).
+</PRE><H2><a name="h2-NOTE">NOTE</a></H2><PRE>
+ In your library list, libpanel.a should be before libncurses.a; that
+ is, you should say "-lpanel -lncurses", not the other way around (which
+ would give a link-error with static libraries).
-</PRE>
-<H2>FILES</H2><PRE>
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The panel facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
+ <EM>Programming</EM> <EM>(UNIX</EM> <EM>SVR4.2)</EM>.
+
+ It is not part of X/Open Curses.
+
+ Aside from ncurses, only systems based on SVr4 source code, e.g.,
+ Solaris provide this library.
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
panel.h interface for the panels library
libpanel.a the panels library itself
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
-</PRE>
-<H2>AUTHOR</H2><PRE>
- Originally written by Warren Tucker &lt;wht@n4hgf.mt-
- park.ga.us&gt;, primarily to assist in porting u386mon to
- systems without a native panels library. Repackaged for
- ncurses by Zeyd ben-Halim.
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+ Originally written by Warren Tucker &lt;wht@n4hgf.mt-park.ga.us&gt;, primar-
+ ily to assist in porting u386mon to systems without a native panels
+ library. Repackaged for ncurses by Zeyd ben-Halim.
- <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+ <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-FUNCTIONS">FUNCTIONS</a></li>
+<li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li>
+<li><a href="#h2-COMPATIBILITY">COMPATIBILITY</a></li>
+<li><a href="#h2-NOTE">NOTE</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/resizeterm.3x.html b/doc/html/man/resizeterm.3x.html
index 5f2defe2ab72..a1e20f90ab52 100644
--- a/doc/html/man/resizeterm.3x.html
+++ b/doc/html/man/resizeterm.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,32 +27,31 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996-on
- * @Id: resizeterm.3x,v 1.17 2013/06/22 20:41:54 tom Exp @
+ * @Id: resizeterm.3x,v 1.26 2019/09/21 23:44:41 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>resizeterm 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>resizeterm 3x</H1>
-<HR>
+<H1 class="no-header">resizeterm 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>is_term_resized</STRONG>, <STRONG>resize_term</STRONG>, <STRONG>resizeterm</STRONG> - change the
- curses terminal size
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>is_term_resized</STRONG>, <STRONG>resize_term</STRONG>, <STRONG>resizeterm</STRONG> - change the curses terminal
+ size
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>bool</STRONG> <STRONG>is_term_resized(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
@@ -61,80 +59,125 @@
<STRONG>int</STRONG> <STRONG>resizeterm(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is an extension to the curses library. It provides
- callers with a hook into the <STRONG>ncurses</STRONG> data to resize win-
- dows, primarily for use by programs running in an X Window
- terminal (e.g., xterm). The function <STRONG>resizeterm</STRONG> resizes
- the standard and current windows to the specified dimen-
- sions, and adjusts other bookkeeping data used by the
- <STRONG>ncurses</STRONG> library that record the window dimensions such as
- the <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> variables.
-
- Most of the work is done by the inner function
- <STRONG>resize_term</STRONG>. The outer function <STRONG>resizeterm</STRONG> adds bookkeep-
- ing for the SIGWINCH handler. When resizing the windows,
- <STRONG>resize_term</STRONG> blank-fills the areas that are extended. The
- calling application should fill in these areas with appro-
- priate data. The <STRONG>resize_term</STRONG> function attempts to resize
- all windows. However, due to the calling convention of
- pads, it is not possible to resize these without addi-
- tional interaction with the application.
-
- A support function <STRONG>is_term_resized</STRONG> is provided so that
- applications can check if the <STRONG>resize_term</STRONG> function would
- modify the window structures. It returns TRUE if the win-
- dows would be modified, and FALSE otherwise.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is an extension to the curses library. It provides callers with a
+ hook into the <STRONG>ncurses</STRONG> data to resize windows, primarily for use by pro-
+ grams running in an X Window terminal (e.g., xterm).
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- Except as noted, these functions return the integer <STRONG>ERR</STRONG>
- upon failure and <STRONG>OK</STRONG> on success. They will fail if either
- of the dimensions are less than or equal to zero, or if an
- error occurs while (re)allocating memory for the windows.
+</PRE><H3><a name="h3-resizeterm">resizeterm</a></H3><PRE>
+ The function <STRONG>resizeterm</STRONG> resizes the standard and current windows to the
+ specified dimensions, and adjusts other bookkeeping data used by the
+ <STRONG>ncurses</STRONG> library that record the window dimensions such as the <STRONG>LINES</STRONG> and
+ <STRONG>COLS</STRONG> variables.
-</PRE>
-<H2>NOTES</H2><PRE>
- While these functions are intended to be used to support a
- signal handler (i.e., for SIGWINCH), care should be taken
- to avoid invoking them in a context where <STRONG>malloc</STRONG> or <STRONG>real-</STRONG>
- <STRONG>loc</STRONG> may have been interrupted, since it uses those func-
- tions.
-
- If ncurses is configured to supply its own SIGWINCH han-
- dler, the <STRONG>resizeterm</STRONG> function <STRONG>ungetch</STRONG>'s a <STRONG>KEY_RESIZE</STRONG> which
- will be read on the next call to <STRONG>getch</STRONG>. This is used to
- alert an application that the screen size has changed, and
- that it should repaint special features such as pads that
- cannot be done automatically.
-
- If the environment variables <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> are set,
- this overrides the library's use of the window size
- obtained from the operating system. Thus, even if a SIG-
- WINCH is received, no screen size change may be recorded.
+</PRE><H3><a name="h3-resize_term">resize_term</a></H3><PRE>
+ Most of the work is done by the inner function <STRONG>resize_term</STRONG>. The outer
+ function <STRONG>resizeterm</STRONG> adds bookkeeping for the <STRONG>SIGWINCH</STRONG> handler, as well
+ as repainting the soft-key area (see <STRONG><A HREF="slk_touch.3x.html">slk_touch(3x)</A></STRONG>).
+ When resizing the windows, <STRONG>resize_term</STRONG> blank-fills the areas that are
+ extended. The calling application should fill in these areas with
+ appropriate data.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ The <STRONG>resize_term</STRONG> function attempts to resize all windows. However, due
+ to the calling convention of pads, it is not possible to resize these
+ without additional interaction with the application.
+
+ When resizing windows, <STRONG>resize_term</STRONG> recursively adjusts subwindows,
+ keeping them within the updated parent window's limits. If a top-level
+ window happens to extend to the screen's limits, then on resizing the
+ window, <STRONG>resize_term</STRONG> will keep the window extending to the corresponding
+ limit, regardless of whether the screen has shrunk or grown.
+
+
+</PRE><H3><a name="h3-is_term_resized">is_term_resized</a></H3><PRE>
+ A support function <STRONG>is_term_resized</STRONG> is provided so that applications can
+ check if the <STRONG>resize_term</STRONG> function would modify the window structures.
+ It returns <STRONG>TRUE</STRONG> if the windows would be modified, and <STRONG>FALSE</STRONG> otherwise.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ Except as noted, these functions return the integer <STRONG>ERR</STRONG> upon failure
+ and <STRONG>OK</STRONG> on success. They will fail if either of the dimensions are less
+ than or equal to zero, or if an error occurs while (re)allocating mem-
+ ory for the windows.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ While these functions are intended to be used to support a signal han-
+ dler (i.e., for <STRONG>SIGWINCH</STRONG>), care should be taken to avoid invoking them
+ in a context where <STRONG>malloc</STRONG> or <STRONG>realloc</STRONG> may have been interrupted, since
+ it uses those functions.
+
+ If ncurses is configured to supply its own <STRONG>SIGWINCH</STRONG> handler,
+
+ <STRONG>o</STRONG> on receipt of a <STRONG>SIGWINCH</STRONG>, the handler sets a flag
+
+ <STRONG>o</STRONG> which is tested in <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> and <STRONG>doupdate</STRONG>,
+
+ <STRONG>o</STRONG> in turn, calling the <STRONG>resizeterm</STRONG> function,
+
+ <STRONG>o</STRONG> which <STRONG>ungetch</STRONG>'s a <STRONG>KEY_RESIZE</STRONG> which will be read on the next call to
+ <STRONG>wgetch</STRONG>.
+
+ The <STRONG>KEY_RESIZE</STRONG> alerts an application that the screen size has
+ changed, and that it should repaint special features such as pads
+ that cannot be done automatically.
+
+ Calling <STRONG>resizeterm</STRONG> or <STRONG>resize_term</STRONG> directly from a signal handler is
+ unsafe. This indirect method is used to provide a safe way to
+ resize the ncurses data structures.
+
+ If the environment variables <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> are set, this overrides
+ the library's use of the window size obtained from the operating sys-
+ tem. Thus, even if a <STRONG>SIGWINCH</STRONG> is received, no screen size change may
+ be recorded.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ It is possible to resize the screen with SVr4 curses, by
+
+ <STRONG>o</STRONG> exiting curses with <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and
+
+ <STRONG>o</STRONG> resuming using <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.
+
+ Doing that clears the screen and is visually distracting.
+
+ This extension of ncurses was introduced in mid-1995. It was adopted
+ in NetBSD curses (2001) and PDCurses (2003).
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
- Thomas Dickey (from an equivalent function written in 1988
- for BSD curses).
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+ Thomas Dickey (from an equivalent function written in 1988 for BSD
+ curses).
- <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+ <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-resizeterm">resizeterm</a></li>
+<li><a href="#h3-resize_term">resize_term</a></li>
+<li><a href="#h3-is_term_resized">is_term_resized</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/scr_dump.5.html b/doc/html/man/scr_dump.5.html
new file mode 100644
index 000000000000..55b0e85349e1
--- /dev/null
+++ b/doc/html/man/scr_dump.5.html
@@ -0,0 +1,435 @@
+<!--
+ ****************************************************************************
+ * Copyright (c) 2017,2018 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: scr_dump.5,v 1.15 2018/07/28 21:46:15 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>scr_dump 5</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1 class="no-header">scr_dump 5</H1>
+<PRE>
+<STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> File Formats Manual <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ scr_dump - format of curses screen-dumps.
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>scr_dump</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The curses library provides applications with the ability to write the
+ contents of a window to an external file using <STRONG>scr_dump</STRONG> or <STRONG>putwin</STRONG>, and
+ read it back using <STRONG>scr_restore</STRONG> or <STRONG>getwin</STRONG>.
+
+ The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions do the work; while <STRONG>scr_dump</STRONG> and
+ <STRONG>scr_restore</STRONG> conveniently save and restore the whole screen, i.e., <STRONG>std-</STRONG>
+ <STRONG>scr</STRONG>.
+
+
+</PRE><H3><a name="h3-ncurses6">ncurses6</a></H3><PRE>
+ A longstanding implementation of screen-dump was revised with ncurses6
+ to remedy problems with the earlier approach:
+
+ <STRONG>o</STRONG> A "magic number" is written to the beginning of the dump file,
+ allowing applications (such as <STRONG>file(1)</STRONG>) to recognize curses dump
+ files.
+
+ Because ncurses6 uses a new format, that requires a new magic num-
+ ber was unused by other applications. This 16-bit number was
+ unused:
+
+ 0x8888 (octal "\210\210")
+
+ but to be more certain, this 32-bit number was chosen:
+
+ 0x88888888 (octal "\210\210\210\210")
+
+ This is the pattern submitted to the maintainers of the <STRONG>file</STRONG> pro-
+ gram:
+
+ #
+ # ncurses5 (and before) did not use a magic number,
+ # making screen dumps "data".
+ #
+ # ncurses6 (2015) uses this format, ignoring byte-order
+ 0 string \210\210\210\210ncurses ncurses6 screen image
+ #
+
+ <STRONG>o</STRONG> The screen dumps are written in textual form, so that internal data
+ sizes are not directly related to the dump-format, and enabling the
+ library to read dumps from either narrow- or wide-character- con-
+ figurations.
+
+ The <EM>narrow</EM> library configuration holds characters and video
+ attributes in a 32-bit <STRONG>chtype</STRONG>, while the <EM>wide-character</EM> library
+ stores this information in the <STRONG>cchar_t</STRONG> structure, which is much
+ larger than 32-bits.
+
+ <STRONG>o</STRONG> It is possible to read a screen dump into a terminal with a differ-
+ ent screen-size, because the library truncates or fills the screen
+ as necessary.
+
+ <STRONG>o</STRONG> The ncurses6 <STRONG>getwin</STRONG> reads the legacy screen dumps from ncurses5.
+
+
+</PRE><H3><a name="h3-ncurses5-_legacy_">ncurses5 (legacy)</a></H3><PRE>
+ The screen-dump feature was added to ncurses in June 1995. While there
+ were fixes and improvements in succeeding years, the basic scheme was
+ unchanged:
+
+ <STRONG>o</STRONG> The <STRONG>WINDOW</STRONG> structure was written in binary form.
+
+ <STRONG>o</STRONG> The <STRONG>WINDOW</STRONG> structure refers to lines of data, which were written as
+ an array of binary data following the <STRONG>WINDOW</STRONG>.
+
+ <STRONG>o</STRONG> When <STRONG>getwin</STRONG> restored the window, it would keep track of offsets
+ into the array of line-data and adjust the <STRONG>WINDOW</STRONG> structure which
+ was read back into memory.
+
+ This is similar to Unix SystemV, but does not write a "magic number" to
+ identify the file format.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ There is no standard format for <STRONG>putwin</STRONG>. This section gives a brief
+ description of the existing formats.
+
+
+</PRE><H3><a name="h3-X_Open-Curses">X/Open Curses</a></H3><PRE>
+ Refer to <EM>X/Open</EM> <EM>Curses,</EM> <EM>Issue</EM> <EM>7</EM> (2009).
+
+ X/Open's documentation for <EM>enhanced</EM> <EM>curses</EM> says only:
+
+ The <EM>getwin(</EM> <EM>)</EM> function reads window-related data stored in the file
+ by <EM>putwin(</EM> <EM>)</EM>. The function then creates and initializes a new win-
+ dow using that data.
+
+ The <EM>putwin(</EM> <EM>)</EM> function writes all data associated with <EM>win</EM> into the
+ <EM>stdio</EM> stream to which <EM>filep</EM> points, using an <STRONG>unspecified</STRONG> <STRONG>format</STRONG>.
+ This information can be retrieved later using <EM>getwin(</EM> <EM>)</EM>.
+
+ In the mid-1990s when the X/Open Curses document was written, there
+ were still systems using older, less capable curses libraries (aside
+ from the BSD curses library which was not relevant to X/Open because it
+ did not meet the criteria for <EM>base</EM> <EM>curses</EM>). The document explained the
+ term "enhanced" as follows:
+
+ <STRONG>o</STRONG> Shading is used to identify <EM>X/Open</EM> <EM>Enhanced</EM> <EM>Curses</EM> material,
+ relating to interfaces included to provide enhanced capabilities
+ for applications originally written to be compiled on systems
+ based on the UNIX operating system. Therefore, the features
+ described may not be present on systems that conform to <STRONG>XPG4</STRONG> <STRONG>or</STRONG>
+ <STRONG>to</STRONG> <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>. The relevant reference pages may pro-
+ vide additional or more specific portability warnings about use
+ of the material.
+
+ In the foregoing, emphasis was added to <STRONG>unspecified</STRONG> <STRONG>format</STRONG> and to <STRONG>XPG4</STRONG>
+ <STRONG>or</STRONG> <STRONG>to</STRONG> <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>, for clarity.
+
+
+</PRE><H3><a name="h3-Unix-SystemV">Unix SystemV</a></H3><PRE>
+ Unix SystemV curses identified the file format by writing a "magic num-
+ ber" at the beginning of the dump. The <STRONG>WINDOW</STRONG> data and the lines of
+ text follow, all in binary form.
+
+ The Solaris curses source has these definitions:
+
+ /* terminfo magic number */
+ #define MAGNUM 0432
+
+ /* curses screen dump magic number */
+ #define SVR2_DUMP_MAGIC_NUMBER 0433
+ #define SVR3_DUMP_MAGIC_NUMBER 0434
+
+ That is, the feature was likely introduced in SVr2 (1984), and improved
+ in SVr3 (1987). The Solaris curses source has no magic number for SVr4
+ (1989). Other operating systems (AIX and HPUX) use a magic number
+ which would correspond to this definition:
+
+ /* curses screen dump magic number */
+ #define SVR4_DUMP_MAGIC_NUMBER 0435
+
+ That octal number in bytes is 001, 035. Because most Unix vendors use
+ big-endian hardware, the magic number is written with the high-order
+ byte first, e.g.,
+
+ 01 35
+
+ After the magic number, the <STRONG>WINDOW</STRONG> structure and line-data are written
+ in binary format. While the magic number used by the Unix systems can
+ be seen using <STRONG>od(1)</STRONG>, none of the Unix systems documents the format used
+ for screen-dumps.
+
+ The Unix systems do not use identical formats. While collecting infor-
+ mation for for this manual page, the <EM>savescreen</EM> test-program produced
+ dumps of different size (all on 64-bit hardware, on 40x80 screens):
+
+ <STRONG>o</STRONG> AIX (51817 bytes)
+
+ <STRONG>o</STRONG> HPUX (90093 bytes)
+
+ <STRONG>o</STRONG> Solaris 10 (13273 bytes)
+
+ <STRONG>o</STRONG> ncurses5 (12888 bytes)
+
+
+</PRE><H3><a name="h3-Solaris">Solaris</a></H3><PRE>
+ As noted above, Solaris curses has no magic number corresponding to
+ SVr4 curses. This is odd since Solaris was the first operating system
+ to pass the SVr4 guidelines. Solaris has two versions of curses:
+
+ <STRONG>o</STRONG> The default curses library uses the SVr3 magic number.
+
+ <STRONG>o</STRONG> There is an alternate curses library in <STRONG>/usr/xpg4</STRONG>. This uses a
+ textual format with no magic number.
+
+ According to the copyright notice, the <EM>xpg4</EM> Solaris curses library
+ was developed by MKS (Mortice Kern Systems) from 1990 to 1995.
+
+ Like ncurses6, there is a file-header with parameters. Unlike
+ ncurses6, the contents of the window are written piecemeal, with
+ coordinates and attributes for each chunk of text rather than writ-
+ ing the whole window from top to bottom.
+
+
+</PRE><H3><a name="h3-PDCurses">PDCurses</a></H3><PRE>
+ PDCurses added support for screen dumps in version 2.7 (2005). Like
+ Unix SystemV and ncurses5, it writes the <STRONG>WINDOW</STRONG> structure in binary,
+ but begins the file with its three-byte identifier "PDC", followed by a
+ one-byte version, e.g.,
+
+ "PDC\001"
+
+
+</PRE><H3><a name="h3-NetBSD">NetBSD</a></H3><PRE>
+ As of April 2017, NetBSD curses does not support <STRONG>scr_dump</STRONG> and
+ <STRONG>scr_restore</STRONG> (or <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>), although it has <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>.
+
+ Like ncurses5, NetBSD <STRONG>putwin</STRONG> does not identify its dumps with a useful
+ magic number. It writes
+
+ <STRONG>o</STRONG> the curses shared library major and minor versions as the first two
+ bytes (e.g., 7 and 1),
+
+ <STRONG>o</STRONG> followed by a binary dump of the <STRONG>WINDOW</STRONG>,
+
+ <STRONG>o</STRONG> some data for wide-characters referenced by the <STRONG>WINDOW</STRONG> structure,
+ and
+
+ <STRONG>o</STRONG> finally, lines as done by other implementations.
+
+
+</PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
+ Given a simple program which writes text to the screen (and for the
+ sake of example, limiting the screen-size to 10x20):
+
+ #include &lt;curses.h&gt;
+
+ int
+ main(void)
+ {
+ putenv("LINES=10");
+ putenv("COLUMNS=20");
+ initscr();
+ start_color();
+ init_pair(1, COLOR_WHITE, COLOR_BLUE);
+ init_pair(2, COLOR_RED, COLOR_BLACK);
+ bkgd(<STRONG>COLOR_PAIR(1)</STRONG>);
+ move(4, 5);
+ attron(A_BOLD);
+ addstr("Hello");
+ move(5, 5);
+ attroff(A_BOLD);
+ attrset(A_REVERSE | <STRONG>COLOR_PAIR(2)</STRONG>);
+ addstr("World!");
+ refresh();
+ scr_dump("foo.out");
+ endwin();
+ return 0;
+ }
+
+ When run using ncurses6, the output looks like this:
+
+ \210\210\210\210ncurses 6.0.20170415
+ _cury=5
+ _curx=11
+ _maxy=9
+ _maxx=19
+ _flags=14
+ _attrs=\{REVERSE|C2}
+ flag=_idcok
+ _delay=-1
+ _regbottom=9
+ _bkgrnd=\{NORMAL|C1}\s
+ rows:
+ 1:\{NORMAL|C1}\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 2:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 3:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 4:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 5:\s\s\s\s\s\{BOLD}Hello\{NORMAL}\s\s\s\s\s\s\s\s\s\s
+ 6:\s\s\s\s\s\{REVERSE|C2}World!\{NORMAL|C1}\s\s\s\s\s\s\s\s\s
+ 7:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 8:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 9:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+ 10:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+
+ The first four octal escapes are actually nonprinting characters, while
+ the remainder of the file is printable text. You may notice:
+
+ <STRONG>o</STRONG> The actual color pair values are not written to the file.
+
+ <STRONG>o</STRONG> All characters are shown in printable form; spaces are "\s" to
+ ensure they are not overlooked.
+
+ <STRONG>o</STRONG> Attributes are written in escaped curly braces, e.g., "\{BOLD}",
+ and may include a color-pair (C1 or C2 in this example).
+
+ <STRONG>o</STRONG> The parameters in the header are written out only if they are
+ nonzero. When reading back, order does not matter.
+
+ Running the same program with Solaris <EM>xpg4</EM> curses gives this dump:
+
+ MAX=10,20
+ BEG=0,0
+ SCROLL=0,10
+ VMIN=1
+ VTIME=0
+ FLAGS=0x1000
+ FG=0,0
+ BG=0,0,
+ 0,0,0,1,
+ 0,19,0,0,
+ 1,0,0,1,
+ 1,19,0,0,
+ 2,0,0,1,
+ 2,19,0,0,
+ 3,0,0,1,
+ 3,19,0,0,
+ 4,0,0,1,
+ 4,5,0x20,0,Hello
+ 4,10,0,1,
+ 4,19,0,0,
+ 5,0,0,1,
+ 5,5,0x4,2,World!
+ 5,11,0,1,
+ 5,19,0,0,
+ 6,0,0,1,
+ 6,19,0,0,
+ 7,0,0,1,
+ 7,19,0,0,
+ 8,0,0,1,
+ 8,19,0,0,
+ 9,0,0,1,
+ 9,19,0,0,
+ CUR=11,5
+
+ Solaris <STRONG>getwin</STRONG> requires that all parameters are present, and in the
+ same order. The <EM>xpg4</EM> curses library does not know about the <STRONG>bce</STRONG> (back
+ color erase) capability, and does not color the window background.
+
+ On the other hand, the SVr4 curses library does know about the back-
+ ground color. However, its screen dumps are in binary. Here is the
+ corresponding dump (using "od -t x1"):
+
+ 0000000 1c 01 c3 d6 f3 58 05 00 0b 00 0a 00 14 00 00 00
+ 0000020 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 0000040 00 00 b8 1a 06 08 cc 1a 06 08 00 00 09 00 10 00
+ 0000060 00 00 00 80 00 00 20 00 00 00 ff ff ff ff 00 00
+ 0000100 ff ff ff ff 00 00 00 00 20 80 00 00 20 80 00 00
+ 0000120 20 80 00 00 20 80 00 00 20 80 00 00 20 80 00 00
+ *
+ 0000620 20 80 00 00 20 80 00 00 20 80 00 00 48 80 00 04
+ 0000640 65 80 00 04 6c 80 00 04 6c 80 00 04 6f 80 00 04
+ 0000660 20 80 00 00 20 80 00 00 20 80 00 00 20 80 00 00
+ *
+ 0000740 20 80 00 00 20 80 00 00 20 80 00 00 57 00 81 00
+ 0000760 6f 00 81 00 72 00 81 00 6c 00 81 00 64 00 81 00
+ 0001000 21 00 81 00 20 80 00 00 20 80 00 00 20 80 00 00
+ 0001020 20 80 00 00 20 80 00 00 20 80 00 00 20 80 00 00
+ *
+ 0001540 20 80 00 00 20 80 00 00 00 00 f6 d1 01 00 f6 d1
+ 0001560 08 00 00 00 40 00 00 00 00 00 00 00 00 00 00 07
+ 0001600 00 04 00 01 00 01 00 00 00 01 00 00 00 00 00 00
+ 0001620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ *
+ 0002371
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Thomas E. Dickey
+ extended screen-dump format for ncurses 6.0 (2015)
+
+ Eric S. Raymond
+ screen dump feature in ncurses 1.9.2d (1995)
+
+
+
+ <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+</PRE>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-ncurses6">ncurses6</a></li>
+<li><a href="#h3-ncurses5-_legacy_">ncurses5 (legacy)</a></li>
+</ul>
+</li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-X_Open-Curses">X/Open Curses</a></li>
+<li><a href="#h3-Unix-SystemV">Unix SystemV</a></li>
+<li><a href="#h3-Solaris">Solaris</a></li>
+<li><a href="#h3-PDCurses">PDCurses</a></li>
+<li><a href="#h3-NetBSD">NetBSD</a></li>
+</ul>
+</li>
+<li><a href="#h2-EXAMPLE">EXAMPLE</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html
index 030d59d98adc..14b555ee4d81 100644
--- a/doc/html/man/tabs.1.html
+++ b/doc/html/man/tabs.1.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2008-2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2008-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,97 +26,111 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tabs.1,v 1.11 2013/06/22 18:11:57 tom Exp @
+ * @Id: tabs.1,v 1.26 2019/06/23 21:01:12 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>tabs 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>tabs 1</H1>
-<HR>
+<H1 class="no-header">tabs 1</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>tabs</STRONG> - set tabs on a terminal
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>tabs</STRONG> [<EM>options</EM>]] <EM>[tabstop-list]</EM>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>tabs</STRONG> program clears and sets tab-stops on the termi-
- nal. This uses the terminfo <EM>clear</EM><STRONG>_</STRONG><EM>all</EM><STRONG>_</STRONG><EM>tabs</EM> and <EM>set</EM><STRONG>_</STRONG><EM>tab</EM>
- capabilities. If either is absent, <STRONG>tabs</STRONG> is unable to
- clear/set tab-stops. The terminal should be configured to
- use hard tabs, e.g.,
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>tabs</STRONG> program clears and sets tab-stops on the terminal. This uses
+ the terminfo <EM>clear</EM><STRONG>_</STRONG><EM>all</EM><STRONG>_</STRONG><EM>tabs</EM> and <EM>set</EM><STRONG>_</STRONG><EM>tab</EM> capabilities. If either is
+ absent, <STRONG>tabs</STRONG> is unable to clear/set tab-stops. The terminal should be
+ configured to use hard tabs, e.g.,
- stty tab0
+ stty tab0
+ Like <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>tabs</STRONG> writes to the standard output. You can redirect
+ the standard output to a file (which prevents <STRONG>tabs</STRONG> from actually chang-
+ ing the tabstops), and later <STRONG>cat</STRONG> the file to the screen, setting tab-
+ stops at that point.
-</PRE>
-<H2>OPTIONS</H2><PRE>
- <STRONG>General</STRONG> <STRONG>Options</STRONG>
+ These are hardware tabs, which cannot be queried rapidly by applica-
+ tions running in the terminal, if at all. Curses and other full-screen
+ applications may use hardware tabs in optimizing their output to the
+ terminal. If the hardware tabstops differ from the information in the
+ terminal database, the result is unpredictable. Before running curses
+ programs, you should either reset tab-stops to the standard interval
+
+ tabs -8
+
+ or use the <STRONG>reset</STRONG> program, since the normal initialization sequences do
+ not ensure that tab-stops are reset.
+
+
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
+
+</PRE><H3><a name="h3-General-Options">General Options</a></H3><PRE>
<STRONG>-T</STRONG><EM>name</EM>
- Tell <STRONG>tabs</STRONG> which terminal type to use. If this option
- is not given, <STRONG>tabs</STRONG> will use the <STRONG>$TERM</STRONG> environment
- variable. If that is not set, it will use the
- <EM>ansi+tabs</EM> entry.
-
- <STRONG>-d</STRONG> The debugging option shows a ruler line, followed by
- two data lines. The first data line shows the
- expected tab-stops marked with asterisks. The second
- data line shows the actual tab-stops, marked with
- asterisks.
-
- <STRONG>-n</STRONG> This option tells <STRONG>tabs</STRONG> to check the options and run
- any debugging option, but not to modify the terminal
- settings.
-
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this
- program, and exits.
-
- The <STRONG>tabs</STRONG> program processes a single list of tab stops.
- The last option to be processed which defines a list is
- the one that determines the list to be processed.
-
- <STRONG>Implicit</STRONG> <STRONG>Lists</STRONG>
- Use a single number as an option, e.g., "<STRONG>-5</STRONG>" to set tabs
- at the given interval (in this case 1, 6, 11, 16, 21,
- etc.). Tabs are repeated up to the right margin of the
- screen.
+ Tell <STRONG>tabs</STRONG> which terminal type to use. If this option is not
+ given, <STRONG>tabs</STRONG> will use the <STRONG>$TERM</STRONG> environment variable. If that is
+ not set, it will use the <EM>ansi+tabs</EM> entry.
+
+ <STRONG>-d</STRONG> The debugging option shows a ruler line, followed by two data
+ lines. The first data line shows the expected tab-stops marked
+ with asterisks. The second data line shows the actual tab-stops,
+ marked with asterisks.
+
+ <STRONG>-n</STRONG> This option tells <STRONG>tabs</STRONG> to check the options and run any debugging
+ option, but not to modify the terminal settings.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ exits.
+
+ The <STRONG>tabs</STRONG> program processes a single list of tab stops. The last option
+ to be processed which defines a list is the one that determines the
+ list to be processed.
+
+
+</PRE><H3><a name="h3-Implicit-Lists">Implicit Lists</a></H3><PRE>
+ Use a single number as an option, e.g., "<STRONG>-5</STRONG>" to set tabs at the given
+ interval (in this case 1, 6, 11, 16, 21, etc.). Tabs are repeated up
+ to the right margin of the screen.
Use "<STRONG>-0</STRONG>" to clear all tabs.
Use "<STRONG>-8</STRONG>" to set tabs to the standard interval.
- <STRONG>Explicit</STRONG> <STRONG>Lists</STRONG>
- An explicit list can be defined after the options (this
- does not use a "-"). The values in the list must be in
- increasing numeric order, and greater than zero. They are
- separated by a comma or a blank, for example,
- tabs 1,6,11,16,21
- tabs 1 6 11 16 21
- Use a '+' to treat a number as an increment relative to
- the previous value, e.g.,
+</PRE><H3><a name="h3-Explicit-Lists">Explicit Lists</a></H3><PRE>
+ An explicit list can be defined after the options (this does not use a
+ "-"). The values in the list must be in increasing numeric order, and
+ greater than zero. They are separated by a comma or a blank, for exam-
+ ple,
+
+ tabs 1,6,11,16,21
+ tabs 1 6 11 16 21
+
+ Use a "+" to treat a number as an increment relative to the previous
+ value, e.g.,
- tabs 1,+5,+5,+5,+5
+ tabs 1,+5,+5,+5,+5
which is equivalent to the 1,6,11,16,21 example.
- <STRONG>Predefined</STRONG> <STRONG>Tab-Stops</STRONG>
+
+</PRE><H3><a name="h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></H3><PRE>
X/Open defines several predefined lists of tab stops.
<STRONG>-a</STRONG> Assembler, IBM S/370, first format
@@ -139,37 +152,81 @@
<STRONG>-u</STRONG> UNIVAC 1100 Assembler
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- X/Open describes a <STRONG>+m</STRONG> option, to set a terminal's left-
- margin. Very few of the entries in the terminal database
- provide this capability.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ <EM>IEEE</EM> <EM>Std</EM> <EM>1003.1/The</EM> <EM>Open</EM> <EM>Group</EM> <EM>Base</EM> <EM>Specifications</EM> <EM>Issue</EM> <EM>7</EM>
+ (POSIX.1-2008) describes a <STRONG>tabs</STRONG> utility. However
- The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions not
- provided by other implementations.
+ <STRONG>o</STRONG> This standard describes a <STRONG>+m</STRONG> option, to set a terminal's left-mar-
+ gin. Very few of the entries in the terminal database provide the
+ <STRONG>smgl</STRONG> (<STRONG>set_left_margin</STRONG>) or <STRONG>smglp</STRONG> (<STRONG>set_left_margin_parm</STRONG>) capability
+ needed to support the feature.
- Documentation for other implementations states that there
- is a limit on the number of tab stops. While some termi-
- nals may not accept an arbitrary number of tab stops, this
- implementation will attempt to set tab stops up to the
- right margin of the screen, if the given list happens to
- be that long.
+ <STRONG>o</STRONG> There is no counterpart in X/Open Curses Issue 7 for this utility,
+ unlike <STRONG>tput(1)</STRONG>.
+ The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions not provided by
+ other implementations.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+ A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977). There was a reduced
+ version of the <STRONG>tabs</STRONG> utility in Unix 7th edition and in 3BSD (1979).
+ The latter supported a single "-n" option (to cause the first tab stop
+ to be set on the left margin). That option is not documented by POSIX.
+
+ The PWB/Unix <STRONG>tabs</STRONG> utility, which was included in System III (1980),
+ used built-in tables rather than the terminal database, to support a
+ half-dozen terminal types. It also had built-in logic to support the
+ left-margin, as well as a feature for copying the tab settings from a
+ file.
+
+ Later versions of Unix, e.g., SVr4, added support for the terminal
+ database, but kept the tables, as a fallback. In an earlier develop-
+ ment effort, the tab-stop initialization provided by <STRONG>tset</STRONG> (1982) and
+ incorporated into <STRONG>tput</STRONG> uses the terminal database,
+
+ POSIX documents no limits on the number of tab stops. Documentation
+ for other implementations states that there is a limit on the number of
+ tab stops (e.g., 20 in PWB/Unix's <STRONG>tabs</STRONG> utility). While some terminals
+ may not accept an arbitrary number of tab stops, this implementation
+ will attempt to set tab stops up to the right margin of the screen, if
+ the given list happens to be that long.
+
+ The <EM>Rationale</EM> section of the POSIX documentation goes into some detail
+ about the ways the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG>
+ utilities, without proposing an improved solution. It comments that
+
+ no known historical version of tabs supports the capability of
+ setting arbitrary tab stops.
+
+ However, the <EM>Explicit</EM> <EM>Lists</EM> described in this manual page were imple-
+ mented in PWB/Unix. Those provide the capability of setting abitrary
+ tab stops.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+ <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-OPTIONS">OPTIONS</a>
+<ul>
+<li><a href="#h3-General-Options">General Options</a></li>
+<li><a href="#h3-Implicit-Lists">Implicit Lists</a></li>
+<li><a href="#h3-Explicit-Lists">Explicit Lists</a></li>
+<li><a href="#h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></li>
+</ul>
+</li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/term.5.html b/doc/html/man/term.5.html
index 26d608bb8215..5fab776ded8c 100644
--- a/doc/html/man/term.5.html
+++ b/doc/html/man/term.5.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,82 +26,76 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term.5,v 1.21 2010/12/04 18:40:45 tom Exp @
+ * @Id: term.5,v 1.32 2019/01/12 23:11:08 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>term 5</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>term 5</H1>
-<HR>
+<H1 class="no-header">term 5</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="term.5.html">term(5)</A></STRONG> <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+<STRONG><A HREF="term.5.html">term(5)</A></STRONG> File Formats Manual <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
term - format of compiled term file.
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>term</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>STORAGE</STRONG> <STRONG>LOCATION</STRONG>
- Compiled terminfo descriptions are placed under the direc-
- tory <STRONG>/usr/share/terminfo</STRONG>. Two configurations are sup-
- ported (when building the ncurses libraries):
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-STORAGE-LOCATION">STORAGE LOCATION</a></H3><PRE>
+ Compiled terminfo descriptions are placed under the directory
+ <STRONG>/usr/share/terminfo</STRONG>. Two configurations are supported (when building
+ the <STRONG>ncurses</STRONG> libraries):
<STRONG>directory</STRONG> <STRONG>tree</STRONG>
- A two-level scheme is used to avoid a linear search
- of a huge UNIX system directory: <STRONG>/usr/share/ter-</STRONG>
- <STRONG>minfo/c/name</STRONG> where <EM>name</EM> is the name of the terminal,
- and <EM>c</EM> is the first character of <EM>name</EM>. Thus, <EM>act4</EM> can
- be found in the file <STRONG>/usr/share/terminfo/a/act4</STRONG>.
- Synonyms for the same terminal are implemented by
- multiple links to the same compiled file.
+ A two-level scheme is used to avoid a linear search of a huge UNIX
+ system directory: <STRONG>/usr/share/terminfo/c/name</STRONG> where <EM>name</EM> is the
+ name of the terminal, and <EM>c</EM> is the first character of <EM>name</EM>. Thus,
+ <EM>act4</EM> can be found in the file <STRONG>/usr/share/terminfo/a/act4</STRONG>. Syn-
+ onyms for the same terminal are implemented by multiple links to
+ the same compiled file.
<STRONG>hashed</STRONG> <STRONG>database</STRONG>
- Using Berkeley database, two types of records are
- stored: the terminfo data in the same format as
- stored in a directory tree with the terminfo's pri-
- mary name as a key, and records containing only
+ Using Berkeley database, two types of records are stored: the ter-
+ minfo data in the same format as stored in a directory tree with
+ the terminfo's primary name as a key, and records containing only
aliases pointing to the primary name.
- If built to write hashed databases, ncurses can still
- read terminfo databases organized as a directory
- tree, but cannot write entries into the directory
- tree. It can write (or rewrite) entries in the
- hashed database.
+ If built to write hashed databases, <STRONG>ncurses</STRONG> can still read ter-
+ minfo databases organized as a directory tree, but cannot write
+ entries into the directory tree. It can write (or rewrite)
+ entries in the hashed database.
+
+ <STRONG>ncurses</STRONG> distinguishes the two cases in the TERMINFO and TER-
+ MINFO_DIRS environment variable by assuming a directory tree for
+ entries that correspond to an existing directory, and hashed data-
+ base otherwise.
- ncurses distinguishes the two cases in the TERMINFO
- and TERMINFO_DIRS environment variable by assuming a
- directory tree for entries that correspond to an
- existing directory, and hashed database otherwise.
- <STRONG>STORAGE</STRONG> <STRONG>FORMAT</STRONG>
- The format has been chosen so that it will be the same on
- all hardware. An 8 or more bit byte is assumed, but no
- assumptions about byte ordering or sign extension are
- made.
+</PRE><H3><a name="h3-LEGACY-STORAGE-FORMAT">LEGACY STORAGE FORMAT</a></H3><PRE>
+ The format has been chosen so that it will be the same on all hardware.
+ An 8 or more bit byte is assumed, but no assumptions about byte order-
+ ing or sign extension are made.
- The compiled file is created with the <STRONG>tic</STRONG> program, and
- read by the routine <EM>setupterm</EM>. The file is divided into
- six parts: the header, terminal names, boolean flags, num-
- bers, strings, and string table.
+ The compiled file is created with the <STRONG>tic</STRONG> program, and read by the rou-
+ tine <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>. The file is divided into six parts: the header,
+ terminal names, boolean flags, numbers, strings, and string table.
- The header section begins the file. This section contains
- six short integers in the format described below. These
- integers are
+ The header section begins the file. This section contains six short
+ integers in the format described below. These integers are
(1) the magic number (octal 0432);
@@ -110,78 +103,69 @@
(3) the number of bytes in the boolean section;
- (4) the number of short integers in the numbers sec-
- tion;
+ (4) the number of short integers in the numbers section;
- (5) the number of offsets (short integers) in the
- strings section;
+ (5) the number of offsets (short integers) in the strings section;
(6) the size, in bytes, of the string table.
- Short integers are stored in two 8-bit bytes. The first
- byte contains the least significant 8 bits of the value,
- and the second byte contains the most significant 8 bits.
- (Thus, the value represented is 256*second+first.) The
- value -1 is represented by the two bytes 0377, 0377; other
- negative values are illegal. This value generally means
- that the corresponding capability is missing from this
- terminal. Note that this format corresponds to the hard-
- ware of the VAX and PDP-11 (that is, little-endian
- machines). Machines where this does not correspond to the
- hardware must read the integers as two bytes and compute
- the little-endian value.
-
- The terminal names section comes next. It contains the
- first line of the terminfo description, listing the vari-
- ous names for the terminal, separated by the `|' charac-
- ter. The section is terminated with an ASCII NUL charac-
- ter.
-
- The boolean flags have one byte for each flag. This byte
- is either 0 or 1 as the flag is present or absent. The
- capabilities are in the same order as the file &lt;term.h&gt;.
-
- Between the boolean section and the number section, a null
- byte will be inserted, if necessary, to ensure that the
- number section begins on an even byte (this is a relic of
- the PDP-11's word-addressed architecture, originally
- designed in to avoid IOT traps induced by addressing a
- word on an odd byte boundary). All short integers are
- aligned on a short word boundary.
-
- The numbers section is similar to the flags section. Each
- capability takes up two bytes, and is stored as a little-
- endian short integer. If the value represented is -1, the
- capability is taken to be missing.
-
- The strings section is also similar. Each capability is
- stored as a short integer, in the format above. A value
- of -1 means the capability is missing. Otherwise, the
- value is taken as an offset from the beginning of the
- string table. Special characters in ^X or \c notation are
- stored in their interpreted form, not the printing repre-
- sentation. Padding information $&lt;nn&gt; and parameter infor-
- mation %x are stored intact in uninterpreted form.
-
- The final section is the string table. It contains all
- the values of string capabilities referenced in the string
- section. Each string is null terminated.
-
- <STRONG>EXTENDED</STRONG> <STRONG>STORAGE</STRONG> <STRONG>FORMAT</STRONG>
- The previous section describes the conventional terminfo
- binary format. With some minor variations of the offsets
- (see PORTABILITY), the same binary format is used in all
- modern UNIX systems. Each system uses a predefined set of
- boolean, number or string capabilities.
-
- The ncurses libraries and applications support extended
- terminfo binary format, allowing users to define capabili-
- ties which are loaded at runtime. This extension is made
- possible by using the fact that the other implementations
- stop reading the terminfo data when they have reached the
- end of the size given in the header. ncurses checks the
- size, and if it exceeds that due to the predefined data,
- continues to parse according to its own scheme.
+ Short integers are stored in two 8-bit bytes. The first byte contains
+ the least significant 8 bits of the value, and the second byte contains
+ the most significant 8 bits. (Thus, the value represented is 256*sec-
+ ond+first.) The value -1 is represented by the two bytes 0377, 0377;
+ other negative values are illegal. This value generally means that the
+ corresponding capability is missing from this terminal. Note that this
+ format corresponds to the hardware of the VAX and PDP-11 (that is, lit-
+ tle-endian machines). Machines where this does not correspond to the
+ hardware must read the integers as two bytes and compute the little-
+ endian value.
+
+ The terminal names section comes next. It contains the first line of
+ the terminfo description, listing the various names for the terminal,
+ separated by the "|" character. The section is terminated with an
+ ASCII NUL character.
+
+ The boolean flags have one byte for each flag. This byte is either 0
+ or 1 as the flag is present or absent. The capabilities are in the
+ same order as the file &lt;term.h&gt;.
+
+ Between the boolean section and the number section, a null byte will be
+ inserted, if necessary, to ensure that the number section begins on an
+ even byte (this is a relic of the PDP-11's word-addressed architecture,
+ originally designed in to avoid IOT traps induced by addressing a word
+ on an odd byte boundary). All short integers are aligned on a short
+ word boundary.
+
+ The numbers section is similar to the flags section. Each capability
+ takes up two bytes, and is stored as a little-endian short integer. If
+ the value represented is -1, the capability is taken to be missing.
+
+ The strings section is also similar. Each capability is stored as a
+ short integer, in the format above. A value of -1 means the capability
+ is missing. Otherwise, the value is taken as an offset from the begin-
+ ning of the string table. Special characters in ^X or \c notation are
+ stored in their interpreted form, not the printing representation.
+ Padding information $&lt;nn&gt; and parameter information %x are stored
+ intact in uninterpreted form.
+
+ The final section is the string table. It contains all the values of
+ string capabilities referenced in the string section. Each string is
+ null terminated.
+
+
+</PRE><H3><a name="h3-EXTENDED-STORAGE-FORMAT">EXTENDED STORAGE FORMAT</a></H3><PRE>
+ The previous section describes the conventional terminfo binary format.
+ With some minor variations of the offsets (see PORTABILITY), the same
+ binary format is used in all modern UNIX systems. Each system uses a
+ predefined set of boolean, number or string capabilities.
+
+ The <STRONG>ncurses</STRONG> libraries and applications support extended terminfo binary
+ format, allowing users to define capabilities which are loaded at run-
+ time. This extension is made possible by using the fact that the other
+ implementations stop reading the terminfo data when they have reached
+ the end of the size given in the header. <STRONG>ncurses</STRONG> checks the size, and
+ if it exceeds that due to the predefined data, continues to parse
+ according to its own scheme.
First, it reads the extended header (5 short integers):
@@ -191,118 +175,203 @@
(3) count of extended string capabilities
- (4) size of the extended string table in bytes.
+ (4) count of the items in extended string table
- (5) last offset of the extended string table in
- bytes.
+ (5) size of the extended string table in bytes
- Using the counts and sizes, ncurses allocates arrays and
- reads data for the extended capabilties in the same order
- as the header information.
+ The count- and size-values for the extended string table include the
+ extended capability <EM>names</EM> as well as extended capability <EM>values</EM>.
- The extended string table contains values for string capa-
- bilities. After the end of these values, it contains the
- names for each of the extended capabilities in order,
- e.g., booleans, then numbers and finally strings.
+ Using the counts and sizes, <STRONG>ncurses</STRONG> allocates arrays and reads data for
+ the extended capabilities in the same order as the header information.
+ The extended string table contains values for string capabilities.
+ After the end of these values, it contains the names for each of the
+ extended capabilities in order, e.g., booleans, then numbers and
+ finally strings.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- Note that it is possible for <EM>setupterm</EM> to expect a differ-
- ent set of capabilities than are actually present in the
- file. Either the database may have been updated since
- <EM>setupterm</EM> has been recompiled (resulting in extra unrecog-
- nized entries in the file) or the program may have been
- recompiled more recently than the database was updated
- (resulting in missing entries). The routine <EM>setupterm</EM>
- must be prepared for both possibilities - this is why the
- numbers and sizes are included. Also, new capabilities
- must always be added at the end of the lists of boolean,
- number, and string capabilities.
-
- Despite the consistent use of little-endian for numbers
- and the otherwise self-describing format, it is not wise
- to count on portability of binary terminfo entries between
- commercial UNIX versions. The problem is that there are
- at least three versions of terminfo (under HP-UX, AIX, and
- OSF/1) which diverged from System V terminfo after SVr1,
- and have added extension capabilities to the string table
- that (in the binary format) collide with System V and XSI
- Curses extensions. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discus-
- sion of terminfo source compatibility issues.
+ Applications which manipulate terminal data can use the definitions
+ described in <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> which associate the long capability
+ names with members of a <STRONG>TERMTYPE</STRONG> structure.
-</PRE>
-<H2>EXAMPLE</H2><PRE>
- As an example, here is a hex dump of the description for
- the Lear-Siegler ADM-3, a popular though rather stupid
- early terminal:
-
- adm3a|lsi adm3a,
- am,
- cols#80, lines#24,
- bel=^G, clear= 32$&lt;1&gt;, cr=^M, cub1=^H, cud1=^J,
- cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
- home=^^, ind=^J,
-
- 0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3
- 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P.
- 0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........
- 0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'...
- 0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-.....
- 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
- 0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$&lt;1
- 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 &gt;..=%p1% {32}%+%c
- 0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c....
- 0150 00 08 00 0c 00 0b 00 0a 00 ........ .
+</PRE><H3><a name="h3-EXTENDED-NUMBER-FORMAT">EXTENDED NUMBER FORMAT</a></H3><PRE>
+ On occasion, 16-bit signed integers are not large enough. With <STRONG>ncurses</STRONG>
+ 6.1, a new format was introduced by making a few changes to the legacy
+ format:
+
+ <STRONG>o</STRONG> a different magic number (octal 01036)
+
+ <STRONG>o</STRONG> changing the type for the <EM>number</EM> array from signed 16-bit integers
+ to signed 32-bit integers.
+
+ To maintain compatibility, the library presents the same data struc-
+ tures to direct users of the <STRONG>TERMTYPE</STRONG> structure as in previous formats.
+ However, that cannot provide callers with the extended numbers. The
+ library uses a similar but hidden data structure <STRONG>TERMTYPE2</STRONG> to provide
+ data for the terminfo functions.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+
+</PRE><H3><a name="h3-setupterm">setupterm</a></H3><PRE>
+ Note that it is possible for <STRONG>setupterm</STRONG> to expect a different set of
+ capabilities than are actually present in the file. Either the data-
+ base may have been updated since <STRONG>setupterm</STRONG> has been recompiled (result-
+ ing in extra unrecognized entries in the file) or the program may have
+ been recompiled more recently than the database was updated (resulting
+ in missing entries). The routine <STRONG>setupterm</STRONG> must be prepared for both
+ possibilities - this is why the numbers and sizes are included. Also,
+ new capabilities must always be added at the end of the lists of bool-
+ ean, number, and string capabilities.
+</PRE><H3><a name="h3-Binary-format">Binary format</a></H3><PRE>
+ X/Open Curses does not specify a format for the terminfo database.
+ UNIX System V curses used a directory-tree of binary files, one per
+ terminal description.
-</PRE>
-<H2>LIMITS</H2><PRE>
- Some limitations: total compiled entries cannot exceed
- 4096 bytes. The name field cannot exceed 128 bytes.
+ Despite the consistent use of little-endian for numbers and the other-
+ wise self-describing format, it is not wise to count on portability of
+ binary terminfo entries between commercial UNIX versions. The problem
+ is that there are at least three versions of terminfo (under HP-UX,
+ AIX, and OSF/1) which diverged from System V terminfo after SVr1, and
+ have added extension capabilities to the string table that (in the
+ binary format) collide with System V and XSI Curses extensions. See
+ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discussion of terminfo source compatibility
+ issues.
+ This implementation is by default compatible with the binary terminfo
+ format used by Solaris curses, except in a few less-used details where
+ it was found that the latter did not match X/Open Curses. The format
+ used by the other Unix versions can be matched by building ncurses with
+ different configuration options.
-</PRE>
-<H2>FILES</H2><PRE>
- /usr/share/terminfo/*/* compiled terminal capability data
- base
+</PRE><H3><a name="h3-Magic-codes">Magic codes</a></H3><PRE>
+ The magic number in a binary terminfo file is the first 16-bits (two
+ bytes). Besides making it more reliable for the library to check that
+ a file is terminfo, utilities such as <STRONG>file</STRONG> also use that to tell what
+ the file-format is. System V defined more than one magic number, with
+ 0433, 0435 as screen-dumps (see <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>). This implementation uses
+ 01036 as a continuation of that sequence, but with a different high-
+ order byte to avoid confusion.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+
+</PRE><H3><a name="h3-The-TERMTYPE-structure">The TERMTYPE structure</a></H3><PRE>
+ Direct access to the <STRONG>TERMTYPE</STRONG> structure is provided for legacy applica-
+ tions. Portable applications should use the <STRONG>tigetflag</STRONG> and related
+ functions described in <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> for reading terminal capabili-
+ ties.
+
+
+</PRE><H3><a name="h3-Mixed-case-terminal-names">Mixed-case terminal names</a></H3><PRE>
+ A small number of terminal descriptions use uppercase characters in
+ their names. If the underlying filesystem ignores the difference
+ between uppercase and lowercase, <STRONG>ncurses</STRONG> represents the "first charac-
+ ter" of the terminal name used as the intermediate level of a directory
+ tree in (two-character) hexadecimal form.
+
+
+</PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
+ As an example, here is a description for the Lear-Siegler ADM-3, a pop-
+ ular though rather stupid early terminal:
+
+ adm3a|lsi adm3a,
+ am,
+ cols#80, lines#24,
+ bel=^G, clear= 32$&lt;1&gt;, cr=^M, cub1=^H, cud1=^J,
+ cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+ home=^^, ind=^J,
+
+
+ and a hexadecimal dump of the compiled terminal description:
+
+ 0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3
+ 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P.
+ 0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........
+ 0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'...
+ 0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-.....
+ 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........
+ 0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$&lt;1
+ 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 &gt;..=%p1% {32}%+%c
+ 0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c....
+ 0150 00 08 00 0c 00 0b 00 0a 00 ........ .
+
+
+
+</PRE><H2><a name="h2-LIMITS">LIMITS</a></H2><PRE>
+ Some limitations:
+
+ <STRONG>o</STRONG> total compiled entries cannot exceed 4096 bytes in the legacy for-
+ mat.
+
+ <STRONG>o</STRONG> total compiled entries cannot exceed 32768 bytes in the extended
+ format.
+
+ <STRONG>o</STRONG> the name field cannot exceed 128 bytes.
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ /usr/share/terminfo/*/* compiled terminal capability data base
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
-</PRE>
-<H2>AUTHORS</H2><PRE>
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
Thomas E. Dickey
extended terminfo format for ncurses 5.0
hashed database support for ncurses 5.6
+ extended number support for ncurses 6.1
Eric S. Raymond
+ documented legacy terminfo format, e.g., from pcurses.
- <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+ <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-STORAGE-LOCATION">STORAGE LOCATION</a></li>
+<li><a href="#h3-LEGACY-STORAGE-FORMAT">LEGACY STORAGE FORMAT</a></li>
+<li><a href="#h3-EXTENDED-STORAGE-FORMAT">EXTENDED STORAGE FORMAT</a></li>
+<li><a href="#h3-EXTENDED-NUMBER-FORMAT">EXTENDED NUMBER FORMAT</a></li>
+</ul>
+</li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-setupterm">setupterm</a></li>
+<li><a href="#h3-Binary-format">Binary format</a></li>
+<li><a href="#h3-Magic-codes">Magic codes</a></li>
+<li><a href="#h3-The-TERMTYPE-structure">The TERMTYPE structure</a></li>
+<li><a href="#h3-Mixed-case-terminal-names">Mixed-case terminal names</a></li>
+</ul>
+</li>
+<li><a href="#h2-EXAMPLE">EXAMPLE</a></li>
+<li><a href="#h2-LIMITS">LIMITS</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/term.7.html b/doc/html/man/term.7.html
index b63800579e63..2cadcafa32cf 100644
--- a/doc/html/man/term.7.html
+++ b/doc/html/man/term.7.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,160 +26,142 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term.7,v 1.23 2011/12/17 23:32:17 tom Exp @
+ * @Id: term.7,v 1.27 2019/07/13 23:17:23 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>term 7</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>term 7</H1>
-<HR>
+<H1 class="no-header">term 7</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="term.7.html">term(7)</A></STRONG> <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+<STRONG><A HREF="term.7.html">term(7)</A></STRONG> Miscellaneous Information Manual <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
term - conventions for naming terminal types
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The environment variable <STRONG>TERM</STRONG> should normally contain the
- type name of the terminal, console or display-device type
- you are using. This information is critical for all
- screen-oriented programs, including your editor and
- mailer.
-
- A default <STRONG>TERM</STRONG> value will be set on a per-line basis by
- either <STRONG>/etc/inittab</STRONG> (e.g., System-V-like UNIXes) or
- <STRONG>/etc/ttys</STRONG> (BSD UNIXes). This will nearly always suffice
- for workstation and microcomputer consoles.
-
- If you use a dialup line, the type of device attached to
- it may vary. Older UNIX systems pre-set a very dumb ter-
- minal type like `dumb' or `dialup' on dialup lines. Newer
- ones may pre-set `vt100', reflecting the prevalence of DEC
- VT100-compatible terminals and personal-computer emula-
- tors.
-
- Modern telnets pass your <STRONG>TERM</STRONG> environment variable from
- the local side to the remote one. There can be problems
- if the remote terminfo or termcap entry for your type is
- not compatible with yours, but this situation is rare and
- can almost always be avoided by explicitly exporting
- `vt100' (assuming you are in fact using a VT100-superset
- console, terminal, or terminal emulator.)
-
- In any case, you are free to override the system <STRONG>TERM</STRONG> set-
- ting to your taste in your shell profile. The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
- utility may be of assistance; you can give it a set of
- rules for deducing or requesting a terminal type based on
- the tty device and baud rate.
-
- Setting your own <STRONG>TERM</STRONG> value may also be useful if you have
- created a custom entry incorporating options (such as vis-
- ual bell or reverse-video) which you wish to override the
- system default type for your line.
-
- Terminal type descriptions are stored as files of capabil-
- ity data underneath /usr/share/terminfo. To browse a list
- of all terminal names recognized by the system, do
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The environment variable <STRONG>TERM</STRONG> should normally contain the type name of
+ the terminal, console or display-device type you are using. This
+ information is critical for all screen-oriented programs, including
+ your editor and mailer.
+
+ A default <STRONG>TERM</STRONG> value will be set on a per-line basis by either
+ <STRONG>/etc/inittab</STRONG> (e.g., System-V-like UNIXes) or <STRONG>/etc/ttys</STRONG> (BSD UNIXes).
+ This will nearly always suffice for workstation and microcomputer con-
+ soles.
+
+ If you use a dialup line, the type of device attached to it may vary.
+ Older UNIX systems pre-set a very dumb terminal type like "dumb" or
+ "dialup" on dialup lines. Newer ones may pre-set "vt100", reflecting
+ the prevalence of DEC VT100-compatible terminals and personal-computer
+ emulators.
+
+ Modern telnets pass your <STRONG>TERM</STRONG> environment variable from the local side
+ to the remote one. There can be problems if the remote terminfo or
+ termcap entry for your type is not compatible with yours, but this sit-
+ uation is rare and can almost always be avoided by explicitly exporting
+ "vt100" (assuming you are in fact using a VT100-superset console, ter-
+ minal, or terminal emulator.)
+
+ In any case, you are free to override the system <STRONG>TERM</STRONG> setting to your
+ taste in your shell profile. The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility may be of assistance;
+ you can give it a set of rules for deducing or requesting a terminal
+ type based on the tty device and baud rate.
+
+ Setting your own <STRONG>TERM</STRONG> value may also be useful if you have created a
+ custom entry incorporating options (such as visual bell or reverse-
+ video) which you wish to override the system default type for your
+ line.
+
+ Terminal type descriptions are stored as files of capability data
+ underneath /usr/share/terminfo. To browse a list of all terminal names
+ recognized by the system, do
toe | more
- from your shell. These capability files are in a binary
- format optimized for retrieval speed (unlike the old text-
- based <STRONG>termcap</STRONG> format they replace); to examine an entry,
- you must use the <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> command. Invoke it as fol-
- lows:
+ from your shell. These capability files are in a binary format opti-
+ mized for retrieval speed (unlike the old text-based <STRONG>termcap</STRONG> format
+ they replace); to examine an entry, you must use the <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> com-
+ mand. Invoke it as follows:
infocmp <EM>entry</EM><STRONG>_</STRONG><EM>name</EM>
- where <EM>entry</EM><STRONG>_</STRONG><EM>name</EM> is the name of the type you wish to exam-
- ine (and the name of its capability file the subdirectory
- of /usr/share/terminfo named for its first letter). This
- command dumps a capability file in the text format
- described by <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
-
- The first line of a <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> description gives the
- names by which terminfo knows a terminal, separated by `|'
- (pipe-bar) characters with the last name field terminated
- by a comma. The first name field is the type's <EM>primary</EM>
- <EM>name</EM>, and is the one to use when setting <STRONG>TERM</STRONG>. The last
- name field (if distinct from the first) is actually a
- description of the terminal type (it may contain blanks;
- the others must be single words). Name fields between the
- first and last (if present) are aliases for the terminal,
- usually historical names retained for compatibility.
-
- There are some conventions for how to choose terminal pri-
- mary names that help keep them informative and unique.
- Here is a step-by-step guide to naming terminals that also
- explains how to parse them:
-
- First, choose a root name. The root will consist of a
- lower-case letter followed by up to seven lower-case let-
- ters or digits. You need to avoid using punctuation char-
- acters in root names, because they are used and inter-
- preted as filenames and shell meta-characters (such as !,
- $, *, ?, etc.) embedded in them may cause odd and unhelp-
- ful behavior. The slash (/), or any other character that
- may be interpreted by anyone's file system (\, $, [, ]),
- is especially dangerous (terminfo is platform-independent,
- and choosing names with special characters could someday
- make life difficult for users of a future port). The dot
- (.) character is relatively safe as long as there is at
- most one per root name; some historical terminfo names use
- it.
-
- The root name for a terminal or workstation console type
- should almost always begin with a vendor prefix (such as
- <STRONG>hp</STRONG> for Hewlett-Packard, <STRONG>wy</STRONG> for Wyse, or <STRONG>att</STRONG> for AT&amp;T ter-
- minals), or a common name of the terminal line (<STRONG>vt</STRONG> for the
- VT series of terminals from DEC, or <STRONG>sun</STRONG> for Sun Microsys-
- tems workstation consoles, or <STRONG>regent</STRONG> for the ADDS Regent
- series. You can list the terminfo tree to see what pre-
- fixes are already in common use. The root name prefix
- should be followed when appropriate by a model number;
- thus <STRONG>vt100</STRONG>, <STRONG>hp2621</STRONG>, <STRONG>wy50</STRONG>.
-
- The root name for a PC-Unix console type should be the OS
- name, i.e., <STRONG>linux</STRONG>, <STRONG>bsdos</STRONG>, <STRONG>freebsd</STRONG>, <STRONG>netbsd</STRONG>. It should <EM>not</EM>
- be <STRONG>console</STRONG> or any other generic that might cause confusion
- in a multi-platform environment! If a model number fol-
- lows, it should indicate either the OS release level or
- the console driver release level.
-
- The root name for a terminal emulator (assuming it does
- not fit one of the standard ANSI or vt100 types) should be
- the program name or a readily recognizable abbreviation of
- it (i.e., <STRONG>versaterm</STRONG>, <STRONG>ctrm</STRONG>).
-
- Following the root name, you may add any reasonable number
- of hyphen-separated feature suffixes.
+ where <EM>entry</EM><STRONG>_</STRONG><EM>name</EM> is the name of the type you wish to examine (and the
+ name of its capability file the subdirectory of /usr/share/terminfo
+ named for its first letter). This command dumps a capability file in
+ the text format described by <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+ The first line of a <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> description gives the names by which
+ terminfo knows a terminal, separated by "|" (pipe-bar) characters with
+ the last name field terminated by a comma. The first name field is the
+ type's <EM>primary</EM> <EM>name</EM>, and is the one to use when setting <STRONG>TERM</STRONG>. The last
+ name field (if distinct from the first) is actually a description of
+ the terminal type (it may contain blanks; the others must be single
+ words). Name fields between the first and last (if present) are
+ aliases for the terminal, usually historical names retained for compat-
+ ibility.
+
+ There are some conventions for how to choose terminal primary names
+ that help keep them informative and unique. Here is a step-by-step
+ guide to naming terminals that also explains how to parse them:
+
+ First, choose a root name. The root will consist of a lower-case let-
+ ter followed by up to seven lower-case letters or digits. You need to
+ avoid using punctuation characters in root names, because they are used
+ and interpreted as filenames and shell meta-characters (such as !, $,
+ *, ?, etc.) embedded in them may cause odd and unhelpful behavior. The
+ slash (/), or any other character that may be interpreted by anyone's
+ file system (\, $, [, ]), is especially dangerous (terminfo is plat-
+ form-independent, and choosing names with special characters could
+ someday make life difficult for users of a future port). The dot (.)
+ character is relatively safe as long as there is at most one per root
+ name; some historical terminfo names use it.
+
+ The root name for a terminal or workstation console type should almost
+ always begin with a vendor prefix (such as <STRONG>hp</STRONG> for Hewlett-Packard, <STRONG>wy</STRONG>
+ for Wyse, or <STRONG>att</STRONG> for AT&amp;T terminals), or a common name of the terminal
+ line (<STRONG>vt</STRONG> for the VT series of terminals from DEC, or <STRONG>sun</STRONG> for Sun
+ Microsystems workstation consoles, or <STRONG>regent</STRONG> for the ADDS Regent
+ series. You can list the terminfo tree to see what prefixes are
+ already in common use. The root name prefix should be followed when
+ appropriate by a model number; thus <STRONG>vt100</STRONG>, <STRONG>hp2621</STRONG>, <STRONG>wy50</STRONG>.
+
+ The root name for a PC-Unix console type should be the OS name, i.e.,
+ <STRONG>linux</STRONG>, <STRONG>bsdos</STRONG>, <STRONG>freebsd</STRONG>, <STRONG>netbsd</STRONG>. It should <EM>not</EM> be <STRONG>console</STRONG> or any other
+ generic that might cause confusion in a multi-platform environment! If
+ a model number follows, it should indicate either the OS release level
+ or the console driver release level.
+
+ The root name for a terminal emulator (assuming it does not fit one of
+ the standard ANSI or vt100 types) should be the program name or a read-
+ ily recognizable abbreviation of it (i.e., <STRONG>versaterm</STRONG>, <STRONG>ctrm</STRONG>).
+
+ Following the root name, you may add any reasonable number of hyphen-
+ separated feature suffixes.
2p Has two pages of memory. Likewise 4p, 8p, etc.
- mc Magic-cookie. Some terminals (notably older Wyses)
- can only support one attribute without magic-cookie
- lossage. Their base entry is usually paired with
- another that has this suffix and uses magic cookies
- to support multiple attributes.
+ mc Magic-cookie. Some terminals (notably older Wyses) can only sup-
+ port one attribute without magic-cookie lossage. Their base entry
+ is usually paired with another that has this suffix and uses magic
+ cookies to support multiple attributes.
-am Enable auto-margin (right-margin wraparound).
-m Mono mode - suppress color support.
- -na No arrow keys - termcap ignores arrow keys which are
- actually there on the terminal, so the user can use
- the arrow keys locally.
+ -na No arrow keys - termcap ignores arrow keys which are actually
+ there on the terminal, so the user can use the arrow keys locally.
-nam No auto-margin - suppress am capability.
@@ -196,34 +177,29 @@
-vb Use visible bell (flash) rather than beep.
- -w Wide; terminal is in 132 column mode.
+ -w Wide; terminal is in 132-column mode.
- Conventionally, if your terminal type is a variant
- intended to specify a line height, that suffix should go
- first. So, for a hypothetical FuBarCo model 2317 terminal
- in 30-line mode with reverse video, best form would be
- <STRONG>fubar-30-rv</STRONG> (rather than, say, `fubar-rv-30').
+ Conventionally, if your terminal type is a variant intended to specify
+ a line height, that suffix should go first. So, for a hypothetical
+ FuBarCo model 2317 terminal in 30-line mode with reverse video, best
+ form would be <STRONG>fubar-30-rv</STRONG> (rather than, say, "fubar-rv-30").
- Terminal types that are written not as standalone entries,
- but rather as components to be plugged into other entries
- via <STRONG>use</STRONG> capabilities, are distinguished by using embedded
- plus signs rather than dashes.
+ Terminal types that are written not as standalone entries, but rather
+ as components to be plugged into other entries via <STRONG>use</STRONG> capabilities,
+ are distinguished by using embedded plus signs rather than dashes.
- Commands which use a terminal type to control display
- often accept a -T option that accepts a terminal name
- argument. Such programs should fall back on the <STRONG>TERM</STRONG>
- environment variable when no -T option is specified.
+ Commands which use a terminal type to control display often accept a -T
+ option that accepts a terminal name argument. Such programs should
+ fall back on the <STRONG>TERM</STRONG> environment variable when no -T option is speci-
+ fied.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- For maximum compatibility with older System V UNIXes,
- names and aliases should be unique within the first 14
- characters.
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ For maximum compatibility with older System V UNIXes, names and aliases
+ should be unique within the first 14 characters.
-</PRE>
-<H2>FILES</H2><PRE>
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
/usr/share/terminfo/?/*
compiled terminal capability data base
@@ -234,18 +210,21 @@
tty line initialization (BSD-like UNIXes)
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
- <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+ <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/term_variables.3x.html b/doc/html/man/term_variables.3x.html
index 8041832aa0aa..d5a83afcd8a9 100644
--- a/doc/html/man/term_variables.3x.html
+++ b/doc/html/man/term_variables.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2011-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,139 +26,174 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term_variables.3x,v 1.3 2011/12/17 23:31:50 tom Exp @
+ * @Id: term_variables.3x,v 1.11 2019/11/30 20:51:36 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>term_variables 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>term_variables 3x</H1>
-<HR>
+<H1 class="no-header">term_variables 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>,
- <STRONG>numcodes</STRONG>, <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>,
- <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <STRONG>curses</STRONG> terminfo global variables
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>, <STRONG>numcodes</STRONG>,
+ <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>, <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <STRONG>curses</STRONG>
+ terminfo global variables
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
<STRONG>chtype</STRONG> <STRONG>acs_map[];</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>boolcodes;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>boolfnames;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>boolnames;</STRONG>
+
+ <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> <STRONG>SP;</STRONG>
+
<STRONG>TERMINAL</STRONG> <STRONG>*</STRONG> <STRONG>cur_term;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>numcodes;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>numfnames;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>numnames;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>strcodes;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>strfnames;</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>*</STRONG> <STRONG>strnames;</STRONG>
+
<STRONG>char</STRONG> <STRONG>ttytype[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolcodes[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolfnames[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolnames[];</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This page summarizes variables provided by the <STRONG>curses</STRONG> li-
- brary's low-level terminfo interface. A more complete de-
- scription is given in the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
-
- Depending on the configuration, these may be actual vari-
- ables, or macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>) which provide
- read-only access to <EM>curses</EM>'s state. In either case, ap-
- plications should treat them as read-only to avoid confus-
- ing the library.
-
- <STRONG>Alternate</STRONG> <STRONG>Character</STRONG> <STRONG>Set</STRONG> <STRONG>Mapping</STRONG>
- After initializing the curses or terminfo interfaces, the
- <STRONG>acs_map</STRONG> array holds information used to translate cells
- with the <STRONG>A_ALTCHARSET</STRONG> video attribute into line-drawing
- characters.
-
- The encoding of the information in this array has changed
- periodically. Application developers need only know that
- it is used for the "ACS_" constants in &lt;curses.h&gt;.
-
- The comparable data for the wide-character library is a
- private variable.
-
- <STRONG>Current</STRONG> <STRONG>Terminal</STRONG> <STRONG>Data</STRONG>
- After initializing the curses or terminfo interfaces, the
- <STRONG>cur_term</STRONG> contains data describing the current terminal.
- This variable is also set as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- and <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>.
-
- It is possible to save a value of <STRONG>cur_term</STRONG> for subsequent
- use as a parameter to <STRONG>set_term</STRONG>, for switching between
- screens. Alternatively, one can save the return value
- from <STRONG>newterm</STRONG> or <STRONG>setupterm</STRONG> to reuse in <STRONG>set_term</STRONG>.
-
- <STRONG>Terminfo</STRONG> <STRONG>Names</STRONG>
- The <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> and <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> programs use lookup tables for
- the long and short names of terminfo capabilities, as well
- as the corresponding names for termcap capabilities.
- These are available to other applications, though the
- hash-tables are not available.
-
- The long terminfo capability names use a "l" (ell) in
- their names: boolfnames numfnames strfnames
-
- These are the short names for terminfo capabilities: bool-
- names, numnames, and strnames.
-
- These are the corresponding names used for termcap de-
- scriptions: boolcodes, numcodes, and strcodes.
-
- <STRONG>Terminal</STRONG> <STRONG>Type</STRONG>
- On initialization of the curses or terminfo interfaces,
- <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>.
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numcodes[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numfnames[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numnames[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strcodes[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strfnames[];</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strnames[];</STRONG>
-</PRE>
-<H2>NOTES</H2><PRE>
- The low-level terminfo interface is initialized using
- <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>. The upper-level curses interface uses the
- low-level terminfo interface, internally.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This page summarizes variables provided by the <STRONG>curses</STRONG> library's low-
+ level terminfo interface. A more complete description is given in the
+ <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- X/Open Curses does not describe any of these except for
- <STRONG>cur_term</STRONG>. (The inclusion of <STRONG>cur_term</STRONG> appears to be an
- oversight, since other comparable low-level information is
- omitted by X/Open).
+ Depending on the configuration, these may be actual variables, or
+ macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>) which provide read-only access to <EM>curs-</EM>
+ <EM>es</EM>'s state. In either case, applications should treat them as read-on-
+ ly to avoid confusing the library.
- Other implementations may have comparable variables. Some
- implementations provide the variables in their libraries,
- but omit them from the header files.
+</PRE><H3><a name="h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></H3><PRE>
+ After initializing the curses or terminfo interfaces, the <STRONG>acs_map</STRONG> array
+ holds information used to translate cells with the <STRONG>A_ALTCHARSET</STRONG> video
+ attribute into line-drawing characters.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>,
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ The encoding of the information in this array has changed periodically.
+ Application developers need only know that it is used for the "ACS_"
+ constants in &lt;curses.h&gt;.
+
+ The comparable data for the wide-character library is a private vari-
+ able.
+
+
+</PRE><H3><a name="h3-Current-Terminal-Data">Current Terminal Data</a></H3><PRE>
+ After initializing the curses or terminfo interfaces, the <STRONG>cur_term</STRONG> con-
+ tains data describing the current terminal. This variable is also set
+ as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">set_term(3x)</A></STRONG> and <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG>.
+
+ It is possible to save a value of <STRONG>cur_term</STRONG> for subsequent use as a pa-
+ rameter to <STRONG>set_term</STRONG>, for switching between screens. Alternatively, one
+ can save the return value from <STRONG>newterm</STRONG> or <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to reuse in
+ <STRONG>set_term</STRONG>.
+
+
+</PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
+ The <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> and <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG> programs use lookup tables for the long and
+ short names of terminfo capabilities, as well as the corresponding
+ names for termcap capabilities. These are available to other applica-
+ tions, although the hash-tables used by the terminfo and termcap func-
+ tions are not available.
+
+ The long terminfo capability names use a "l" (ell) in their names:
+ <STRONG>boolfnames</STRONG>, <STRONG>numfnames</STRONG>, and <STRONG>strfnames</STRONG>.
+
+ These are the short names for terminfo capabilities: <STRONG>boolnames</STRONG>, <STRONG>num-</STRONG>
+ <STRONG>names</STRONG>, and <STRONG>strnames</STRONG>.
+
+ These are the corresponding names used for termcap descriptions: <STRONG>bool-</STRONG>
+ <STRONG>codes</STRONG>, <STRONG>numcodes</STRONG>, and <STRONG>strcodes</STRONG>.
+
+
+</PRE><H3><a name="h3-Terminal-Type">Terminal Type</a></H3><PRE>
+ A terminal description begins with one or more terminal names separated
+ by "|" (vertical bars). On initialization of the curses or terminfo
+ interfaces, <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> copies the terminal names to the array <STRONG>tty-</STRONG>
+ <STRONG>type</STRONG>.
+
+
+</PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
+ In addition to the variables, <STRONG>&lt;term.h&gt;</STRONG> also defines a symbol for each
+ terminfo capability <EM>long</EM> <EM>name</EM>. These are in terms of the symbol <STRONG>CUR</STRONG>,
+ which is defined
+
+ #define CUR ((TERMTYPE *)(cur_term))-&gt;
+
+ These symbols provide a faster method of accessing terminfo capabili-
+ ties than using <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>, etc.
+
+ The actual definition of <STRONG>CUR</STRONG> depends upon the implementation, but each
+ terminfo library provides these long names defined to point into the
+ current terminal description loaded into memory.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The low-level terminfo interface is initialized using <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
+ The upper-level curses interface uses the low-level terminfo interface,
+ internally.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses does not describe any of these except for <STRONG>cur_term</STRONG>. (The
+ inclusion of <STRONG>cur_term</STRONG> appears to be an oversight, since other compara-
+ ble low-level information is omitted by X/Open).
+
+ Other implementations may have comparable variables. Some implementa-
+ tions provide the variables in their libraries, but omit them from the
+ header files.
+
+ All implementations which provide terminfo interfaces add definitions
+ as described in the <STRONG>Terminfo</STRONG> <STRONG>Names</STRONG> section. Most, but not all, base
+ the definition upon the <STRONG>cur_term</STRONG> variable.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+ <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></li>
+<li><a href="#h3-Current-Terminal-Data">Current Terminal Data</a></li>
+<li><a href="#h3-Terminfo-Names">Terminfo Names</a></li>
+<li><a href="#h3-Terminal-Type">Terminal Type</a></li>
+<li><a href="#h3-Terminfo-Names">Terminfo Names</a></li>
+</ul>
+</li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html
index 94e2b034b83b..2a2bdf32f850 100644
--- a/doc/html/man/terminfo.5.html
+++ b/doc/html/man/terminfo.5.html
@@ -1,12 +1,11 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
* DO NOT EDIT THIS FILE BY HAND!
- * It is generated from terminfo.head, Caps, and terminfo.tail.
+ * It is generated from terminfo.head, ./../include/Caps ./../include/Caps-ncurses, and terminfo.tail.
* Note: this must be run through tbl before nroff.
* The magic cookie on the first line triggers this under some man programs.
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -32,142 +31,241 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: terminfo.head,v 1.21 2013/03/09 22:11:36 tom Exp @
+ * @Id: terminfo.head,v 1.38 2019/07/27 11:51:04 tom Exp @
* Head of terminfo man page ends here
- * @Id: terminfo.tail,v 1.68 2013/11/09 15:20:48 tom Exp @
- * Beginning of terminfo.tail file
- * This file is part of ncurses.
- * See "terminfo.head" for copyright.
+ ****************************************************************************
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: terminfo.tail,v 1.98 2019/11/30 20:54:32 tom Exp @
*.in -2
*.in +2
*.in -2
*.in +2
*.TH
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>terminfo 5 File Formats</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>terminfo 5 File Formats</H1>
-<HR>
+<H1 class="no-header">terminfo 5 File Formats</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File Formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File Formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
terminfo - terminal capability data base
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
/usr/share/terminfo/*/*
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <EM>Terminfo</EM> is a data base describing terminals, used by
- screen-oriented programs such as <STRONG>nvi(1)</STRONG>, <STRONG>rogue(1)</STRONG> and
- libraries such as <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. <EM>Terminfo</EM> describes termi-
- nals by giving a set of capabilities which they have, by
- specifying how to perform screen operations, and by speci-
- fying padding requirements and initialization sequences.
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
-
- Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
- fields (embedded commas may be escaped with a backslash or
- notated as \054). White space after the `,' separator is
- ignored. The first entry for each terminal gives the
- names which are known for the terminal, separated by `|'
- characters. The first name given is the most common
- abbreviation for the terminal, the last name given should
- be a long name fully identifying the terminal, and all
- others are understood as synonyms for the terminal name.
- All names but the last should be in lower case and contain
- no blanks; the last name may well contain upper case and
- blanks for readability.
-
- Lines beginning with a `#' in the first column are treated
- as comments. While comment lines are legal at any point,
- the output of <STRONG>captoinfo</STRONG> and <STRONG>infotocap</STRONG> (aliases for <STRONG>tic</STRONG>)
- will move comments so they occur only between entries.
-
- Newlines and leading tabs may be used for formatting
- entries for readability. These are removed from parsed
- entries. The <STRONG>infocmp</STRONG> <STRONG>-f</STRONG> option relies on this to format
- if-then-else expressions: the result can be read by <STRONG>tic</STRONG>.
-
- Terminal names (except for the last, verbose entry) should
- be chosen using the following conventions. The particular
- piece of hardware making up the terminal should have a
- root name, thus "hp2621". This name should not contain
- hyphens. Modes that the hardware can be in, or user pref-
- erences, should be indicated by appending a hyphen and a
- mode suffix. Thus, a vt100 in 132 column mode would be
- vt100-w. The following suffixes should be used where pos-
- sible:
-
- <STRONG>Suffix</STRONG> <STRONG>Meaning</STRONG> <STRONG>Example</STRONG>
- -<EM>nn</EM> Number of lines on the screen aaa-60
- -<EM>n</EM>p Number of pages of memory c100-4p
- -am With automargins (usually the default) vt100-am
- -m Mono mode; suppress color ansi-m
- -mc Magic cookie; spaces when highlighting wy30-mc
- -na No arrow keys (leave them in local) c100-na
- -nam Without automatic margins vt100-nam
- -nl No status line att4415-nl
- -ns No status line hp2626-ns
- -rv Reverse video c100-rv
- -s Enable status line vt100-s
- -vb Use visible bell instead of beep wy370-vb
-
- -w Wide mode (&gt; 80 columns, usually 132) vt100-w
-
- For more on terminal naming conventions, see the <STRONG>term(7)</STRONG>
- manual page.
-
- <STRONG>Predefined</STRONG> <STRONG>Capabilities</STRONG>
- The following is a complete table of the capabilities
- included in a terminfo description block and available to
- terminfo-using code. In each line of the table,
-
- The <STRONG>variable</STRONG> is the name by which the programmer (at the
- terminfo level) accesses the capability.
-
- The <STRONG>capname</STRONG> is the short name used in the text of the
- database, and is used by a person updating the database.
- Whenever possible, capnames are chosen to be the same as
- or similar to the ANSI X3.64-1979 standard (now superseded
- by ECMA-48, which uses identical or very similar names).
- Semantics are also intended to match those of the specifi-
- cation.
-
- The termcap code is the old <STRONG>termcap</STRONG> capability name (some
- capabilities are new, and have names which termcap did not
- originate).
-
- Capability names have no hard length limit, but an infor-
- mal limit of 5 characters has been adopted to keep them
- short and to allow the tabs in the source file <STRONG>Caps</STRONG> to
- line up nicely.
-
- Finally, the description field attempts to convey the
- semantics of the capability. You may find some codes in
- the description field:
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ <EM>Terminfo</EM> is a data base describing terminals, used by screen-oriented
+ programs such as <STRONG>nvi(1)</STRONG>, <STRONG>lynx(1)</STRONG>, <STRONG>mutt(1)</STRONG>, and other curses applica-
+ tions, using high-level calls to libraries such as <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. It is
+ also used via low-level calls by non-curses applications which may be
+ screen-oriented (such as <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>) or non-screen (such as <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>).
+
+ <EM>Terminfo</EM> describes terminals by giving a set of capabilities which they
+ have, by specifying how to perform screen operations, and by specifying
+ padding requirements and initialization sequences.
+
+ This manual describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
+
+
+</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
+ Entries in <EM>terminfo</EM> consist of a sequence of fields:
+
+ <STRONG>o</STRONG> Each field ends with a comma "," (embedded commas may be escaped
+ with a backslash or written as "\054").
+
+ <STRONG>o</STRONG> White space between fields is ignored.
+
+ <STRONG>o</STRONG> The first field in a <EM>terminfo</EM> entry begins in the first column.
+
+ <STRONG>o</STRONG> Newlines and leading whitespace (spaces or tabs) may be used for
+ formatting entries for readability. These are removed from parsed
+ entries.
+
+ The <STRONG>infocmp</STRONG> <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options rely on this to format if-then-else
+ expressions, or to enforce maximum line-width. The resulting for-
+ matted terminal description can be read by <STRONG>tic</STRONG>.
+
+ <STRONG>o</STRONG> The first field for each terminal gives the names which are known
+ for the terminal, separated by "|" characters.
+
+ The first name given is the most common abbreviation for the termi-
+ nal (its primary name), the last name given should be a long name
+ fully identifying the terminal (see <STRONG><A HREF="curs_termattrs.3x.html">longname(3x)</A></STRONG>), and all others
+ are treated as synonyms (aliases) for the primary terminal name.
+
+ X/Open Curses advises that all names but the last should be in
+ lower case and contain no blanks; the last name may well contain
+ upper case and blanks for readability.
+
+ This implementation is not so strict; it allows mixed case in the
+ primary name and aliases. If the last name has no embedded blanks,
+ it allows that to be both an alias and a verbose name (but will
+ warn about this ambiguity).
+
+ <STRONG>o</STRONG> Lines beginning with a "#" in the first column are treated as com-
+ ments.
+
+ While comment lines are legal at any point, the output of <STRONG>captoinfo</STRONG>
+ and <STRONG>infotocap</STRONG> (aliases for <STRONG>tic</STRONG>) will move comments so they occur
+ only between entries.
+
+ Terminal names (except for the last, verbose entry) should be chosen
+ using the following conventions. The particular piece of hardware mak-
+ ing up the terminal should have a root name, thus "hp2621". This name
+ should not contain hyphens. Modes that the hardware can be in, or user
+ preferences, should be indicated by appending a hyphen and a mode suf-
+ fix. Thus, a vt100 in 132-column mode would be vt100-w. The following
+ suffixes should be used where possible:
+
+ <STRONG>Suffix</STRONG> <STRONG>Meaning</STRONG> <STRONG>Example</STRONG>
+ -<EM>nn</EM> Number of lines on the screen aaa-60
+ -<EM>n</EM>p Number of pages of memory c100-4p
+ -am With automargins (usually the default) vt100-am
+ -m Mono mode; suppress color ansi-m
+ -mc Magic cookie; spaces when highlighting wy30-mc
+ -na No arrow keys (leave them in local) c100-na
+ -nam Without automatic margins vt100-nam
+ -nl No status line att4415-nl
+ -ns No status line hp2626-ns
+ -rv Reverse video c100-rv
+ -s Enable status line vt100-s
+ -vb Use visible bell instead of beep wy370-vb
+ -w Wide mode (&gt; 80 columns, usually 132) vt100-w
+
+ For more on terminal naming conventions, see the <STRONG><A HREF="term.7.html">term(7)</A></STRONG> manual page.
+
+
+</PRE><H3><a name="h3-Terminfo-Capabilities-Syntax">Terminfo Capabilities Syntax</a></H3><PRE>
+ The terminfo entry consists of several <EM>capabilities</EM>, i.e., features
+ that the terminal has, or methods for exercising the terminal's fea-
+ tures.
+
+ After the first field (giving the name(s) of the terminal entry), there
+ should be one or more <EM>capability</EM> fields. These are boolean, numeric or
+ string names with corresponding values:
+
+ <STRONG>o</STRONG> Boolean capabilities are true when present, false when absent.
+ There is no explicit value for boolean capabilities.
+
+ <STRONG>o</STRONG> Numeric capabilities have a "#" following the name, then an
+ unsigned decimal integer value.
+
+ <STRONG>o</STRONG> String capabilities have a "=" following the name, then an string
+ of characters making up the capability value.
+
+ String capabilities can be split into multiple lines, just as the
+ fields comprising a terminal entry can be split into multiple
+ lines. While blanks between fields are ignored, blanks embedded
+ within a string value are retained, except for leading blanks on a
+ line.
+
+ Any capability can be <EM>canceled</EM>, i.e., suppressed from the terminal
+ entry, by following its name with "@" rather than a capability value.
+
+
+</PRE><H3><a name="h3-Similar-Terminals">Similar Terminals</a></H3><PRE>
+ If there are two very similar terminals, one (the variant) can be
+ defined as being just like the other (the base) with certain excep-
+ tions. In the definition of the variant, the string capability <STRONG>use</STRONG> can
+ be given with the name of the base terminal:
+
+ <STRONG>o</STRONG> The capabilities given before <STRONG>use</STRONG> override those in the base type
+ named by <STRONG>use</STRONG>.
+
+ <STRONG>o</STRONG> If there are multiple <STRONG>use</STRONG> capabilities, they are merged in reverse
+ order. That is, the rightmost <STRONG>use</STRONG> reference is processed first,
+ then the one to its left, and so forth.
+
+ <STRONG>o</STRONG> Capabilities given explicitly in the entry override those brought
+ in by <STRONG>use</STRONG> references.
+
+ A capability can be canceled by placing <STRONG>xx@</STRONG> to the left of the use ref-
+ erence that imports it, where <EM>xx</EM> is the capability. For example, the
+ entry
+
+ 2621-nl, smkx@, rmkx@, use=2621,
+
+ defines a 2621-nl that does not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG> capabilities, and
+ hence does not turn on the function key labels when in visual mode.
+ This is useful for different modes for a terminal, or for different
+ user preferences.
+
+ An entry included via <STRONG>use</STRONG> can contain canceled capabilities, which have
+ the same effect as if those cancels were inline in the using terminal
+ entry.
+
+
+</PRE><H3><a name="h3-Predefined-Capabilities">Predefined Capabilities</a></H3><PRE>
+ The following is a complete table of the capabilities included in a
+ terminfo description block and available to terminfo-using code. In
+ each line of the table,
+
+ The <STRONG>variable</STRONG> is the name by which the programmer (at the terminfo
+ level) accesses the capability.
+
+ The <STRONG>capname</STRONG> is the short name used in the text of the database, and is
+ used by a person updating the database. Whenever possible, capnames
+ are chosen to be the same as or similar to the ANSI X3.64-1979 standard
+ (now superseded by ECMA-48, which uses identical or very similar
+ names). Semantics are also intended to match those of the specifica-
+ tion.
+
+ The termcap code is the old <STRONG>termcap</STRONG> capability name (some capabilities
+ are new, and have names which termcap did not originate).
+
+ Capability names have no hard length limit, but an informal limit of 5
+ characters has been adopted to keep them short and to allow the tabs in
+ the source file <STRONG>Caps</STRONG> to line up nicely.
+
+ Finally, the description field attempts to convey the semantics of the
+ capability. You may find some codes in the description field:
(P) indicates that padding may be specified
- #[1-9] in the description field indicates that the string
- is passed through tparm with parms as given (#<EM>i</EM>).
+ #[1-9] in the description field indicates that the string is passed
+ through tparm with parms as given (#<EM>i</EM>).
- (P*) indicates that padding may vary in proportion to
- the number of lines affected
+ (P*) indicates that padding may vary in proportion to the number of
+ lines affected
(#<EM>i</EM>) indicates the <EM>i</EM>th parameter.
@@ -175,899 +273,895 @@
These are the boolean capabilities:
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- auto_left_margin bw bw cub1 wraps from col-
- umn 0 to last column
- auto_right_margin am am terminal has auto-
- matic margins
- back_color_erase bce ut screen erased with
- background color
- can_change ccc cc terminal can re-
- define existing col-
- ors
- ceol_standout_glitch xhp xs standout not erased
- by overwriting (hp)
- col_addr_glitch xhpa YA only positive motion
- for hpa/mhpa caps
-
-
-
- cpi_changes_res cpix YF changing character
- pitch changes reso-
- lution
- cr_cancels_micro_mode crxm YB using cr turns off
- micro mode
- dest_tabs_magic_smso xt xt tabs destructive,
- magic so char
- (t1061)
- eat_newline_glitch xenl xn newline ignored
- after 80 cols (con-
- cept)
- erase_overstrike eo eo can erase over-
- strikes with a blank
- generic_type gn gn generic line type
- hard_copy hc hc hardcopy terminal
- hard_cursor chts HC cursor is hard to
- see
- has_meta_key km km Has a meta key
- (i.e., sets 8th-bit)
- has_print_wheel daisy YC printer needs opera-
- tor to change char-
- acter set
- has_status_line hs hs has extra status
- line
- hue_lightness_saturation hls hl terminal uses only
- HLS color notation
- (Tektronix)
- insert_null_glitch in in insert mode distin-
- guishes nulls
- lpi_changes_res lpix YG changing line pitch
- changes resolution
- memory_above da da display may be
- retained above the
- screen
- memory_below db db display may be
- retained below the
- screen
- move_insert_mode mir mi safe to move while
- in insert mode
- move_standout_mode msgr ms safe to move while
- in standout mode
- needs_xon_xoff nxon nx padding will not
- work, xon/xoff
- required
- no_esc_ctlc xsb xb beehive (f1=escape,
- f2=ctrl C)
- no_pad_char npc NP pad character does
- not exist
- non_dest_scroll_region ndscr ND scrolling region is
- non-destructive
- non_rev_rmcup nrrmc NR smcup does not
- reverse rmcup
- over_strike os os terminal can over-
- strike
- prtr_silent mc5i 5i printer will not
- echo on screen
- row_addr_glitch xvpa YD only positive motion
- for vpa/mvpa caps
- semi_auto_right_margin sam YE printing in last
- column causes cr
- status_line_esc_ok eslok es escape can be used
- on the status line
- tilde_glitch hz hz cannot print ~'s
- (hazeltine)
-
-
- transparent_underline ul ul underline character
- overstrikes
- xon_xoff xon xo terminal uses
- xon/xoff handshaking
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ auto_left_margin bw bw cub1 wraps from col-
+ umn 0 to last column
+ auto_right_margin am am terminal has auto-
+ matic margins
+ back_color_erase bce ut screen erased with
+ background color
+
+
+
+ can_change ccc cc terminal can re-
+ define existing col-
+ ors
+ ceol_standout_glitch xhp xs standout not erased
+ by overwriting (hp)
+ col_addr_glitch xhpa YA only positive motion
+ for hpa/mhpa caps
+ cpi_changes_res cpix YF changing character
+ pitch changes reso-
+ lution
+ cr_cancels_micro_mode crxm YB using cr turns off
+ micro mode
+ dest_tabs_magic_smso xt xt tabs destructive,
+ magic so char
+ (t1061)
+ eat_newline_glitch xenl xn newline ignored
+ after 80 cols (con-
+ cept)
+ erase_overstrike eo eo can erase over-
+ strikes with a blank
+ generic_type gn gn generic line type
+ hard_copy hc hc hardcopy terminal
+ hard_cursor chts HC cursor is hard to
+ see
+ has_meta_key km km Has a meta key
+ (i.e., sets 8th-bit)
+ has_print_wheel daisy YC printer needs opera-
+ tor to change char-
+ acter set
+ has_status_line hs hs has extra status
+ line
+ hue_lightness_saturation hls hl terminal uses only
+ HLS color notation
+ (Tektronix)
+ insert_null_glitch in in insert mode distin-
+ guishes nulls
+ lpi_changes_res lpix YG changing line pitch
+ changes resolution
+ memory_above da da display may be
+ retained above the
+ screen
+ memory_below db db display may be
+ retained below the
+ screen
+ move_insert_mode mir mi safe to move while
+ in insert mode
+ move_standout_mode msgr ms safe to move while
+ in standout mode
+ needs_xon_xoff nxon nx padding will not
+ work, xon/xoff
+ required
+ no_esc_ctlc xsb xb beehive (f1=escape,
+ f2=ctrl C)
+ no_pad_char npc NP pad character does
+ not exist
+ non_dest_scroll_region ndscr ND scrolling region is
+ non-destructive
+ non_rev_rmcup nrrmc NR smcup does not
+ reverse rmcup
+ over_strike os os terminal can over-
+ strike
+ prtr_silent mc5i 5i printer will not
+ echo on screen
+ row_addr_glitch xvpa YD only positive motion
+ for vpa/mvpa caps
+
+ semi_auto_right_margin sam YE printing in last
+ column causes cr
+ status_line_esc_ok eslok es escape can be used
+ on the status line
+ tilde_glitch hz hz cannot print ~'s
+ (Hazeltine)
+ transparent_underline ul ul underline character
+ overstrikes
+ xon_xoff xon xo terminal uses
+ xon/xoff handshaking
These are the numeric capabilities:
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- columns cols co number of columns in
- a line
- init_tabs it it tabs initially every
- # spaces
- label_height lh lh rows in each label
- label_width lw lw columns in each
- label
- lines lines li number of lines on
- screen or page
- lines_of_memory lm lm lines of memory if &gt;
- line. 0 means varies
- magic_cookie_glitch xmc sg number of blank
- characters left by
- smso or rmso
- max_attributes ma ma maximum combined
- attributes terminal
- can handle
- max_colors colors Co maximum number of
- colors on screen
- max_pairs pairs pa maximum number of
- color-pairs on the
- screen
- maximum_windows wnum MW maximum number of
- defineable windows
- no_color_video ncv NC video attributes
- that cannot be used
- with colors
- num_labels nlab Nl number of labels on
- screen
- padding_baud_rate pb pb lowest baud rate
- where padding needed
- virtual_terminal vt vt virtual terminal
- number (CB/unix)
- width_status_line wsl ws number of columns in
- status line
-
- The following numeric capabilities are present in the
- SVr4.0 term structure, but are not yet documented in the
- man page. They came in with SVr4's printer support.
-
-
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- bit_image_entwining bitwin Yo number of passes for
- each bit-image row
- bit_image_type bitype Yp type of bit-image
- device
- buffer_capacity bufsz Ya numbers of bytes
- buffered before
- printing
- buttons btns BT number of buttons on
- mouse
- dot_horz_spacing spinh Yc spacing of dots hor-
- izontally in dots
- per inch
-
- dot_vert_spacing spinv Yb spacing of pins ver-
- tically in pins per
- inch
- max_micro_address maddr Yd maximum value in
- micro_..._address
- max_micro_jump mjump Ye maximum value in
- parm_..._micro
- micro_col_size mcs Yf character step size
- when in micro mode
- micro_line_size mls Yg line step size when
- in micro mode
- number_of_pins npins Yh numbers of pins in
- print-head
- output_res_char orc Yi horizontal resolu-
- tion in units per
- line
- output_res_horz_inch orhi Yk horizontal resolu-
- tion in units per
- inch
- output_res_line orl Yj vertical resolution
- in units per line
- output_res_vert_inch orvi Yl vertical resolution
- in units per inch
- print_rate cps Ym print rate in char-
- acters per second
- wide_char_size widcs Yn character step size
- when in double wide
- mode
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ columns cols co number of columns in
+ a line
+ init_tabs it it tabs initially every
+ # spaces
+ label_height lh lh rows in each label
+ label_width lw lw columns in each
+ label
+ lines lines li number of lines on
+ screen or page
+ lines_of_memory lm lm lines of memory if &gt;
+ line. 0 means varies
+ magic_cookie_glitch xmc sg number of blank
+ characters left by
+ smso or rmso
+ max_attributes ma ma maximum combined
+ attributes terminal
+ can handle
+ max_colors colors Co maximum number of
+ colors on screen
+ max_pairs pairs pa maximum number of
+ color-pairs on the
+ screen
+ maximum_windows wnum MW maximum number of
+ definable windows
+ no_color_video ncv NC video attributes
+ that cannot be used
+ with colors
+ num_labels nlab Nl number of labels on
+ screen
+ padding_baud_rate pb pb lowest baud rate
+ where padding needed
+ virtual_terminal vt vt virtual terminal
+ number (CB/unix)
+ width_status_line wsl ws number of columns in
+ status line
+
+ The following numeric capabilities are present in the SVr4.0 term
+ structure, but are not yet documented in the man page. They came in
+ with SVr4's printer support.
+
+
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ bit_image_entwining bitwin Yo number of passes for
+ each bit-image row
+ bit_image_type bitype Yp type of bit-image
+ device
+
+
+
+ buffer_capacity bufsz Ya numbers of bytes
+ buffered before
+ printing
+ buttons btns BT number of buttons on
+ mouse
+ dot_horz_spacing spinh Yc spacing of dots hor-
+ izontally in dots
+ per inch
+ dot_vert_spacing spinv Yb spacing of pins ver-
+ tically in pins per
+ inch
+ max_micro_address maddr Yd maximum value in
+ micro_..._address
+ max_micro_jump mjump Ye maximum value in
+ parm_..._micro
+ micro_col_size mcs Yf character step size
+ when in micro mode
+ micro_line_size mls Yg line step size when
+ in micro mode
+ number_of_pins npins Yh numbers of pins in
+ print-head
+ output_res_char orc Yi horizontal resolu-
+ tion in units per
+ line
+ output_res_horz_inch orhi Yk horizontal resolu-
+ tion in units per
+ inch
+ output_res_line orl Yj vertical resolution
+ in units per line
+ output_res_vert_inch orvi Yl vertical resolution
+ in units per inch
+ print_rate cps Ym print rate in char-
+ acters per second
+ wide_char_size widcs Yn character step size
+ when in double wide
+ mode
These are the string capabilities:
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- acs_chars acsc ac graphics charset
- pairs, based on
- vt100
- back_tab cbt bt back tab (P)
- bell bel bl audible signal
- (bell) (P)
- carriage_return cr cr carriage return (P*)
- (P*)
- change_char_pitch cpi ZA Change number of
- characters per inch
- to #1
- change_line_pitch lpi ZB Change number of
- lines per inch to #1
- change_res_horz chr ZC Change horizontal
- resolution to #1
- change_res_vert cvr ZD Change vertical res-
- olution to #1
- change_scroll_region csr cs change region to
- line #1 to line #2
- (P)
- char_padding rmp rP like ip but when in
- insert mode
- clear_all_tabs tbc ct clear all tab stops
- (P)
- clear_margins mgc MC clear right and left
- soft margins
- clear_screen clear cl clear screen and
- home cursor (P*)
- clr_bol el1 cb Clear to beginning
- of line
-
-
- clr_eol el ce clear to end of line
- (P)
- clr_eos ed cd clear to end of
- screen (P*)
- column_address hpa ch horizontal position
- #1, absolute (P)
- command_character cmdch CC terminal settable
- cmd character in
- prototype !?
- create_window cwin CW define a window #1
- from #2,#3 to #4,#5
- cursor_address cup cm move to row #1 col-
- umns #2
- cursor_down cud1 do down one line
- cursor_home home ho home cursor (if no
- cup)
- cursor_invisible civis vi make cursor invisi-
- ble
- cursor_left cub1 le move left one space
- cursor_mem_address mrcup CM memory relative cur-
- sor addressing, move
- to row #1 columns #2
- cursor_normal cnorm ve make cursor appear
- normal (undo
- civis/cvvis)
- cursor_right cuf1 nd non-destructive
- space (move right
- one space)
- cursor_to_ll ll ll last line, first
- column (if no cup)
- cursor_up cuu1 up up one line
- cursor_visible cvvis vs make cursor very
- visible
- define_char defc ZE Define a character
- #1, #2 dots wide,
- descender #3
- delete_character dch1 dc delete character
- (P*)
- delete_line dl1 dl delete line (P*)
- dial_phone dial DI dial number #1
- dis_status_line dsl ds disable status line
- display_clock dclk DK display clock
- down_half_line hd hd half a line down
- ena_acs enacs eA enable alternate
- char set
- enter_alt_charset_mode smacs as start alternate
- character set (P)
- enter_am_mode smam SA turn on automatic
- margins
- enter_blink_mode blink mb turn on blinking
- enter_bold_mode bold md turn on bold (extra
- bright) mode
- enter_ca_mode smcup ti string to start pro-
- grams using cup
- enter_delete_mode smdc dm enter delete mode
- enter_dim_mode dim mh turn on half-bright
- mode
- enter_doublewide_mode swidm ZF Enter double-wide
- mode
- enter_draft_quality sdrfq ZG Enter draft-quality
- mode
- enter_insert_mode smir im enter insert mode
- enter_italics_mode sitm ZH Enter italic mode
- enter_leftward_mode slm ZI Start leftward car-
- riage motion
-
- enter_micro_mode smicm ZJ Start micro-motion
- mode
- enter_near_letter_quality snlq ZK Enter NLQ mode
- enter_normal_quality snrmq ZL Enter normal-quality
- mode
- enter_protected_mode prot mp turn on protected
- mode
- enter_reverse_mode rev mr turn on reverse
- video mode
- enter_secure_mode invis mk turn on blank mode
- (characters invisi-
- ble)
- enter_shadow_mode sshm ZM Enter shadow-print
- mode
- enter_standout_mode smso so begin standout mode
- enter_subscript_mode ssubm ZN Enter subscript mode
- enter_superscript_mode ssupm ZO Enter superscript
- mode
- enter_underline_mode smul us begin underline mode
- enter_upward_mode sum ZP Start upward car-
- riage motion
- enter_xon_mode smxon SX turn on xon/xoff
- handshaking
- erase_chars ech ec erase #1 characters
- (P)
- exit_alt_charset_mode rmacs ae end alternate char-
- acter set (P)
- exit_am_mode rmam RA turn off automatic
- margins
- exit_attribute_mode sgr0 me turn off all
- attributes
- exit_ca_mode rmcup te strings to end pro-
- grams using cup
- exit_delete_mode rmdc ed end delete mode
- exit_doublewide_mode rwidm ZQ End double-wide mode
- exit_insert_mode rmir ei exit insert mode
- exit_italics_mode ritm ZR End italic mode
- exit_leftward_mode rlm ZS End left-motion mode
- exit_micro_mode rmicm ZT End micro-motion
- mode
- exit_shadow_mode rshm ZU End shadow-print
- mode
- exit_standout_mode rmso se exit standout mode
- exit_subscript_mode rsubm ZV End subscript mode
- exit_superscript_mode rsupm ZW End superscript mode
- exit_underline_mode rmul ue exit underline mode
- exit_upward_mode rum ZX End reverse charac-
- ter motion
- exit_xon_mode rmxon RX turn off xon/xoff
- handshaking
- fixed_pause pause PA pause for 2-3 sec-
- onds
- flash_hook hook fh flash switch hook
- flash_screen flash vb visible bell (may
- not move cursor)
- form_feed ff ff hardcopy terminal
- page eject (P*)
- from_status_line fsl fs return from status
- line
- goto_window wingo WG go to window #1
- hangup hup HU hang-up phone
- init_1string is1 i1 initialization
- string
- init_2string is2 is initialization
- string
-
- init_3string is3 i3 initialization
- string
- init_file if if name of initializa-
- tion file
- init_prog iprog iP path name of program
- for initialization
- initialize_color initc Ic initialize color #1
- to (#2,#3,#4)
- initialize_pair initp Ip Initialize color
- pair #1 to
- fg=(#2,#3,#4),
- bg=(#5,#6,#7)
- insert_character ich1 ic insert character (P)
- insert_line il1 al insert line (P*)
- insert_padding ip ip insert padding after
- inserted character
- key_a1 ka1 K1 upper left of keypad
- key_a3 ka3 K3 upper right of key-
- pad
- key_b2 kb2 K2 center of keypad
- key_backspace kbs kb backspace key
- key_beg kbeg @1 begin key
- key_btab kcbt kB back-tab key
- key_c1 kc1 K4 lower left of keypad
- key_c3 kc3 K5 lower right of key-
- pad
- key_cancel kcan @2 cancel key
- key_catab ktbc ka clear-all-tabs key
- key_clear kclr kC clear-screen or
- erase key
- key_close kclo @3 close key
- key_command kcmd @4 command key
- key_copy kcpy @5 copy key
- key_create kcrt @6 create key
- key_ctab kctab kt clear-tab key
- key_dc kdch1 kD delete-character key
- key_dl kdl1 kL delete-line key
- key_down kcud1 kd down-arrow key
- key_eic krmir kM sent by rmir or smir
- in insert mode
- key_end kend @7 end key
- key_enter kent @8 enter/send key
- key_eol kel kE clear-to-end-of-line
- key
- key_eos ked kS clear-to-end-of-
- screen key
- key_exit kext @9 exit key
- key_f0 kf0 k0 F0 function key
- key_f1 kf1 k1 F1 function key
- key_f10 kf10 k; F10 function key
- key_f11 kf11 F1 F11 function key
- key_f12 kf12 F2 F12 function key
- key_f13 kf13 F3 F13 function key
- key_f14 kf14 F4 F14 function key
- key_f15 kf15 F5 F15 function key
- key_f16 kf16 F6 F16 function key
- key_f17 kf17 F7 F17 function key
- key_f18 kf18 F8 F18 function key
- key_f19 kf19 F9 F19 function key
- key_f2 kf2 k2 F2 function key
- key_f20 kf20 FA F20 function key
- key_f21 kf21 FB F21 function key
- key_f22 kf22 FC F22 function key
- key_f23 kf23 FD F23 function key
- key_f24 kf24 FE F24 function key
-
- key_f25 kf25 FF F25 function key
- key_f26 kf26 FG F26 function key
- key_f27 kf27 FH F27 function key
- key_f28 kf28 FI F28 function key
- key_f29 kf29 FJ F29 function key
- key_f3 kf3 k3 F3 function key
- key_f30 kf30 FK F30 function key
- key_f31 kf31 FL F31 function key
- key_f32 kf32 FM F32 function key
- key_f33 kf33 FN F33 function key
- key_f34 kf34 FO F34 function key
- key_f35 kf35 FP F35 function key
- key_f36 kf36 FQ F36 function key
- key_f37 kf37 FR F37 function key
- key_f38 kf38 FS F38 function key
- key_f39 kf39 FT F39 function key
- key_f4 kf4 k4 F4 function key
- key_f40 kf40 FU F40 function key
- key_f41 kf41 FV F41 function key
- key_f42 kf42 FW F42 function key
- key_f43 kf43 FX F43 function key
- key_f44 kf44 FY F44 function key
- key_f45 kf45 FZ F45 function key
- key_f46 kf46 Fa F46 function key
- key_f47 kf47 Fb F47 function key
- key_f48 kf48 Fc F48 function key
- key_f49 kf49 Fd F49 function key
- key_f5 kf5 k5 F5 function key
- key_f50 kf50 Fe F50 function key
- key_f51 kf51 Ff F51 function key
- key_f52 kf52 Fg F52 function key
- key_f53 kf53 Fh F53 function key
- key_f54 kf54 Fi F54 function key
- key_f55 kf55 Fj F55 function key
- key_f56 kf56 Fk F56 function key
- key_f57 kf57 Fl F57 function key
- key_f58 kf58 Fm F58 function key
- key_f59 kf59 Fn F59 function key
- key_f6 kf6 k6 F6 function key
- key_f60 kf60 Fo F60 function key
- key_f61 kf61 Fp F61 function key
- key_f62 kf62 Fq F62 function key
- key_f63 kf63 Fr F63 function key
- key_f7 kf7 k7 F7 function key
- key_f8 kf8 k8 F8 function key
- key_f9 kf9 k9 F9 function key
- key_find kfnd @0 find key
- key_help khlp %1 help key
- key_home khome kh home key
- key_ic kich1 kI insert-character key
- key_il kil1 kA insert-line key
- key_left kcub1 kl left-arrow key
- key_ll kll kH lower-left key (home
- down)
- key_mark kmrk %2 mark key
- key_message kmsg %3 message key
- key_move kmov %4 move key
- key_next knxt %5 next key
- key_npage knp kN next-page key
- key_open kopn %6 open key
- key_options kopt %7 options key
- key_ppage kpp kP previous-page key
- key_previous kprv %8 previous key
- key_print kprt %9 print key
- key_redo krdo %0 redo key
-
- key_reference kref &amp;1 reference key
- key_refresh krfr &amp;2 refresh key
- key_replace krpl &amp;3 replace key
- key_restart krst &amp;4 restart key
- key_resume kres &amp;5 resume key
- key_right kcuf1 kr right-arrow key
- key_save ksav &amp;6 save key
- key_sbeg kBEG &amp;9 shifted begin key
- key_scancel kCAN &amp;0 shifted cancel key
- key_scommand kCMD *1 shifted command key
- key_scopy kCPY *2 shifted copy key
- key_screate kCRT *3 shifted create key
- key_sdc kDC *4 shifted delete-char-
- acter key
- key_sdl kDL *5 shifted delete-line
- key
- key_select kslt *6 select key
- key_send kEND *7 shifted end key
- key_seol kEOL *8 shifted clear-to-
- end-of-line key
- key_sexit kEXT *9 shifted exit key
- key_sf kind kF scroll-forward key
- key_sfind kFND *0 shifted find key
- key_shelp kHLP #1 shifted help key
- key_shome kHOM #2 shifted home key
- key_sic kIC #3 shifted insert-char-
- acter key
- key_sleft kLFT #4 shifted left-arrow
- key
- key_smessage kMSG %a shifted message key
- key_smove kMOV %b shifted move key
- key_snext kNXT %c shifted next key
- key_soptions kOPT %d shifted options key
- key_sprevious kPRV %e shifted previous key
- key_sprint kPRT %f shifted print key
- key_sr kri kR scroll-backward key
- key_sredo kRDO %g shifted redo key
- key_sreplace kRPL %h shifted replace key
- key_sright kRIT %i shifted right-arrow
- key
- key_srsume kRES %j shifted resume key
- key_ssave kSAV !1 shifted save key
- key_ssuspend kSPD !2 shifted suspend key
- key_stab khts kT set-tab key
- key_sundo kUND !3 shifted undo key
- key_suspend kspd &amp;7 suspend key
- key_undo kund &amp;8 undo key
- key_up kcuu1 ku up-arrow key
- keypad_local rmkx ke leave 'key-
- board_transmit' mode
- keypad_xmit smkx ks enter 'key-
- board_transmit' mode
- lab_f0 lf0 l0 label on function
- key f0 if not f0
- lab_f1 lf1 l1 label on function
- key f1 if not f1
- lab_f10 lf10 la label on function
- key f10 if not f10
- lab_f2 lf2 l2 label on function
- key f2 if not f2
- lab_f3 lf3 l3 label on function
- key f3 if not f3
- lab_f4 lf4 l4 label on function
- key f4 if not f4
-
-
- lab_f5 lf5 l5 label on function
- key f5 if not f5
- lab_f6 lf6 l6 label on function
- key f6 if not f6
- lab_f7 lf7 l7 label on function
- key f7 if not f7
- lab_f8 lf8 l8 label on function
- key f8 if not f8
- lab_f9 lf9 l9 label on function
- key f9 if not f9
- label_format fln Lf label format
- label_off rmln LF turn off soft labels
- label_on smln LO turn on soft labels
- meta_off rmm mo turn off meta mode
- meta_on smm mm turn on meta mode
- (8th-bit on)
- micro_column_address mhpa ZY Like column_address
- in micro mode
- micro_down mcud1 ZZ Like cursor_down in
- micro mode
- micro_left mcub1 Za Like cursor_left in
- micro mode
- micro_right mcuf1 Zb Like cursor_right in
- micro mode
- micro_row_address mvpa Zc Like row_address #1
- in micro mode
- micro_up mcuu1 Zd Like cursor_up in
- micro mode
- newline nel nw newline (behave like
- cr followed by lf)
- order_of_pins porder Ze Match software bits
- to print-head pins
- orig_colors oc oc Set all color pairs
- to the original ones
- orig_pair op op Set default pair to
- its original value
- pad_char pad pc padding char
- (instead of null)
- parm_dch dch DC delete #1 characters
- (P*)
- parm_delete_line dl DL delete #1 lines (P*)
- parm_down_cursor cud DO down #1 lines (P*)
- parm_down_micro mcud Zf Like parm_down_cur-
- sor in micro mode
- parm_ich ich IC insert #1 characters
- (P*)
- parm_index indn SF scroll forward #1
- lines (P)
- parm_insert_line il AL insert #1 lines (P*)
- parm_left_cursor cub LE move #1 characters
- to the left (P)
- parm_left_micro mcub Zg Like parm_left_cur-
- sor in micro mode
- parm_right_cursor cuf RI move #1 characters
- to the right (P*)
- parm_right_micro mcuf Zh Like parm_right_cur-
- sor in micro mode
- parm_rindex rin SR scroll back #1 lines
- (P)
- parm_up_cursor cuu UP up #1 lines (P*)
- parm_up_micro mcuu Zi Like parm_up_cursor
- in micro mode
- pkey_key pfkey pk program function key
- #1 to type string #2
-
-
- pkey_local pfloc pl program function key
- #1 to execute string
- #2
- pkey_xmit pfx px program function key
- #1 to transmit
- string #2
- plab_norm pln pn program label #1 to
- show string #2
- print_screen mc0 ps print contents of
- screen
- prtr_non mc5p pO turn on printer for
- #1 bytes
- prtr_off mc4 pf turn off printer
- prtr_on mc5 po turn on printer
- pulse pulse PU select pulse dialing
- quick_dial qdial QD dial number #1 with-
- out checking
- remove_clock rmclk RC remove clock
- repeat_char rep rp repeat char #1 #2
- times (P*)
- req_for_input rfi RF send next input char
- (for ptys)
- reset_1string rs1 r1 reset string
- reset_2string rs2 r2 reset string
- reset_3string rs3 r3 reset string
- reset_file rf rf name of reset file
- restore_cursor rc rc restore cursor to
- position of last
- save_cursor
- row_address vpa cv vertical position #1
- absolute (P)
- save_cursor sc sc save current cursor
- position (P)
- scroll_forward ind sf scroll text up (P)
- scroll_reverse ri sr scroll text down (P)
- select_char_set scs Zj Select character
- set, #1
- set_attributes sgr sa define video
- attributes #1-#9
- (PG9)
- set_background setb Sb Set background color
- #1
- set_bottom_margin smgb Zk Set bottom margin at
- current line
- set_bottom_margin_parm smgbp Zl Set bottom margin at
- line #1 or (if smgtp
- is not given) #2
- lines from bottom
- set_clock sclk SC set clock, #1 hrs #2
- mins #3 secs
- set_color_pair scp sp Set current color
- pair to #1
- set_foreground setf Sf Set foreground color
- #1
- set_left_margin smgl ML set left soft margin
- at current column.
- See smgl. (ML is not
- in BSD termcap).
- set_left_margin_parm smglp Zm Set left (right)
- margin at column #1
- set_right_margin smgr MR set right soft mar-
- gin at current col-
- umn
- set_right_margin_parm smgrp Zn Set right margin at
- column #1
-
- set_tab hts st set a tab in every
- row, current columns
- set_top_margin smgt Zo Set top margin at
- current line
- set_top_margin_parm smgtp Zp Set top (bottom)
- margin at row #1
- set_window wind wi current window is
- lines #1-#2 cols
- #3-#4
- start_bit_image sbim Zq Start printing bit
- image graphics
- start_char_set_def scsd Zr Start character set
- definition #1, with
- #2 characters in the
- set
- stop_bit_image rbim Zs Stop printing bit
- image graphics
- stop_char_set_def rcsd Zt End definition of
- character set #1
- subscript_characters subcs Zu List of subscript-
- able characters
- superscript_characters supcs Zv List of superscript-
- able characters
- tab ht ta tab to next 8-space
- hardware tab stop
- these_cause_cr docr Zw Printing any of
- these characters
- causes CR
- to_status_line tsl ts move to status line,
- column #1
- tone tone TO select touch tone
- dialing
- underline_char uc uc underline char and
- move past it
- up_half_line hu hu half a line up
- user0 u0 u0 User string #0
- user1 u1 u1 User string #1
- user2 u2 u2 User string #2
- user3 u3 u3 User string #3
- user4 u4 u4 User string #4
- user5 u5 u5 User string #5
- user6 u6 u6 User string #6
- user7 u7 u7 User string #7
- user8 u8 u8 User string #8
- user9 u9 u9 User string #9
- wait_tone wait WA wait for dial-tone
- xoff_character xoffc XF XOFF character
- xon_character xonc XN XON character
- zero_motion zerom Zx No motion for subse-
- quent character
-
- The following string capabilities are present in the
- SVr4.0 term structure, but were originally not documented
- in the man page.
-
-
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- alt_scancode_esc scesa S8 Alternate escape
- for scancode emu-
- lation
- bit_image_carriage_return bicr Yv Move to beginning
- of same row
- bit_image_newline binel Zz Move to next row
- of the bit image
-
- bit_image_repeat birep Xy Repeat bit image
- cell #1 #2 times
- char_set_names csnm Zy Produce #1'th item
- from list of char-
- acter set names
- code_set_init csin ci Init sequence for
- multiple codesets
- color_names colornm Yw Give name for
- color #1
- define_bit_image_region defbi Yx Define rectan-
- gualar bit image
- region
- device_type devt dv Indicate lan-
- guage/codeset sup-
- port
- display_pc_char dispc S1 Display PC charac-
- ter #1
- end_bit_image_region endbi Yy End a bit-image
- region
- enter_pc_charset_mode smpch S2 Enter PC character
- display mode
- enter_scancode_mode smsc S4 Enter PC scancode
- mode
- exit_pc_charset_mode rmpch S3 Exit PC character
- display mode
- exit_scancode_mode rmsc S5 Exit PC scancode
- mode
- get_mouse getm Gm Curses should get
- button events,
- parameter #1 not
- documented.
- key_mouse kmous Km Mouse event has
- occurred
- mouse_info minfo Mi Mouse status
- information
- pc_term_options pctrm S6 PC terminal
- options
- pkey_plab pfxl xl Program function
- key #1 to type
- string #2 and show
- string #3
- req_mouse_pos reqmp RQ Request mouse
- position
- scancode_escape scesc S7 Escape for scan-
- code emulation
- set0_des_seq s0ds s0 Shift to codeset 0
- (EUC set 0, ASCII)
- set1_des_seq s1ds s1 Shift to codeset 1
- set2_des_seq s2ds s2 Shift to codeset 2
- set3_des_seq s3ds s3 Shift to codeset 3
- set_a_background setab AB Set background
- color to #1, using
- ANSI escape
- set_a_foreground setaf AF Set foreground
- color to #1, using
- ANSI escape
- set_color_band setcolor Yz Change to ribbon
- color #1
- set_lr_margin smglr ML Set both left and
- right margins to
- #1, #2. (ML is
- not in BSD term-
- cap).
- set_page_length slines YZ Set page length to
- #1 lines
-
- set_tb_margin smgtb MT Sets both top and
- bottom margins to
- #1, #2
-
- The XSI Curses standard added these hardcopy capabili-
- ties. They were used in some post-4.1 versions of System
- V curses, e.g., Solaris 2.5 and IRIX 6.x. Except for <STRONG>YI</STRONG>,
- the <STRONG>ncurses</STRONG> termcap names for them are invented. Accord-
- ing to the XSI Curses standard, they have no termcap
- names. If your compiled terminfo entries use these, they
- may not be binary-compatible with System V terminfo
- entries after SVr4.1; beware!
-
-
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
- enter_horizontal_hl_mode ehhlm Xh Enter horizontal
- highlight mode
- enter_left_hl_mode elhlm Xl Enter left highlight
- mode
- enter_low_hl_mode elohlm Xo Enter low highlight
- mode
- enter_right_hl_mode erhlm Xr Enter right high-
- light mode
- enter_top_hl_mode ethlm Xt Enter top highlight
- mode
- enter_vertical_hl_mode evhlm Xv Enter vertical high-
- light mode
- set_a_attributes sgr1 sA Define second set of
- video attributes
- #1-#6
- set_pglen_inch slengthYI Set page length to
- #1 hundredth of an
- inch (some implemen-
- tations use sL for
- termcap).
-
- <STRONG>User-Defined</STRONG> <STRONG>Capabilities</STRONG>
- The preceding section listed the <EM>predefined</EM> capabilities.
- They deal with some special features for terminals no
- longer (or possibly never) produced. Occasionally there
- are special features of newer terminals which are awkward
- or impossible to represent by reusing the predefined capa-
- bilities.
-
- <STRONG>ncurses</STRONG> addresses this limitation by allowing user-defined
- capabilities. The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG>
- option for this purpose. When <STRONG>-x</STRONG> is set, <STRONG>tic</STRONG> treats
- unknown capabilities as user-defined. That is, if <STRONG>tic</STRONG>
- encounters a capability name which it does not recognize,
- it infers its type (boolean, number or string) from the
- syntax and makes an extended table entry for that capabil-
- ity. The <STRONG>use_extended_names</STRONG> function makes this informa-
- tion conditionally available to applications. The ncurses
- library provides the data leaving most of the behavior to
- applications:
-
- <STRONG>o</STRONG> User-defined capability strings whose name begins with
- "k" are treated as function keys.
-
- <STRONG>o</STRONG> The types (boolean, number, string) determined by <STRONG>tic</STRONG>
- can be inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
-
- <STRONG>o</STRONG> If the capability name happens to be two characters,
- the capability is also available through the termcap
- interface.
-
- While termcap is said to be extensible because it does not
- use a predefined set of capabilities, in practice it has
- been limited to the capabilities defined by terminfo
- implementations. As a rule, user-defined capabilities
- intended for use by termcap applications should be limited
- to booleans and numbers to avoid running past the 1023
- byte limit assumed by termcap implementations and their
- applications. In particular, providing extended sets of
- function keys (past the 60 numbered keys and the handful
- of special named keys) is best done using the longer names
- available using terminfo.
-
- <STRONG>A</STRONG> <STRONG>Sample</STRONG> <STRONG>Entry</STRONG>
- The following entry, describing an ANSI-standard terminal,
- is representative of what a <STRONG>terminfo</STRONG> entry for a modern
- terminal typically looks like.
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ acs_chars acsc ac graphics charset
+ pairs, based on
+ vt100
+ back_tab cbt bt back tab (P)
+ bell bel bl audible signal
+ (bell) (P)
+ carriage_return cr cr carriage return (P*)
+ (P*)
+ change_char_pitch cpi ZA Change number of
+ characters per inch
+ to #1
+ change_line_pitch lpi ZB Change number of
+ lines per inch to #1
+ change_res_horz chr ZC Change horizontal
+ resolution to #1
+ change_res_vert cvr ZD Change vertical res-
+ olution to #1
+ change_scroll_region csr cs change region to
+ line #1 to line #2
+ (P)
+ char_padding rmp rP like ip but when in
+ insert mode
+
+
+ clear_all_tabs tbc ct clear all tab stops
+ (P)
+ clear_margins mgc MC clear right and left
+ soft margins
+ clear_screen clear cl clear screen and
+ home cursor (P*)
+ clr_bol el1 cb Clear to beginning
+ of line
+ clr_eol el ce clear to end of line
+ (P)
+ clr_eos ed cd clear to end of
+ screen (P*)
+ column_address hpa ch horizontal position
+ #1, absolute (P)
+ command_character cmdch CC terminal settable
+ cmd character in
+ prototype !?
+ create_window cwin CW define a window #1
+ from #2,#3 to #4,#5
+ cursor_address cup cm move to row #1 col-
+ umns #2
+ cursor_down cud1 do down one line
+ cursor_home home ho home cursor (if no
+ cup)
+ cursor_invisible civis vi make cursor invisi-
+ ble
+ cursor_left cub1 le move left one space
+ cursor_mem_address mrcup CM memory relative cur-
+ sor addressing, move
+ to row #1 columns #2
+ cursor_normal cnorm ve make cursor appear
+ normal (undo
+ civis/cvvis)
+ cursor_right cuf1 nd non-destructive
+ space (move right
+ one space)
+ cursor_to_ll ll ll last line, first
+ column (if no cup)
+ cursor_up cuu1 up up one line
+ cursor_visible cvvis vs make cursor very
+ visible
+ define_char defc ZE Define a character
+ #1, #2 dots wide,
+ descender #3
+ delete_character dch1 dc delete character
+ (P*)
+ delete_line dl1 dl delete line (P*)
+ dial_phone dial DI dial number #1
+ dis_status_line dsl ds disable status line
+ display_clock dclk DK display clock
+ down_half_line hd hd half a line down
+ ena_acs enacs eA enable alternate
+ char set
+ enter_alt_charset_mode smacs as start alternate
+ character set (P)
+ enter_am_mode smam SA turn on automatic
+ margins
+ enter_blink_mode blink mb turn on blinking
+ enter_bold_mode bold md turn on bold (extra
+ bright) mode
+ enter_ca_mode smcup ti string to start pro-
+ grams using cup
+ enter_delete_mode smdc dm enter delete mode
+ enter_dim_mode dim mh turn on half-bright
+ mode
+
+ enter_doublewide_mode swidm ZF Enter double-wide
+ mode
+ enter_draft_quality sdrfq ZG Enter draft-quality
+ mode
+ enter_insert_mode smir im enter insert mode
+ enter_italics_mode sitm ZH Enter italic mode
+ enter_leftward_mode slm ZI Start leftward car-
+ riage motion
+ enter_micro_mode smicm ZJ Start micro-motion
+ mode
+ enter_near_letter_quality snlq ZK Enter NLQ mode
+ enter_normal_quality snrmq ZL Enter normal-quality
+ mode
+ enter_protected_mode prot mp turn on protected
+ mode
+ enter_reverse_mode rev mr turn on reverse
+ video mode
+ enter_secure_mode invis mk turn on blank mode
+ (characters invisi-
+ ble)
+ enter_shadow_mode sshm ZM Enter shadow-print
+ mode
+ enter_standout_mode smso so begin standout mode
+ enter_subscript_mode ssubm ZN Enter subscript mode
+ enter_superscript_mode ssupm ZO Enter superscript
+ mode
+ enter_underline_mode smul us begin underline mode
+ enter_upward_mode sum ZP Start upward car-
+ riage motion
+ enter_xon_mode smxon SX turn on xon/xoff
+ handshaking
+ erase_chars ech ec erase #1 characters
+ (P)
+ exit_alt_charset_mode rmacs ae end alternate char-
+ acter set (P)
+ exit_am_mode rmam RA turn off automatic
+ margins
+ exit_attribute_mode sgr0 me turn off all
+ attributes
+ exit_ca_mode rmcup te strings to end pro-
+ grams using cup
+ exit_delete_mode rmdc ed end delete mode
+ exit_doublewide_mode rwidm ZQ End double-wide mode
+ exit_insert_mode rmir ei exit insert mode
+ exit_italics_mode ritm ZR End italic mode
+ exit_leftward_mode rlm ZS End left-motion mode
+ exit_micro_mode rmicm ZT End micro-motion
+ mode
+ exit_shadow_mode rshm ZU End shadow-print
+ mode
+ exit_standout_mode rmso se exit standout mode
+ exit_subscript_mode rsubm ZV End subscript mode
+ exit_superscript_mode rsupm ZW End superscript mode
+ exit_underline_mode rmul ue exit underline mode
+ exit_upward_mode rum ZX End reverse charac-
+ ter motion
+ exit_xon_mode rmxon RX turn off xon/xoff
+ handshaking
+ fixed_pause pause PA pause for 2-3 sec-
+ onds
+ flash_hook hook fh flash switch hook
+ flash_screen flash vb visible bell (may
+ not move cursor)
+ form_feed ff ff hardcopy terminal
+ page eject (P*)
+
+ from_status_line fsl fs return from status
+ line
+ goto_window wingo WG go to window #1
+ hangup hup HU hang-up phone
+ init_1string is1 i1 initialization
+ string
+ init_2string is2 is initialization
+ string
+ init_3string is3 i3 initialization
+ string
+ init_file if if name of initializa-
+ tion file
+ init_prog iprog iP path name of program
+ for initialization
+ initialize_color initc Ic initialize color #1
+ to (#2,#3,#4)
+ initialize_pair initp Ip Initialize color
+ pair #1 to
+ fg=(#2,#3,#4),
+ bg=(#5,#6,#7)
+ insert_character ich1 ic insert character (P)
+ insert_line il1 al insert line (P*)
+ insert_padding ip ip insert padding after
+ inserted character
+ key_a1 ka1 K1 upper left of keypad
+ key_a3 ka3 K3 upper right of key-
+ pad
+ key_b2 kb2 K2 center of keypad
+ key_backspace kbs kb backspace key
+ key_beg kbeg @1 begin key
+ key_btab kcbt kB back-tab key
+ key_c1 kc1 K4 lower left of keypad
+ key_c3 kc3 K5 lower right of key-
+ pad
+ key_cancel kcan @2 cancel key
+ key_catab ktbc ka clear-all-tabs key
+ key_clear kclr kC clear-screen or
+ erase key
+ key_close kclo @3 close key
+ key_command kcmd @4 command key
+ key_copy kcpy @5 copy key
+ key_create kcrt @6 create key
+ key_ctab kctab kt clear-tab key
+ key_dc kdch1 kD delete-character key
+ key_dl kdl1 kL delete-line key
+ key_down kcud1 kd down-arrow key
+ key_eic krmir kM sent by rmir or smir
+ in insert mode
+ key_end kend @7 end key
+ key_enter kent @8 enter/send key
+ key_eol kel kE clear-to-end-of-line
+ key
+ key_eos ked kS clear-to-end-of-
+ screen key
+ key_exit kext @9 exit key
+ key_f0 kf0 k0 F0 function key
+ key_f1 kf1 k1 F1 function key
+ key_f10 kf10 k; F10 function key
+ key_f11 kf11 F1 F11 function key
+ key_f12 kf12 F2 F12 function key
+ key_f13 kf13 F3 F13 function key
+ key_f14 kf14 F4 F14 function key
+ key_f15 kf15 F5 F15 function key
+ key_f16 kf16 F6 F16 function key
+ key_f17 kf17 F7 F17 function key
+
+ key_f18 kf18 F8 F18 function key
+ key_f19 kf19 F9 F19 function key
+ key_f2 kf2 k2 F2 function key
+ key_f20 kf20 FA F20 function key
+ key_f21 kf21 FB F21 function key
+ key_f22 kf22 FC F22 function key
+ key_f23 kf23 FD F23 function key
+ key_f24 kf24 FE F24 function key
+ key_f25 kf25 FF F25 function key
+ key_f26 kf26 FG F26 function key
+ key_f27 kf27 FH F27 function key
+ key_f28 kf28 FI F28 function key
+ key_f29 kf29 FJ F29 function key
+ key_f3 kf3 k3 F3 function key
+ key_f30 kf30 FK F30 function key
+ key_f31 kf31 FL F31 function key
+ key_f32 kf32 FM F32 function key
+ key_f33 kf33 FN F33 function key
+ key_f34 kf34 FO F34 function key
+ key_f35 kf35 FP F35 function key
+ key_f36 kf36 FQ F36 function key
+ key_f37 kf37 FR F37 function key
+ key_f38 kf38 FS F38 function key
+ key_f39 kf39 FT F39 function key
+ key_f4 kf4 k4 F4 function key
+ key_f40 kf40 FU F40 function key
+ key_f41 kf41 FV F41 function key
+ key_f42 kf42 FW F42 function key
+ key_f43 kf43 FX F43 function key
+ key_f44 kf44 FY F44 function key
+ key_f45 kf45 FZ F45 function key
+ key_f46 kf46 Fa F46 function key
+ key_f47 kf47 Fb F47 function key
+ key_f48 kf48 Fc F48 function key
+ key_f49 kf49 Fd F49 function key
+ key_f5 kf5 k5 F5 function key
+ key_f50 kf50 Fe F50 function key
+ key_f51 kf51 Ff F51 function key
+ key_f52 kf52 Fg F52 function key
+ key_f53 kf53 Fh F53 function key
+ key_f54 kf54 Fi F54 function key
+ key_f55 kf55 Fj F55 function key
+ key_f56 kf56 Fk F56 function key
+ key_f57 kf57 Fl F57 function key
+ key_f58 kf58 Fm F58 function key
+ key_f59 kf59 Fn F59 function key
+ key_f6 kf6 k6 F6 function key
+ key_f60 kf60 Fo F60 function key
+ key_f61 kf61 Fp F61 function key
+ key_f62 kf62 Fq F62 function key
+ key_f63 kf63 Fr F63 function key
+ key_f7 kf7 k7 F7 function key
+ key_f8 kf8 k8 F8 function key
+ key_f9 kf9 k9 F9 function key
+ key_find kfnd @0 find key
+ key_help khlp %1 help key
+ key_home khome kh home key
+ key_ic kich1 kI insert-character key
+ key_il kil1 kA insert-line key
+ key_left kcub1 kl left-arrow key
+ key_ll kll kH lower-left key (home
+ down)
+ key_mark kmrk %2 mark key
+ key_message kmsg %3 message key
+ key_move kmov %4 move key
+
+ key_next knxt %5 next key
+ key_npage knp kN next-page key
+ key_open kopn %6 open key
+ key_options kopt %7 options key
+ key_ppage kpp kP previous-page key
+ key_previous kprv %8 previous key
+ key_print kprt %9 print key
+ key_redo krdo %0 redo key
+ key_reference kref &amp;1 reference key
+ key_refresh krfr &amp;2 refresh key
+ key_replace krpl &amp;3 replace key
+ key_restart krst &amp;4 restart key
+ key_resume kres &amp;5 resume key
+ key_right kcuf1 kr right-arrow key
+ key_save ksav &amp;6 save key
+ key_sbeg kBEG &amp;9 shifted begin key
+ key_scancel kCAN &amp;0 shifted cancel key
+ key_scommand kCMD *1 shifted command key
+ key_scopy kCPY *2 shifted copy key
+ key_screate kCRT *3 shifted create key
+ key_sdc kDC *4 shifted delete-char-
+ acter key
+ key_sdl kDL *5 shifted delete-line
+ key
+ key_select kslt *6 select key
+ key_send kEND *7 shifted end key
+ key_seol kEOL *8 shifted clear-to-
+ end-of-line key
+ key_sexit kEXT *9 shifted exit key
+ key_sf kind kF scroll-forward key
+ key_sfind kFND *0 shifted find key
+ key_shelp kHLP #1 shifted help key
+ key_shome kHOM #2 shifted home key
+ key_sic kIC #3 shifted insert-char-
+ acter key
+ key_sleft kLFT #4 shifted left-arrow
+ key
+ key_smessage kMSG %a shifted message key
+ key_smove kMOV %b shifted move key
+ key_snext kNXT %c shifted next key
+ key_soptions kOPT %d shifted options key
+ key_sprevious kPRV %e shifted previous key
+ key_sprint kPRT %f shifted print key
+ key_sr kri kR scroll-backward key
+ key_sredo kRDO %g shifted redo key
+ key_sreplace kRPL %h shifted replace key
+ key_sright kRIT %i shifted right-arrow
+ key
+ key_srsume kRES %j shifted resume key
+ key_ssave kSAV !1 shifted save key
+ key_ssuspend kSPD !2 shifted suspend key
+ key_stab khts kT set-tab key
+ key_sundo kUND !3 shifted undo key
+ key_suspend kspd &amp;7 suspend key
+ key_undo kund &amp;8 undo key
+ key_up kcuu1 ku up-arrow key
+ keypad_local rmkx ke leave 'key-
+ board_transmit' mode
+ keypad_xmit smkx ks enter 'key-
+ board_transmit' mode
+ lab_f0 lf0 l0 label on function
+ key f0 if not f0
+ lab_f1 lf1 l1 label on function
+ key f1 if not f1
+
+
+ lab_f10 lf10 la label on function
+ key f10 if not f10
+ lab_f2 lf2 l2 label on function
+ key f2 if not f2
+ lab_f3 lf3 l3 label on function
+ key f3 if not f3
+ lab_f4 lf4 l4 label on function
+ key f4 if not f4
+ lab_f5 lf5 l5 label on function
+ key f5 if not f5
+ lab_f6 lf6 l6 label on function
+ key f6 if not f6
+ lab_f7 lf7 l7 label on function
+ key f7 if not f7
+ lab_f8 lf8 l8 label on function
+ key f8 if not f8
+ lab_f9 lf9 l9 label on function
+ key f9 if not f9
+ label_format fln Lf label format
+ label_off rmln LF turn off soft labels
+ label_on smln LO turn on soft labels
+ meta_off rmm mo turn off meta mode
+ meta_on smm mm turn on meta mode
+ (8th-bit on)
+ micro_column_address mhpa ZY Like column_address
+ in micro mode
+ micro_down mcud1 ZZ Like cursor_down in
+ micro mode
+ micro_left mcub1 Za Like cursor_left in
+ micro mode
+ micro_right mcuf1 Zb Like cursor_right in
+ micro mode
+ micro_row_address mvpa Zc Like row_address #1
+ in micro mode
+ micro_up mcuu1 Zd Like cursor_up in
+ micro mode
+ newline nel nw newline (behave like
+ cr followed by lf)
+ order_of_pins porder Ze Match software bits
+ to print-head pins
+ orig_colors oc oc Set all color pairs
+ to the original ones
+ orig_pair op op Set default pair to
+ its original value
+ pad_char pad pc padding char
+ (instead of null)
+ parm_dch dch DC delete #1 characters
+ (P*)
+ parm_delete_line dl DL delete #1 lines (P*)
+ parm_down_cursor cud DO down #1 lines (P*)
+ parm_down_micro mcud Zf Like parm_down_cur-
+ sor in micro mode
+ parm_ich ich IC insert #1 characters
+ (P*)
+ parm_index indn SF scroll forward #1
+ lines (P)
+ parm_insert_line il AL insert #1 lines (P*)
+ parm_left_cursor cub LE move #1 characters
+ to the left (P)
+ parm_left_micro mcub Zg Like parm_left_cur-
+ sor in micro mode
+ parm_right_cursor cuf RI move #1 characters
+ to the right (P*)
+ parm_right_micro mcuf Zh Like parm_right_cur-
+ sor in micro mode
+
+ parm_rindex rin SR scroll back #1 lines
+ (P)
+ parm_up_cursor cuu UP up #1 lines (P*)
+ parm_up_micro mcuu Zi Like parm_up_cursor
+ in micro mode
+ pkey_key pfkey pk program function key
+ #1 to type string #2
+ pkey_local pfloc pl program function key
+ #1 to execute string
+ #2
+ pkey_xmit pfx px program function key
+ #1 to transmit
+ string #2
+ plab_norm pln pn program label #1 to
+ show string #2
+ print_screen mc0 ps print contents of
+ screen
+ prtr_non mc5p pO turn on printer for
+ #1 bytes
+ prtr_off mc4 pf turn off printer
+ prtr_on mc5 po turn on printer
+ pulse pulse PU select pulse dialing
+ quick_dial qdial QD dial number #1 with-
+ out checking
+ remove_clock rmclk RC remove clock
+ repeat_char rep rp repeat char #1 #2
+ times (P*)
+ req_for_input rfi RF send next input char
+ (for ptys)
+ reset_1string rs1 r1 reset string
+ reset_2string rs2 r2 reset string
+ reset_3string rs3 r3 reset string
+ reset_file rf rf name of reset file
+ restore_cursor rc rc restore cursor to
+ position of last
+ save_cursor
+ row_address vpa cv vertical position #1
+ absolute (P)
+ save_cursor sc sc save current cursor
+ position (P)
+ scroll_forward ind sf scroll text up (P)
+ scroll_reverse ri sr scroll text down (P)
+ select_char_set scs Zj Select character
+ set, #1
+ set_attributes sgr sa define video
+ attributes #1-#9
+ (PG9)
+ set_background setb Sb Set background color
+ #1
+ set_bottom_margin smgb Zk Set bottom margin at
+ current line
+ set_bottom_margin_parm smgbp Zl Set bottom margin at
+ line #1 or (if smgtp
+ is not given) #2
+ lines from bottom
+ set_clock sclk SC set clock, #1 hrs #2
+ mins #3 secs
+ set_color_pair scp sp Set current color
+ pair to #1
+ set_foreground setf Sf Set foreground color
+ #1
+
+
+
+
+
+ set_left_margin smgl ML set left soft margin
+ at current col-
+ umn. See smgl.
+ (ML is not in BSD
+ termcap).
+ set_left_margin_parm smglp Zm Set left (right)
+ margin at column #1
+ set_right_margin smgr MR set right soft mar-
+ gin at current col-
+ umn
+ set_right_margin_parm smgrp Zn Set right margin at
+ column #1
+ set_tab hts st set a tab in every
+ row, current columns
+ set_top_margin smgt Zo Set top margin at
+ current line
+ set_top_margin_parm smgtp Zp Set top (bottom)
+ margin at row #1
+ set_window wind wi current window is
+ lines #1-#2 cols
+ #3-#4
+ start_bit_image sbim Zq Start printing bit
+ image graphics
+ start_char_set_def scsd Zr Start character set
+ definition #1, with
+ #2 characters in the
+ set
+ stop_bit_image rbim Zs Stop printing bit
+ image graphics
+ stop_char_set_def rcsd Zt End definition of
+ character set #1
+ subscript_characters subcs Zu List of subscript-
+ able characters
+ superscript_characters supcs Zv List of superscript-
+ able characters
+ tab ht ta tab to next 8-space
+ hardware tab stop
+ these_cause_cr docr Zw Printing any of
+ these characters
+ causes CR
+ to_status_line tsl ts move to status line,
+ column #1
+ tone tone TO select touch tone
+ dialing
+ underline_char uc uc underline char and
+ move past it
+ up_half_line hu hu half a line up
+ user0 u0 u0 User string #0
+ user1 u1 u1 User string #1
+ user2 u2 u2 User string #2
+ user3 u3 u3 User string #3
+ user4 u4 u4 User string #4
+ user5 u5 u5 User string #5
+ user6 u6 u6 User string #6
+ user7 u7 u7 User string #7
+ user8 u8 u8 User string #8
+ user9 u9 u9 User string #9
+ wait_tone wait WA wait for dial-tone
+ xoff_character xoffc XF XOFF character
+ xon_character xonc XN XON character
+ zero_motion zerom Zx No motion for subse-
+ quent character
+
+ The following string capabilities are present in the SVr4.0 term struc-
+ ture, but were originally not documented in the man page.
+
+
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ alt_scancode_esc scesa S8 Alternate escape
+ for scancode emu-
+ lation
+ bit_image_carriage_return bicr Yv Move to beginning
+ of same row
+ bit_image_newline binel Zz Move to next row
+ of the bit image
+ bit_image_repeat birep Xy Repeat bit image
+ cell #1 #2 times
+ char_set_names csnm Zy Produce #1'th item
+ from list of char-
+ acter set names
+ code_set_init csin ci Init sequence for
+ multiple codesets
+ color_names colornm Yw Give name for
+ color #1
+ define_bit_image_region defbi Yx Define rectangular
+ bit image region
+ device_type devt dv Indicate lan-
+ guage/codeset sup-
+ port
+ display_pc_char dispc S1 Display PC charac-
+ ter #1
+ end_bit_image_region endbi Yy End a bit-image
+ region
+ enter_pc_charset_mode smpch S2 Enter PC character
+ display mode
+ enter_scancode_mode smsc S4 Enter PC scancode
+ mode
+ exit_pc_charset_mode rmpch S3 Exit PC character
+ display mode
+ exit_scancode_mode rmsc S5 Exit PC scancode
+ mode
+ get_mouse getm Gm Curses should get
+ button events,
+ parameter #1 not
+ documented.
+ key_mouse kmous Km Mouse event has
+ occurred
+ mouse_info minfo Mi Mouse status
+ information
+ pc_term_options pctrm S6 PC terminal
+ options
+ pkey_plab pfxl xl Program function
+ key #1 to type
+ string #2 and show
+ string #3
+ req_mouse_pos reqmp RQ Request mouse
+ position
+ scancode_escape scesc S7 Escape for scan-
+ code emulation
+ set0_des_seq s0ds s0 Shift to codeset 0
+ (EUC set 0, ASCII)
+ set1_des_seq s1ds s1 Shift to codeset 1
+ set2_des_seq s2ds s2 Shift to codeset 2
+ set3_des_seq s3ds s3 Shift to codeset 3
+ set_a_background setab AB Set background
+ color to #1, using
+ ANSI escape
+ set_a_foreground setaf AF Set foreground
+ color to #1, using
+ ANSI escape
+
+ set_color_band setcolor Yz Change to ribbon
+ color #1
+ set_lr_margin smglr ML Set both left and
+ right margins to
+ #1, #2. (ML is
+ not in BSD term-
+ cap).
+ set_page_length slines YZ Set page length to
+ #1 lines
+ set_tb_margin smgtb MT Sets both top and
+ bottom margins to
+ #1, #2
+
+ The XSI Curses standard added these hardcopy capabilities. They were
+ used in some post-4.1 versions of System V curses, e.g., Solaris 2.5
+ and IRIX 6.x. Except for <STRONG>YI</STRONG>, the <STRONG>ncurses</STRONG> termcap names for them are
+ invented. According to the XSI Curses standard, they have no termcap
+ names. If your compiled terminfo entries use these, they may not be
+ binary-compatible with System V terminfo entries after SVr4.1; beware!
+
+
+ <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
+ <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ enter_horizontal_hl_mode ehhlm Xh Enter horizontal
+ highlight mode
+ enter_left_hl_mode elhlm Xl Enter left highlight
+ mode
+ enter_low_hl_mode elohlm Xo Enter low highlight
+ mode
+ enter_right_hl_mode erhlm Xr Enter right high-
+ light mode
+ enter_top_hl_mode ethlm Xt Enter top highlight
+ mode
+ enter_vertical_hl_mode evhlm Xv Enter vertical high-
+ light mode
+ set_a_attributes sgr1 sA Define second set of
+ video attributes
+ #1-#6
+ set_pglen_inch slength YI Set page length to
+ #1 hundredth of an
+ inch (some implemen-
+ tations use sL for
+ termcap).
+
+
+</PRE><H3><a name="h3-User-Defined-Capabilities">User-Defined Capabilities</a></H3><PRE>
+ The preceding section listed the <EM>predefined</EM> capabilities. They deal
+ with some special features for terminals no longer (or possibly never)
+ produced. Occasionally there are special features of newer terminals
+ which are awkward or impossible to represent by reusing the predefined
+ capabilities.
+
+ <STRONG>ncurses</STRONG> addresses this limitation by allowing user-defined capabili-
+ ties. The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG> option for this pur-
+ pose. When <STRONG>-x</STRONG> is set, <STRONG>tic</STRONG> treats unknown capabilities as user-defined.
+ That is, if <STRONG>tic</STRONG> encounters a capability name which it does not recog-
+ nize, it infers its type (boolean, number or string) from the syntax
+ and makes an extended table entry for that capability. The
+ <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function makes this information conditionally
+ available to applications. The ncurses library provides the data leav-
+ ing most of the behavior to applications:
+
+ <STRONG>o</STRONG> User-defined capability strings whose name begins with "k" are
+ treated as function keys.
+
+ <STRONG>o</STRONG> The types (boolean, number, string) determined by <STRONG>tic</STRONG> can be
+ inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
+
+ <STRONG>o</STRONG> If the capability name happens to be two characters, the capability
+ is also available through the termcap interface.
+
+ While termcap is said to be extensible because it does not use a prede-
+ fined set of capabilities, in practice it has been limited to the capa-
+ bilities defined by terminfo implementations. As a rule, user-defined
+ capabilities intended for use by termcap applications should be limited
+ to booleans and numbers to avoid running past the 1023 byte limit
+ assumed by termcap implementations and their applications. In particu-
+ lar, providing extended sets of function keys (past the 60 numbered
+ keys and the handful of special named keys) is best done using the
+ longer names available using terminfo.
+
+
+</PRE><H3><a name="h3-A-Sample-Entry">A Sample Entry</a></H3><PRE>
+ The following entry, describing an ANSI-standard terminal, is represen-
+ tative of what a <STRONG>terminfo</STRONG> entry for a modern terminal typically looks
+ like.
ansi|ansi/pc-term compatible with color,
am, mc5i, mir, msgr,
@@ -1100,44 +1194,59 @@
smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%i%p1%dd,
- Entries may continue onto multiple lines by placing white
- space at the beginning of each line except the first.
- Comments may be included on lines beginning with "#".
- Capabilities in <EM>terminfo</EM> are of three types:
-
- <STRONG>o</STRONG> Boolean capabilities which indicate that the terminal
- has some particular feature,
-
- <STRONG>o</STRONG> numeric capabilities giving the size of the terminal
- or the size of particular delays, and
-
- <STRONG>o</STRONG> string capabilities, which give a sequence which can
- be used to perform particular terminal operations.
-
- <STRONG>Types</STRONG> <STRONG>of</STRONG> <STRONG>Capabilities</STRONG>
- All capabilities have names. For instance, the fact that
- ANSI-standard terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an
- automatic return and line-feed when the end of a line is
- reached) is indicated by the capability <STRONG>am</STRONG>. Hence the
- description of ansi includes <STRONG>am</STRONG>. Numeric capabilities are
- followed by the character "#" and then a positive value.
- Thus <STRONG>cols</STRONG>, which indicates the number of columns the ter-
- minal has, gives the value "80" for ansi. Values for
- numeric capabilities may be specified in decimal, octal or
- hexadecimal, using the C programming language conventions
- (e.g., 255, 0377 and 0xff or 0xFF).
-
- Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to
- end of line sequence) are given by the two-character code,
- an "=", and then a string ending at the next following
- ",".
-
- A number of escape sequences are provided in the string
- valued capabilities for easy encoding of characters there.
- Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character, <STRONG>^x</STRONG> maps to a
- control-x for any appropriate x, and the sequences <STRONG>\n</STRONG> <STRONG>\l</STRONG>
- <STRONG>\r</STRONG> <STRONG>\t</STRONG> <STRONG>\b</STRONG> <STRONG>\f</STRONG> <STRONG>\s</STRONG> give a newline, line-feed, return, tab,
- backspace, form-feed, and space. Other escapes include
+ Entries may continue onto multiple lines by placing white space at the
+ beginning of each line except the first. Comments may be included on
+ lines beginning with "#". Capabilities in <EM>terminfo</EM> are of three types:
+
+ <STRONG>o</STRONG> Boolean capabilities which indicate that the terminal has some par-
+ ticular feature,
+
+ <STRONG>o</STRONG> numeric capabilities giving the size of the terminal or the size of
+ particular delays, and
+
+ <STRONG>o</STRONG> string capabilities, which give a sequence which can be used to
+ perform particular terminal operations.
+
+
+</PRE><H3><a name="h3-Types-of-Capabilities">Types of Capabilities</a></H3><PRE>
+ All capabilities have names. For instance, the fact that ANSI-standard
+ terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an automatic return and line-
+ feed when the end of a line is reached) is indicated by the capability
+ <STRONG>am</STRONG>. Hence the description of ansi includes <STRONG>am</STRONG>. Numeric capabilities
+ are followed by the character "#" and then a positive value. Thus
+ <STRONG>cols</STRONG>, which indicates the number of columns the terminal has, gives the
+ value "80" for ansi. Values for numeric capabilities may be specified
+ in decimal, octal or hexadecimal, using the C programming language con-
+ ventions (e.g., 255, 0377 and 0xff or 0xFF).
+
+ Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to end of line
+ sequence) are given by the two-character code, an "=", and then a
+ string ending at the next following ",".
+
+ A number of escape sequences are provided in the string valued capabil-
+ ities for easy encoding of characters there:
+
+ <STRONG>o</STRONG> Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character,
+
+ <STRONG>o</STRONG> <STRONG>^x</STRONG> maps to a control-x for any appropriate <EM>x</EM>, and
+
+ <STRONG>o</STRONG> the sequences
+
+ <STRONG>\n</STRONG>, <STRONG>\l</STRONG>, <STRONG>\r</STRONG>, <STRONG>\t</STRONG>, <STRONG>\b</STRONG>, <STRONG>\f</STRONG>, and <STRONG>\s</STRONG>
+
+ produce
+
+ <EM>newline</EM>, <EM>line-feed</EM>, <EM>return</EM>, <EM>tab</EM>, <EM>backspace</EM>, <EM>form-feed</EM>, and <EM>space</EM>,
+
+ respectively.
+
+ X/Open Curses does not say what "appropriate <EM>x</EM>" might be. In practice,
+ that is a printable ASCII graphic character. The special case "^?" is
+ interpreted as DEL (127). In all other cases, the character value is
+ AND'd with 0x1f, mapping to ASCII control codes in the range 0 through
+ 31.
+
+ Other escapes include
<STRONG>o</STRONG> <STRONG>\^</STRONG> for <STRONG>^</STRONG>,
@@ -1149,164 +1258,147 @@
<STRONG>o</STRONG> and <STRONG>\0</STRONG> for null.
- <STRONG>\0</STRONG> will produce \200, which does not terminate a
- string but behaves as a null character on most termi-
- nals, providing CS7 is specified. See <STRONG>stty(1)</STRONG>.
-
- The reason for this quirk is to maintain binary com-
- patibility of the compiled terminfo files with other
- implementations, e.g., the SVr4 systems, which docu-
- ment this. Compiled terminfo files use null-termi-
- nated strings, with no lengths. Modifying this would
- require a new binary format, which would not work with
- other implementations.
-
- Finally, characters may be given as three octal digits
- after a <STRONG>\</STRONG>.
-
- A delay in milliseconds may appear anywhere in a string
- capability, enclosed in $&lt;..&gt; brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;,
- and padding characters are supplied by <EM>tputs</EM> to provide
- this delay. The delay must be a number with at most one
- decimal place of precision; it may be followed by suffixes
- "*" or "/" or both. A "*" indicates that the padding
- required is proportional to the number of lines affected
- by the operation, and the amount given is the per-
- affected-unit padding required. (In the case of insert
- character, the factor is still the number of <EM>lines</EM>
- affected.) Normally, padding is advisory if the device
- has the <STRONG>xon</STRONG> capability; it is used for cost computation
- but does not trigger delays. A "/" suffix indicates that
- the padding is mandatory and forces a delay of the given
- number of milliseconds even on devices for which <STRONG>xon</STRONG> is
- present to indicate flow control.
-
- Sometimes individual capabilities must be commented out.
- To do this, put a period before the capability name. For
- example, see the second <STRONG>ind</STRONG> in the example above.
-
- <STRONG>Fetching</STRONG> <STRONG>Compiled</STRONG> <STRONG>Descriptions</STRONG>
- The <STRONG>ncurses</STRONG> library searches for terminal descriptions in
- several places. It uses only the first description found.
- The library has a compiled-in list of places to search
- which can be overridden by environment variables. Before
- starting to search, <STRONG>ncurses</STRONG> eliminates duplicates in its
- search list.
-
- <STRONG>o</STRONG> If the environment variable TERMINFO is set, it is
- interpreted as the pathname of a directory containing
- the compiled description you are working on. Only
- that directory is searched.
-
- <STRONG>o</STRONG> If TERMINFO is not set, <STRONG>ncurses</STRONG> will instead look in
- the directory <STRONG>$HOME/.terminfo</STRONG> for a compiled descrip-
- tion.
-
- <STRONG>o</STRONG> Next, if the environment variable TERMINFO_DIRS is
- set, <STRONG>ncurses</STRONG> will interpret the contents of that vari-
- able as a list of colon-separated directories (or
- database files) to be searched.
-
- An empty directory name (i.e., if the variable begins
- or ends with a colon, or contains adacent colons) is
- interpreted as the system location <EM>/usr/share/ter-</EM>
- <EM>minfo</EM>.
+ <STRONG>\0</STRONG> will produce \200, which does not terminate a string but behaves
+ as a null character on most terminals, providing CS7 is specified.
+ See <STRONG>stty(1)</STRONG>.
+
+ The reason for this quirk is to maintain binary compatibility of
+ the compiled terminfo files with other implementations, e.g., the
+ SVr4 systems, which document this. Compiled terminfo files use
+ null-terminated strings, with no lengths. Modifying this would
+ require a new binary format, which would not work with other imple-
+ mentations.
+
+ Finally, characters may be given as three octal digits after a <STRONG>\</STRONG>.
+
+ A delay in milliseconds may appear anywhere in a string capability,
+ enclosed in $&lt;..&gt; brackets, as in <STRONG>el</STRONG>=\EK$&lt;5&gt;, and padding characters
+ are supplied by <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> to provide this delay.
+
+ <STRONG>o</STRONG> The delay must be a number with at most one decimal place of preci-
+ sion; it may be followed by suffixes "*" or "/" or both.
+
+ <STRONG>o</STRONG> A "*" indicates that the padding required is proportional to the
+ number of lines affected by the operation, and the amount given is
+ the per-affected-unit padding required. (In the case of insert
+ character, the factor is still the number of <EM>lines</EM> affected.)
+
+ Normally, padding is advisory if the device has the <STRONG>xon</STRONG> capability;
+ it is used for cost computation but does not trigger delays.
+
+ <STRONG>o</STRONG> A "/" suffix indicates that the padding is mandatory and forces a
+ delay of the given number of milliseconds even on devices for which
+ <STRONG>xon</STRONG> is present to indicate flow control.
+
+ Sometimes individual capabilities must be commented out. To do this,
+ put a period before the capability name. For example, see the second
+ <STRONG>ind</STRONG> in the example above.
+
+
+</PRE><H3><a name="h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></H3><PRE>
+ The <STRONG>ncurses</STRONG> library searches for terminal descriptions in several
+ places. It uses only the first description found. The library has a
+ compiled-in list of places to search which can be overridden by envi-
+ ronment variables. Before starting to search, <STRONG>ncurses</STRONG> eliminates
+ duplicates in its search list.
+
+ <STRONG>o</STRONG> If the environment variable TERMINFO is set, it is interpreted as
+ the pathname of a directory containing the compiled description you
+ are working on. Only that directory is searched.
+
+ <STRONG>o</STRONG> If TERMINFO is not set, <STRONG>ncurses</STRONG> will instead look in the directory
+ <STRONG>$HOME/.terminfo</STRONG> for a compiled description.
+
+ <STRONG>o</STRONG> Next, if the environment variable TERMINFO_DIRS is set, <STRONG>ncurses</STRONG>
+ will interpret the contents of that variable as a list of colon-
+ separated directories (or database files) to be searched.
+
+ An empty directory name (i.e., if the variable begins or ends with
+ a colon, or contains adjacent colons) is interpreted as the system
+ location <EM>/usr/share/terminfo</EM>.
<STRONG>o</STRONG> Finally, <STRONG>ncurses</STRONG> searches these compiled-in locations:
- <STRONG>o</STRONG> a list of directories
- (/usr/local/ncurses/share/terminfo:/usr/share/ter-
- minfo), and
-
- <STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM>
- (the compiled-in default).
-
- <STRONG>Preparing</STRONG> <STRONG>Descriptions</STRONG>
- We now outline how to prepare descriptions of terminals.
- The most effective way to prepare a terminal description
- is by imitating the description of a similar terminal in
- <EM>terminfo</EM> and to build up a description gradually, using
- partial descriptions with <EM>vi</EM> or some other screen-oriented
- program to check that they are correct. Be aware that a
- very unusual terminal may expose deficiencies in the abil-
- ity of the <EM>terminfo</EM> file to describe it or bugs in the
- screen-handling code of the test program.
-
- To get the padding for insert line right (if the terminal
- manufacturer did not document it) a severe test is to edit
- a large file at 9600 baud, delete 16 or so lines from the
- middle of the screen, then hit the "u" key several times
- quickly. If the terminal messes up, more padding is usu-
- ally needed. A similar test can be used for insert char-
- acter.
-
- <STRONG>Basic</STRONG> <STRONG>Capabilities</STRONG>
- The number of columns on each line for the terminal is
- given by the <STRONG>cols</STRONG> numeric capability. If the terminal is
- a CRT, then the number of lines on the screen is given by
- the <STRONG>lines</STRONG> capability. If the terminal wraps around to the
- beginning of the next line when it reaches the right mar-
- gin, then it should have the <STRONG>am</STRONG> capability. If the termi-
- nal can clear its screen, leaving the cursor in the home
- position, then this is given by the <STRONG>clear</STRONG> string capabil-
- ity. If the terminal overstrikes (rather than clearing a
- position when a character is struck over) then it should
- have the <STRONG>os</STRONG> capability. If the terminal is a printing
- terminal, with no soft copy unit, give it both <STRONG>hc</STRONG> and <STRONG>os</STRONG>.
- (<STRONG>os</STRONG> applies to storage scope terminals, such as TEKTRONIX
- 4010 series, as well as hard copy and APL terminals.) If
- there is a code to move the cursor to the left edge of the
- current row, give this as <STRONG>cr</STRONG>. (Normally this will be car-
- riage return, control M.) If there is a code to produce
- an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
-
- If there is a code to move the cursor one position to the
- left (such as backspace) that capability should be given
- as <STRONG>cub1</STRONG>. Similarly, codes to move to the right, up, and
- down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and <STRONG>cud1</STRONG>. These local
- cursor motions should not alter the text they pass over,
- for example, you would not normally use "<STRONG>cuf1</STRONG>= " because
- the space would erase the character moved over.
-
- A very important point here is that the local cursor
- motions encoded in <EM>terminfo</EM> are undefined at the left and
- top edges of a CRT terminal. Programs should never
- attempt to backspace around the left edge, unless <STRONG>bw</STRONG> is
- given, and never attempt to go up locally off the top. In
- order to scroll text up, a program will go to the bottom
- left corner of the screen and send the <STRONG>ind</STRONG> (index) string.
-
- To scroll text down, a program goes to the top left corner
- of the screen and sends the <STRONG>ri</STRONG> (reverse index) string.
- The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG> are undefined when not on their
- respective corners of the screen.
-
- Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG>
- and <STRONG>rin</STRONG> which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except
- that they take one parameter, and scroll that many lines.
- They are also undefined except at the appropriate edge of
- the screen.
-
- The <STRONG>am</STRONG> capability tells whether the cursor sticks at the
- right edge of the screen when text is output, but this
- does not necessarily apply to a <STRONG>cuf1</STRONG> from the last column.
- The only local motion which is defined from the left edge
- is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge will
- move to the right edge of the previous row. If <STRONG>bw</STRONG> is not
- given, the effect is undefined. This is useful for draw-
- ing a box around the edge of the screen, for example. If
- the terminal has switch selectable automatic margins, the
- <EM>terminfo</EM> file usually assumes that this is on; i.e., <STRONG>am</STRONG>.
- If the terminal has a command which moves to the first
- column of the next line, that command can be given as <STRONG>nel</STRONG>
- (newline). It does not matter if the command clears the
- remainder of the current line, so if the terminal has no
- <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to craft a working <STRONG>nel</STRONG>
- out of one or both of them.
-
- These capabilities suffice to describe hard-copy and
- "glass-tty" terminals. Thus the model 33 teletype is
- described as
+ <STRONG>o</STRONG> a list of directories (/usr/local/ncurses/share/ter-
+ minfo:/usr/share/terminfo), and
+
+ <STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM> (the com-
+ piled-in default).
+
+
+</PRE><H3><a name="h3-Preparing-Descriptions">Preparing Descriptions</a></H3><PRE>
+ We now outline how to prepare descriptions of terminals. The most
+ effective way to prepare a terminal description is by imitating the
+ description of a similar terminal in <EM>terminfo</EM> and to build up a
+ description gradually, using partial descriptions with <EM>vi</EM> or some other
+ screen-oriented program to check that they are correct. Be aware that
+ a very unusual terminal may expose deficiencies in the ability of the
+ <EM>terminfo</EM> file to describe it or bugs in the screen-handling code of the
+ test program.
+
+ To get the padding for insert line right (if the terminal manufacturer
+ did not document it) a severe test is to edit a large file at 9600
+ baud, delete 16 or so lines from the middle of the screen, then hit the
+ "u" key several times quickly. If the terminal messes up, more padding
+ is usually needed. A similar test can be used for insert character.
+
+
+</PRE><H3><a name="h3-Basic-Capabilities">Basic Capabilities</a></H3><PRE>
+ The number of columns on each line for the terminal is given by the
+ <STRONG>cols</STRONG> numeric capability. If the terminal is a CRT, then the number of
+ lines on the screen is given by the <STRONG>lines</STRONG> capability. If the terminal
+ wraps around to the beginning of the next line when it reaches the
+ right margin, then it should have the <STRONG>am</STRONG> capability. If the terminal
+ can clear its screen, leaving the cursor in the home position, then
+ this is given by the <STRONG>clear</STRONG> string capability. If the terminal over-
+ strikes (rather than clearing a position when a character is struck
+ over) then it should have the <STRONG>os</STRONG> capability. If the terminal is a
+ printing terminal, with no soft copy unit, give it both <STRONG>hc</STRONG> and <STRONG>os</STRONG>. (<STRONG>os</STRONG>
+ applies to storage scope terminals, such as TEKTRONIX 4010 series, as
+ well as hard copy and APL terminals.) If there is a code to move the
+ cursor to the left edge of the current row, give this as <STRONG>cr</STRONG>. (Normally
+ this will be carriage return, control/M.) If there is a code to pro-
+ duce an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
+
+ If there is a code to move the cursor one position to the left (such as
+ backspace) that capability should be given as <STRONG>cub1</STRONG>. Similarly, codes
+ to move to the right, up, and down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and
+ <STRONG>cud1</STRONG>. These local cursor motions should not alter the text they pass
+ over, for example, you would not normally use "<STRONG>cuf1</STRONG>= " because the
+ space would erase the character moved over.
+
+ A very important point here is that the local cursor motions encoded in
+ <EM>terminfo</EM> are undefined at the left and top edges of a CRT terminal.
+ Programs should never attempt to backspace around the left edge, unless
+ <STRONG>bw</STRONG> is given, and never attempt to go up locally off the top. In order
+ to scroll text up, a program will go to the bottom left corner of the
+ screen and send the <STRONG>ind</STRONG> (index) string.
+
+ To scroll text down, a program goes to the top left corner of the
+ screen and sends the <STRONG>ri</STRONG> (reverse index) string. The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG>
+ are undefined when not on their respective corners of the screen.
+
+ Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG> and <STRONG>rin</STRONG>
+ which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they take one
+ parameter, and scroll that many lines. They are also undefined except
+ at the appropriate edge of the screen.
+
+ The <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge of
+ the screen when text is output, but this does not necessarily apply to
+ a <STRONG>cuf1</STRONG> from the last column. The only local motion which is defined
+ from the left edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge
+ will move to the right edge of the previous row. If <STRONG>bw</STRONG> is not given,
+ the effect is undefined. This is useful for drawing a box around the
+ edge of the screen, for example. If the terminal has switch selectable
+ automatic margins, the <EM>terminfo</EM> file usually assumes that this is on;
+ i.e., <STRONG>am</STRONG>. If the terminal has a command which moves to the first col-
+ umn of the next line, that command can be given as <STRONG>nel</STRONG> (newline). It
+ does not matter if the command clears the remainder of the current
+ line, so if the terminal has no <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to
+ craft a working <STRONG>nel</STRONG> out of one or both of them.
+
+ These capabilities suffice to describe hard-copy and "glass-tty" termi-
+ nals. Thus the model 33 teletype is described as
33|tty33|tty|model 33 teletype,
bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,
@@ -1317,43 +1409,42 @@
am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J,
ind=^J, lines#24,
- <STRONG>Parameterized</STRONG> <STRONG>Strings</STRONG>
- Cursor addressing and other strings requiring parameters
- in the terminal are described by a parameterized string
- capability, with <EM>printf</EM>-like escapes such as <EM>%x</EM> in it.
- For example, to address the cursor, the <STRONG>cup</STRONG> capability is
- given, using two parameters: the row and column to address
- to. (Rows and columns are numbered from zero and refer to
- the physical screen visible to the user, not to any unseen
- memory.) If the terminal has memory relative cursor
- addressing, that can be indicated by <STRONG>mrcup</STRONG>.
-
- The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes
- to manipulate it. Typically a sequence will push one of
- the parameters onto the stack and then print it in some
- format. Print (e.g., "%d") is a special case. Other
- operations, including "%t" pop their operand from the
- stack. It is noted that more complex operations are often
- necessary, e.g., in the <STRONG>sgr</STRONG> string.
+
+</PRE><H3><a name="h3-Parameterized-Strings">Parameterized Strings</a></H3><PRE>
+ Cursor addressing and other strings requiring parameters in the termi-
+ nal are described by a parameterized string capability, with <EM>printf</EM>-
+ like escapes such as <EM>%x</EM> in it. For example, to address the cursor, the
+ <STRONG>cup</STRONG> capability is given, using two parameters: the row and column to
+ address to. (Rows and columns are numbered from zero and refer to the
+ physical screen visible to the user, not to any unseen memory.) If the
+ terminal has memory relative cursor addressing, that can be indicated
+ by <STRONG>mrcup</STRONG>.
+
+ The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes to manipulate
+ it. Typically a sequence will push one of the parameters onto the
+ stack and then print it in some format. Print (e.g., "%d") is a spe-
+ cial case. Other operations, including "%t" pop their operand from the
+ stack. It is noted that more complex operations are often necessary,
+ e.g., in the <STRONG>sgr</STRONG> string.
The <STRONG>%</STRONG> encodings have the following meanings:
<STRONG>%%</STRONG> outputs "%"
<STRONG>%</STRONG><EM>[[</EM>:<EM>]flags][width[.precision]][</EM><STRONG>doxXs</STRONG><EM>]</EM>
- as in <STRONG>printf</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":"
- to allow the next character to be a "-" flag, avoid-
- ing interpreting "%-" as an operator.
+ as in <STRONG>printf(3)</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":" to allow
+ the next character to be a "-" flag, avoiding interpreting "%-" as
+ an operator.
- %c print pop() like %c in <STRONG>printf</STRONG>
+ %c print <EM>pop()</EM> like %c in <STRONG>printf</STRONG>
- <STRONG>%s</STRONG> print pop() like %s in <STRONG>printf</STRONG>
+ <STRONG>%s</STRONG> print <EM>pop()</EM> like %s in <STRONG>printf</STRONG>
<STRONG>%p</STRONG><EM>[1-9]</EM>
push <EM>i</EM>'th parameter
<STRONG>%P</STRONG><EM>[a-z]</EM>
- set dynamic variable <EM>[a-z]</EM> to pop()
+ set dynamic variable <EM>[a-z]</EM> to <EM>pop()</EM>
<STRONG>%g</STRONG><EM>[a-z]/</EM>
get dynamic variable <EM>[a-z]</EM> and push it
@@ -1364,11 +1455,10 @@
<STRONG>%g</STRONG><EM>[A-Z]</EM>
get static variable <EM>[a-z]</EM> and push it
- The terms "static" and "dynamic" are misleading.
- Historically, these are simply two different sets of
- variables, whose values are not reset between calls
- to <STRONG>tparm</STRONG>. However, that fact is not documented in
- other implementations. Relying on it will adversely
+ The terms "static" and "dynamic" are misleading. Historically,
+ these are simply two different sets of variables, whose values are
+ not reset between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>. However, that fact is not
+ documented in other implementations. Relying on it will adversely
impact portability to other implementations.
<STRONG>%'</STRONG><EM>c</EM><STRONG>'</STRONG> char constant <EM>c</EM>
@@ -1379,11 +1469,10 @@
<STRONG>%l</STRONG> push strlen(pop)
<STRONG>%+</STRONG>, <STRONG>%-</STRONG>, <STRONG>%*</STRONG>, <STRONG>%/</STRONG>, <STRONG>%m</STRONG>
- arithmetic (%m is mod): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
+ arithmetic (%m is <EM>mod</EM>): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
<STRONG>%&amp;</STRONG>, <STRONG>%|</STRONG>, <STRONG>%^</STRONG>
- bit operations (AND, OR and exclusive-OR): <EM>push(pop()</EM>
- <EM>op</EM> <EM>pop())</EM>
+ bit operations (AND, OR and exclusive-OR): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
<STRONG>%=</STRONG>, <STRONG>%&gt;</STRONG>, <STRONG>%&lt;</STRONG>
logical operations: <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
@@ -1392,407 +1481,360 @@
logical AND and OR operations (for conditionals)
<STRONG>%!</STRONG>, <STRONG>%~</STRONG>
- unary operations (logical and bit complement):
- push(op pop())
+ unary operations (logical and bit complement): <EM>push(op</EM> <EM>pop())</EM>
<STRONG>%i</STRONG> add 1 to first two parameters (for ANSI terminals)
<STRONG>%?</STRONG> <EM>expr</EM> <STRONG>%t</STRONG> <EM>thenpart</EM> <STRONG>%e</STRONG> <EM>elsepart</EM> <STRONG>%;</STRONG>
- This forms an if-then-else. The <STRONG>%e</STRONG> <EM>elsepart</EM> is
- optional. Usually the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value
- onto the stack, and <STRONG>%t</STRONG> pops it from the stack, test-
- ing if it is nonzero (true). If it is zero (false),
- control passes to the <STRONG>%e</STRONG> (else) part.
+ This forms an if-then-else. The <STRONG>%e</STRONG> <EM>elsepart</EM> is optional. Usually
+ the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value onto the stack, and <STRONG>%t</STRONG> pops it
+ from the stack, testing if it is nonzero (true). If it is zero
+ (false), control passes to the <STRONG>%e</STRONG> (else) part.
It is possible to form else-if's a la Algol 68:
<STRONG>%?</STRONG> c1 <STRONG>%t</STRONG> b1 <STRONG>%e</STRONG> c2 <STRONG>%t</STRONG> b2 <STRONG>%e</STRONG> c3 <STRONG>%t</STRONG> b3 <STRONG>%e</STRONG> c4 <STRONG>%t</STRONG> b4 <STRONG>%e</STRONG> <STRONG>%;</STRONG>
where ci are conditions, bi are bodies.
- Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the struc-
- ture of if-then-else's. Some strings, e.g., <STRONG>sgr</STRONG> can
- be very complicated when written on one line. The <STRONG>-f</STRONG>
- option splits the string into lines with the parts
- indented.
-
- Binary operations are in postfix form with the operands in
- the usual order. That is, to get x-5 one would use
- "%gx%{5}%-". <STRONG>%P</STRONG> and <STRONG>%g</STRONG> variables are persistent across
- escape-string evaluations.
-
- Consider the HP2645, which, to get to row 3 and column 12,
- needs to be sent \E&amp;a12c03Y padded for 6 milliseconds.
- Note that the order of the rows and columns is inverted
- here, and that the row and column are printed as two dig-
- its. Thus its <STRONG>cup</STRONG> capability is "cup=6\E&amp;%p2%2dc%p1%2dY".
-
- The Microterm ACT-IV needs the current row and column sent
- preceded by a <STRONG>^T</STRONG>, with the row and column simply encoded
- in binary, "cup=^T%p1%c%p2%c". Terminals which use "%c"
- need to be able to backspace the cursor (<STRONG>cub1</STRONG>), and to
- move the cursor up one line on the screen (<STRONG>cuu1</STRONG>). This is
- necessary because it is not always safe to transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG>
- and <STRONG>\r</STRONG>, as the system may change or discard them. (The
- library routines dealing with terminfo set tty modes so
- that tabs are never expanded, so \t is safe to send. This
- turns out to be essential for the Ann Arbor 4080.)
-
- A final example is the LSI ADM-3a, which uses row and col-
- umn offset by a blank character, thus "cup=\E=%p1%'
- '%+%c%p2%' '%+%c". After sending "\E=", this pushes the
- first parameter, pushes the ASCII value for a space (32),
- adds them (pushing the sum on the stack in place of the
- two previous values) and outputs that value as a charac-
- ter. Then the same is done for the second parameter.
- More complex arithmetic is possible using the stack.
-
- <STRONG>Cursor</STRONG> <STRONG>Motions</STRONG>
- If the terminal has a fast way to home the cursor (to very
- upper left corner of screen) then this can be given as
- <STRONG>home</STRONG>; similarly a fast way of getting to the lower left-
- hand corner can be given as <STRONG>ll</STRONG>; this may involve going up
- with <STRONG>cuu1</STRONG> from the home position, but a program should
- never do this itself (unless <STRONG>ll</STRONG> does) because it can make
- no assumption about the effect of moving up from the home
- position. Note that the home position is the same as
- addressing to (0,0): to the top left corner of the screen,
- not of memory. (Thus, the \EH sequence on HP terminals
- cannot be used for <STRONG>home</STRONG>.)
-
- If the terminal has row or column absolute cursor address-
- ing, these can be given as single parameter capabilities
- <STRONG>hpa</STRONG> (horizontal position absolute) and <STRONG>vpa</STRONG> (vertical posi-
- tion absolute). Sometimes these are shorter than the more
- general two parameter sequence (as with the hp2645) and
- can be used in preference to <STRONG>cup</STRONG>. If there are parameter-
- ized local motions (e.g., move <EM>n</EM> spaces to the right)
- these can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single
- parameter indicating how many spaces to move. These are
- primarily useful if the terminal does not have <STRONG>cup</STRONG>, such
- as the TEKTRONIX 4025.
-
- If the terminal needs to be in a special mode when running
- a program that uses these capabilities, the codes to enter
- and exit this mode can be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This
- arises, for example, from terminals like the Concept with
- more than one page of memory. If the terminal has only
- memory relative cursor addressing and not screen relative
- cursor addressing, a one screen-sized window must be fixed
- into the terminal for cursor addressing to work properly.
- This is also used for the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets
- the command character to be the one used by terminfo. If
- the <STRONG>smcup</STRONG> sequence will not restore the screen after an
- <STRONG>rmcup</STRONG> sequence is output (to the state prior to outputting
+ Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the structure of if-
+ then-else's. Some strings, e.g., <STRONG>sgr</STRONG> can be very complicated when
+ written on one line. The <STRONG>-f</STRONG> option splits the string into lines
+ with the parts indented.
+
+ Binary operations are in postfix form with the operands in the usual
+ order. That is, to get x-5 one would use "%gx%{5}%-". <STRONG>%P</STRONG> and <STRONG>%g</STRONG> vari-
+ ables are persistent across escape-string evaluations.
+
+ Consider the HP2645, which, to get to row 3 and column 12, needs to be
+ sent \E&amp;a12c03Y padded for 6 milliseconds. Note that the order of the
+ rows and columns is inverted here, and that the row and column are
+ printed as two digits. Thus its <STRONG>cup</STRONG> capability is
+ "cup=6\E&amp;%p2%2dc%p1%2dY".
+
+ The Microterm ACT-IV needs the current row and column sent preceded by
+ a <STRONG>^T</STRONG>, with the row and column simply encoded in binary,
+ "cup=^T%p1%c%p2%c". Terminals which use "%c" need to be able to
+ backspace the cursor (<STRONG>cub1</STRONG>), and to move the cursor up one line on the
+ screen (<STRONG>cuu1</STRONG>). This is necessary because it is not always safe to
+ transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG> and <STRONG>\r</STRONG>, as the system may change or discard them. (The
+ library routines dealing with terminfo set tty modes so that tabs are
+ never expanded, so \t is safe to send. This turns out to be essential
+ for the Ann Arbor 4080.)
+
+ A final example is the LSI ADM-3a, which uses row and column offset by
+ a blank character, thus "cup=\E=%p1%' '%+%c%p2%' '%+%c". After sending
+ "\E=", this pushes the first parameter, pushes the ASCII value for a
+ space (32), adds them (pushing the sum on the stack in place of the two
+ previous values) and outputs that value as a character. Then the same
+ is done for the second parameter. More complex arithmetic is possible
+ using the stack.
+
+
+</PRE><H3><a name="h3-Cursor-Motions">Cursor Motions</a></H3><PRE>
+ If the terminal has a fast way to home the cursor (to very upper left
+ corner of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast way
+ of getting to the lower left-hand corner can be given as <STRONG>ll</STRONG>; this may
+ involve going up with <STRONG>cuu1</STRONG> from the home position, but a program should
+ never do this itself (unless <STRONG>ll</STRONG> does) because it can make no assumption
+ about the effect of moving up from the home position. Note that the
+ home position is the same as addressing to (0,0): to the top left cor-
+ ner of the screen, not of memory. (Thus, the \EH sequence on HP termi-
+ nals cannot be used for <STRONG>home</STRONG>.)
+
+ If the terminal has row or column absolute cursor addressing, these can
+ be given as single parameter capabilities <STRONG>hpa</STRONG> (horizontal position
+ absolute) and <STRONG>vpa</STRONG> (vertical position absolute). Sometimes these are
+ shorter than the more general two parameter sequence (as with the
+ hp2645) and can be used in preference to <STRONG>cup</STRONG>. If there are parameter-
+ ized local motions (e.g., move <EM>n</EM> spaces to the right) these can be
+ given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single parameter indicating how
+ many spaces to move. These are primarily useful if the terminal does
+ not have <STRONG>cup</STRONG>, such as the TEKTRONIX 4025.
+
+ If the terminal needs to be in a special mode when running a program
+ that uses these capabilities, the codes to enter and exit this mode can
+ be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This arises, for example, from terminals
+ like the Concept with more than one page of memory. If the terminal
+ has only memory relative cursor addressing and not screen relative cur-
+ sor addressing, a one screen-sized window must be fixed into the termi-
+ nal for cursor addressing to work properly. This is also used for the
+ TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets the command character to be the one
+ used by terminfo. If the <STRONG>smcup</STRONG> sequence will not restore the screen
+ after an <STRONG>rmcup</STRONG> sequence is output (to the state prior to outputting
<STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>.
- <STRONG>Area</STRONG> <STRONG>Clears</STRONG>
- If the terminal can clear from the current position to the
- end of the line, leaving the cursor where it is, this
- should be given as <STRONG>el</STRONG>. If the terminal can clear from the
- beginning of the line to the current position inclusive,
- leaving the cursor where it is, this should be given as
- <STRONG>el1</STRONG>. If the terminal can clear from the current position
- to the end of the display, then this should be given as
- <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only defined from the first column of a line.
- (Thus, it can be simulated by a request to delete a large
- number of lines, if a true <STRONG>ed</STRONG> is not available.)
-
- <STRONG>Insert/delete</STRONG> <STRONG>line</STRONG> <STRONG>and</STRONG> <STRONG>vertical</STRONG> <STRONG>motions</STRONG>
- If the terminal can open a new blank line before the line
- where the cursor is, this should be given as <STRONG>il1</STRONG>; this is
- done only from the first position of a line. The cursor
- must then appear on the newly blank line. If the terminal
- can delete the line which the cursor is on, then this
- should be given as <STRONG>dl1</STRONG>; this is done only from the first
- position on the line to be deleted. Versions of <STRONG>il1</STRONG> and
- <STRONG>dl1</STRONG> which take a single parameter and insert or delete
- that many lines can be given as <STRONG>il</STRONG> and <STRONG>dl</STRONG>.
-
- If the terminal has a settable scrolling region (like the
- vt100) the command to set this can be described with the
- <STRONG>csr</STRONG> capability, which takes two parameters: the top and
- bottom lines of the scrolling region. The cursor position
- is, alas, undefined after using this command.
-
- It is possible to get the effect of insert or delete line
- using <STRONG>csr</STRONG> on a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save
- and restore cursor) commands may be useful for ensuring
- that your synthesized insert/delete string does not move
- the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library does this
- synthesis automatically, so you need not compose
+
+</PRE><H3><a name="h3-Area-Clears">Area Clears</a></H3><PRE>
+ If the terminal can clear from the current position to the end of the
+ line, leaving the cursor where it is, this should be given as <STRONG>el</STRONG>. If
+ the terminal can clear from the beginning of the line to the current
+ position inclusive, leaving the cursor where it is, this should be
+ given as <STRONG>el1</STRONG>. If the terminal can clear from the current position to
+ the end of the display, then this should be given as <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only
+ defined from the first column of a line. (Thus, it can be simulated by
+ a request to delete a large number of lines, if a true <STRONG>ed</STRONG> is not avail-
+ able.)
+
+
+</PRE><H3><a name="h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></H3><PRE>
+ If the terminal can open a new blank line before the line where the
+ cursor is, this should be given as <STRONG>il1</STRONG>; this is done only from the
+ first position of a line. The cursor must then appear on the newly
+ blank line. If the terminal can delete the line which the cursor is
+ on, then this should be given as <STRONG>dl1</STRONG>; this is done only from the first
+ position on the line to be deleted. Versions of <STRONG>il1</STRONG> and <STRONG>dl1</STRONG> which take
+ a single parameter and insert or delete that many lines can be given as
+ <STRONG>il</STRONG> and <STRONG>dl</STRONG>.
+
+ If the terminal has a settable scrolling region (like the vt100) the
+ command to set this can be described with the <STRONG>csr</STRONG> capability, which
+ takes two parameters: the top and bottom lines of the scrolling region.
+ The cursor position is, alas, undefined after using this command.
+
+ It is possible to get the effect of insert or delete line using <STRONG>csr</STRONG> on
+ a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save and restore cursor) com-
+ mands may be useful for ensuring that your synthesized insert/delete
+ string does not move the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library
+ does this synthesis automatically, so you need not compose
insert/delete strings for an entry with <STRONG>csr</STRONG>).
- Yet another way to construct insert and delete might be to
- use a combination of index with the memory-lock feature
- found on some terminals (like the HP-700/90 series, which
- however also has insert/delete).
-
- Inserting lines at the top or bottom of the screen can
- also be done using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a
- true insert/delete line, and is often faster even on ter-
- minals with those features.
-
- The boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each
- scrolling window is effectively a view port on a screen-
- sized canvas. To test for this capability, create a
- scrolling region in the middle of the screen, write some-
- thing to the bottom line, move the cursor to the top of
- the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>. If the data
- scrolled off the bottom of the region by the <STRONG>ri</STRONG> re-
- appears, then scrolling is non-destructive. System V and
- XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, and <STRONG>rin</STRONG> will simu-
- late destructive scrolling; their documentation cautions
- you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG>
- implementation is more liberal and will do explicit erases
- after scrolling if <STRONG>ndstr</STRONG> is defined.
-
- If the terminal has the ability to define a window as part
- of memory, which all commands affect, it should be given
- as the parameterized string <STRONG>wind</STRONG>. The four parameters are
- the starting and ending lines in memory and the starting
- and ending columns in memory, in that order.
-
- If the terminal can retain display memory above, then the
- <STRONG>da</STRONG> capability should be given; if display memory can be
- retained below, then <STRONG>db</STRONG> should be given. These indicate
- that deleting a line or scrolling may bring non-blank
- lines up from below or that scrolling back with <STRONG>ri</STRONG> may
+ Yet another way to construct insert and delete might be to use a combi-
+ nation of index with the memory-lock feature found on some terminals
+ (like the HP-700/90 series, which however also has insert/delete).
+
+ Inserting lines at the top or bottom of the screen can also be done
+ using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a true insert/delete line,
+ and is often faster even on terminals with those features.
+
+ The boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each scrolling win-
+ dow is effectively a view port on a screen-sized canvas. To test for
+ this capability, create a scrolling region in the middle of the screen,
+ write something to the bottom line, move the cursor to the top of the
+ region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>. If the data scrolled off the
+ bottom of the region by the <STRONG>ri</STRONG> re-appears, then scrolling is non-
+ destructive. System V and XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>, and
+ <STRONG>rin</STRONG> will simulate destructive scrolling; their documentation cautions
+ you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG> implementation
+ is more liberal and will do explicit erases after scrolling if <STRONG>ndsrc</STRONG> is
+ defined.
+
+ If the terminal has the ability to define a window as part of memory,
+ which all commands affect, it should be given as the parameterized
+ string <STRONG>wind</STRONG>. The four parameters are the starting and ending lines in
+ memory and the starting and ending columns in memory, in that order.
+
+ If the terminal can retain display memory above, then the <STRONG>da</STRONG> capability
+ should be given; if display memory can be retained below, then <STRONG>db</STRONG>
+ should be given. These indicate that deleting a line or scrolling may
+ bring non-blank lines up from below or that scrolling back with <STRONG>ri</STRONG> may
bring down non-blank lines.
- <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
- There are two basic kinds of intelligent terminals with
- respect to insert/delete character which can be described
- using <EM>terminfo.</EM> The most common insert/delete character
- operations affect only the characters on the current line
- and shift characters off the end of the line rigidly.
- Other terminals, such as the Concept 100 and the Perkin
- Elmer Owl, make a distinction between typed and untyped
- blanks on the screen, shifting upon an insert or delete
- only to an untyped blank on the screen which is either
- eliminated, or expanded to two untyped blanks.
-
- You can determine the kind of terminal you have by clear-
- ing the screen and then typing text separated by cursor
- motions. Type "abc def" using local cursor motions
- (not spaces) between the "abc" and the "def". Then posi-
- tion the cursor before the "abc" and put the terminal in
- insert mode. If typing characters causes the rest of the
- line to shift rigidly and characters to fall off the end,
- then your terminal does not distinguish between blanks and
- untyped positions. If the "abc" shifts over to the "def"
- which then move together around the end of the current
- line and onto the next as you insert, you have the second
- type of terminal, and should give the capability <STRONG>in</STRONG>, which
- stands for "insert null".
-
- While these are two logically separate attributes (one
- line versus multi-line insert mode, and special treatment
- of untyped spaces) we have seen no terminals whose insert
- mode cannot be described with the single attribute.
-
- Terminfo can describe both terminals which have an insert
- mode, and terminals which send a simple sequence to open a
- blank position on the current line. Give as <STRONG>smir</STRONG> the
- sequence to get into insert mode. Give as <STRONG>rmir</STRONG> the
- sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
- sequence needed to be sent just before sending the charac-
- ter to be inserted. Most terminals with a true insert
- mode will not give <STRONG>ich1</STRONG>; terminals which send a sequence
- to open a screen position should give it here.
-
- If your terminal has both, insert mode is usually prefer-
- able to <STRONG>ich1</STRONG>. Technically, you should not give both
- unless the terminal actually requires both to be used in
- combination. Accordingly, some non-curses applications
- get confused if both are present; the symptom is doubled
- characters in an update using insert. This requirement is
- now rare; most <STRONG>ich</STRONG> sequences do not require previous smir,
- and most smir insert modes do not require <STRONG>ich1</STRONG> before each
- character. Therefore, the new <STRONG>curses</STRONG> actually assumes
- this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as
- appropriate (but not both). If you have to write an entry
- to be used under new curses for a terminal old enough to
- need both, include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
-
- If post insert padding is needed, give this as a number of
- milliseconds in <STRONG>ip</STRONG> (a string option). Any other sequence
- which may need to be sent after an insert of a single
- character may also be given in <STRONG>ip</STRONG>. If your terminal needs
- both to be placed into an "insert mode" and a special code
- to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG>
- and <STRONG>ich1</STRONG> can be given, and both will be used. The <STRONG>ich</STRONG>
- capability, with one parameter, <EM>n</EM>, will repeat the effects
- of <STRONG>ich1</STRONG> <EM>n</EM> times.
-
- If padding is necessary between characters typed while not
- in insert mode, give this as a number of milliseconds pad-
- ding in <STRONG>rmp</STRONG>.
-
- It is occasionally necessary to move around while in
- insert mode to delete characters on the same line (e.g.,
- if there is a tab after the insertion position). If your
- terminal allows motion while in insert mode you can give
- the capability <STRONG>mir</STRONG> to speed up inserting in this case.
- Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals
- (notably Datamedia's) must not have <STRONG>mir</STRONG> because of the way
- their insert mode works.
-
- Finally, you can specify <STRONG>dch1</STRONG> to delete a single charac-
- ter, <STRONG>dch</STRONG> with one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM>
- and delete mode by giving <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit
- delete mode (any mode the terminal needs to be placed in
- for <STRONG>dch1</STRONG> to work).
-
- A command to erase <EM>n</EM> characters (equivalent to outputting
- <EM>n</EM> blanks without moving the cursor) can be given as <STRONG>ech</STRONG>
- with one parameter.
-
- <STRONG>Highlighting,</STRONG> <STRONG>Underlining,</STRONG> <STRONG>and</STRONG> <STRONG>Visible</STRONG> <STRONG>Bells</STRONG>
- If your terminal has one or more kinds of display
- attributes, these can be represented in a number of dif-
- ferent ways. You should choose one display form as <EM>stand-</EM>
- <EM>out</EM> <EM>mode</EM>, representing a good, high contrast, easy-on-the-
- eyes, format for highlighting error messages and other
- attention getters. (If you have a choice, reverse video
- plus half-bright is good, or reverse video alone.) The
- sequences to enter and exit standout mode are given as
- <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the code to change into
- or out of standout mode leaves one or even two blank spa-
- ces on the screen, as the TVI 912 and Teleray 1061 do,
- then <STRONG>xmc</STRONG> should be given to tell how many spaces are left.
-
- Codes to begin underlining and end underlining can be
- given as <STRONG>smul</STRONG> and <STRONG>rmul</STRONG> respectively. If the terminal has
- a code to underline the current character and move the
- cursor one space to the right, such as the Microterm Mime,
- this can be given as <STRONG>uc</STRONG>.
-
- Other capabilities to enter various highlighting modes
- include <STRONG>blink</STRONG> (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG>
- (dim or half-bright) <STRONG>invis</STRONG> (blanking or invisible text)
- <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG> (turn off <EM>all</EM>
- attribute modes) <STRONG>smacs</STRONG> (enter alternate character set
- mode) and <STRONG>rmacs</STRONG> (exit alternate character set mode).
- Turning on any of these modes singly may or may not turn
- off other modes.
-
- If there is a sequence to set arbitrary combinations of
- modes, this should be given as <STRONG>sgr</STRONG> (set attributes), tak-
- ing 9 parameters. Each parameter is either 0 or nonzero,
- as the corresponding attribute is on or off. The 9 param-
- eters are, in order: standout, underline, reverse, blink,
- dim, bold, blank, protect, alternate character set. Not
- all modes need be supported by <STRONG>sgr</STRONG>, only those for which
- corresponding separate attribute commands exist.
+
+</PRE><H3><a name="h3-Insert_Delete-Character">Insert/Delete Character</a></H3><PRE>
+ There are two basic kinds of intelligent terminals with respect to
+ insert/delete character which can be described using <EM>terminfo.</EM> The
+ most common insert/delete character operations affect only the charac-
+ ters on the current line and shift characters off the end of the line
+ rigidly. Other terminals, such as the Concept 100 and the Perkin Elmer
+ Owl, make a distinction between typed and untyped blanks on the screen,
+ shifting upon an insert or delete only to an untyped blank on the
+ screen which is either eliminated, or expanded to two untyped blanks.
+
+ You can determine the kind of terminal you have by clearing the screen
+ and then typing text separated by cursor motions. Type "abc def"
+ using local cursor motions (not spaces) between the "abc" and the
+ "def". Then position the cursor before the "abc" and put the terminal
+ in insert mode. If typing characters causes the rest of the line to
+ shift rigidly and characters to fall off the end, then your terminal
+ does not distinguish between blanks and untyped positions. If the
+ "abc" shifts over to the "def" which then move together around the end
+ of the current line and onto the next as you insert, you have the sec-
+ ond type of terminal, and should give the capability <STRONG>in</STRONG>, which stands
+ for "insert null".
+
+ While these are two logically separate attributes (one line versus
+ multi-line insert mode, and special treatment of untyped spaces) we
+ have seen no terminals whose insert mode cannot be described with the
+ single attribute.
+
+ Terminfo can describe both terminals which have an insert mode, and
+ terminals which send a simple sequence to open a blank position on the
+ current line. Give as <STRONG>smir</STRONG> the sequence to get into insert mode. Give
+ as <STRONG>rmir</STRONG> the sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
+ sequence needed to be sent just before sending the character to be
+ inserted. Most terminals with a true insert mode will not give <STRONG>ich1</STRONG>;
+ terminals which send a sequence to open a screen position should give
+ it here.
+
+ If your terminal has both, insert mode is usually preferable to <STRONG>ich1</STRONG>.
+ Technically, you should not give both unless the terminal actually
+ requires both to be used in combination. Accordingly, some non-curses
+ applications get confused if both are present; the symptom is doubled
+ characters in an update using insert. This requirement is now rare;
+ most <STRONG>ich</STRONG> sequences do not require previous smir, and most smir insert
+ modes do not require <STRONG>ich1</STRONG> before each character. Therefore, the new
+ <STRONG>curses</STRONG> actually assumes this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or
+ <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as appropriate (but not both). If you have to write an entry
+ to be used under new curses for a terminal old enough to need both,
+ include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
+
+ If post insert padding is needed, give this as a number of milliseconds
+ in <STRONG>ip</STRONG> (a string option). Any other sequence which may need to be sent
+ after an insert of a single character may also be given in <STRONG>ip</STRONG>. If your
+ terminal needs both to be placed into an "insert mode" and a special
+ code to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG> and <STRONG>ich1</STRONG>
+ can be given, and both will be used. The <STRONG>ich</STRONG> capability, with one
+ parameter, <EM>n</EM>, will repeat the effects of <STRONG>ich1</STRONG> <EM>n</EM> times.
+
+ If padding is necessary between characters typed while not in insert
+ mode, give this as a number of milliseconds padding in <STRONG>rmp</STRONG>.
+
+ It is occasionally necessary to move around while in insert mode to
+ delete characters on the same line (e.g., if there is a tab after the
+ insertion position). If your terminal allows motion while in insert
+ mode you can give the capability <STRONG>mir</STRONG> to speed up inserting in this
+ case. Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals (notably
+ Datamedia's) must not have <STRONG>mir</STRONG> because of the way their insert mode
+ works.
+
+ Finally, you can specify <STRONG>dch1</STRONG> to delete a single character, <STRONG>dch</STRONG> with
+ one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM> and delete mode by giving
+ <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit delete mode (any mode the terminal
+ needs to be placed in for <STRONG>dch1</STRONG> to work).
+
+ A command to erase <EM>n</EM> characters (equivalent to outputting <EM>n</EM> blanks
+ without moving the cursor) can be given as <STRONG>ech</STRONG> with one parameter.
+
+
+</PRE><H3><a name="h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></H3><PRE>
+ If your terminal has one or more kinds of display attributes, these can
+ be represented in a number of different ways. You should choose one
+ display form as <EM>standout</EM> <EM>mode</EM>, representing a good, high contrast,
+ easy-on-the-eyes, format for highlighting error messages and other
+ attention getters. (If you have a choice, reverse video plus half-
+ bright is good, or reverse video alone.) The sequences to enter and
+ exit standout mode are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the
+ code to change into or out of standout mode leaves one or even two
+ blank spaces on the screen, as the TVI 912 and Teleray 1061 do, then
+ <STRONG>xmc</STRONG> should be given to tell how many spaces are left.
+
+ Codes to begin underlining and end underlining can be given as <STRONG>smul</STRONG> and
+ <STRONG>rmul</STRONG> respectively. If the terminal has a code to underline the current
+ character and move the cursor one space to the right, such as the
+ Microterm Mime, this can be given as <STRONG>uc</STRONG>.
+
+ Other capabilities to enter various highlighting modes include <STRONG>blink</STRONG>
+ (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG> (dim or half-bright) <STRONG>invis</STRONG>
+ (blanking or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG>
+ (turn off <EM>all</EM> attribute modes) <STRONG>smacs</STRONG> (enter alternate character set
+ mode) and <STRONG>rmacs</STRONG> (exit alternate character set mode). Turning on any of
+ these modes singly may or may not turn off other modes.
+
+ If there is a sequence to set arbitrary combinations of modes, this
+ should be given as <STRONG>sgr</STRONG> (set attributes), taking 9 parameters. Each
+ parameter is either 0 or nonzero, as the corresponding attribute is on
+ or off. The 9 parameters are, in order: standout, underline, reverse,
+ blink, dim, bold, blank, protect, alternate character set. Not all
+ modes need be supported by <STRONG>sgr</STRONG>, only those for which corresponding sep-
+ arate attribute commands exist.
For example, the DEC vt220 supports most of the modes:
- <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
-
- none none \E[0m
- p1 standout \E[0;1;7m
- p2 underline \E[0;4m
- p3 reverse \E[0;7m
- p4 blink \E[0;5m
- p5 dim not available
- p6 bold \E[0;1m
- p7 invis \E[0;8m
- p8 protect not used
- p9 altcharset ^O (off) ^N (on)
-
- We begin each escape sequence by turning off any existing
- modes, since there is no quick way to determine whether
- they are active. Standout is set up to be the combination
- of reverse and bold. The vt220 terminal has a protect
- mode, though it is not commonly used in sgr because it
- protects characters on the screen from the host's era-
- sures. The altcharset mode also is different in that it
- is either ^O or ^N, depending on whether it is off or on.
- If all modes are turned on, the resulting sequence is
- \E[0;1;4;5;7;8m^N.
-
- Some sequences are common to different modes. For exam-
- ple, ;7 is output when either p1 or p3 is true, that is,
- if either standout or reverse modes are turned on.
-
- Writing out the above sequences, along with their depen-
- dencies yields
-
- <STRONG>sequence</STRONG> <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG> <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
-
- \E[0 always \E[0
- ;1 if p1 or p6 %?%p1%p6%|%t;1%;
- ;4 if p2 %?%p2%|%t;4%;
- ;5 if p4 %?%p4%|%t;5%;
- ;7 if p1 or p3 %?%p1%p3%|%t;7%;
- ;8 if p7 %?%p7%|%t;8%;
- m always m
- ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%;
+ <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
+
+ none none \E[0m
+ p1 standout \E[0;1;7m
+ p2 underline \E[0;4m
+ p3 reverse \E[0;7m
+ p4 blink \E[0;5m
+ p5 dim not available
+ p6 bold \E[0;1m
+ p7 invis \E[0;8m
+ p8 protect not used
+ p9 altcharset ^O (off) ^N (on)
+
+ We begin each escape sequence by turning off any existing modes, since
+ there is no quick way to determine whether they are active. Standout
+ is set up to be the combination of reverse and bold. The vt220 termi-
+ nal has a protect mode, though it is not commonly used in sgr because
+ it protects characters on the screen from the host's erasures. The
+ altcharset mode also is different in that it is either ^O or ^N,
+ depending on whether it is off or on. If all modes are turned on, the
+ resulting sequence is \E[0;1;4;5;7;8m^N.
+
+ Some sequences are common to different modes. For example, ;7 is out-
+ put when either p1 or p3 is true, that is, if either standout or
+ reverse modes are turned on.
+
+ Writing out the above sequences, along with their dependencies yields
+
+ <STRONG>sequence</STRONG> <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG> <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
+
+ \E[0 always \E[0
+ ;1 if p1 or p6 %?%p1%p6%|%t;1%;
+ ;4 if p2 %?%p2%|%t;4%;
+ ;5 if p4 %?%p4%|%t;5%;
+ ;7 if p1 or p3 %?%p1%p3%|%t;7%;
+ ;8 if p7 %?%p7%|%t;8%;
+ m always m
+ ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%;
Putting this all together into the sgr sequence gives:
sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p4%t;5%;
%?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
- Remember that if you specify sgr, you must also specify
- sgr0. Also, some implementations rely on sgr being given
- if sgr0 is, Not all terminfo entries necessarily have an
- sgr string, however. Many terminfo entries are derived
- from termcap entries which have no sgr string. The only
- drawback to adding an sgr string is that termcap also
- assumes that sgr0 does not exit alternate character set
- mode.
-
- Terminals with the "magic cookie" glitch (<STRONG>xmc</STRONG>) deposit
- special "cookies" when they receive mode-setting
- sequences, which affect the display algorithm rather than
- having extra bits for each character. Some terminals,
- such as the HP 2621, automatically leave standout mode
- when they move to a new line or the cursor is addressed.
- Programs using standout mode should exit standout mode
- before moving the cursor or sending a newline, unless the
- <STRONG>msgr</STRONG> capability, asserting that it is safe to move in
- standout mode, is present.
-
- If the terminal has a way of flashing the screen to indi-
- cate an error quietly (a bell replacement) then this can
- be given as <STRONG>flash</STRONG>; it must not move the cursor.
-
- If the cursor needs to be made more visible than normal
- when it is not on the bottom line (to make, for example, a
- non-blinking underline into an easier to find block or
- blinking underline) give this sequence as <STRONG>cvvis</STRONG>. If there
- is a way to make the cursor completely invisible, give
- that as <STRONG>civis</STRONG>. The capability <STRONG>cnorm</STRONG> should be given which
- undoes the effects of both of these modes.
-
- If your terminal correctly generates underlined characters
- (with no special codes needed) even though it does not
- overstrike, then you should give the capability <STRONG>ul</STRONG>. If a
- character overstriking another leaves both characters on
- the screen, specify the capability <STRONG>os</STRONG>. If overstrikes are
- erasable with a blank, then this should be indicated by
+ Remember that if you specify sgr, you must also specify sgr0. Also,
+ some implementations rely on sgr being given if sgr0 is, Not all ter-
+ minfo entries necessarily have an sgr string, however. Many terminfo
+ entries are derived from termcap entries which have no sgr string. The
+ only drawback to adding an sgr string is that termcap also assumes that
+ sgr0 does not exit alternate character set mode.
+
+ Terminals with the "magic cookie" glitch (<STRONG>xmc</STRONG>) deposit special "cook-
+ ies" when they receive mode-setting sequences, which affect the display
+ algorithm rather than having extra bits for each character. Some ter-
+ minals, such as the HP 2621, automatically leave standout mode when
+ they move to a new line or the cursor is addressed. Programs using
+ standout mode should exit standout mode before moving the cursor or
+ sending a newline, unless the <STRONG>msgr</STRONG> capability, asserting that it is
+ safe to move in standout mode, is present.
+
+ If the terminal has a way of flashing the screen to indicate an error
+ quietly (a bell replacement) then this can be given as <STRONG>flash</STRONG>; it must
+ not move the cursor.
+
+ If the cursor needs to be made more visible than normal when it is not
+ on the bottom line (to make, for example, a non-blinking underline into
+ an easier to find block or blinking underline) give this sequence as
+ <STRONG>cvvis</STRONG>. If there is a way to make the cursor completely invisible, give
+ that as <STRONG>civis</STRONG>. The capability <STRONG>cnorm</STRONG> should be given which undoes the
+ effects of both of these modes.
+
+ If your terminal correctly generates underlined characters (with no
+ special codes needed) even though it does not overstrike, then you
+ should give the capability <STRONG>ul</STRONG>. If a character overstriking another
+ leaves both characters on the screen, specify the capability <STRONG>os</STRONG>. If
+ overstrikes are erasable with a blank, then this should be indicated by
giving <STRONG>eo</STRONG>.
- <STRONG>Keypad</STRONG> <STRONG>and</STRONG> <STRONG>Function</STRONG> <STRONG>Keys</STRONG>
- If the terminal has a keypad that transmits codes when the
- keys are pressed, this information can be given. Note
- that it is not possible to handle terminals where the key-
- pad only works in local (this applies, for example, to the
- unshifted HP 2621 keys). If the keypad can be set to
- transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and
- <STRONG>rmkx</STRONG>. Otherwise the keypad is assumed to always transmit.
-
- The codes sent by the left arrow, right arrow, up arrow,
- down arrow, and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG>
- <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> respectively. If there are func-
- tion keys such as f0, f1, ..., f10, the codes they send
- can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys have
- labels other than the default f0 through f10, the labels
- can be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
-
- The codes transmitted by certain other special keys can be
- given:
+
+</PRE><H3><a name="h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></H3><PRE>
+ If the terminal has a keypad that transmits codes when the keys are
+ pressed, this information can be given. Note that it is not possible
+ to handle terminals where the keypad only works in local (this applies,
+ for example, to the unshifted HP 2621 keys). If the keypad can be set
+ to transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and <STRONG>rmkx</STRONG>. Other-
+ wise the keypad is assumed to always transmit.
+
+ The codes sent by the left arrow, right arrow, up arrow, down arrow,
+ and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG> <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG>
+ respectively. If there are function keys such as f0, f1, ..., f10, the
+ codes they send can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys
+ have labels other than the default f0 through f10, the labels can be
+ given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
+
+ The codes transmitted by certain other special keys can be given:
<STRONG>o</STRONG> <STRONG>kll</STRONG> (home down),
@@ -1828,68 +1870,77 @@
<STRONG>o</STRONG> <STRONG>khts</STRONG> (set a tab stop in this column).
- In addition, if the keypad has a 3 by 3 array of keys
- including the four arrow keys, the other five keys can be
- given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are use-
- ful when the effects of a 3 by 3 directional pad are
- needed.
-
- Strings to program function keys can be given as <STRONG>pfkey</STRONG>,
- <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>. A string to program screen labels should
- be specified as <STRONG>pln</STRONG>. Each of these strings takes two
- parameters: the function key number to program (from 0 to
- 10) and the string to program it with. Function key num-
- bers out of this range may program undefined keys in a
- terminal dependent manner. The difference between the
- capabilities is that <STRONG>pfkey</STRONG> causes pressing the given key
- to be the same as the user typing the given string; <STRONG>pfloc</STRONG>
- causes the string to be executed by the terminal in local;
- and <STRONG>pfx</STRONG> causes the string to be transmitted to the com-
- puter.
-
- The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of pro-
- grammable screen labels and their width and height. If
- there are commands to turn the labels on and off, give
- them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is normally output after one
- or more pln sequences to make sure that the change becomes
- visible.
-
- <STRONG>Tabs</STRONG> <STRONG>and</STRONG> <STRONG>Initialization</STRONG>
- If the terminal has hardware tabs, the command to advance
- to the next tab stop can be given as <STRONG>ht</STRONG> (usually control
- I). A "back-tab" command which moves leftward to the pre-
- ceding tab stop can be given as <STRONG>cbt</STRONG>. By convention, if
- the teletype modes indicate that tabs are being expanded
- by the computer rather than being sent to the terminal,
- programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are
- present, since the user may not have the tab stops prop-
- erly set. If the terminal has hardware tabs which are
- initially set every <EM>n</EM> spaces when the terminal is powered
- up, the numeric parameter <STRONG>it</STRONG> is given, showing the number
- of spaces the tabs are set to. This is normally used by
- the <EM>tset</EM> command to determine whether to set the mode for
- hardware tab expansion, and whether to set the tab stops.
- If the terminal has tab stops that can be saved in non-
- volatile memory, the terminfo description can assume that
- they are properly set.
-
- Other capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initializa-
- tion strings for the terminal, <STRONG>iprog</STRONG>, the path name of a
- program to be run to initialize the terminal, and <STRONG>if</STRONG>, the
- name of a file containing long initialization strings.
- These strings are expected to set the terminal into modes
- consistent with the rest of the terminfo description.
- They are normally sent to the terminal, by the <EM>init</EM> option
- of the <EM>tput</EM> program, each time the user logs in. They
- will be printed in the following order:
+ In addition, if the keypad has a 3 by 3 array of keys including the
+ four arrow keys, the other five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>,
+ <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are useful when the effects of a 3 by 3
+ directional pad are needed.
+
+ Strings to program function keys can be given as <STRONG>pfkey</STRONG>, <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>.
+ A string to program screen labels should be specified as <STRONG>pln</STRONG>. Each of
+ these strings takes two parameters: the function key number to program
+ (from 0 to 10) and the string to program it with. Function key numbers
+ out of this range may program undefined keys in a terminal dependent
+ manner. The difference between the capabilities is that <STRONG>pfkey</STRONG> causes
+ pressing the given key to be the same as the user typing the given
+ string; <STRONG>pfloc</STRONG> causes the string to be executed by the terminal in
+ local; and <STRONG>pfx</STRONG> causes the string to be transmitted to the computer.
+
+ The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of programmable
+ screen labels and their width and height. If there are commands to
+ turn the labels on and off, give them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is nor-
+ mally output after one or more pln sequences to make sure that the
+ change becomes visible.
+
+
+</PRE><H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE>
+ A few capabilities are used only for tabs:
+
+ <STRONG>o</STRONG> If the terminal has hardware tabs, the command to advance to the
+ next tab stop can be given as <STRONG>ht</STRONG> (usually control/I).
+
+ <STRONG>o</STRONG> A "back-tab" command which moves leftward to the preceding tab stop
+ can be given as <STRONG>cbt</STRONG>.
+
+ By convention, if the teletype modes indicate that tabs are being
+ expanded by the computer rather than being sent to the terminal,
+ programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since
+ the user may not have the tab stops properly set.
+
+ <STRONG>o</STRONG> If the terminal has hardware tabs which are initially set every <EM>n</EM>
+ spaces when the terminal is powered up, the numeric parameter <STRONG>it</STRONG> is
+ given, showing the number of spaces the tabs are set to.
+
+ The <STRONG>it</STRONG> capability is normally used by the <STRONG>tset</STRONG> command to determine
+ whether to set the mode for hardware tab expansion, and whether to
+ set the tab stops. If the terminal has tab stops that can be saved
+ in non-volatile memory, the terminfo description can assume that
+ they are properly set.
+
+ Other capabilities include
+
+ <STRONG>o</STRONG> <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initialization strings for the terminal,
+
+ <STRONG>o</STRONG> <STRONG>iprog</STRONG>, the path name of a program to be run to initialize the ter-
+ minal,
+
+ <STRONG>o</STRONG> and <STRONG>if</STRONG>, the name of a file containing long initialization strings.
+
+ These strings are expected to set the terminal into modes consistent
+ with the rest of the terminfo description. They are normally sent to
+ the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> program, each time the
+ user logs in. They will be printed in the following order:
run the program
<STRONG>iprog</STRONG>
- output <STRONG>is1</STRONG> <STRONG>is2</STRONG>
+ output
+ <STRONG>is1</STRONG> and
+ <STRONG>is2</STRONG>
set the margins using
- <STRONG>mgc</STRONG>, <STRONG>smgl</STRONG> and <STRONG>smgr</STRONG>
+ <STRONG>mgc</STRONG> or
+ <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> or
+ <STRONG>smgl</STRONG> and <STRONG>smgr</STRONG>
set tabs using
<STRONG>tbc</STRONG> and <STRONG>hts</STRONG>
@@ -1897,594 +1948,598 @@
print the file
<STRONG>if</STRONG>
- and finally
- output <STRONG>is3</STRONG>.
-
- Most initialization is done with <STRONG>is2</STRONG>. Special terminal
- modes can be set up without duplicating strings by putting
- the common sequences in <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and
- <STRONG>is3</STRONG>.
-
- A set of sequences that does a harder reset from a totally
- unknown state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analo-
- gous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG> and <STRONG>is3</STRONG> respectively. These
- strings are output by the <EM>reset</EM> program, which is used
- when the terminal gets into a wedged state. Commands are
- normally placed in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they pro-
- duce annoying effects on the screen and are not necessary
- when logging in. For example, the command to set the
- vt100 into 80-column mode would normally be part of <STRONG>is2</STRONG>,
- but it causes an annoying glitch of the screen and is not
- normally needed since the terminal is usually already in
- 80 column mode.
-
- The <EM>reset</EM> program writes strings including <STRONG>iprog</STRONG>, etc., in
- the same order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc.,
- instead of <STRONG>is1</STRONG>, etc. If any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset
- capability strings are missing, the <EM>reset</EM> program falls
- back upon the corresponding initialization capability
- string.
-
- If there are commands to set and clear tab stops, they can
- be given as <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab
- stop in the current column of every row). If a more com-
- plex sequence is needed to set the tabs than can be
- described by this, the sequence can be placed in <STRONG>is2</STRONG> or
- <STRONG>if</STRONG>.
-
- <STRONG>Delays</STRONG> <STRONG>and</STRONG> <STRONG>Padding</STRONG>
- Many older and slower terminals do not support either
- XON/XOFF or DTR handshaking, including hard copy terminals
- and some very archaic CRTs (including, for example, DEC
- VT100s). These may require padding characters after cer-
- tain cursor motions and screen changes.
-
- If the terminal uses xon/xoff handshaking for flow control
- (that is, it automatically emits ^S back to the host when
- its input buffers are close to full), set <STRONG>xon</STRONG>. This capa-
- bility suppresses the emission of padding. You can also
- set it for memory-mapped console devices effectively that
- do not have a speed limit. Padding information should
- still be included so that routines can make better deci-
- sions about relative costs, but actual pad characters will
- not be transmitted.
-
- If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed
- at baud rates below the value of <STRONG>pb</STRONG>. If the entry has no
- padding baud rate, then whether padding is emitted or not
- is completely controlled by <STRONG>xon</STRONG>.
-
- If the terminal requires other than a null (zero) charac-
- ter as a pad, then this can be given as <STRONG>pad</STRONG>. Only the
- first character of the <STRONG>pad</STRONG> string is used.
-
- <STRONG>Status</STRONG> <STRONG>Lines</STRONG>
- Some terminals have an extra "status line" which is not
- normally used by software (and thus not counted in the
- terminal's <STRONG>lines</STRONG> capability).
-
- The simplest case is a status line which is cursor-
- addressable but not part of the main scrolling region on
- the screen; the Heathkit H19 has a status line of this
- kind, as would a 24-line VT100 with a 23-line scrolling
- region set up on initialization. This situation is indi-
- cated by the <STRONG>hs</STRONG> capability.
-
- Some terminals with status lines need special sequences to
- access the status line. These may be expressed as a
- string with single parameter <STRONG>tsl</STRONG> which takes the cursor to
- a given zero-origin column on the status line. The capa-
- bility <STRONG>fsl</STRONG> must return to the main-screen cursor positions
- before the last <STRONG>tsl</STRONG>. You may need to embed the string
- values of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG>
- and <STRONG>fsl</STRONG> to accomplish this.
-
- The status line is normally assumed to be the same width
- as the width of the terminal. If this is untrue, you can
- specify it with the numeric capability <STRONG>wsl</STRONG>.
-
- A command to erase or blank the status line may be speci-
- fied as <STRONG>dsl</STRONG>.
-
- The boolean capability <STRONG>eslok</STRONG> specifies that escape
- sequences, tabs, etc., work ordinarily in the status line.
-
- The <STRONG>ncurses</STRONG> implementation does not yet use any of these
- capabilities. They are documented here in case they ever
- become important.
-
- <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
- Many terminals have alternate character sets useful for
- forms-drawing. Terminfo and <STRONG>curses</STRONG> build in support for
- the drawing characters supported by the VT100, with some
- characters from the AT&amp;T 4410v1 added. This alternate
- character set may be specified by the <STRONG>acsc</STRONG> capability.
-
- <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>VT100</STRONG>
- <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Name</STRONG>
- UK pound sign ACS_STERLING f }
- arrow pointing down ACS_DARROW v .
- arrow pointing left ACS_LARROW &lt; ,
- arrow pointing right ACS_RARROW &gt; +
- arrow pointing up ACS_UARROW ^ -
- board of squares ACS_BOARD # h
- bullet ACS_BULLET o ~
- checker board (stipple) ACS_CKBOARD : a
- degree symbol ACS_DEGREE \ f
- diamond ACS_DIAMOND + `
- greater-than-or-equal-to ACS_GEQUAL &gt; z
- greek pi ACS_PI * {
- horizontal line ACS_HLINE - q
- lantern symbol ACS_LANTERN # i
- large plus or crossover ACS_PLUS + n
- less-than-or-equal-to ACS_LEQUAL &lt; y
- lower left corner ACS_LLCORNER + m
- lower right corner ACS_LRCORNER + j
- not-equal ACS_NEQUAL ! |
- plus/minus ACS_PLMINUS # g
- scan line 1 ACS_S1 ~ o
- scan line 3 ACS_S3 - p
- scan line 7 ACS_S7 - r
- scan line 9 ACS_S9 _ s
- solid square block ACS_BLOCK # 0
- tee pointing down ACS_TTEE + w
- tee pointing left ACS_RTEE + u
- tee pointing right ACS_LTEE + t
- tee pointing up ACS_BTEE + v
- upper left corner ACS_ULCORNER + l
- upper right corner ACS_URCORNER + k
- vertical line ACS_VLINE | x
-
- The best way to define a new device's graphics set is to
- add a column to a copy of this table for your terminal,
- giving the character which (when emitted between
- <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the correspond-
- ing graphic. Then read off the VT100/your terminal char-
- acter pairs right to left in sequence; these become the
- ACSC string.
-
- <STRONG>Color</STRONG> <STRONG>Handling</STRONG>
- Most color terminals are either "Tektronix-like" or "HP-
- like". Tektronix-like terminals have a predefined set of
- N colors (where N usually 8), and can set character-cell
- foreground and background characters independently, mixing
- them into N * N color-pairs. On HP-like terminals, the
- use must set each color pair up separately (foreground and
- background are not independently settable). Up to M
- color-pairs may be set up from 2*M different colors.
- ANSI-compatible terminals are Tektronix-like.
-
- Some basic color capabilities are independent of the color
- method. The numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify
- the maximum numbers of colors and color-pairs that can be
- displayed simultaneously. The <STRONG>op</STRONG> (original pair) string
- resets foreground and background colors to their default
- values for the terminal. The <STRONG>oc</STRONG> string resets all colors
- or color-pairs to their default values for the terminal.
- Some terminals (including many PC terminal emulators)
- erase screen areas with the current background color
- rather than the power-up default background; these should
- have the boolean capability <STRONG>bce</STRONG>.
-
- To change the current foreground or background color on a
- Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground)
- and <STRONG>setab</STRONG> (set ANSI background) or <STRONG>setf</STRONG> (set foreground)
- and <STRONG>setb</STRONG> (set background). These take one parameter, the
- color number. The SVr4 documentation describes only
- <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that "If the terminal
- supports ANSI escape sequences to set background and fore-
- ground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
- tively. If the terminal supports other escape sequences
- to set background and foreground, they should be coded as
- <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respectively. The <EM>vidputs()</EM> function and
- the refresh functions use <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> if they are
- defined."
-
- The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single
- numeric argument each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>
- are portably defined as follows (the middle column is the
- symbolic #define available in the header for the <STRONG>curses</STRONG> or
- <STRONG>ncurses</STRONG> libraries). The terminal hardware is free to map
- these as it likes, but the RGB values indicate normal
- locations in color space.
-
- <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
- black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
- red <STRONG>COLOR_RED</STRONG> 1 max,0,0
- green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
- yellow <STRONG>COLOR_YELLOW</STRONG> 3 max,max,0
- blue <STRONG>COLOR_BLUE</STRONG> 4 0,0,max
- magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
- cyan <STRONG>COLOR_CYAN</STRONG> 6 0,max,max
- white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
-
- The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond
- to a different mapping, i.e.,
-
- <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
- black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
- blue <STRONG>COLOR_BLUE</STRONG> 1 0,0,max
- green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
- cyan <STRONG>COLOR_CYAN</STRONG> 3 0,max,max
- red <STRONG>COLOR_RED</STRONG> 4 max,0,0
- magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
- yellow <STRONG>COLOR_YELLOW</STRONG> 6 max,max,0
- white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
-
- It is important to not confuse the two sets of color capa-
- bilities; otherwise red/blue will be interchanged on the
- display.
-
- On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number
- parameter to set which color pair is current.
-
- On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be
- present to indicate that colors can be modified. If so,
- the <STRONG>initc</STRONG> capability will take a color number (0 to <STRONG>colors</STRONG>
- - 1)and three more parameters which describe the color.
- These three parameters default to being interpreted as RGB
- (Red, Green, Blue) values. If the boolean capability <STRONG>hls</STRONG>
- is present, they are instead as HLS (Hue, Lightness, Satu-
- ration) indices. The ranges are terminal-dependent.
-
- On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for
- changing a color-pair value. It will take seven parame-
- ters; a color-pair number (0 to <STRONG>max_pairs</STRONG> - 1), and two
- triples describing first background and then foreground
- colors. These parameters must be (Red, Green, Blue) or
- (Hue, Lightness, Saturation) depending on <STRONG>hls</STRONG>.
-
- On some color terminals, colors collide with highlights.
- You can register these collisions with the <STRONG>ncv</STRONG> capability.
- This is a bit-mask of attributes not to be used when col-
- ors are enabled. The correspondence with the attributes
- understood by <STRONG>curses</STRONG> is as follows:
-
- <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG>
- A_STANDOUT 0 1 sgr
- A_UNDERLINE 1 2 sgr
- A_REVERSE 2 4 sgr
- A_BLINK 3 8 sgr
- A_DIM 4 16 sgr
- A_BOLD 5 32 sgr
- A_INVIS 6 64 sgr
- A_PROTECT 7 128 sgr
- A_ALTCHARSET 8 256 sgr
- A_HORIZONTAL 9 512 sgr1
- A_LEFT 10 1024 sgr1
- A_LOW 11 2048 sgr1
- A_RIGHT 12 4096 sgr1
- A_TOP 13 8192 sgr1
- A_VERTICAL 14 16384 sgr1
- A_ITALIC 15 32768 sitm
-
- For example, on many IBM PC consoles, the underline
- attribute collides with the foreground color blue and is
- not available in color mode. These should have an <STRONG>ncv</STRONG>
- capability of 2.
-
- SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it
- and optimizes the output in favor of colors.
-
- <STRONG>Miscellaneous</STRONG>
- If the terminal requires other than a null (zero) charac-
- ter as a pad, then this can be given as pad. Only the
- first character of the pad string is used. If the termi-
- nal does not have a pad character, specify npc. Note that
- ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
- though the application may set this value to something
- other than a null, ncurses will test <STRONG>npc</STRONG> first and use
- napms if the terminal has no pad character.
-
- If the terminal can move up or down half a line, this can
- be indicated with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line
- down). This is primarily useful for superscripts and sub-
- scripts on hard-copy terminals. If a hard-copy terminal
- can eject to the next page (form feed), give this as <STRONG>ff</STRONG>
- (usually control L).
-
- If there is a command to repeat a given character a given
- number of times (to save time transmitting a large number
- of identical characters) this can be indicated with the
- parameterized string <STRONG>rep</STRONG>. The first parameter is the
- character to be repeated and the second is the number of
- times to repeat it. Thus, tparm(repeat_char, 'x', 10) is
- the same as "xxxxxxxxxx".
-
- If the terminal has a settable command character, such as
- the TEKTRONIX 4025, this can be indicated with <STRONG>cmdch</STRONG>. A
- prototype command character is chosen which is used in all
- capabilities. This character is given in the <STRONG>cmdch</STRONG> capa-
- bility to identify it. The following convention is sup-
- ported on some UNIX systems: The environment is to be
- searched for a <STRONG>CC</STRONG> variable, and if found, all occurrences
- of the prototype character are replaced with the character
- in the environment variable.
-
- Terminal descriptions that do not represent a specific
- kind of known terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and
- <EM>network</EM>, should include the <STRONG>gn</STRONG> (generic) capability so
- that programs can complain that they do not know how to
- talk to the terminal. (This capability does not apply to
- <EM>virtual</EM> terminal descriptions for which the escape
- sequences are known.)
-
- If the terminal has a "meta key" which acts as a shift
- key, setting the 8th bit of any character transmitted,
- this fact can be indicated with <STRONG>km</STRONG>. Otherwise, software
- will assume that the 8th bit is parity and it will usually
- be cleared. If strings exist to turn this "meta mode" on
+ and finally output
+ <STRONG>is3</STRONG>.
+
+ Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be
+ set up without duplicating strings by putting the common sequences in
+ <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and <STRONG>is3</STRONG>.
+
+ A set of sequences that does a harder reset from a totally unknown
+ state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analogous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG>
+ and <STRONG>is3</STRONG> respectively. These strings are output by <EM>reset</EM> option of
+ <STRONG>tput</STRONG>, or by the <STRONG>reset</STRONG> program (an alias of <STRONG>tset</STRONG>), which is used when
+ the terminal gets into a wedged state. Commands are normally placed in
+ <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoying effects on the screen
+ and are not necessary when logging in. For example, the command to set
+ the vt100 into 80-column mode would normally be part of <STRONG>is2</STRONG>, but it
+ causes an annoying glitch of the screen and is not normally needed
+ since the terminal is usually already in 80-column mode.
+
+ The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same
+ order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If
+ any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the
+ <STRONG>reset</STRONG> program falls back upon the corresponding initialization capabil-
+ ity string.
+
+ If there are commands to set and clear tab stops, they can be given as
+ <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab stop in the current column
+ of every row). If a more complex sequence is needed to set the tabs
+ than can be described by this, the sequence can be placed in <STRONG>is2</STRONG> or <STRONG>if</STRONG>.
+
+ The <STRONG>tput</STRONG> <STRONG>reset</STRONG> command uses the same capability strings as the <STRONG>reset</STRONG>
+ command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>) provide different
+ command-line options.
+
+ In practice, these terminfo capabilities are not often used in initial-
+ ization of tabs (though they are required for the <STRONG>tabs</STRONG> program):
+
+ <STRONG>o</STRONG> Almost all hardware terminals (at least those which supported tabs)
+ initialized those to every <EM>eight</EM> columns:
+
+ The only exception was the AT&amp;T 2300 series, which set tabs to
+ every <EM>five</EM> columns.
+
+ <STRONG>o</STRONG> In particular, developers of the hardware terminals which are com-
+ monly used as models for modern terminal emulators provided docu-
+ mentation demonstrating that <EM>eight</EM> columns were the standard.
+
+ <STRONG>o</STRONG> Because of this, the terminal initialization programs <STRONG>tput</STRONG> and <STRONG>tset</STRONG>
+ use the <STRONG>tbc</STRONG> (<STRONG>clear_all_tabs</STRONG>) and <STRONG>hts</STRONG> (<STRONG>set_tab</STRONG>) capabilities
+ directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a value
+ other than <EM>eight</EM>.
+
+
+</PRE><H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE>
+ Many older and slower terminals do not support either XON/XOFF or DTR
+ handshaking, including hard copy terminals and some very archaic CRTs
+ (including, for example, DEC VT100s). These may require padding char-
+ acters after certain cursor motions and screen changes.
+
+ If the terminal uses xon/xoff handshaking for flow control (that is, it
+ automatically emits ^S back to the host when its input buffers are
+ close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of
+ padding. You can also set it for memory-mapped console devices effec-
+ tively that do not have a speed limit. Padding information should
+ still be included so that routines can make better decisions about rel-
+ ative costs, but actual pad characters will not be transmitted.
+
+ If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed at baud rates
+ below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then
+ whether padding is emitted or not is completely controlled by <STRONG>xon</STRONG>.
+
+ If the terminal requires other than a null (zero) character as a pad,
+ then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG>
+ string is used.
+
+
+</PRE><H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE>
+ Some terminals have an extra "status line" which is not normally used
+ by software (and thus not counted in the terminal's <STRONG>lines</STRONG> capability).
+
+ The simplest case is a status line which is cursor-addressable but not
+ part of the main scrolling region on the screen; the Heathkit H19 has a
+ status line of this kind, as would a 24-line VT100 with a 23-line
+ scrolling region set up on initialization. This situation is indicated
+ by the <STRONG>hs</STRONG> capability.
+
+ Some terminals with status lines need special sequences to access the
+ status line. These may be expressed as a string with single parameter
+ <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status
+ line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor posi-
+ tions before the last <STRONG>tsl</STRONG>. You may need to embed the string values of
+ <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG> to accomplish
+ this.
+
+ The status line is normally assumed to be the same width as the width
+ of the terminal. If this is untrue, you can specify it with the
+ numeric capability <STRONG>wsl</STRONG>.
+
+ A command to erase or blank the status line may be specified as <STRONG>dsl</STRONG>.
+
+ The boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs,
+ etc., work ordinarily in the status line.
+
+ The <STRONG>ncurses</STRONG> implementation does not yet use any of these capabilities.
+ They are documented here in case they ever become important.
+
+
+</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
+ Many terminals have alternate character sets useful for forms-drawing.
+ Terminfo and <STRONG>curses</STRONG> have built-in support for most of the drawing char-
+ acters supported by the VT100, with some characters from the AT&amp;T
+ 4410v1 added. This alternate character set may be specified by the
+ <STRONG>acsc</STRONG> capability.
+
+ <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>acsc</STRONG> <STRONG>acsc</STRONG>
+ <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Value</STRONG>
+ --------------------------------------------------------------------
+ arrow pointing right ACS_RARROW &gt; + 0x2b
+ arrow pointing left ACS_LARROW &lt; , 0x2c
+ arrow pointing up ACS_UARROW ^ - 0x2d
+ arrow pointing down ACS_DARROW v . 0x2e
+ solid square block ACS_BLOCK # 0 0x30
+ diamond ACS_DIAMOND + ` 0x60
+ checker board (stipple) ACS_CKBOARD : a 0x61
+ degree symbol ACS_DEGREE \ f 0x66
+ plus/minus ACS_PLMINUS # g 0x67
+ board of squares ACS_BOARD # h 0x68
+ lantern symbol ACS_LANTERN # i 0x69
+ lower right corner ACS_LRCORNER + j 0x6a
+ upper right corner ACS_URCORNER + k 0x6b
+ upper left corner ACS_ULCORNER + l 0x6c
+ lower left corner ACS_LLCORNER + m 0x6d
+ large plus or crossover ACS_PLUS + n 0x6e
+ scan line 1 ACS_S1 ~ o 0x6f
+ scan line 3 ACS_S3 - p 0x70
+ horizontal line ACS_HLINE - q 0x71
+ scan line 7 ACS_S7 - r 0x72
+ scan line 9 ACS_S9 _ s 0x73
+ tee pointing right ACS_LTEE + t 0x74
+ tee pointing left ACS_RTEE + u 0x75
+ tee pointing up ACS_BTEE + v 0x76
+ tee pointing down ACS_TTEE + w 0x77
+ vertical line ACS_VLINE | x 0x78
+ less-than-or-equal-to ACS_LEQUAL &lt; y 0x79
+ greater-than-or-equal-to ACS_GEQUAL &gt; z 0x7a
+ greek pi ACS_PI * { 0x7b
+ not-equal ACS_NEQUAL ! | 0x7c
+ UK pound sign ACS_STERLING f } 0x7d
+ bullet ACS_BULLET o ~ 0x7e
+
+ A few notes apply to the table itself:
+
+ <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is
+ uppercase "I" although Unix implementations use the lowercase "i"
+ mapping.
+
+ <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character
+ set feature, temporarily switching <EM>modes</EM> and sending characters in
+ the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the ta-
+ ble).
+
+ <STRONG>o</STRONG> The AT&amp;T terminal added graphics characters outside that range.
+
+ Some of the characters within the range do not match the VT100;
+ presumably they were used in the AT&amp;T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM>
+ replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces
+ the VT100 <EM>vertical</EM> <EM>tab</EM> symbol. The other VT100 symbols for control
+ characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not
+ (re)used in curses.
+
+ The best way to define a new device's graphics set is to add a column
+ to a copy of this table for your terminal, giving the character which
+ (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the
+ corresponding graphic. Then read off the VT100/your terminal character
+ pairs right to left in sequence; these become the ACSC string.
+
+
+</PRE><H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE>
+ The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the
+ <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see
+ <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> for details on these and related functions).
+
+ Most color terminals are either "Tektronix-like" or "HP-like":
+
+ <STRONG>o</STRONG> Tektronix-like terminals have a predefined set of <EM>N</EM> colors (where <EM>N</EM>
+ is usually 8), and can set character-cell foreground and background
+ characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color-pairs.
+
+ <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up sepa-
+ rately (foreground and background are not independently settable).
+ Up to <EM>M</EM> color-pairs may be set up from 2*<EM>M</EM> different colors. ANSI-
+ compatible terminals are Tektronix-like.
+
+ Some basic color capabilities are independent of the color method. The
+ numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of
+ colors and color-pairs that can be displayed simultaneously. The <STRONG>op</STRONG>
+ (original pair) string resets foreground and background colors to their
+ default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or
+ color-pairs to their default values for the terminal. Some terminals
+ (including many PC terminal emulators) erase screen areas with the cur-
+ rent background color rather than the power-up default background;
+ these should have the boolean capability <STRONG>bce</STRONG>.
+
+ While the curses library works with <EM>color</EM> <EM>pairs</EM> (reflecting the inabil-
+ ity of some devices to set foreground and background colors indepen-
+ dently), there are separate capabilities for setting these features:
+
+ <STRONG>o</STRONG> To change the current foreground or background color on a Tek-
+ tronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG>
+ (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set back-
+ ground). These take one parameter, the color number. The SVr4
+ documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that
+ "If the terminal supports ANSI escape sequences to set background
+ and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
+ tively.
+
+ <STRONG>o</STRONG> If the terminal supports other escape sequences to set background
+ and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respec-
+ tively. The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the <STRONG>setaf</STRONG>
+ and <STRONG>setab</STRONG> capabilities if they are defined.
+
+ The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric argu-
+ ment each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> are portably defined as
+ follows (the middle column is the symbolic #define available in the
+ header for the <STRONG>curses</STRONG> or <STRONG>ncurses</STRONG> libraries). The terminal hardware is
+ free to map these as it likes, but the RGB values indicate normal loca-
+ tions in color space.
+
+ <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
+ black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
+ red <STRONG>COLOR_RED</STRONG> 1 max,0,0
+ green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
+ yellow <STRONG>COLOR_YELLOW</STRONG> 3 max,max,0
+ blue <STRONG>COLOR_BLUE</STRONG> 4 0,0,max
+ magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
+ cyan <STRONG>COLOR_CYAN</STRONG> 6 0,max,max
+ white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
+
+ The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond to a different
+ mapping, i.e.,
+
+ <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
+ black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
+ blue <STRONG>COLOR_BLUE</STRONG> 1 0,0,max
+ green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
+ cyan <STRONG>COLOR_CYAN</STRONG> 3 0,max,max
+ red <STRONG>COLOR_RED</STRONG> 4 max,0,0
+ magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
+ yellow <STRONG>COLOR_YELLOW</STRONG> 6 max,max,0
+ white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
+
+ It is important to not confuse the two sets of color capabilities; oth-
+ erwise red/blue will be interchanged on the display.
+
+ On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number parameter to
+ set which color pair is current.
+
+ Some terminals allow the <EM>color</EM> <EM>values</EM> to be modified:
+
+ <STRONG>o</STRONG> On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to
+ indicate that colors can be modified. If so, the <STRONG>initc</STRONG> capability
+ will take a color number (0 to <STRONG>colors</STRONG> - 1)and three more parameters
+ which describe the color. These three parameters default to being
+ interpreted as RGB (Red, Green, Blue) values. If the boolean capa-
+ bility <STRONG>hls</STRONG> is present, they are instead as HLS (Hue, Lightness,
+ Saturation) indices. The ranges are terminal-dependent.
+
+ <STRONG>o</STRONG> On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a
+ color-pair value. It will take seven parameters; a color-pair num-
+ ber (0 to <STRONG>max_pairs</STRONG> - 1), and two triples describing first back-
+ ground and then foreground colors. These parameters must be (Red,
+ Green, Blue) or (Hue, Lightness, Saturation) depending on <STRONG>hls</STRONG>.
+
+ On some color terminals, colors collide with highlights. You can reg-
+ ister these collisions with the <STRONG>ncv</STRONG> capability. This is a bit-mask of
+ attributes not to be used when colors are enabled. The correspondence
+ with the attributes understood by <STRONG>curses</STRONG> is as follows:
+
+ <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG>
+ A_STANDOUT 0 1 sgr
+ A_UNDERLINE 1 2 sgr
+ A_REVERSE 2 4 sgr
+ A_BLINK 3 8 sgr
+ A_DIM 4 16 sgr
+ A_BOLD 5 32 sgr
+ A_INVIS 6 64 sgr
+ A_PROTECT 7 128 sgr
+
+ A_ALTCHARSET 8 256 sgr
+ A_HORIZONTAL 9 512 sgr1
+ A_LEFT 10 1024 sgr1
+ A_LOW 11 2048 sgr1
+ A_RIGHT 12 4096 sgr1
+ A_TOP 13 8192 sgr1
+ A_VERTICAL 14 16384 sgr1
+ A_ITALIC 15 32768 sitm
+
+ For example, on many IBM PC consoles, the underline attribute collides
+ with the foreground color blue and is not available in color mode.
+ These should have an <STRONG>ncv</STRONG> capability of 2.
+
+ SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it and optimizes
+ the output in favor of colors.
+
+
+</PRE><H3><a name="h3-Miscellaneous">Miscellaneous</a></H3><PRE>
+ If the terminal requires other than a null (zero) character as a pad,
+ then this can be given as pad. Only the first character of the pad
+ string is used. If the terminal does not have a pad character, specify
+ npc. Note that ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
+ though the application may set this value to something other than a
+ null, ncurses will test <STRONG>npc</STRONG> first and use napms if the terminal has no
+ pad character.
+
+ If the terminal can move up or down half a line, this can be indicated
+ with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line down). This is primarily use-
+ ful for superscripts and subscripts on hard-copy terminals. If a hard-
+ copy terminal can eject to the next page (form feed), give this as <STRONG>ff</STRONG>
+ (usually control/L).
+
+ If there is a command to repeat a given character a given number of
+ times (to save time transmitting a large number of identical charac-
+ ters) this can be indicated with the parameterized string <STRONG>rep</STRONG>. The
+ first parameter is the character to be repeated and the second is the
+ number of times to repeat it. Thus, tparm(repeat_char, 'x', 10) is the
+ same as "xxxxxxxxxx".
+
+ If the terminal has a settable command character, such as the TEKTRONIX
+ 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character
+ is chosen which is used in all capabilities. This character is given
+ in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is
+ supported on some UNIX systems: The environment is to be searched for a
+ <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character
+ are replaced with the character in the environment variable.
+
+ Terminal descriptions that do not represent a specific kind of known
+ terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include
+ the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do
+ not know how to talk to the terminal. (This capability does not apply
+ to <EM>virtual</EM> terminal descriptions for which the escape sequences are
+ known.)
+
+ If the terminal has a "meta key" which acts as a shift key, setting the
+ 8th bit of any character transmitted, this fact can be indicated with
+ <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it
+ will usually be cleared. If strings exist to turn this "meta mode" on
and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
- If the terminal has more lines of memory than will fit on
- the screen at once, the number of lines of memory can be
- indicated with <STRONG>lm</STRONG>. A value of <STRONG>lm</STRONG>#0 indicates that the
- number of lines is not fixed, but that there is still more
- memory than fits on the screen.
-
- If the terminal is one of those supported by the UNIX vir-
- tual terminal protocol, the terminal number can be given
- as <STRONG>vt</STRONG>.
-
- Media copy strings which control an auxiliary printer con-
- nected to the terminal can be given as <STRONG>mc0</STRONG>: print the con-
- tents of the screen, <STRONG>mc4</STRONG>: turn off the printer, and <STRONG>mc5</STRONG>:
- turn on the printer. When the printer is on, all text
- sent to the terminal will be sent to the printer. It is
- undefined whether the text is also displayed on the termi-
- nal screen when the printer is on. A variation <STRONG>mc5p</STRONG> takes
- one parameter, and leaves the printer on for as many char-
- acters as the value of the parameter, then turns the
- printer off. The parameter should not exceed 255. All
- text, including <STRONG>mc4</STRONG>, is transparently passed to the
- printer while an <STRONG>mc5p</STRONG> is in effect.
-
- <STRONG>Glitches</STRONG> <STRONG>and</STRONG> <STRONG>Braindamage</STRONG>
- Hazeltine terminals, which do not allow "~" characters to
- be displayed should indicate <STRONG>hz</STRONG>.
-
- Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG>
- wrap, such as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
-
- If <STRONG>el</STRONG> is required to get rid of standout (instead of
- merely writing normal text on top of it), <STRONG>xhp</STRONG> should be
- given.
-
- Teleray terminals, where tabs turn all characters moved
- over to blanks, should indicate <STRONG>xt</STRONG> (destructive tabs).
- Note: the variable indicating this is now
- "dest_tabs_magic_smso"; in older versions, it was tel-
- eray_glitch. This glitch is also taken to mean that it is
- not possible to position the cursor on top of a "magic
- cookie", that to erase standout mode it is instead neces-
- sary to use delete and insert line. The ncurses implemen-
- tation ignores this glitch.
-
- The Beehive Superbee, which is unable to correctly trans-
- mit the escape or control C characters, has <STRONG>xsb</STRONG>, indicat-
- ing that the f1 key is used for escape and f2 for control
- C. (Only certain Superbees have this problem, depending
- on the ROM.) Note that in older terminfo versions, this
- capability was called "beehive_glitch"; it is now
- "no_esc_ctl_c".
-
- Other specific terminal problems may be corrected by
- adding more capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
-
- <STRONG>Similar</STRONG> <STRONG>Terminals</STRONG>
- If there are two very similar terminals, one (the variant)
- can be defined as being just like the other (the base)
- with certain exceptions. In the definition of the vari-
- ant, the string capability <STRONG>use</STRONG> can be given with the name
- of the base terminal. The capabilities given before <STRONG>use</STRONG>
- override those in the base type named by <STRONG>use</STRONG>. If there
- are multiple <STRONG>use</STRONG> capabilities, they are merged in reverse
- order. That is, the rightmost <STRONG>use</STRONG> reference is processed
- first, then the one to its left, and so forth. Capabili-
- ties given explicitly in the entry override those brought
- in by <STRONG>use</STRONG> references.
-
- A capability can be canceled by placing <STRONG>xx@</STRONG> to the left of
- the use reference that imports it, where <EM>xx</EM> is the capa-
- bility. For example, the entry
+ If the terminal has more lines of memory than will fit on the screen at
+ once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value
+ of <STRONG>lm</STRONG>#0 indicates that the number of lines is not fixed, but that there
+ is still more memory than fits on the screen.
+
+ If the terminal is one of those supported by the UNIX virtual terminal
+ protocol, the terminal number can be given as <STRONG>vt</STRONG>.
+
+ Media copy strings which control an auxiliary printer connected to the
+ terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>:
+ turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer
+ is on, all text sent to the terminal will be sent to the printer. It
+ is undefined whether the text is also displayed on the terminal screen
+ when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and
+ leaves the printer on for as many characters as the value of the param-
+ eter, then turns the printer off. The parameter should not exceed 255.
+ All text, including <STRONG>mc4</STRONG>, is transparently passed to the printer while
+ an <STRONG>mc5p</STRONG> is in effect.
+
+
+</PRE><H3><a name="h3-Glitches-and-Braindamage">Glitches and Braindamage</a></H3><PRE>
+ Hazeltine terminals, which do not allow "~" characters to be displayed
+ should indicate <STRONG>hz</STRONG>.
+
+ Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such
+ as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
+
+ If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing
+ normal text on top of it), <STRONG>xhp</STRONG> should be given.
+
+ Teleray terminals, where tabs turn all characters moved over to blanks,
+ should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating
+ this is now "dest_tabs_magic_smso"; in older versions, it was tel-
+ eray_glitch. This glitch is also taken to mean that it is not possible
+ to position the cursor on top of a "magic cookie", that to erase stand-
+ out mode it is instead necessary to use delete and insert line. The
+ ncurses implementation ignores this glitch.
+
+ The Beehive Superbee, which is unable to correctly transmit the escape
+ or control/C characters, has <STRONG>xsb</STRONG>, indicating that the f1 key is used
+ for escape and f2 for control/C. (Only certain Superbees have this
+ problem, depending on the ROM.) Note that in older terminfo versions,
+ this capability was called "beehive_glitch"; it is now "no_esc_ctl_c".
+
+ Other specific terminal problems may be corrected by adding more capa-
+ bilities of the form <STRONG>x</STRONG><EM>x</EM>.
+
+
+</PRE><H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE>
+ Long terminfo entries are unlikely to be a problem; to date, no entry
+ has even approached terminfo's 4096-byte string-table maximum. Unfor-
+ tunately, the termcap translations are much more strictly limited (to
+ 1023 bytes), thus termcap translations of long terminfo entries can
+ cause problems.
+
+ The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the
+ user to allocate a 1024-byte buffer for the termcap entry. The entry
+ gets null-terminated by the termcap library, so that makes the maximum
+ safe length for a termcap entry 1k-1 (1023) bytes. Depending on what
+ the application and the termcap library being used does, and where in
+ the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is,
+ several bad things can happen.
+
+ Some termcap libraries print a warning message or exit if they find an
+ entry that's longer than 1023 bytes; others do not; others truncate the
+ entries to 1023 bytes. Some application programs allocate more than
+ the recommended 1K for the termcap entry; others do not.
+
+ Each termcap entry has two important sizes associated with it: before
+ "tc" expansion, and after "tc" expansion. "tc" is the capability that
+ tacks on another termcap entry to the end of the current one, to add on
+ its capabilities. If a termcap entry does not use the "tc" capability,
+ then of course the two lengths are the same.
+
+ The "before tc expansion" length is the most important one, because it
+ affects more than just users of that particular terminal. This is the
+ length of the entry as it exists in /etc/termcap, minus the backslash-
+ newline pairs, which <STRONG>tgetent</STRONG> strips out while reading it. Some termcap
+ libraries strip off the final newline, too (GNU termcap does not). Now
+ suppose:
+
+ <STRONG>o</STRONG> a termcap entry before expansion is more than 1023 bytes long,
- 2621-nl, smkx@, rmkx@, use=2621,
+ <STRONG>o</STRONG> and the application has only allocated a 1k buffer,
- defines a 2621-nl that does not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG>
- capabilities, and hence does not turn on the function key
- labels when in visual mode. This is useful for different
- modes for a terminal, or for different user preferences.
-
- <STRONG>Pitfalls</STRONG> <STRONG>of</STRONG> <STRONG>Long</STRONG> <STRONG>Entries</STRONG>
- Long terminfo entries are unlikely to be a problem; to
- date, no entry has even approached terminfo's 4096-byte
- string-table maximum. Unfortunately, the termcap transla-
- tions are much more strictly limited (to 1023 bytes), thus
- termcap translations of long terminfo entries can cause
- problems.
-
- The man pages for 4.3BSD and older versions of <STRONG>tgetent()</STRONG>
- instruct the user to allocate a 1024-byte buffer for the
- termcap entry. The entry gets null-terminated by the
- termcap library, so that makes the maximum safe length for
- a termcap entry 1k-1 (1023) bytes. Depending on what the
- application and the termcap library being used does, and
- where in the termcap file the terminal type that <STRONG>tgetent()</STRONG>
- is searching for is, several bad things can happen.
-
- Some termcap libraries print a warning message or exit if
- they find an entry that's longer than 1023 bytes; others
- do not; others truncate the entries to 1023 bytes. Some
- application programs allocate more than the recommended 1K
- for the termcap entry; others do not.
-
- Each termcap entry has two important sizes associated with
- it: before "tc" expansion, and after "tc" expansion. "tc"
- is the capability that tacks on another termcap entry to
- the end of the current one, to add on its capabilities.
- If a termcap entry does not use the "tc" capability, then
- of course the two lengths are the same.
-
- The "before tc expansion" length is the most important
- one, because it affects more than just users of that par-
- ticular terminal. This is the length of the entry as it
- exists in /etc/termcap, minus the backslash-newline pairs,
- which <STRONG>tgetent()</STRONG> strips out while reading it. Some termcap
- libraries strip off the final newline, too (GNU termcap
- does not). Now suppose:
-
- <STRONG>o</STRONG> a termcap entry before expansion is more than 1023
- bytes long,
+ <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
+ the whole entry into the buffer, no matter what its length, to see
+ if it is the entry it wants,
+
+ <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the
+ long entry, appears in the termcap file after the long entry, or
+ does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search
+ the whole termcap file).
- <STRONG>o</STRONG> and the application has only allocated a 1k buffer,
+ Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably
+ core dump the program. Programs like telnet are particularly vulnera-
+ ble; modern telnets pass along values like the terminal type automati-
+ cally. The results are almost as undesirable with a termcap library,
+ like SunOS 4.1.3 and Ultrix 4.4, that prints warning messages when it
+ reads an overly long termcap entry. If a termcap library truncates
+ long entries, like OSF/1 3.0, it is immune to dying here but will
+ return incorrect data for the terminal.
- <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1
- and GNU) reads the whole entry into the buffer, no
- matter what its length, to see if it is the entry it
- wants,
-
- <STRONG>o</STRONG> and <STRONG>tgetent()</STRONG> is searching for a terminal type that
- either is the long entry, appears in the termcap file
- after the long entry, or does not appear in the file
- at all (so that <STRONG>tgetent()</STRONG> has to search the whole
- termcap file).
-
- Then <STRONG>tgetent()</STRONG> will overwrite memory, perhaps its stack,
- and probably core dump the program. Programs like telnet
- are particularly vulnerable; modern telnets pass along
- values like the terminal type automatically. The results
- are almost as undesirable with a termcap library, like
- SunOS 4.1.3 and Ultrix 4.4, that prints warning messages
- when it reads an overly long termcap entry. If a termcap
- library truncates long entries, like OSF/1 3.0, it is
- immune to dying here but will return incorrect data for
- the terminal.
-
- The "after tc expansion" length will have a similar effect
- to the above, but only for people who actually set TERM to
- that terminal type, since <STRONG>tgetent()</STRONG> only does "tc" expan-
- sion once it is found the terminal type it was looking
- for, not while searching.
-
- In summary, a termcap entry that is longer than 1023 bytes
- can cause, on various combinations of termcap libraries
- and applications, a core dump, warnings, or incorrect
- operation. If it is too long even before "tc" expansion,
- it will have this effect even for users of some other ter-
- minal types and users whose TERM variable does not have a
- termcap entry.
-
- When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> imple-
- mentation of <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-
- tc length of a termcap translation is too long. The -c
- (check) option also checks resolved (after tc expansion)
- lengths.
-
- <STRONG>Binary</STRONG> <STRONG>Compatibility</STRONG>
- It is not wise to count on portability of binary terminfo
- entries between commercial UNIX versions. The problem is
- that there are at least two versions of terminfo (under
- HP-UX and AIX) which diverged from System V terminfo after
- SVr1, and have added extension capabilities to the string
- table that (in the binary format) collide with System V
- and XSI Curses extensions.
+ The "after tc expansion" length will have a similar effect to the
+ above, but only for people who actually set TERM to that terminal type,
+ since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal
+ type it was looking for, not while searching.
+ In summary, a termcap entry that is longer than 1023 bytes can cause,
+ on various combinations of termcap libraries and applications, a core
+ dump, warnings, or incorrect operation. If it is too long even before
+ "tc" expansion, it will have this effect even for users of some other
+ terminal types and users whose TERM variable does not have a termcap
+ entry.
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
- Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and
- TERMINFO_DIRS is not supported by older implementations.
-
- Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to
- SVr4, do not interpret the %A and %O operators in parame-
- ter strings.
-
- SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement
- while in an alternate-character-set mode (such modes may,
- among other things, map CR and NL to characters that do
- not trigger local motions). The <STRONG>ncurses</STRONG> implementation
- ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises the possi-
- bility that an XPG4 implementation making the opposite
- interpretation may need terminfo entries made for <STRONG>ncurses</STRONG>
- to have <STRONG>msgr</STRONG> turned off.
-
- The <STRONG>ncurses</STRONG> library handles insert-character and insert-
- character modes in a slightly non-standard way to get bet-
- ter update efficiency. See the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG>
- subsection above.
-
- The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>dis-</STRONG>
- <STRONG>play_clock</STRONG> are not documented in SVr4 or the XSI Curses
- standard. They are deduced from the documentation for the
- AT&amp;T 505 terminal.
-
- Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG>
- wants to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals
- and emulators like xterm that can return mouse-tracking
- information in the keyboard-input stream.
-
- X/Open Curses does not mention italics. Portable applica-
- tions must assume that numeric capabilities are signed
- 16-bit values. This includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (ncv)
- capability. The 32768 mask value used for italics with
- ncv can be confused with an absent or cancelled ncv. If
- italics should work with colors, then the ncv value must
- be specified, even if it is zero.
-
- Different commercial ports of terminfo and curses support
- different subsets of the XSI Curses standard and (in some
- cases) different extension sets. Here is a summary, accu-
- rate as of October 1995:
-
- <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capabili-
- ties.
-
- <STRONG>SGI</STRONG> -- Supports the SVr4 set, adds one undocumented
- extended string capability (<STRONG>set_pglen</STRONG>).
-
- <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of ter-
- minfo capabilities. The booleans end with <STRONG>xon_xoff</STRONG>; the
- numerics with <STRONG>width_status_line</STRONG>; and the strings with
- <STRONG>prtr_non</STRONG>.
-
- <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234]
- numerics <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus func-
- tion keys 11 through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and
- <STRONG>label_off</STRONG>, plus some incompatible extensions in the string
- table.
-
- <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11
- through 63, plus a number of incompatible string table
- extensions.
-
- <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
+ When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> implementation of
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc length of a termcap
+ translation is too long. The -c (check) option also checks resolved
+ (after tc expansion) lengths.
-</PRE>
-<H2>FILES</H2><PRE>
- /usr/share/terminfo/?/* files containing terminal
- descriptions
+</PRE><H3><a name="h3-Binary-Compatibility">Binary Compatibility</a></H3><PRE>
+ It is not wise to count on portability of binary terminfo entries
+ between commercial UNIX versions. The problem is that there are at
+ least two versions of terminfo (under HP-UX and AIX) which diverged
+ from System V terminfo after SVr1, and have added extension capabili-
+ ties to the string table that (in the binary format) collide with Sys-
+ tem V and XSI Curses extensions.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
- <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>.
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+ Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and TER-
+ MINFO_DIRS is not supported by older implementations.
+ Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to SVr4, do not
+ interpret the %A and %O operators in parameter strings.
-</PRE>
-<H2>AUTHORS</H2><PRE>
- Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
- Based on pcurses by Pavel Curtis.
+ SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement while in an
+ alternate-character-set mode (such modes may, among other things, map
+ CR and NL to characters that do not trigger local motions). The
+ <STRONG>ncurses</STRONG> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises
+ the possibility that an XPG4 implementation making the opposite inter-
+ pretation may need terminfo entries made for <STRONG>ncurses</STRONG> to have <STRONG>msgr</STRONG>
+ turned off.
+
+ The <STRONG>ncurses</STRONG> library handles insert-character and insert-character modes
+ in a slightly non-standard way to get better update efficiency. See
+ the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG> subsection above.
+
+ The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not
+ documented in SVr4 or the XSI Curses standard. They are deduced from
+ the documentation for the AT&amp;T 505 terminal.
+
+ Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG> library wants
+ to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like
+ xterm that can return mouse-tracking information in the keyboard-input
+ stream.
+
+ X/Open Curses does not mention italics. Portable applications must
+ assume that numeric capabilities are signed 16-bit values. This
+ includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (ncv) capability. The 32768 mask value
+ used for italics with ncv can be confused with an absent or cancelled
+ ncv. If italics should work with colors, then the ncv value must be
+ specified, even if it is zero.
+
+ Different commercial ports of terminfo and curses support different
+ subsets of the XSI Curses standard and (in some cases) different exten-
+ sion sets. Here is a summary, accurate as of October 1995:
+
+ <STRONG>o</STRONG> <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capabilities.
+
+ <STRONG>o</STRONG> <STRONG>SGI</STRONG> -- Supports the SVr4 set, adds one undocumented extended string
+ capability (<STRONG>set_pglen</STRONG>).
+
+ <STRONG>o</STRONG> <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of terminfo capa-
+ bilities. The booleans end with <STRONG>xon_xoff</STRONG>; the numerics with
+ <STRONG>width_status_line</STRONG>; and the strings with <STRONG>prtr_non</STRONG>.
+
+ <STRONG>o</STRONG> <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234] numerics
+ <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus function keys 11
+ through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus some
+ incompatible extensions in the string table.
+
+ <STRONG>o</STRONG> <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11 through 63,
+ plus a number of incompatible string table extensions.
+
+ <STRONG>o</STRONG> <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ /usr/share/terminfo/?/* files containing terminal descriptions
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG>curs_vari-</STRONG>
+ <STRONG><A HREF="curs_variables.3x.html">ables(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on pcurses
+ by Pavel Curtis.
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></li>
+<li><a href="#h3-Terminfo-Capabilities-Syntax">Terminfo Capabilities Syntax</a></li>
+<li><a href="#h3-Similar-Terminals">Similar Terminals</a></li>
+<li><a href="#h3-Predefined-Capabilities">Predefined Capabilities</a></li>
+<li><a href="#h3-User-Defined-Capabilities">User-Defined Capabilities</a></li>
+<li><a href="#h3-A-Sample-Entry">A Sample Entry</a></li>
+<li><a href="#h3-Types-of-Capabilities">Types of Capabilities</a></li>
+<li><a href="#h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></li>
+<li><a href="#h3-Preparing-Descriptions">Preparing Descriptions</a></li>
+<li><a href="#h3-Basic-Capabilities">Basic Capabilities</a></li>
+<li><a href="#h3-Parameterized-Strings">Parameterized Strings</a></li>
+<li><a href="#h3-Cursor-Motions">Cursor Motions</a></li>
+<li><a href="#h3-Area-Clears">Area Clears</a></li>
+<li><a href="#h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></li>
+<li><a href="#h3-Insert_Delete-Character">Insert/Delete Character</a></li>
+<li><a href="#h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></li>
+<li><a href="#h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></li>
+<li><a href="#h3-Tabs-and-Initialization">Tabs and Initialization</a></li>
+<li><a href="#h3-Delays-and-Padding">Delays and Padding</a></li>
+<li><a href="#h3-Status-Lines">Status Lines</a></li>
+<li><a href="#h3-Line-Graphics">Line Graphics</a></li>
+<li><a href="#h3-Color-Handling">Color Handling</a></li>
+<li><a href="#h3-Miscellaneous">Miscellaneous</a></li>
+<li><a href="#h3-Glitches-and-Braindamage">Glitches and Braindamage</a></li>
+<li><a href="#h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></li>
+<li><a href="#h3-Binary-Compatibility">Binary Compatibility</a></li>
+</ul>
+</li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/tic.1m.html b/doc/html/man/tic.1m.html
index 1d2085fba86d..e4a646e2c356 100644
--- a/doc/html/man/tic.1m.html
+++ b/doc/html/man/tic.1m.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,230 +26,245 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tic.1m,v 1.58 2013/07/20 19:31:25 tom Exp @
+ * @Id: tic.1m,v 1.76 2019/11/30 20:51:55 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>tic 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>tic 1m</H1>
-<HR>
+<H1 class="no-header">tic 1m</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>tic</STRONG> - the <EM>terminfo</EM> entry-description compiler
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>tic</STRONG> [<STRONG>-01CDGIKLNTUVacfgrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-R</STRONG> <EM>sub-</EM>
- <EM>set</EM>] [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>tic</STRONG> [<STRONG>-01CDGIKLNTUVWacfgqrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-Q</STRONG>[<EM>n</EM>]] [<STRONG>-R</STRONG> <EM>subset</EM>]
+ [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>tic</STRONG> command translates a <STRONG>terminfo</STRONG> file from source
- format into compiled format. The compiled format is nec-
- essary for use with the library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
-
- As described in <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, the database may be either a
- directory tree (one file per terminal entry) or a hashed
- database (one record per entry). The <STRONG>tic</STRONG> command writes
- only one type of entry, depending on how it was built:
-
- <STRONG>o</STRONG> For directory trees, the top-level directory, e.g.,
- /usr/share/terminfo, specifies the location of the
- database.
-
- <STRONG>o</STRONG> For hashed databases, a filename is needed. If the
- given file is not found by that name, but can be found
- by adding the suffix ".db", then that is used.
-
- The default name for the hashed database is the same
- as the default directory name (only adding a ".db"
- suffix).
-
- In either case (directory or hashed database), <STRONG>tic</STRONG> will
- create the container if it does not exist. For a direc-
- tory, this would be the "terminfo" leaf, versus a "ter-
- minfo.db" file.
-
- The results are normally placed in the system terminfo
- database <STRONG>/usr/share/terminfo</STRONG>. The compiled terminal
- description can be placed in a different terminfo data-
- base. There are two ways to achieve this:
-
- <STRONG>o</STRONG> First, you may override the system default either by
- using the <STRONG>-o</STRONG> option, or by setting the variable <STRONG>TER-</STRONG>
- <STRONG>MINFO</STRONG> in your shell environment to a valid database
- location.
-
- <STRONG>o</STRONG> Secondly, if <STRONG>tic</STRONG> cannot write in <EM>/usr/share/terminfo</EM>
- or the location specified using your TERMINFO vari-
- able, it looks for the directory <EM>$HOME/.terminfo</EM> (or
- hashed database <EM>$HOME/.terminfo.db)</EM>; if that location
- exists, the entry is placed there.
-
- Libraries that read terminfo entries are expected to check
- in succession
-
- <STRONG>o</STRONG> a location specified with the TERMINFO environment
- variable,
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>tic</STRONG> command translates a <STRONG>terminfo</STRONG> file from source format into com-
+ piled format. The compiled format is necessary for use with the
+ library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+ As described in <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, the database may be either a directory tree
+ (one file per terminal entry) or a hashed database (one record per
+ entry). The <STRONG>tic</STRONG> command writes only one type of entry, depending on
+ how it was built:
+
+ <STRONG>o</STRONG> For directory trees, the top-level directory, e.g., /usr/share/ter-
+ minfo, specifies the location of the database.
+
+ <STRONG>o</STRONG> For hashed databases, a filename is needed. If the given file is
+ not found by that name, but can be found by adding the suffix
+ ".db", then that is used.
+
+ The default name for the hashed database is the same as the default
+ directory name (only adding a ".db" suffix).
+
+ In either case (directory or hashed database), <STRONG>tic</STRONG> will create the con-
+ tainer if it does not exist. For a directory, this would be the "ter-
+ minfo" leaf, versus a "terminfo.db" file.
+
+ The results are normally placed in the system terminfo database
+ <STRONG>/usr/share/terminfo</STRONG>. The compiled terminal description can be placed
+ in a different terminfo database. There are two ways to achieve this:
+
+ <STRONG>o</STRONG> First, you may override the system default either by using the <STRONG>-o</STRONG>
+ option, or by setting the variable <STRONG>TERMINFO</STRONG> in your shell environ-
+ ment to a valid database location.
+
+ <STRONG>o</STRONG> Secondly, if <STRONG>tic</STRONG> cannot write in <EM>/usr/share/terminfo</EM> or the loca-
+ tion specified using your TERMINFO variable, it looks for the
+ directory <EM>$HOME/.terminfo</EM> (or hashed database <EM>$HOME/.terminfo.db)</EM>;
+ if that location exists, the entry is placed there.
+
+ Libraries that read terminfo entries are expected to check in succes-
+ sion
+
+ <STRONG>o</STRONG> a location specified with the TERMINFO environment variable,
<STRONG>o</STRONG> <EM>$HOME/.terminfo</EM>,
- <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environment
- variable,
+ <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environment variable,
- <STRONG>o</STRONG> a compiled-in list of directories
- (/usr/local/ncurses/share/terminfo:/usr/share/ter-
- minfo), and
+ <STRONG>o</STRONG> a compiled-in list of directories (/usr/local/ncurses/share/ter-
+ minfo:/usr/share/terminfo), and
<STRONG>o</STRONG> the system terminfo database (<EM>/usr/share/terminfo</EM>).
- <STRONG>OPTIONS</STRONG>
+
+</PRE><H3><a name="h3-ALIASES">ALIASES</a></H3><PRE>
+ This is the same program as infotocap and captoinfo; usually those are
+ linked to, or copied from this program:
+
+ <STRONG>o</STRONG> When invoked as infotocap, tic sets the <STRONG>-I</STRONG> option.
+
+ <STRONG>o</STRONG> When invoked as captoinfo, tic sets the <STRONG>-C</STRONG> option.
+
+
+</PRE><H3><a name="h3-OPTIONS">OPTIONS</a></H3><PRE>
<STRONG>-0</STRONG> restricts the output to a single line
<STRONG>-1</STRONG> restricts the output to a single column
- <STRONG>-a</STRONG> tells <STRONG>tic</STRONG> to retain commented-out capabilities
- rather than discarding them. Capabilities are com-
- mented by prefixing them with a period. This sets
- the <STRONG>-x</STRONG> option, because it treats the commented-out
- entries as user-defined names. If the source is
- termcap, accept the 2-character names required by
- version 6. Otherwise these are ignored.
-
- <STRONG>-C</STRONG> Force source translation to termcap format. Note:
- this differs from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in
- that it does not merely translate capability names,
- but also translates terminfo strings to termcap
- format. Capabilities that are not translatable are
- left in the entry under their terminfo names but
- commented out with two preceding dots. The actual
- format used incorporates some improvements for
- escaped characters from terminfo format. For a
- stricter BSD-compatible translation, add the <STRONG>-K</STRONG>
- option.
-
- <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including
- syntax problems and bad use links. If you specify
- <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this option, the code will print warn-
- ings about entries which, after use resolution, are
- more than 1023 (4096) bytes long. Due to a fixed
- buffer length in older termcap libraries, as well
- as buggy checking for the buffer length (and a doc-
- umented limit in terminfo), these entries may cause
- core dumps with other implementations.
-
- <STRONG>-D</STRONG> tells <STRONG>tic</STRONG> to print the database locations that it
- knows about, and exit. The first location shown is
- the one to which it would write compiled terminal
- descriptions. If <STRONG>tic</STRONG> is not able to find a
- writable database location according to the rules
- summarized above, it will print a diagnostic and
- exit with an error rather than printing a list of
- database locations.
+ <STRONG>-a</STRONG> tells <STRONG>tic</STRONG> to retain commented-out capabilities rather than dis-
+ carding them. Capabilities are commented by prefixing them with
+ a period. This sets the <STRONG>-x</STRONG> option, because it treats the com-
+ mented-out entries as user-defined names. If the source is
+ termcap, accept the 2-character names required by version 6.
+ Otherwise these are ignored.
+
+ <STRONG>-C</STRONG> Force source translation to termcap format. Note: this differs
+ from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in that it does not merely
+ translate capability names, but also translates terminfo strings
+ to termcap format. Capabilities that are not translatable are
+ left in the entry under their terminfo names but commented out
+ with two preceding dots. The actual format used incorporates
+ some improvements for escaped characters from terminfo format.
+ For a stricter BSD-compatible translation, add the <STRONG>-K</STRONG> option.
+
+ If this is combined with <STRONG>-c</STRONG>, <STRONG>tic</STRONG> makes additional checks to
+ report cases where the terminfo values do not have an exact
+ equivalent in termcap form. For example:
+
+ <STRONG>o</STRONG> <STRONG>sgr</STRONG> usually will not convert, because termcap lacks the
+ ability to work with more than two parameters, and because
+ termcap lacks many of the arithmetic/logical operators used
+ in terminfo.
+
+ <STRONG>o</STRONG> capabilities with more than one delay or with delays before
+ the end of the string will not convert completely.
+
+ <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including syntax prob-
+ lems and bad use-links. If you specify <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this
+ option, the code will print warnings about entries which, after
+ use resolution, are more than 1023 (4096) bytes long. Due to a
+ fixed buffer length in older termcap libraries, as well as buggy
+ checking for the buffer length (and a documented limit in ter-
+ minfo), these entries may cause core dumps with other implemen-
+ tations.
+
+ <STRONG>tic</STRONG> checks string capabilities to ensure that those with parame-
+ ters will be valid expressions. It does this check only for the
+ predefined string capabilities; those which are defined with the
+ <STRONG>-x</STRONG> option are ignored.
+
+ <STRONG>-D</STRONG> tells <STRONG>tic</STRONG> to print the database locations that it knows about,
+ and exit. The first location shown is the one to which it would
+ write compiled terminal descriptions. If <STRONG>tic</STRONG> is not able to
+ find a writable database location according to the rules summa-
+ rized above, it will print a diagnostic and exit with an error
+ rather than printing a list of database locations.
<STRONG>-e</STRONG> <EM>names</EM>
- Limit writes and translations to the following
- comma-separated list of terminals. If any name or
- alias of a terminal matches one of the names in the
- list, the entry will be written or translated as
- normal. Otherwise no output will be generated for
- it. The option value is interpreted as a file con-
- taining the list if it contains a '/'. (Note:
- depending on how tic was compiled, this option may
- require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
-
- <STRONG>-f</STRONG> Display complex terminfo strings which contain
- if/then/else/endif expressions indented for read-
- ability.
-
- <STRONG>-G</STRONG> Display constant literals in decimal form rather
- than their character equivalents.
-
- <STRONG>-g</STRONG> Display constant character literals in quoted form
- rather than their decimal equivalents.
+ Limit writes and translations to the following comma-separated
+ list of terminals. If any name or alias of a terminal matches
+ one of the names in the list, the entry will be written or
+ translated as normal. Otherwise no output will be generated for
+ it. The option value is interpreted as a file containing the
+ list if it contains a '/'. (Note: depending on how tic was com-
+ piled, this option may require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
+
+ <STRONG>-f</STRONG> Display complex terminfo strings which contain
+ if/then/else/endif expressions indented for readability.
+
+ <STRONG>-G</STRONG> Display constant literals in decimal form rather than their
+ character equivalents.
+
+ <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
+ their decimal equivalents.
<STRONG>-I</STRONG> Force source translation to terminfo format.
- <STRONG>-K</STRONG> Suppress some longstanding ncurses extensions to
- termcap format, e.g., "\s" for space.
-
- <STRONG>-L</STRONG> Force source translation to terminfo format using
- the long C variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
-
- <STRONG>-N</STRONG> Disable smart defaults. Normally, when translating
- from termcap to terminfo, the compiler makes a num-
- ber of assumptions about the defaults of string
- capabilities <STRONG>reset1_string</STRONG>, <STRONG>carriage_return</STRONG>, <STRONG>cur-</STRONG>
- <STRONG>sor_left</STRONG>, <STRONG>cursor_down</STRONG>, <STRONG>scroll_forward</STRONG>, <STRONG>tab</STRONG>, <STRONG>new-</STRONG>
- <STRONG>line</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then
- attempts to use obsolete termcap capabilities to
- deduce correct values. It also normally suppresses
- output of obsolete termcap capabilities such as <STRONG>bs</STRONG>.
- This option forces a more literal translation that
+ <STRONG>-K</STRONG> Suppress some longstanding ncurses extensions to termcap format,
+ e.g., "\s" for space.
+
+ <STRONG>-L</STRONG> Force source translation to terminfo format using the long C
+ variable names listed in &lt;<STRONG>term.h</STRONG>&gt;
+
+ <STRONG>-N</STRONG> Disable smart defaults. Normally, when translating from termcap
+ to terminfo, the compiler makes a number of assumptions about
+ the defaults of string capabilities <STRONG>reset1_string</STRONG>, <STRONG>car-</STRONG>
+ <STRONG>riage_return</STRONG>, <STRONG>cursor_left</STRONG>, <STRONG>cursor_down</STRONG>, <STRONG>scroll_forward</STRONG>, <STRONG>tab</STRONG>,
+ <STRONG>newline</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then attempts to
+ use obsolete termcap capabilities to deduce correct values. It
+ also normally suppresses output of obsolete termcap capabilities
+ such as <STRONG>bs</STRONG>. This option forces a more literal translation that
also preserves the obsolete capabilities.
- <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given database location.
- Overrides the TERMINFO environment variable.
+ <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given database location. Overrides
+ the TERMINFO environment variable.
+
+ <STRONG>-Q</STRONG><EM>n</EM> Rather than show source in terminfo (text) format, print the
+ compiled (binary) format in hexadecimal or base64 form, depend-
+ ing on the option's value:
+
+ 1 hexadecimal
+
+ 2 base64
+
+ 3 hexadecimal and base64
+
+ <STRONG>-q</STRONG> Suppress comments and blank lines when showing translated
+ source.
<STRONG>-R</STRONG><EM>subset</EM>
- Restrict output to a given subset. This option is
- for use with archaic versions of terminfo like
- those on SVr1, Ultrix, or HP/UX that do not support
- the full set of SVR4/XSI Curses terminfo; and out-
- right broken ports like AIX 3.x that have their own
- extensions incompatible with SVr4/XSI. Available
- subsets are "SVr1", "Ultrix", "HP", "BSD" and
- "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
-
- <STRONG>-r</STRONG> Force entry resolution (so there are no remaining
- tc capabilities) even when doing translation to
- termcap format. This may be needed if you are pre-
- paring a termcap file for a termcap library (such
- as GNU termcap through version 1.3 or BSD termcap
- through 4.3BSD) that does not handle multiple tc
- capabilities per entry.
-
- <STRONG>-s</STRONG> Summarize the compile by showing the database loca-
- tion into which entries are written, and the number
- of entries which are compiled.
-
- <STRONG>-T</STRONG> eliminates size-restrictions on the generated text.
- This is mainly useful for testing and analysis,
- since the compiled descriptions are limited (e.g.,
- 1023 for termcap, 4096 for terminfo).
-
- <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities.
- Normally when translating from terminfo to termcap,
- untranslatable capabilities are commented-out.
-
- <STRONG>-U</STRONG> tells <STRONG>tic</STRONG> to not post-process the data after parsing
- the source file. Normally, it infers data which is
- commonly missing in older terminfo data, or in term-
- caps.
-
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this
- program, and exits.
-
- <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to stan-
- dard error trace information showing <STRONG>tic</STRONG>'s progress.
- The optional parameter <EM>n</EM> is a number from 1 to 10,
- inclusive, indicating the desired level of detail of
- information. If <EM>n</EM> is omitted, the default level is
- 1. If <EM>n</EM> is specified and greater than 1, the level
- of detail is increased.
+ Restrict output to a given subset. This option is for use with
+ archaic versions of terminfo like those on SVr1, Ultrix, or
+ HP/UX that do not support the full set of SVR4/XSI Curses ter-
+ minfo; and outright broken ports like AIX 3.x that have their
+ own extensions incompatible with SVr4/XSI. Available subsets
+ are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for
+ details.
+
+ <STRONG>-r</STRONG> Force entry resolution (so there are no remaining tc capabili-
+ ties) even when doing translation to termcap format. This may
+ be needed if you are preparing a termcap file for a termcap
+ library (such as GNU termcap through version 1.3 or BSD termcap
+ through 4.3BSD) that does not handle multiple tc capabilities
+ per entry.
+
+ <STRONG>-s</STRONG> Summarize the compile by showing the database location into
+ which entries are written, and the number of entries which are
+ compiled.
+
+ <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is
+ mainly useful for testing and analysis, since the compiled
+ descriptions are limited (e.g., 1023 for termcap, 4096 for ter-
+ minfo).
+
+ <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when
+ translating from terminfo to termcap, untranslatable capabili-
+ ties are commented-out.
+
+ <STRONG>-U</STRONG> tells <STRONG>tic</STRONG> to not post-process the data after parsing the source
+ file. Normally, it infers data which is commonly missing in older
+ terminfo data, or in termcaps.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ exits.
+
+ <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to standard error trace
+ information showing <STRONG>tic</STRONG>'s progress.
+
+ The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive,
+ indicating the desired level of detail of information. If ncurses
+ is built without tracing support, the optional parameter is
+ ignored. If <EM>n</EM> is omitted, the default level is 1. If <EM>n</EM> is speci-
+ fied and greater than 1, the level of detail is increased.
The debug flag levels are as follows:
@@ -266,124 +280,220 @@
8 List of tokens encountered by scanner
- 9 All values computed in construction of the
- hash table
-
- If the debug level <EM>n</EM> is not given, it is taken to be
- one.
-
- <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is
- optional. If it is omitted, it defaults to 60.
-
- <STRONG>-x</STRONG> Treat unknown capabilities as user-defined. That is,
- if you supply a capability name which <STRONG>tic</STRONG> does not
- recognize, it will infer its type (boolean, number or
- string) from the syntax and make an extended table
- entry for that. User-defined capability strings
- whose name begins with "k" are treated as function
- keys.
-
- <STRONG>PARAMETERS</STRONG>
- <EM>file</EM> contains one or more <STRONG>terminfo</STRONG> terminal descriptions
- in source format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>]. Each descrip-
- tion in the file describes the capabilities of a
- particular terminal.
-
- If <EM>file</EM> is "-", then the data is read from the
- standard input. The <EM>file</EM> parameter may also be the
- path of a character-device.
-
- <STRONG>PROCESSING</STRONG>
- All but one of the capabilities recognized by <STRONG>tic</STRONG> are doc-
- umented in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. The exception is the <STRONG>use</STRONG> capabil-
- ity.
-
- When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal
- entry currently being compiled, <STRONG>tic</STRONG> reads in the binary
- from <STRONG>/usr/share/terminfo</STRONG> to complete the entry. (Entries
- created from <EM>file</EM> will be used first. <STRONG>tic</STRONG> duplicates the
- capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry, with the
- exception of those capabilities that explicitly are
- defined in the current entry.
-
- When an entry, e.g., <STRONG>entry_name_1</STRONG>, contains a
- <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM> field, any canceled capabilities in
- <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG>
- for these capabilities to be canceled in <STRONG>entry_name_1</STRONG>.
-
- Total compiled entries cannot exceed 4096 bytes. The name
- field cannot exceed 512 bytes. Terminal names exceeding
- the maximum alias length (32 characters on systems with
- long filenames, 14 characters otherwise) will be truncated
- to the maximum alias length and a warning message will be
- printed.
+ 9 All values computed in construction of the hash table
+ If the debug level <EM>n</EM> is not given, it is taken to be one.
-</PRE>
-<H2>COMPATIBILITY</H2><PRE>
- There is some evidence that historic <STRONG>tic</STRONG> implementations
- treated description fields with no whitespace in them as
- additional aliases or short names. This <STRONG>tic</STRONG> does not do
- that, but it does warn when description fields may be
- treated that way and check them for dangerous characters.
+ <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
+ wrapped. Use the <STRONG>-W</STRONG> option to do this.
+ If you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options, the latter is ignored when
+ <STRONG>-f</STRONG> has already split the line.
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
- Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can actu-
- ally compile termcap sources. In fact, entries in ter-
- minfo and termcap syntax can be mixed in a single source
- file. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of termcap names taken
- to be equivalent to terminfo names.
-
- The SVr4 manual pages are not clear on the resolution
- rules for <STRONG>use</STRONG> capabilities. This implementation of <STRONG>tic</STRONG>
- will find <STRONG>use</STRONG> targets anywhere in the source file, or any-
- where in the file tree rooted at <STRONG>TERMINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is
- defined), or in the user's <EM>$HOME/.terminfo</EM> database (if it
- exists), or (finally) anywhere in the system's file tree
- of compiled entries.
-
- The error messages from this <STRONG>tic</STRONG> have the same format as
- GNU C error messages, and can be parsed by GNU Emacs's
- compile facility.
-
- The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-C</STRONG>, <STRONG>-G</STRONG>, <STRONG>-I</STRONG>, <STRONG>-N</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>,
- <STRONG>-o</STRONG>, <STRONG>-r</STRONG>, <STRONG>-s</STRONG>, <STRONG>-t</STRONG> and <STRONG>-x</STRONG> options are not supported under
- SVr4. The SVr4 <STRONG>-c</STRONG> mode does not report bad use links.
-
- System V does not compile entries to or read entries from
- your <EM>$HOME/.terminfo</EM> database unless TERMINFO is explic-
- itly set to it.
+ <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is optional. If
+ it is omitted, it defaults to 60.
+ <STRONG>-x</STRONG> Treat unknown capabilities as user-defined (see <STRONG>user_caps(5)</STRONG>).
+ That is, if you supply a capability name which <STRONG>tic</STRONG> does not recog-
+ nize, it will infer its type (boolean, number or string) from the
+ syntax and make an extended table entry for that. User-defined
+ capability strings whose name begins with "k" are treated as func-
+ tion keys.
-</PRE>
-<H2>FILES</H2><PRE>
+
+</PRE><H3><a name="h3-PARAMETERS">PARAMETERS</a></H3><PRE>
+ <EM>file</EM> contains one or more <STRONG>terminfo</STRONG> terminal descriptions in source
+ format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>]. Each description in the file
+ describes the capabilities of a particular terminal.
+
+ If <EM>file</EM> is "-", then the data is read from the standard input.
+ The <EM>file</EM> parameter may also be the path of a character-device.
+
+
+</PRE><H3><a name="h3-PROCESSING">PROCESSING</a></H3><PRE>
+ All but one of the capabilities recognized by <STRONG>tic</STRONG> are documented in
+ <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. The exception is the <STRONG>use</STRONG> capability.
+
+ When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal entry currently
+ being compiled, <STRONG>tic</STRONG> reads in the binary from <STRONG>/usr/share/terminfo</STRONG> to
+ complete the entry. (Entries created from <EM>file</EM> will be used first.
+ <STRONG>tic</STRONG> duplicates the capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry,
+ with the exception of those capabilities that explicitly are defined in
+ the current entry.
+
+ When an entry, e.g., <STRONG>entry_name_1</STRONG>, contains a <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM> field,
+ any canceled capabilities in <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in
+ <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG> for these capabilities to be canceled in
+ <STRONG>entry_name_1</STRONG>.
+
+ Total compiled entries cannot exceed 4096 bytes. The name field cannot
+ exceed 512 bytes. Terminal names exceeding the maximum alias length
+ (32 characters on systems with long filenames, 14 characters otherwise)
+ will be truncated to the maximum alias length and a warning message
+ will be printed.
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ System V Release 2 provided a <STRONG>tic</STRONG> utility. It accepted a single
+ option: <STRONG>-v</STRONG> (optionally followed by a number). According to Ross
+ Ridge's comment in <EM>mytinfo</EM>, this version of <STRONG>tic</STRONG> was unable to represent
+ cancelled capabilities.
+
+ System V Release 3 provided a different <STRONG>tic</STRONG> utility, written by Pavel
+ Curtis, (originally named "compile" in <EM>pcurses</EM>). This added an option
+ <STRONG>-c</STRONG> to check the file for errors, with the caveat that errors in "use="
+ links would not be reported. System V Release 3 documented a few warn-
+ ing messages which did not appear in <EM>pcurses</EM>. While the program itself
+ was changed little as development continued with System V Release 4,
+ the table of capabilities grew from 180 (<EM>pcurses</EM>) to 464 (Solaris).
+
+ In early development of ncurses (1993), Zeyd Ben-Halim used the table
+ from <EM>mytinfo</EM> to extend the <EM>pcurses</EM> table to 469 capabilities (456
+ matched SVr4, 8 were only in SVr4, 13 were not in SVr4). Of those 13,
+ 11 were ultimately discarded (perhaps to match the draft of X/Open
+ Curses). The exceptions were <STRONG>memory_lock_above</STRONG> and <STRONG>memory_unlock</STRONG> (see
+ <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>).
+
+ Eric Raymond incorporated parts of <EM>mytinfo</EM> into ncurses to implement
+ the termcap-to-terminfo source conversion, and extended that to begin
+ development of the corresponding terminfo-to-termcap source conversion,
+ Thomas Dickey completed that development over the course of several
+ years.
+
+ In 1999, Thomas Dickey added the <STRONG>-x</STRONG> option to support user-defined
+ capabilities.
+
+ In 2010, Roy Marples provided a <STRONG>tic</STRONG> program and terminfo library for
+ NetBSD. That implementation adapts several features from ncurses,
+ including <STRONG>tic</STRONG>'s <STRONG>-x</STRONG> option.
+
+ The <STRONG>-c</STRONG> option tells <STRONG>tic</STRONG> to check for problems in the terminfo source
+ file. Continued development provides additional checks:
+
+ <STRONG>o</STRONG> <EM>pcurses</EM> had 8 warnings
+
+ <STRONG>o</STRONG> ncurses in 1996 had 16 warnings
+
+ <STRONG>o</STRONG> Solaris (SVr4) curses has 28 warnings
+
+ <STRONG>o</STRONG> NetBSD tic in 2019 has 19 warnings.
+
+ <STRONG>o</STRONG> ncurses in 2019 has 96 warnings
+
+ The checking done in ncurses' <STRONG>tic</STRONG> helps with the conversion to termcap,
+ as well as pointing out errors and inconsistencies. It is also used to
+ ensure consistency with the user-defined capabilities. There are 527
+ distinct capabilities in ncurses' terminal database; 128 of those are
+ user-defined.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses, Issue 7 (2009) provides a brief description of <STRONG>tic</STRONG>. It
+ lists one option: <STRONG>-c</STRONG>. The omission of <STRONG>-v</STRONG> is unexpected. The change
+ history states that the description is derived from True64 UNIX.
+ According to its manual pages, that system also supported the <STRONG>-v</STRONG>
+ option.
+
+ Shortly after Issue 7 was released, Tru64 was discontinued. As of
+ 2019, the surviving implementations of <STRONG>tic</STRONG> are SVr4 (AIX, HP-UX and
+ Solaris), ncurses and NetBSD curses. The SVr4 <STRONG>tic</STRONG> programs all support
+ the <STRONG>-v</STRONG> option. The NetBSD <STRONG>tic</STRONG> program follows X/Open's documentation,
+ omitting the <STRONG>-v</STRONG> option.
+
+ The X/Open rationale states that some implementations of <STRONG>tic</STRONG> read ter-
+ minal descriptions from the standard input if the <EM>file</EM> parameter is
+ omitted. None of these implementations do that. Further, it comments
+ that some may choose to read from "./terminfo.src" but that is obsoles-
+ cent behavior from SVr2, and is not (for example) a documented feature
+ of SVr3.
+
+
+</PRE><H3><a name="h3-COMPATIBILITY">COMPATIBILITY</a></H3><PRE>
+ There is some evidence that historic <STRONG>tic</STRONG> implementations treated
+ description fields with no whitespace in them as additional aliases or
+ short names. This <STRONG>tic</STRONG> does not do that, but it does warn when descrip-
+ tion fields may be treated that way and check them for dangerous char-
+ acters.
+
+
+</PRE><H3><a name="h3-EXTENSIONS">EXTENSIONS</a></H3><PRE>
+ Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can actually compile
+ termcap sources. In fact, entries in terminfo and termcap syntax can
+ be mixed in a single source file. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of
+ termcap names taken to be equivalent to terminfo names.
+
+ The SVr4 manual pages are not clear on the resolution rules for <STRONG>use</STRONG>
+ capabilities. This implementation of <STRONG>tic</STRONG> will find <STRONG>use</STRONG> targets any-
+ where in the source file, or anywhere in the file tree rooted at <STRONG>TER-</STRONG>
+ <STRONG>MINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is defined), or in the user's <EM>$HOME/.terminfo</EM> data-
+ base (if it exists), or (finally) anywhere in the system's file tree of
+ compiled entries.
+
+ The error messages from this <STRONG>tic</STRONG> have the same format as GNU C error
+ messages, and can be parsed by GNU Emacs's compile facility.
+
+ Aside from <STRONG>-c</STRONG> and <STRONG>-v</STRONG>, options are not portable:
+
+ <STRONG>o</STRONG> Most of tic's options are not supported by SVr4 <STRONG>tic</STRONG>:
+
+ <STRONG>-0</STRONG> <STRONG>-1</STRONG> <STRONG>-C</STRONG> <STRONG>-G</STRONG> <STRONG>-I</STRONG> <STRONG>-N</STRONG> <STRONG>-R</STRONG> <STRONG>-T</STRONG> <STRONG>-V</STRONG> <STRONG>-a</STRONG> <STRONG>-e</STRONG> <STRONG>-f</STRONG> <STRONG>-g</STRONG> <STRONG>-o</STRONG> <STRONG>-r</STRONG> <STRONG>-s</STRONG> <STRONG>-t</STRONG> <STRONG>-x</STRONG>
+
+ <STRONG>o</STRONG> The NetBSD <STRONG>tic</STRONG> supports a few of the ncurses options
+
+ <STRONG>-a</STRONG> <STRONG>-o</STRONG> <STRONG>-x</STRONG>
+
+ and adds <STRONG>-S</STRONG> (a feature which does the same thing as infocmp's <STRONG>-e</STRONG>
+ and <STRONG>-E</STRONG> options).
+
+ The SVr4 <STRONG>-c</STRONG> mode does not report bad "use=" links.
+
+ System V does not compile entries to or read entries from your
+ <EM>$HOME/.terminfo</EM> database unless TERMINFO is explicitly set to it.
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
<STRONG>/usr/share/terminfo/?/*</STRONG>
Compiled terminal description database.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>,
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
+ <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
-</PRE>
-<H2>AUTHOR</H2><PRE>
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Eric S. Raymond &lt;esr@snark.thyrsus.com&gt; and
Thomas E. Dickey &lt;dickey@invisible-island.net&gt;
- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-ALIASES">ALIASES</a></li>
+<li><a href="#h3-OPTIONS">OPTIONS</a></li>
+<li><a href="#h3-PARAMETERS">PARAMETERS</a></li>
+<li><a href="#h3-PROCESSING">PROCESSING</a></li>
+</ul>
+</li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-COMPATIBILITY">COMPATIBILITY</a></li>
+<li><a href="#h3-EXTENSIONS">EXTENSIONS</a></li>
+</ul>
+</li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html
index 6eb523cce2bd..13ddb2762929 100644
--- a/doc/html/man/toe.1m.html
+++ b/doc/html/man/toe.1m.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,108 +26,166 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: toe.1m,v 1.26 2012/01/01 00:40:51 tom Exp @
+ * @Id: toe.1m,v 1.31 2019/07/20 19:06:44 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>toe 1m</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>toe 1m</H1>
-<HR>
+<H1 class="no-header">toe 1m</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>toe</STRONG> - table of (terminfo) entries
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>toe</STRONG> [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-ahsuUV</STRONG>] <EM>file...</EM>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- With no options, <STRONG>toe</STRONG> lists all available terminal types by
- primary name with descriptions. File arguments specify
- the directories to be scanned; if no such arguments are
- given, your default terminfo directory is scanned. If you
- also specify the <STRONG>-h</STRONG> option, a directory header will be
- issued as each directory is entered.
-
- There are other options intended for use by terminfo file
- maintainers:
-
- <STRONG>-a</STRONG> report on all of the terminal databases which
- ncurses would search, rather than only the first
- one that it finds.
-
- If the <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> adds a column to the
- report, showing (like <STRONG>conflict(1)</STRONG>) which entries
- which belong to a given terminal database. An "*"
- marks entries which differ, and "+" marks equiva-
- lent entries.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ With no options, <STRONG>toe</STRONG> lists all available terminal types by primary name
+ with descriptions. File arguments specify the directories to be
+ scanned; if no such arguments are given, your default terminfo direc-
+ tory is scanned. If you also specify the <STRONG>-h</STRONG> option, a directory header
+ will be issued as each directory is entered.
+
+ There are other options intended for use by terminfo file maintainers:
+
+ <STRONG>-a</STRONG> report on all of the terminal databases which ncurses would
+ search, rather than only the first one that it finds.
+
+ If the <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> adds a column to the report, show-
+ ing (like <STRONG>conflict(1)</STRONG>) which entries which belong to a given
+ terminal database. An "*" marks entries which differ, and "+"
+ marks equivalent entries.
+
+ Without the <STRONG>-s</STRONG> option, <STRONG>toe</STRONG> does not attempt to merge duplicates
+ in its report
<STRONG>-s</STRONG> sort the output by the entry names.
<STRONG>-u</STRONG> <EM>file</EM>
- says to write a report to the standard output,
- listing dependencies in the given terminfo/termcap
- source file. The report condenses the `use' rela-
- tion: each line consists of the primary name of a
- terminal that has use capabilities, followed by a
- colon, followed by the whitespace-separated primary
- names of all terminals which occur in those use
- capabilities, followed by a newline
+ says to write a report to the standard output, listing dependen-
+ cies in the given terminfo/termcap source file. The report con-
+ denses the "use" relation: each line consists of the primary
+ name of a terminal that has use capabilities, followed by a
+ colon, followed by the whitespace-separated primary names of all
+ terminals which occur in those use capabilities, followed by a
+ newline
<STRONG>-U</STRONG> <EM>file</EM>
- says to write a report to the standard output,
- listing reverse dependencies in the given ter-
- minfo/termcap source file. The report reverses the
- `use' relation: each line consists of the primary
- name of a terminal that occurs in use capabilities,
- followed by a colon, followed by the whitespace-
- separated primary names of all terminals which
- depend on it, followed by a newline.
+ says to write a report to the standard output, listing reverse
+ dependencies in the given terminfo/termcap source file. The
+ report reverses the "use" relation: each line consists of the
+ primary name of a terminal that occurs in use capabilities, fol-
+ lowed by a colon, followed by the whitespace-separated primary
+ names of all terminals which depend on it, followed by a new-
+ line.
+
+ <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to standard error,
+ showing <STRONG>toe</STRONG>'s progress.
+
+ The optional parameter <EM>n</EM> is a number from 1 to 10, interpreted
+ as for <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>. If ncurses is built without tracing support,
+ the optional parameter is ignored.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program,
+ and exits.
+
+
+</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
+ Without sorting, the <STRONG>-a</STRONG> option reports all of the names found in all of
+ the terminal databases found by the <STRONG>TERMINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG> environ-
+ ment variables:
+
+ MtxOrb162 16x2 Matrix Orbital LCD display
+ MtxOrb204 20x4 Matrix Orbital LCD display
+ MtxOrb Generic Matrix Orbital LCD display
+ qvt101+ qume qvt 101 PLUS product
+ qvt119+-25 QVT 119 PLUS with 25 data lines
+ qansi-g QNX ANSI
+ qvt103 qume qvt 103
+ qnxw QNX4 windows
+ qansi-w QNX ansi for windows
+ qnxm QNX4 with mouse events
+ qvt203-25-w QVT 203 PLUS with 25 by 132 columns
+ qansi-t QNX ansi without console writes
+ . . .
+
+ Use the <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options together to show where each terminal descrip-
+ tion was found:
+
+ --&gt; /usr/local/ncurses/share/terminfo
+ ----&gt; /usr/share/terminfo
+ *-+-: 9term Plan9 terminal emulator for X
+ *---: Eterm Eterm with xterm-style color support (X Window System)
+ *-*-: Eterm-256color Eterm with xterm 256-colors
+ *-*-: Eterm-88color Eterm with 88 colors
+ *-+-: MtxOrb Generic Matrix Orbital LCD display
+ *-+-: MtxOrb162 16x2 Matrix Orbital LCD display
+ *-+-: MtxOrb204 20x4 Matrix Orbital LCD display
+ *-*-: NCR260VT300WPP NCR 2900_260 vt300 wide mode pc+ kybd
+ *-+-: aaa ann arbor ambassador/30 lines
+ *-+-: aaa+dec ann arbor ambassador in dec vt100 mode
+ *-+-: aaa+rv ann arbor ambassador in reverse video
+ . . .
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+ <STRONG>/usr/share/terminfo/?/*</STRONG>
+ Compiled terminal description database.
- <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to stan-
- dard error, showing <STRONG>toe</STRONG>'s progress. The optional
- parameter <EM>n</EM> is a number from 1 to 10, interpreted
- as for <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in
- this program, and exits.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ This utility is not provided by other implementations. There is no
+ relevant X/Open or POSIX standard for <STRONG>toe</STRONG>.
+ The program name refers to a developer's pun:
-</PRE>
-<H2>FILES</H2><PRE>
- <STRONG>/usr/share/terminfo/?/*</STRONG>
- Compiled terminal description database.
+ <STRONG>o</STRONG> <STRONG>tic</STRONG>,
+ <STRONG>o</STRONG> <STRONG>tac</STRONG> (now <STRONG>tack</STRONG>),
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ <STRONG>o</STRONG> <STRONG>toe</STRONG>.
+
+ It replaced a <STRONG>-T</STRONG> option which was briefly supported by the ncurses
+ <STRONG>infocmp</STRONG> utility in 1995.
+
+ The <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options were added to <STRONG>toe</STRONG> several years later (2006 and
+ 2011, respectively).
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>ter-</STRONG>
+ <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+ <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html
index 0f4bc64493d1..88b3f13ae943 100644
--- a/doc/html/man/tput.1.html
+++ b/doc/html/man/tput.1.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
* t
****************************************************************************
- * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,33 +27,32 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tput.1,v 1.32 2012/07/14 21:06:45 tom Exp @
+ * @Id: tput.1,v 1.62 2018/09/30 20:31:59 Sven.Joachim Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>tput 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>tput 1</H1>
-<HR>
+<H1 class="no-header">tput 1</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
- <STRONG>tput</STRONG>, <STRONG>reset</STRONG> - initialize a terminal or query terminfo
- database
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>tput</STRONG>, <STRONG>reset</STRONG> - initialize a terminal or query terminfo database
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <EM>capname</EM> [<EM>parms</EM> ... ]
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <EM>capname</EM> [<EM>parameters</EM>]
+ <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] [<STRONG>-x</STRONG>] <STRONG>clear</STRONG>
<STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>init</STRONG>
<STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>reset</STRONG>
<STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>longname</STRONG>
@@ -62,137 +60,230 @@
<STRONG>tput</STRONG> <STRONG>-V</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- The <STRONG>tput</STRONG> utility uses the <STRONG>terminfo</STRONG> database to make the
- values of terminal-dependent capabilities and information
- available to the shell (see <STRONG>sh(1)</STRONG>), to initialize or reset
- the terminal, or return the long name of the requested
- terminal type. The result depends upon the capability's
- type:
-
- string
- <STRONG>tput</STRONG> writes the string to the standard output.
- No trailing newline is supplied.
-
- integer
- <STRONG>tput</STRONG> writes the decimal value to the standard
- output, with a trailing newline.
-
- boolean
- <STRONG>tput</STRONG> simply sets the exit code (<STRONG>0</STRONG> for TRUE if
- the terminal has the capability, <STRONG>1</STRONG> for FALSE
- if it does not), and writes nothing to the
- standard output.
-
- Before using a value returned on the standard output, the
- application should test the exit code (e.g., <STRONG>$?</STRONG>, see
- <STRONG>sh(1)</STRONG>) to be sure it is <STRONG>0</STRONG>. (See the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> and <STRONG>DIAG-</STRONG>
- <STRONG>NOSTICS</STRONG> sections.) For a complete list of capabilities
- and the <EM>capname</EM> associated with each, see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
-
- <STRONG>-T</STRONG><EM>type</EM> indicates the <EM>type</EM> of terminal. Normally this
- option is unnecessary, because the default is taken
- from the environment variable <STRONG>TERM</STRONG>. If <STRONG>-T</STRONG> is spec-
- ified, then the shell variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG>
- will also be ignored.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ The <STRONG>tput</STRONG> utility uses the <STRONG>terminfo</STRONG> database to make the values of ter-
+ minal-dependent capabilities and information available to the shell
+ (see <STRONG>sh(1)</STRONG>), to initialize or reset the terminal, or return the long
+ name of the requested terminal type. The result depends upon the capa-
+ bility's type:
+
+ string
+ <STRONG>tput</STRONG> writes the string to the standard output. No trailing
+ newline is supplied.
+
+ integer
+ <STRONG>tput</STRONG> writes the decimal value to the standard output, with a
+ trailing newline.
+
+ boolean
+ <STRONG>tput</STRONG> simply sets the exit code (<STRONG>0</STRONG> for TRUE if the terminal has
+ the capability, <STRONG>1</STRONG> for FALSE if it does not), and writes nothing
+ to the standard output.
+
+ Before using a value returned on the standard output, the application
+ should test the exit code (e.g., <STRONG>$?</STRONG>, see <STRONG>sh(1)</STRONG>) to be sure it is <STRONG>0</STRONG>.
+ (See the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> and <STRONG>DIAGNOSTICS</STRONG> sections.) For a complete list of
+ capabilities and the <EM>capname</EM> associated with each, see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-Options">Options</a></H3><PRE>
+ <STRONG>-S</STRONG> allows more than one capability per invocation of <STRONG>tput</STRONG>. The
+ capabilities must be passed to <STRONG>tput</STRONG> from the standard input
+ instead of from the command line (see example). Only one <EM>cap-</EM>
+ <EM>name</EM> is allowed per line. The <STRONG>-S</STRONG> option changes the meaning of
+ the <STRONG>0</STRONG> and <STRONG>1</STRONG> boolean and string exit codes (see the EXIT CODES
+ section).
+
+ Because some capabilities may use <EM>string</EM> parameters rather than
+ <EM>numbers</EM>, <STRONG>tput</STRONG> uses a table and the presence of parameters in its
+ input to decide whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>, and how to interpret
+ the parameters.
+
+ <STRONG>-T</STRONG><EM>type</EM> indicates the <EM>type</EM> of terminal. Normally this option is unnec-
+ essary, because the default is taken from the environment vari-
+ able <STRONG>TERM</STRONG>. If <STRONG>-T</STRONG> is specified, then the shell variables <STRONG>LINES</STRONG>
+ and <STRONG>COLUMNS</STRONG> will also be ignored.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program,
+ and exits.
+
+ <STRONG>-x</STRONG> do not attempt to clear the terminal's scrollback buffer using
+ the extended "E3" capability.
+
+
+</PRE><H3><a name="h3-Commands">Commands</a></H3><PRE>
+ A few commands (<STRONG>init</STRONG>, <STRONG>reset</STRONG> and <STRONG>longname</STRONG>) are special; they are defined
+ by the <STRONG>tput</STRONG> program. The others are the names of <EM>capabilities</EM> from the
+ terminal database (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for a list). Although <STRONG>init</STRONG> and
+ <STRONG>reset</STRONG> resemble capability names, <STRONG>tput</STRONG> uses several capabilities to per-
+ form these special functions.
<EM>capname</EM>
- indicates the capability from the <STRONG>terminfo</STRONG> data-
- base. When <STRONG>termcap</STRONG> support is compiled in, the
- <STRONG>termcap</STRONG> name for the capability is also accepted.
+ indicates the capability from the terminal database.
- <EM>parms</EM> If the capability is a string that takes parame-
- ters, the arguments <EM>parms</EM> will be instantiated into
+ If the capability is a string that takes parameters, the argu-
+ ments following the capability will be used as parameters for
the string.
- Most parameters are numbers. Only a few terminfo
- capabilities require string parameters; <STRONG>tput</STRONG> uses a
- table to decide which to pass as strings. Normally
- <STRONG>tput</STRONG> uses <STRONG>tparm</STRONG> (3x) to perform the substitution.
- If no parameters are given for the capability, <STRONG>tput</STRONG>
- writes the string without performing the substitu-
- tion.
-
- <STRONG>-S</STRONG> allows more than one capability per invocation of
- <STRONG>tput</STRONG>. The capabilities must be passed to <STRONG>tput</STRONG> from
- the standard input instead of from the command line
- (see example). Only one <EM>capname</EM> is allowed per
- line. The <STRONG>-S</STRONG> option changes the meaning of the <STRONG>0</STRONG>
- and <STRONG>1</STRONG> boolean and string exit codes (see the EXIT
- CODES section).
-
- Again, <STRONG>tput</STRONG> uses a table and the presence of param-
- eters in its input to decide whether to use <STRONG>tparm</STRONG>
- (3x), and how to interpret the parameters.
-
- <STRONG>-V</STRONG> reports the version of ncurses which was used in
- this program, and exits.
-
- <STRONG>init</STRONG> If the <STRONG>terminfo</STRONG> database is present and an entry
- for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above),
- the following will occur:
-
- (1) if present, the terminal's initialization
- strings will be output as detailed in the
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on <EM>Tabs</EM> <EM>and</EM> <EM>Initializa-</EM>
- <EM>tion</EM>,
-
- (2) any delays (e.g., newline) specified in the
- entry will be set in the tty driver,
-
- (3) tabs expansion will be turned on or off
- according to the specification in the entry,
- and
-
- (4) if tabs are not expanded, standard tabs will
- be set (every 8 spaces).
-
- If an entry does not contain the information needed
- for any of the four above activities, that activity
- will silently be skipped.
-
- <STRONG>reset</STRONG> Instead of putting out initialization strings, the
- terminal's reset strings will be output if present
- (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>). If the reset strings are not
- present, but initialization strings are, the ini-
- tialization strings will be output. Otherwise,
- <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
+ Most parameters are numbers. Only a few terminal capabilities
+ require string parameters; <STRONG>tput</STRONG> uses a table to decide which to
+ pass as strings. Normally <STRONG>tput</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> to perform the
+ substitution. If no parameters are given for the capability,
+ <STRONG>tput</STRONG> writes the string without performing the substitution.
+
+ <STRONG>init</STRONG> If the terminal database is present and an entry for the user's
+ terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above), the following will occur:
+
+ (1) first, <STRONG>tput</STRONG> retrieves the current terminal mode settings
+ for your terminal. It does this by successively testing
+
+ <STRONG>o</STRONG> the standard error,
+
+ <STRONG>o</STRONG> standard output,
+
+ <STRONG>o</STRONG> standard input and
+
+ <STRONG>o</STRONG> ultimately "/dev/tty"
+
+ to obtain terminal settings. Having retrieved these set-
+ tings, <STRONG>tput</STRONG> remembers which file descriptor to use when
+ updating settings.
+
+ (2) if the window size cannot be obtained from the operating
+ system, but the terminal description (or environment, e.g.,
+ <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> variables specify this), update the oper-
+ ating system's notion of the window size.
+
+ (3) the terminal modes will be updated:
+
+ <STRONG>o</STRONG> any delays (e.g., newline) specified in the entry will
+ be set in the tty driver,
+
+ <STRONG>o</STRONG> tabs expansion will be turned on or off according to
+ the specification in the entry, and
+
+ <STRONG>o</STRONG> if tabs are not expanded, standard tabs will be set
+ (every 8 spaces).
+
+ (4) if present, the terminal's initialization strings will be
+ output as detailed in the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on <EM>Tabs</EM> <EM>and</EM>
+ <EM>Initialization</EM>,
+
+ (5) output is flushed.
+
+ If an entry does not contain the information needed for any of
+ these activities, that activity will silently be skipped.
+
+ <STRONG>reset</STRONG> This is similar to <STRONG>init</STRONG>, with two differences:
+
+ (1) before any other initialization, the terminal modes will be
+ reset to a "sane" state:
+
+ <STRONG>o</STRONG> set cooked and echo modes,
+
+ <STRONG>o</STRONG> turn off cbreak and raw modes,
+
+ <STRONG>o</STRONG> turn on newline translation and
+
+ <STRONG>o</STRONG> reset any unset special characters to their default
+ values
+
+ (2) Instead of putting out <EM>initialization</EM> strings, the termi-
+ nal's <EM>reset</EM> strings will be output if present (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
+ <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>). If the <EM>reset</EM> strings are not present, but <EM>ini-</EM>
+ <EM>tialization</EM> strings are, the <EM>initialization</EM> strings will be
+ output.
+
+ Otherwise, <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
<STRONG>longname</STRONG>
- If the <STRONG>terminfo</STRONG> database is present and an entry
- for the user's terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above),
- then the long name of the terminal will be put out.
- The long name is the last name in the first line of
- the terminal's description in the <STRONG>terminfo</STRONG> database
- [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
+ If the terminal database is present and an entry for the user's
+ terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above), then the long name of the
+ terminal will be put out. The long name is the last name in the
+ first line of the terminal's description in the <STRONG>terminfo</STRONG> data-
+ base [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
- If <STRONG>tput</STRONG> is invoked by a link named <STRONG>reset</STRONG>, this has the
- same effect as <STRONG>tput</STRONG> <STRONG>reset</STRONG>. See <STRONG>tset</STRONG> for comparison, which
- has similar behavior.
+</PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
+ <STRONG>tput</STRONG> handles the <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands specially: it allows
+ for the possibility that it is invoked by a link with those names.
-</PRE>
-<H2>EXAMPLES</H2><PRE>
+ If <STRONG>tput</STRONG> is invoked by a link named <STRONG>reset</STRONG>, this has the same effect as
+ <STRONG>tput</STRONG> <STRONG>reset</STRONG>. The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility also treats a link named <STRONG>reset</STRONG> spe-
+ cially.
+
+ Before ncurses 6.1, the two utilities were different from each other:
+
+ <STRONG>o</STRONG> <STRONG>tset</STRONG> utility reset the terminal modes and special characters (not
+ done with <STRONG>tput</STRONG>).
+
+ <STRONG>o</STRONG> On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal capabilities for
+ resetting the terminal was more limited, i.e., only <STRONG>reset_1string</STRONG>,
+ <STRONG>reset_2string</STRONG> and <STRONG>reset_file</STRONG> in contrast to the tab-stops and mar-
+ gins which are set by this utility.
+
+ <STRONG>o</STRONG> The <STRONG>reset</STRONG> program is usually an alias for <STRONG>tset</STRONG>, because of this
+ difference with resetting terminal modes and special characters.
+
+ With the changes made for ncurses 6.1, the <EM>reset</EM> feature of the two
+ programs is (mostly) the same. A few differences remain:
+
+ <STRONG>o</STRONG> The <STRONG>tset</STRONG> program waits one second when resetting, in case it hap-
+ pens to be a hardware terminal.
+
+ <STRONG>o</STRONG> The two programs write the terminal initialization strings to dif-
+ ferent streams (i.e., the standard error for <STRONG>tset</STRONG> and the standard
+ output for <STRONG>tput</STRONG>).
+
+ <STRONG>Note:</STRONG> although these programs write to different streams, redirect-
+ ing their output to a file will capture only part of their actions.
+ The changes to the terminal modes are not affected by redirecting
+ the output.
+
+ If <STRONG>tput</STRONG> is invoked by a link named <STRONG>init</STRONG>, this has the same effect as
+ <STRONG>tput</STRONG> <STRONG>init</STRONG>. Again, you are less likely to use that link because another
+ program named <STRONG>init</STRONG> has a more well-established use.
+
+
+</PRE><H3><a name="h3-Terminal-Size">Terminal Size</a></H3><PRE>
+ Besides the special commands (e.g., <STRONG>clear</STRONG>), tput treats certain ter-
+ minfo capabilities specially: <STRONG>lines</STRONG> and <STRONG>columns</STRONG>. tput calls
+ <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to obtain the terminal size:
+
+ <STRONG>o</STRONG> first, it gets the size from the terminal database (which generally
+ is not provided for terminal emulators which do not have a fixed
+ window size)
+
+ <STRONG>o</STRONG> then it asks the operating system for the terminal's size (which
+ generally works, unless connecting via a serial line which does not
+ support <EM>NAWS</EM>: negotiations about window size).
+
+ <STRONG>o</STRONG> finally, it inspects the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG>
+ which may override the terminal size.
+
+ If the <STRONG>-T</STRONG> option is given tput ignores the environment variables by
+ calling <STRONG>use_tioctl(TRUE)</STRONG>, relying upon the operating system (or
+ finally, the terminal database).
+
+
+</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
<STRONG>tput</STRONG> <STRONG>init</STRONG>
- Initialize the terminal according to the type of ter-
- minal in the environmental variable <STRONG>TERM</STRONG>. This com-
- mand should be included in everyone's .profile after
- the environmental variable <STRONG>TERM</STRONG> has been exported, as
- illustrated on the <STRONG>profile(5)</STRONG> manual page.
+ Initialize the terminal according to the type of terminal in the
+ environmental variable <STRONG>TERM</STRONG>. This command should be included in
+ everyone's .profile after the environmental variable <STRONG>TERM</STRONG> has been
+ exported, as illustrated on the <STRONG>profile(5)</STRONG> manual page.
<STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
- Reset an AT&amp;T 5620 terminal, overriding the type of
- terminal in the environmental variable <STRONG>TERM</STRONG>.
+ Reset an AT&amp;T 5620 terminal, overriding the type of terminal in
+ the environmental variable <STRONG>TERM</STRONG>.
<STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
- Send the sequence to move the cursor to row <STRONG>0</STRONG>, column
- <STRONG>0</STRONG> (the upper left corner of the screen, usually known
- as the "home" cursor position).
+ Send the sequence to move the cursor to row <STRONG>0</STRONG>, column <STRONG>0</STRONG> (the upper
+ left corner of the screen, usually known as the "home" cursor
+ position).
<STRONG>tput</STRONG> <STRONG>clear</STRONG>
- Echo the clear-screen sequence for the current termi-
- nal.
+ Echo the clear-screen sequence for the current terminal.
<STRONG>tput</STRONG> <STRONG>cols</STRONG>
Print the number of columns for the current terminal.
@@ -201,28 +292,25 @@
Print the number of columns for the 450 terminal.
<STRONG>bold=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>offbold=`tput</STRONG> <STRONG>rmso`</STRONG>
- Set the shell variables <STRONG>bold</STRONG>, to begin stand-out mode
- sequence, and <STRONG>offbold</STRONG>, to end standout mode sequence,
- for the current terminal. This might be followed by
- a prompt: <STRONG>echo</STRONG> <STRONG>"${bold}Please</STRONG> <STRONG>type</STRONG> <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG>
- <STRONG>${offbold}\c"</STRONG>
+ Set the shell variables <STRONG>bold</STRONG>, to begin stand-out mode sequence,
+ and <STRONG>offbold</STRONG>, to end standout mode sequence, for the current termi-
+ nal. This might be followed by a prompt: <STRONG>echo</STRONG> <STRONG>"${bold}Please</STRONG> <STRONG>type</STRONG>
+ <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG> <STRONG>${offbold}\c"</STRONG>
<STRONG>tput</STRONG> <STRONG>hc</STRONG>
- Set exit code to indicate if the current terminal is
- a hard copy terminal.
+ Set exit code to indicate if the current terminal is a hard copy
+ terminal.
<STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
- Send the sequence to move the cursor to row 23, col-
- umn 4.
+ Send the sequence to move the cursor to row 23, column 4.
<STRONG>tput</STRONG> <STRONG>cup</STRONG>
- Send the terminfo string for cursor-movement, with no
- parameters substituted.
+ Send the terminfo string for cursor-movement, with no parameters
+ substituted.
<STRONG>tput</STRONG> <STRONG>longname</STRONG>
- Print the long name from the <STRONG>terminfo</STRONG> database for
- the type of terminal specified in the environmental
- variable <STRONG>TERM</STRONG>.
+ Print the long name from the <STRONG>terminfo</STRONG> database for the type of
+ terminal specified in the environmental variable <STRONG>TERM</STRONG>.
<STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
<STRONG>&gt;</STRONG> <STRONG>clear</STRONG>
@@ -230,68 +318,56 @@
<STRONG>&gt;</STRONG> <STRONG>bold</STRONG>
<STRONG>&gt;</STRONG> <STRONG>!</STRONG>
- This example shows <STRONG>tput</STRONG> processing several capabili-
- ties in one invocation. It clears the screen, moves
- the cursor to position 10, 10 and turns on bold
- (extra bright) mode. The list is terminated by an
- exclamation mark (<STRONG>!</STRONG>) on a line by itself.
+ This example shows <STRONG>tput</STRONG> processing several capabilities in one
+ invocation. It clears the screen, moves the cursor to position
+ 10, 10 and turns on bold (extra bright) mode. The list is termi-
+ nated by an exclamation mark (<STRONG>!</STRONG>) on a line by itself.
-</PRE>
-<H2>FILES</H2><PRE>
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
<STRONG>/usr/share/terminfo</STRONG>
compiled terminal description database
<STRONG>/usr/share/tabset/*</STRONG>
- tab settings for some terminals, in a format appro-
- priate to be output to the terminal (escape
- sequences that set margins and tabs); for more
- information, see the "Tabs and Initialization" sec-
- tion of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ tab settings for some terminals, in a format appropriate to be
+ output to the terminal (escape sequences that set margins and
+ tabs); for more information, see the <EM>Tabs</EM> <EM>and</EM> <EM>Initialization</EM>,
+ section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
-</PRE>
-<H2>EXIT CODES</H2><PRE>
- If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each
- line, and if any errors are found, will set the exit code
- to 4 plus the number of lines with errors. If no errors
- are found, the exit code is <STRONG>0</STRONG>. No indication of which
- line failed can be given so exit code <STRONG>1</STRONG> will never appear.
- Exit codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual interpretation.
- If the <STRONG>-S</STRONG> option is not used, the exit code depends on the
- type of <EM>capname</EM>:
-
- <EM>boolean</EM>
- a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
-
- <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined
- for this terminal <EM>type</EM> (the value of <EM>capname</EM>
- is returned on standard output); a value of <STRONG>1</STRONG>
- is set if <EM>capname</EM> is not defined for this ter-
- minal <EM>type</EM> (nothing is written to standard
- output).
-
- <EM>integer</EM>
- a value of <STRONG>0</STRONG> is always set, whether or not
- <EM>capname</EM> is defined for this terminal <EM>type</EM>. To
- determine if <EM>capname</EM> is defined for this ter-
- minal <EM>type</EM>, the user must test the value writ-
- ten to standard output. A value of <STRONG>-1</STRONG> means
- that <EM>capname</EM> is not defined for this terminal
- <EM>type</EM>.
-
- <EM>other</EM> <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their respec-
- tive files. In that case, the exit code is
- set to 4 + <STRONG>errno</STRONG>.
-
- Any other exit code indicates an error; see the DIAGNOS-
- TICS section.
+</PRE><H2><a name="h2-EXIT-CODES">EXIT CODES</a></H2><PRE>
+ If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each line, and if
+ any errors are found, will set the exit code to 4 plus the number of
+ lines with errors. If no errors are found, the exit code is <STRONG>0</STRONG>. No
+ indication of which line failed can be given so exit code <STRONG>1</STRONG> will never
+ appear. Exit codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual interpretation. If
+ the <STRONG>-S</STRONG> option is not used, the exit code depends on the type of <EM>cap-</EM>
+ <EM>name</EM>:
+ <EM>boolean</EM>
+ a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
-</PRE>
-<H2>DIAGNOSTICS</H2><PRE>
- <STRONG>tput</STRONG> prints the following error messages and sets the cor-
- responding exit codes.
+ <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined for this termi-
+ nal <EM>type</EM> (the value of <EM>capname</EM> is returned on standard out-
+ put); a value of <STRONG>1</STRONG> is set if <EM>capname</EM> is not defined for this
+ terminal <EM>type</EM> (nothing is written to standard output).
+
+ <EM>integer</EM>
+ a value of <STRONG>0</STRONG> is always set, whether or not <EM>capname</EM> is defined
+ for this terminal <EM>type</EM>. To determine if <EM>capname</EM> is defined
+ for this terminal <EM>type</EM>, the user must test the value written
+ to standard output. A value of <STRONG>-1</STRONG> means that <EM>capname</EM> is not
+ defined for this terminal <EM>type</EM>.
+
+ <EM>other</EM> <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their respective files. In
+ that case, the exit code is set to 4 + <STRONG>errno</STRONG>.
+
+ Any other exit code indicates an error; see the DIAGNOSTICS section.
+
+
+</PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
+ <STRONG>tput</STRONG> prints the following error messages and sets the corresponding
+ exit codes.
exit code error message
---------------------------------------------------------------------
@@ -306,48 +382,172 @@
---------------------------------------------------------------------
-</PRE>
-<H2>PORTABILITY</H2><PRE>
- The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and the parameter-substitu-
- tion features used in the <STRONG>cup</STRONG> example, are not supported
- in BSD curses or in AT&amp;T/USL curses before SVr4.
-
- X/Open documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and
- <STRONG>reset</STRONG>. In this implementation, <STRONG>clear</STRONG> is part of the <EM>cap-</EM>
- <EM>name</EM> support. Other implementations of <STRONG>tput</STRONG> on SVr4-based
- systems such as Solaris, IRIX64 and HPUX as well as others
- such as AIX and Tru64 provide support for <EM>capname</EM> oper-
- ands.
-
- A few platforms such as FreeBSD and NetBSD recognize term-
- cap names rather than terminfo capability names in their
- respective <STRONG>tput</STRONG> commands.
-
- Most implementations which provide support for <EM>capname</EM> op-
- erands use the <EM>tparm</EM> function to expand parameters in it.
- That function expects a mixture of numeric and string
- parameters, requiring <STRONG>tput</STRONG> to know which type to use.
- This implementation uses a table to determine that for the
- standard <EM>capname</EM> operands, and an internal library func-
- tion to analyze nonstandard <EM>capname</EM> operands. Other
- implementations may simply guess that an operand contain-
- ing only digits is intended to be a number.
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980. The initial version
+ only cleared the screen.
+
+ AT&amp;T System V provided a different <STRONG>tput</STRONG> command, whose <STRONG>init</STRONG> and <STRONG>reset</STRONG>
+ subcommands (more than half the program) were incorporated from the
+ <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> written by Eric Allman.
+
+ Keith Bostic replaced the BSD <STRONG>tput</STRONG> command in 1989 with a new implemen-
+ tation based on the AT&amp;T System V program <STRONG>tput</STRONG>. Like the AT&amp;T program,
+ Bostic's version accepted some parameters named for <EM>terminfo</EM> <EM>capabili-</EM>
+ <EM>ties</EM> (<STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>). However (because he had only
+ termcap available), it accepted <EM>termcap</EM> <EM>names</EM> for other capabilities.
+ Also, Bostic's BSD <STRONG>tput</STRONG> did not modify the terminal I/O modes as the
+ earlier BSD <STRONG>tset</STRONG> had done.
+
+ At the same time, Bostic added a shell script named "clear", which used
+ <STRONG>tput</STRONG> to clear the screen.
+
+ Both of these appeared in 4.4BSD, becoming the "modern" BSD implementa-
+ tion of <STRONG>tput</STRONG>.
+
+ This implementation of <STRONG>tput</STRONG> began from a different source than AT&amp;T or
+ BSD: Ross Ridge's <EM>mytinfo</EM> package, published on <EM>comp.sources.unix</EM> in
+ December 1992. Ridge's program made more sophisticated use of the ter-
+ minal capabilities than the BSD program. Eric Raymond used that <STRONG>tput</STRONG>
+ program (and other parts of <EM>mytinfo</EM>) in ncurses in June 1995. Using
+ the portions dealing with terminal capabilities almost without change,
+ Raymond made improvements to the way the command-line parameters were
+ handled.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ This implementation of <STRONG>tput</STRONG> differs from AT&amp;T <STRONG>tput</STRONG> in two important
+ areas:
+
+ <STRONG>o</STRONG> <STRONG>tput</STRONG> <EM>capname</EM> writes to the standard output. That need not be a
+ regular terminal. However, the subcommands which manipulate termi-
+ nal modes may not use the standard output.
+ The AT&amp;T implementation's <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands use the BSD
+ (4.1c) <STRONG>tset</STRONG> source, which manipulates terminal modes. It succes-
+ sively tries standard output, standard error, standard input before
+ falling back to "/dev/tty" and finally just assumes a 1200Bd termi-
+ nal. When updating terminal modes, it ignores errors.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
+ Until changes made after ncurses 6.0, <STRONG>tput</STRONG> did not modify terminal
+ modes. <STRONG>tput</STRONG> now uses a similar scheme, using functions shared with
+ <STRONG>tset</STRONG> (and ultimately based on the 4.4BSD <STRONG>tset</STRONG>). If it is not able
+ to open a terminal, e.g., when running in <STRONG>cron</STRONG>, <STRONG>tput</STRONG> will return an
+ error.
+
+ <STRONG>o</STRONG> AT&amp;T <STRONG>tput</STRONG> guesses the type of its <EM>capname</EM> operands by seeing if all
+ of the characters are numeric, or not.
+
+ Most implementations which provide support for <EM>capname</EM> operands use
+ the <EM>tparm</EM> function to expand parameters in it. That function
+ expects a mixture of numeric and string parameters, requiring <STRONG>tput</STRONG>
+ to know which type to use.
+
+ This implementation uses a table to determine the parameter types
+ for the standard <EM>capname</EM> operands, and an internal library function
+ to analyze nonstandard <EM>capname</EM> operands.
+
+ This implementation (unlike others) can accept both <EM>termcap</EM> and <EM>ter-</EM>
+ <EM>minfo</EM> names for the <EM>capname</EM> feature, if <EM>termcap</EM> support is compiled in.
+ However, the predefined <EM>termcap</EM> and <EM>terminfo</EM> names have two ambiguities
+ in this case (and the <EM>terminfo</EM> name is assumed):
+
+ <STRONG>o</STRONG> The <EM>termcap</EM> name <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>dl1</STRONG> (delete
+ one line).
+ The <EM>terminfo</EM> name <STRONG>dl</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>DL</STRONG> (delete a
+ given number of lines).
+
+ <STRONG>o</STRONG> The <EM>termcap</EM> name <STRONG>ed</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>rmdc</STRONG> (end
+ delete mode).
+ The <EM>terminfo</EM> name <STRONG>ed</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>cd</STRONG> (clear to
+ end of screen).
+
+ The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and the parameter-substitution features
+ used in the <STRONG>cup</STRONG> example, were not supported in BSD curses before
+ 4.3reno (1989) or in AT&amp;T/USL curses before SVr4 (1988).
+
+ IEEE Std 1003.1/The Open Group Base Specifications Issue 7
+ (POSIX.1-2008) documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG>.
+ There are a few interesting observations to make regarding that:
+
+ <STRONG>o</STRONG> In this implementation, <STRONG>clear</STRONG> is part of the <EM>capname</EM> support. The
+ others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal capabili-
+ ties.
+
+ <STRONG>o</STRONG> Other implementations of <STRONG>tput</STRONG> on SVr4-based systems such as
+ Solaris, IRIX64 and HPUX as well as others such as AIX and Tru64
+ provide support for <EM>capname</EM> operands.
+
+ <STRONG>o</STRONG> A few platforms such as FreeBSD recognize termcap names rather than
+ terminfo capability names in their respective <STRONG>tput</STRONG> commands. Since
+ 2010, NetBSD's <STRONG>tput</STRONG> uses terminfo names. Before that, it (like
+ FreeBSD) recognized termcap names.
+
+ Because (apparently) <EM>all</EM> of the certified Unix systems support the full
+ set of capability names, the reasoning for documenting only a few may
+ not be apparent.
+
+ <STRONG>o</STRONG> X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>capname</EM> and
+ the other features used in this implementation.
+
+ <STRONG>o</STRONG> That is, there are two standards for <STRONG>tput</STRONG>: POSIX (a subset) and
+ X/Open Curses (the full implementation). POSIX documents a subset
+ to avoid the complication of including X/Open Curses and the termi-
+ nal capabilities database.
+
+ <STRONG>o</STRONG> While it is certainly possible to write a <STRONG>tput</STRONG> program without
+ using curses, none of the systems which have a curses implementa-
+ tion provide a <STRONG>tput</STRONG> utility which does not provide the <EM>capname</EM> fea-
+ ture.
+
+ X/Open Curses Issue 7 (2009) is the first version to document utili-
+ ties. However that part of X/Open Curses does not follow existing
+ practice (i.e., Unix features documented in SVID 3):
+
+ <STRONG>o</STRONG> It assigns exit code 4 to "invalid operand", which may be the same
+ as <EM>unknown</EM> <EM>capability</EM>. For instance, the source code for Solaris'
+ xcurses uses the term "invalid" in this case.
+
+ <STRONG>o</STRONG> It assigns exit code 255 to a numeric variable that is not speci-
+ fied in the terminfo database. That likely is a documentation
+ error, confusing the <STRONG>-1</STRONG> written to the standard output for an
+ absent or cancelled numeric value versus an (unsigned) exit code.
+
+ The various Unix systems (AIX, HPUX, Solaris) use the same exit-codes
+ as ncurses.
+
+ NetBSD curses documents different exit codes which do not correspond to
+ either ncurses or X/Open.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+ <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Options">Options</a></li>
+<li><a href="#h3-Commands">Commands</a></li>
+<li><a href="#h3-Aliases">Aliases</a></li>
+<li><a href="#h3-Terminal-Size">Terminal Size</a></li>
+</ul>
+</li>
+<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-EXIT-CODES">EXIT CODES</a></li>
+<li><a href="#h2-DIAGNOSTICS">DIAGNOSTICS</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
index 81aabd663afa..e7ea47d485de 100644
--- a/doc/html/man/tset.1.html
+++ b/doc/html/man/tset.1.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -27,308 +26,394 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tset.1,v 1.28 2013/07/20 19:40:55 tom Exp @
+ * @Id: tset.1,v 1.54 2018/07/28 21:30:27 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>tset 1</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>tset 1</H1>
-<HR>
+<H1 class="no-header">tset 1</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>tset</STRONG>, <STRONG>reset</STRONG> - terminal initialization
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
- <STRONG>tset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>]
- [<EM>terminal</EM>]
- <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>]
- [<EM>terminal</EM>]
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>tset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal</EM>]
+ <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal</EM>]
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- <STRONG>Tset</STRONG> initializes terminals. <STRONG>Tset</STRONG> first determines the
- type of terminal that you are using. This determination
- is done as follows, using the first terminal type found.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-tset---initialization">tset - initialization</a></H3><PRE>
+ This program initializes terminals.
+
+ First, <STRONG>tset</STRONG> retrieves the current terminal mode settings for your ter-
+ minal. It does this by successively testing
+
+ <STRONG>o</STRONG> the standard error,
+
+ <STRONG>o</STRONG> standard output,
+
+ <STRONG>o</STRONG> standard input and
+
+ <STRONG>o</STRONG> ultimately "/dev/tty"
+
+ to obtain terminal settings. Having retrieved these settings, <STRONG>tset</STRONG>
+ remembers which file descriptor to use when updating settings.
+
+ Next, <STRONG>tset</STRONG> determines the type of terminal that you are using. This
+ determination is done as follows, using the first terminal type found.
1. The <STRONG>terminal</STRONG> argument specified on the command line.
2. The value of the <STRONG>TERM</STRONG> environmental variable.
- 3. (BSD systems only.) The terminal type associated with
- the standard error output device in the <EM>/etc/ttys</EM> file.
- (On System-V-like UNIXes and systems using that conven-
- tion, <EM>getty</EM> does this job by setting <STRONG>TERM</STRONG> according to the
- type passed to it by <EM>/etc/inittab</EM>.)
+ 3. (BSD systems only.) The terminal type associated with the standard
+ error output device in the <EM>/etc/ttys</EM> file. (On System-V-like UNIXes
+ and systems using that convention, <EM>getty</EM> does this job by setting <STRONG>TERM</STRONG>
+ according to the type passed to it by <EM>/etc/inittab</EM>.)
4. The default terminal type, "unknown".
- If the terminal type was not specified on the command-
- line, the <STRONG>-m</STRONG> option mappings are then applied (see the
- section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more information).
- Then, if the terminal type begins with a question mark
- ("?"), the user is prompted for confirmation of the termi-
- nal type. An empty response confirms the type, or,
- another type can be entered to specify a new type. Once
- the terminal type has been determined, the terminfo entry
- for the terminal is retrieved. If no terminfo entry is
- found for the type, the user is prompted for another ter-
- minal type.
-
- Once the terminfo entry is retrieved, the window size,
- backspace, interrupt and line kill characters (among many
- other things) are set and the terminal and tab initializa-
- tion strings are sent to the standard error output.
- Finally, if the erase, interrupt and line kill characters
- have changed, or are not set to their default values,
- their values are displayed to the standard error output.
- Use the <STRONG>-c</STRONG> or <STRONG>-w</STRONG> option to select only the window sizing
- versus the other initialization. If neither option is
- given, both are assumed.
-
- When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets cooked and echo modes,
- turns off cbreak and raw modes, turns on newline transla-
- tion and resets any unset special characters to their
- default values before doing the terminal initialization
- described above. This is useful after a program dies
- leaving a terminal in an abnormal state. Note, you may
- have to type
-
- <STRONG>&lt;LF&gt;reset&lt;LF&gt;</STRONG>
-
- (the line-feed character is normally control-J) to get the
- terminal to work, as carriage-return may no longer work in
- the abnormal state. Also, the terminal will often not
- echo the command.
+ If the terminal type was not specified on the command-line, the <STRONG>-m</STRONG>
+ option mappings are then applied (see the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG>
+ for more information). Then, if the terminal type begins with a ques-
+ tion mark ("?"), the user is prompted for confirmation of the terminal
+ type. An empty response confirms the type, or, another type can be
+ entered to specify a new type. Once the terminal type has been deter-
+ mined, the terminal description for the terminal is retrieved. If no
+ terminal description is found for the type, the user is prompted for
+ another terminal type.
+
+ Once the terminal description is retrieved,
+
+ <STRONG>o</STRONG> if the "<STRONG>-w</STRONG>" option is enabled, <STRONG>tset</STRONG> may update the terminal's win-
+ dow size.
+
+ If the window size cannot be obtained from the operating system,
+ but the terminal description (or environment, e.g., <STRONG>LINES</STRONG> and <STRONG>COL-</STRONG>
+ <STRONG>UMNS</STRONG> variables specify this), use this to set the operating sys-
+ tem's notion of the window size.
+
+ <STRONG>o</STRONG> if the "<STRONG>-c</STRONG>" option is enabled, the backspace, interrupt and line
+ kill characters (among many other things) are set
+
+ <STRONG>o</STRONG> unless the "<STRONG>-I</STRONG>" option is enabled, the terminal and tab <EM>initializa-</EM>
+ <EM>tion</EM> strings are sent to the standard error output, and <STRONG>tset</STRONG> waits
+ one second (in case a hardware reset was issued).
+
+ <STRONG>o</STRONG> Finally, if the erase, interrupt and line kill characters have
+ changed, or are not set to their default values, their values are
+ displayed to the standard error output.
+
+
+</PRE><H3><a name="h3-reset---reinitialization">reset - reinitialization</a></H3><PRE>
+ When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets the terminal modes to "sane" values:
+
+ <STRONG>o</STRONG> sets cooked and echo modes,
+
+ <STRONG>o</STRONG> turns off cbreak and raw modes,
+ <STRONG>o</STRONG> turns on newline translation and
+
+ <STRONG>o</STRONG> resets any unset special characters to their default values
+
+ before doing the terminal initialization described above. Also, rather
+ than using the terminal <EM>initialization</EM> strings, it uses the terminal
+ <EM>reset</EM> strings.
+
+ The <STRONG>reset</STRONG> command is useful after a program dies leaving a terminal in
+ an abnormal state:
+
+ <STRONG>o</STRONG> you may have to type
+
+ <EM>&lt;LF&gt;</EM><STRONG>reset</STRONG><EM>&lt;LF&gt;</EM>
+
+ (the line-feed character is normally control-J) to get the terminal
+ to work, as carriage-return may no longer work in the abnormal
+ state.
+
+ <STRONG>o</STRONG> Also, the terminal will often not echo the command.
+
+
+</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
The options are as follows:
<STRONG>-c</STRONG> Set control characters and modes.
<STRONG>-e</STRONG> Set the erase character to <EM>ch</EM>.
- <STRONG>-I</STRONG> Do not send the terminal or tab initialization
- strings to the terminal.
+ <STRONG>-I</STRONG> Do not send the terminal or tab initialization strings to the ter-
+ minal.
<STRONG>-i</STRONG> Set the interrupt character to <EM>ch</EM>.
<STRONG>-k</STRONG> Set the line kill character to <EM>ch</EM>.
- <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal.
- See the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more infor-
- mation.
+ <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal. See the section
+ <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more information.
- <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt
- and line kill characters. Normally <STRONG>tset</STRONG> displays the
- values for control characters which differ from the
- system's default values.
+ <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt and line kill
+ characters. Normally <STRONG>tset</STRONG> displays the values for control charac-
+ ters which differ from the system's default values.
- <STRONG>-q</STRONG> The terminal type is displayed to the standard out-
- put, and the terminal is not initialized in any way.
- The option `-' by itself is equivalent but archaic.
+ <STRONG>-q</STRONG> The terminal type is displayed to the standard output, and the
+ terminal is not initialized in any way. The option "-" by itself
+ is equivalent but archaic.
<STRONG>-r</STRONG> Print the terminal type to the standard error output.
- <STRONG>-s</STRONG> Print the sequence of shell commands to initialize
- the environment variable <STRONG>TERM</STRONG> to the standard output.
- See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG> <STRONG>ENVIRONMENT</STRONG> for details.
-
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this
- program, and exits.
-
- <STRONG>-w</STRONG> Resize the window to match the size deduced via
- <STRONG>setupterm</STRONG>. Normally this has no effect, unless
- <STRONG>setupterm</STRONG> is not able to detect the window size.
+ <STRONG>-s</STRONG> Print the sequence of shell commands to initialize the environment
+ variable <STRONG>TERM</STRONG> to the standard output. See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG>
+ <STRONG>ENVIRONMENT</STRONG> for details.
- The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be
- entered as actual characters or by using the `hat' nota-
- tion, i.e., control-h may be specified as "^H" or "^h".
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ exits.
+ <STRONG>-w</STRONG> Resize the window to match the size deduced via <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
+ Normally this has no effect, unless <STRONG>setupterm</STRONG> is not able to
+ detect the window size.
-</PRE>
-<H2>SETTING THE ENVIRONMENT</H2><PRE>
- It is often desirable to enter the terminal type and
- information about the terminal's capabilities into the
- shell's environment. This is done using the <STRONG>-s</STRONG> option.
-
- When the <STRONG>-s</STRONG> option is specified, the commands to enter the
- information into the shell's environment are written to
- the standard output. If the <STRONG>SHELL</STRONG> environmental variable
- ends in "csh", the commands are for <STRONG>csh</STRONG>, otherwise, they
- are for <STRONG>sh</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset the
- shell variable <STRONG>noglob</STRONG>, leaving it unset. The following
- line in the <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the
- environment correctly:
-
- eval `tset -s options ... `
+ The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be entered as
+ actual characters or by using the "hat" notation, i.e., control-h may
+ be specified as "^H" or "^h".
-
-</PRE>
-<H2>TERMINAL TYPE MAPPING</H2><PRE>
- When the terminal is not hardwired into the system (or the
- current system information is incorrect) the terminal type
- derived from the <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental
- variable is often something generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>,
- or <STRONG>unknown</STRONG>. When <STRONG>tset</STRONG> is used in a startup script it is
- often desirable to provide information about the type of
- terminal used on such ports.
-
- The purpose of the <STRONG>-m</STRONG> option is to map from some set of
- conditions to a terminal type, that is, to tell <STRONG>tset</STRONG> "If
- I'm on this port at a particular speed, guess that I'm on
- that kind of terminal".
-
- The argument to the <STRONG>-m</STRONG> option consists of an optional port
- type, an optional operator, an optional baud rate specifi-
- cation, an optional colon (":") character and a terminal
- type. The port type is a string (delimited by either the
- operator or the colon character). The operator may be any
- combination of "&gt;", "&lt;", "@", and "!"; "&gt;" means greater
- than, "&lt;" means less than, "@" means equal to and "!"
- inverts the sense of the test. The baud rate is specified
- as a number and is compared with the speed of the standard
- error output (which should be the control terminal). The
- terminal type is a string.
-
- If the terminal type is not specified on the command line,
- the <STRONG>-m</STRONG> mappings are applied to the terminal type. If the
- port type and baud rate match the mapping, the terminal
- type specified in the mapping replaces the current type.
- If more than one mapping is specified, the first applica-
- ble mapping is used.
-
- For example, consider the following mapping:
- <STRONG>dialup&gt;9600:vt100</STRONG>. The port type is dialup , the operator
- is &gt;, the baud rate specification is 9600, and the termi-
- nal type is vt100. The result of this mapping is to spec-
- ify that if the terminal type is <STRONG>dialup</STRONG>, and the baud rate
- is greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will
- be used.
-
- If no baud rate is specified, the terminal type will match
- any baud rate. If no port type is specified, the terminal
- type will match any port type. For example, <STRONG>-m</STRONG>
- <STRONG>dialup:vt100</STRONG> <STRONG>-m</STRONG> <STRONG>:?xterm</STRONG> will cause any dialup port,
- regardless of baud rate, to match the terminal type vt100,
- and any non-dialup port type to match the terminal type
- ?xterm. Note, because of the leading question mark, the
- user will be queried on a default port as to whether they
- are actually using an xterm terminal.
-
- No whitespace characters are permitted in the <STRONG>-m</STRONG> option
- argument. Also, to avoid problems with meta-characters,
- it is suggested that the entire <STRONG>-m</STRONG> option argument be
- placed within single quote characters, and that <STRONG>csh</STRONG> users
- insert a backslash character ("\") before any exclamation
- marks ("!").
+ If neither <STRONG>-c</STRONG> or <STRONG>-w</STRONG> is given, both options are assumed.
-</PRE>
-<H2>HISTORY</H2><PRE>
- The <STRONG>tset</STRONG> command appeared in BSD 3.0. The <STRONG>ncurses</STRONG> imple-
- mentation was lightly adapted from the 4.4BSD sources for
- a terminfo environment by Eric S. Raymond &lt;esr@snark.thyr-
- sus.com&gt;.
+</PRE><H2><a name="h2-SETTING-THE-ENVIRONMENT">SETTING THE ENVIRONMENT</a></H2><PRE>
+ It is often desirable to enter the terminal type and information about
+ the terminal's capabilities into the shell's environment. This is done
+ using the <STRONG>-s</STRONG> option.
+ When the <STRONG>-s</STRONG> option is specified, the commands to enter the information
+ into the shell's environment are written to the standard output. If
+ the <STRONG>SHELL</STRONG> environmental variable ends in "csh", the commands are for
+ <STRONG>csh</STRONG>, otherwise, they are for <STRONG>sh</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset
+ the shell variable <STRONG>noglob</STRONG>, leaving it unset. The following line in the
+ <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the environment correctly:
-</PRE>
-<H2>COMPATIBILITY</H2><PRE>
- The <STRONG>tset</STRONG> utility has been provided for backward-compati-
- bility with BSD environments (under most modern UNIXes,
- <STRONG>/etc/inittab</STRONG> and <STRONG>getty(1)</STRONG> can set <STRONG>TERM</STRONG> appropriately for
- each dial-up line; this obviates what was <STRONG>tset</STRONG>'s most
- important use). This implementation behaves like 4.4BSD
- tset, with a few exceptions specified here.
-
- The <STRONG>-S</STRONG> option of BSD tset no longer works; it prints an
- error message to stderr and dies. The <STRONG>-s</STRONG> option only sets
- <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>. Both of these changes are because the
- <STRONG>TERMCAP</STRONG> variable is no longer supported under terminfo-
- based <STRONG>ncurses</STRONG>, which makes <STRONG>tset</STRONG> <STRONG>-S</STRONG> useless (we made it die
- noisily rather than silently induce lossage).
-
- There was an undocumented 4.4BSD feature that invoking
- tset via a link named `TSET` (or via any other name begin-
- ning with an upper-case letter) set the terminal to use
- upper-case only. This feature has been omitted.
-
- The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the
- <STRONG>tset</STRONG> utility in 4.4BSD. None of them were documented in
- 4.3BSD and all are of limited utility at best. The <STRONG>-a</STRONG>,
- <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not documented or useful,
- but were retained as they appear to be in widespread use.
- It is strongly recommended that any usage of these three
- options be changed to use the <STRONG>-m</STRONG> option instead. The <STRONG>-n</STRONG>
- option remains, but has no effect. The <STRONG>-adnp</STRONG> options are
- therefore omitted from the usage summary above.
-
- It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>
- options without arguments, although it is strongly recom-
- mended that such usage be fixed to explicitly specify the
- character.
-
- As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies
- the <STRONG>-Q</STRONG> option. Also, the interaction between the - option
- and the <EM>terminal</EM> argument in some historic implementations
- of <STRONG>tset</STRONG> has been removed.
+ eval `tset -s options ... `
-</PRE>
-<H2>ENVIRONMENT</H2><PRE>
+</PRE><H2><a name="h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></H2><PRE>
+ When the terminal is not hardwired into the system (or the current sys-
+ tem information is incorrect) the terminal type derived from the
+ <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental variable is often something
+ generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>, or <STRONG>unknown</STRONG>. When <STRONG>tset</STRONG> is used in a
+ startup script it is often desirable to provide information about the
+ type of terminal used on such ports.
+
+ The <STRONG>-m</STRONG> options maps from some set of conditions to a terminal type,
+ that is, to tell <STRONG>tset</STRONG> "If I'm on this port at a particular speed, guess
+ that I'm on that kind of terminal".
+
+ The argument to the <STRONG>-m</STRONG> option consists of an optional port type, an
+ optional operator, an optional baud rate specification, an optional
+ colon (":") character and a terminal type. The port type is a string
+ (delimited by either the operator or the colon character). The opera-
+ tor may be any combination of "&gt;", "&lt;", "@", and "!"; "&gt;" means greater
+ than, "&lt;" means less than, "@" means equal to and "!" inverts the sense
+ of the test. The baud rate is specified as a number and is compared
+ with the speed of the standard error output (which should be the con-
+ trol terminal). The terminal type is a string.
+
+ If the terminal type is not specified on the command line, the <STRONG>-m</STRONG> map-
+ pings are applied to the terminal type. If the port type and baud rate
+ match the mapping, the terminal type specified in the mapping replaces
+ the current type. If more than one mapping is specified, the first
+ applicable mapping is used.
+
+ For example, consider the following mapping: <STRONG>dialup&gt;9600:vt100</STRONG>. The
+ port type is dialup , the operator is &gt;, the baud rate specification is
+ 9600, and the terminal type is vt100. The result of this mapping is to
+ specify that if the terminal type is <STRONG>dialup</STRONG>, and the baud rate is
+ greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will be used.
+
+ If no baud rate is specified, the terminal type will match any baud
+ rate. If no port type is specified, the terminal type will match any
+ port type. For example, <STRONG>-m</STRONG> <STRONG>dialup:vt100</STRONG> <STRONG>-m</STRONG> <STRONG>:?xterm</STRONG> will cause any
+ dialup port, regardless of baud rate, to match the terminal type vt100,
+ and any non-dialup port type to match the terminal type ?xterm. Note,
+ because of the leading question mark, the user will be queried on a
+ default port as to whether they are actually using an xterm terminal.
+
+ No whitespace characters are permitted in the <STRONG>-m</STRONG> option argument.
+ Also, to avoid problems with meta-characters, it is suggested that the
+ entire <STRONG>-m</STRONG> option argument be placed within single quote characters, and
+ that <STRONG>csh</STRONG> users insert a backslash character ("\") before any exclama-
+ tion marks ("!").
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ A <STRONG>reset</STRONG> command appeared in 2BSD (April 1979), written by Kurt Shoens.
+ This program set the <EM>erase</EM> and <EM>kill</EM> characters to <STRONG>^H</STRONG> (backspace) and <STRONG>@</STRONG>
+ respectively. Mark Horton improved that in 3BSD (October 1979), adding
+ <EM>intr</EM>, <EM>quit</EM>, <EM>start</EM>/<EM>stop</EM> and <EM>eof</EM> characters as well as changing the pro-
+ gram to avoid modifying any user settings.
+
+ Later in 4.1BSD (December 1980), Mark Horton added a call to the <STRONG>tset</STRONG>
+ program using the <STRONG>-I</STRONG> and <STRONG>-Q</STRONG> options, i.e., using that to improve the
+ terminal modes. With those options, that version of <STRONG>reset</STRONG> did not use
+ the termcap database.
+
+ A separate <STRONG>tset</STRONG> command was provided in 2BSD by Eric Allman. While the
+ oldest published source (from 1979) provides both <STRONG>tset</STRONG> and <STRONG>reset</STRONG>, All-
+ man's comments in the 2BSD source code indicate that he began work in
+ October 1977, continuing development over the next few years.
+
+ In September 1980, Eric Allman modified <STRONG>tset</STRONG>, adding the code from the
+ existing "reset" feature when <STRONG>tset</STRONG> was invoked as <STRONG>reset</STRONG>. Rather than
+ simply copying the existing program, in this merged version, <STRONG>tset</STRONG> used
+ the termcap database to do additional (re)initialization of the termi-
+ nal. This version appeared in 4.1cBSD, late in 1982.
+
+ Other developers (e.g., Keith Bostic and Jim Bloom) continued to modify
+ <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
+
+ The <STRONG>ncurses</STRONG> implementation was lightly adapted from the 4.4BSD sources
+ for a terminfo environment by Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;.
+
+
+</PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
+ Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7
+ (POSIX.1-2008) nor X/Open Curses Issue 7 documents <STRONG>tset</STRONG> or <STRONG>reset</STRONG>.
+
+ The AT&amp;T <STRONG>tput</STRONG> utility (AIX, HPUX, Solaris) incorporated the terminal-
+ mode manipulation as well as termcap-based features such as resetting
+ tabstops from <STRONG>tset</STRONG> in BSD (4.1c), presumably with the intention of mak-
+ ing <STRONG>tset</STRONG> obsolete. However, each of those systems still provides <STRONG>tset</STRONG>.
+ In fact, the commonly-used <STRONG>reset</STRONG> utility is always an alias for <STRONG>tset</STRONG>.
+
+ The <STRONG>tset</STRONG> utility provides for backward-compatibility with BSD environ-
+ ments (under most modern UNIXes, <STRONG>/etc/inittab</STRONG> and <STRONG>getty(1)</STRONG> can set <STRONG>TERM</STRONG>
+ appropriately for each dial-up line; this obviates what was <STRONG>tset</STRONG>'s most
+ important use). This implementation behaves like 4.4BSD <STRONG>tset</STRONG>, with a
+ few exceptions specified here.
+
+ A few options are different because the <STRONG>TERMCAP</STRONG> variable is no longer
+ supported under terminfo-based <STRONG>ncurses</STRONG>:
+
+ <STRONG>o</STRONG> The <STRONG>-S</STRONG> option of BSD <STRONG>tset</STRONG> no longer works; it prints an error mes-
+ sage to the standard error and dies.
+
+ <STRONG>o</STRONG> The <STRONG>-s</STRONG> option only sets <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>.
+
+ There was an undocumented 4.4BSD feature that invoking <STRONG>tset</STRONG> via a link
+ named "TSET" (or via any other name beginning with an upper-case let-
+ ter) set the terminal to use upper-case only. This feature has been
+ omitted.
+
+ The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the <STRONG>tset</STRONG> utility in
+ 4.4BSD. None of them were documented in 4.3BSD and all are of limited
+ utility at best. The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not docu-
+ mented or useful, but were retained as they appear to be in widespread
+ use. It is strongly recommended that any usage of these three options
+ be changed to use the <STRONG>-m</STRONG> option instead. The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options
+ are therefore omitted from the usage summary above.
+
+ Very old systems, e.g., 3BSD, used a different terminal driver which
+ was replaced in 4BSD in the early 1980s. To accommodate these older
+ systems, the 4BSD <STRONG>tset</STRONG> provided a <STRONG>-n</STRONG> option to specify that the new
+ terminal driver should be used. This implementation does not provide
+ that choice.
+
+ It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options without
+ arguments, although it is strongly recommended that such usage be fixed
+ to explicitly specify the character.
+
+ As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies the <STRONG>-Q</STRONG> option.
+ Also, the interaction between the - option and the <EM>terminal</EM> argument in
+ some historic implementations of <STRONG>tset</STRONG> has been removed.
+
+ The <STRONG>-c</STRONG> and <STRONG>-w</STRONG> options are not found in earlier implementations. How-
+ ever, a different window size-change feature was provided in 4.4BSD.
+
+ <STRONG>o</STRONG> In 4.4BSD, <STRONG>tset</STRONG> uses the window size from the termcap description
+ to set the window size if <STRONG>tset</STRONG> is not able to obtain the window
+ size from the operating system.
+
+ <STRONG>o</STRONG> In ncurses, <STRONG>tset</STRONG> obtains the window size using <STRONG>setupterm</STRONG>, which may
+ be from the operating system, the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment
+ variables or the terminal description.
+
+ Obtaining the window size from the terminal description is common to
+ both implementations, but considered obsolescent. Its only practical
+ use is for hardware terminals. Generally speaking, a window size would
+ be unset only if there were some problem obtaining the value from the
+ operating system (and <STRONG>setupterm</STRONG> would still fail). For that reason,
+ the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables may be useful for working
+ around window-size problems. Those have the drawback that if the win-
+ dow is resized, those variables must be recomputed and reassigned. To
+ do this more easily, use the <STRONG><A HREF="resize.1.html">resize(1)</A></STRONG> program.
+
+
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
The <STRONG>tset</STRONG> command uses these environment variables:
SHELL
- tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG>
- syntax.
+ tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG> syntax.
- TERM Denotes your terminal type. Each terminal type is
- distinct, though many are similar.
+ TERM Denotes your terminal type. Each terminal type is distinct,
+ though many are similar.
TERMCAP
- may denote the location of a termcap database. If it
- is not an absolute pathname, e.g., begins with a `/',
- <STRONG>tset</STRONG> removes the variable from the environment before
- looking for the terminal description.
+ may denote the location of a termcap database. If it is not an
+ absolute pathname, e.g., begins with a "/", <STRONG>tset</STRONG> removes the vari-
+ able from the environment before looking for the terminal descrip-
+ tion.
-</PRE>
-<H2>FILES</H2><PRE>
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
/etc/ttys
- system port name to terminal type mapping database
- (BSD versions only).
+ system port name to terminal type mapping database (BSD versions
+ only).
/usr/share/terminfo
terminal capability database
-</PRE>
-<H2>SEE ALSO</H2><PRE>
- <STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>,
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
+ <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
- This describes <STRONG>ncurses</STRONG> version 5.9 (patch 20131221).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20200118).
- <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-tset---initialization">tset - initialization</a></li>
+<li><a href="#h3-reset---reinitialization">reset - reinitialization</a></li>
+</ul>
+</li>
+<li><a href="#h2-OPTIONS">OPTIONS</a></li>
+<li><a href="#h2-SETTING-THE-ENVIRONMENT">SETTING THE ENVIRONMENT</a></li>
+<li><a href="#h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
+<li><a href="#h2-COMPATIBILITY">COMPATIBILITY</a></li>
+<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/man/user_caps.5.html b/doc/html/man/user_caps.5.html
new file mode 100644
index 000000000000..3c3a90243221
--- /dev/null
+++ b/doc/html/man/user_caps.5.html
@@ -0,0 +1,400 @@
+<!--
+ ****************************************************************************
+ * Copyright (c) 2017-2019,2020 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: user_caps.5,v 1.11 2020/01/19 02:01:39 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>user_caps 5</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
+<BODY>
+<H1 class="no-header">user_caps 5</H1>
+<PRE>
+<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> File Formats Manual <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ user_caps - user-defined terminfo capabilities
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>tic</STRONG> <STRONG>-x,</STRONG> <STRONG>infocmp</STRONG> <STRONG>-x</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-Background">Background</a></H3><PRE>
+ Before ncurses 5.0, terminfo databases used a <EM>fixed</EM> <EM>repertoire</EM> of ter-
+ minal capabilities designed for the SVr2 terminal database in 1984, and
+ extended in stages through SVr4 (1989), and standardized in the Single
+ Unix Specification beginning in 1995.
+
+ Most of the <EM>extensions</EM> in this fixed repertoire were additions to the
+ tables of boolean, numeric and string capabilities. Rather than change
+ the meaning of an existing capability, a new name was added. The ter-
+ minfo database uses a binary format; binary compatibility was ensured
+ by using a header which gave the number of items in the tables for each
+ type of capability. The standardization was incomplete:
+
+ <STRONG>o</STRONG> The <EM>binary</EM> <EM>format</EM> itself is not described in the X/Open Curses doc-
+ umentation. Only the <EM>source</EM> <EM>format</EM> is described.
+
+ Library developers rely upon the SVr4 documentation, and reverse-
+ engineering the compiled terminfo files to match the binary format.
+
+ <STRONG>o</STRONG> Lacking a standard for the binary format, most implementations copy
+ the SVr2 binary format, which uses 16-bit signed integers, and is
+ limited to 4096-byte entries.
+
+ The format cannot represent very large numeric capabilities, nor
+ can it represent large numbers of special keyboard definitions.
+
+ <STRONG>o</STRONG> The tables of capability names differ between implementations.
+
+ Although they <EM>may</EM> provide all of the standard capability names, the
+ position in the tables differs because some features were added as
+ needed, while others were added (out of order) to comply with
+ X/Open Curses.
+
+ While ncurses' repertoire of predefined capabilities is closest to
+ Solaris, Solaris's terminfo database has a few differences from the
+ list published by X/Open Curses. For example, ncurses can be con-
+ figured with tables which match the terminal databases for AIX, HP-
+ UX or OSF/1, rather than the default Solaris-like configuration.
+
+ <STRONG>o</STRONG> In SVr4 curses and ncurses, the terminal database is defined at
+ compile-time using a text file which lists the different terminal
+ capabilities.
+
+ In principle, the text-file can be extended, but doing this
+ requires recompiling and reinstalling the library. The text-file
+ used in ncurses for terminal capabilities includes details for var-
+ ious systems past the documented X/Open Curses features. For exam-
+ ple, ncurses supports these capabilities in each configuration:
+
+ memory_lock
+ (meml) lock memory above cursor
+
+ memory_unlock
+ (memu) unlock memory
+
+ box_chars_1
+ (box1) box characters primary set
+
+ The memory lock/unlock capabilities were included because they were
+ used in the X11R6 terminal description for <STRONG>xterm</STRONG>. The <EM>box1</EM> capa-
+ bility is used in tic to help with terminal descriptions written
+ for AIX.
+
+ During the 1990s, some users were reluctant to use terminfo in spite of
+ its performance advantages over termcap:
+
+ <STRONG>o</STRONG> The fixed repertoire prevented users from adding features for unan-
+ ticipated terminal improvements (or required them to reuse existing
+ capabilities as a workaround).
+
+ <STRONG>o</STRONG> The limitation to 16-bit signed integers was also mentioned.
+ Because termcap stores everything as a string, it could represent
+ larger numbers.
+
+ Although termcap's extensibility was rarely used (it was never the
+ <EM>speaker</EM> who had actually used the feature), the criticism had a point.
+ ncurses 5.0 provided a way to detect nonstandard capabilities, deter-
+ mine their type and optionally store and retrieve them in a way which
+ did not interfere with other applications. These are referred to as
+ <EM>user-defined</EM> <EM>capabilities</EM> because no modifications to the toolset's
+ predefined capability names are needed.
+
+ The ncurses utilities <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> have a command-line option "-x"
+ to control whether the nonstandard capabilities are stored or
+ retrieved. A library function <STRONG>use_extended_names</STRONG> is provided for the
+ same purpose.
+
+ When compiling a terminal database, if "-x" is set, <STRONG>tic</STRONG> will store a
+ user-defined capability if the capability name is not one of the prede-
+ fined names.
+
+ Because ncurses provides a termcap library interface, these user-
+ defined capabilities may be visible to termcap applications:
+
+ <STRONG>o</STRONG> The termcap interface (like all implementations of termcap)
+ requires that the capability names are 2-characters.
+
+ When the capability is simple enough for use in a termcap applica-
+ tion, it is provided as a 2-character name.
+
+ <STRONG>o</STRONG> There are other user-defined capabilities which refer to features
+ not usable in termcap, e.g., parameterized strings that use more
+ than two parameters or use more than the trivial expression support
+ provided by termcap. For these, the terminfo database should have
+ only capability names with 3 or more characters.
+
+ <STRONG>o</STRONG> Some terminals can send distinct strings for special keys (cursor-,
+ keypad- or function-keys) depending on modifier keys (shift, con-
+ trol, etc.). While terminfo and termcap have a set of 60 prede-
+ fined function-key names, to which a series of keys can be
+ assigned, that is insufficient for more than a dozen keys multi-
+ plied by more than a couple of modifier combinations. The ncurses
+ database uses a convention based on <STRONG>xterm</STRONG> to provide extended spe-
+ cial-key names.
+
+ Fitting that into termcap's limitation of 2-character names would
+ be pointless. These extended keys are available only with ter-
+ minfo.
+
+
+</PRE><H3><a name="h3-Recognized-capabilities">Recognized capabilities</a></H3><PRE>
+ The ncurses library uses the user-definable capabilities. While the
+ terminfo database may have other extensions, ncurses makes explicit
+ checks for these:
+
+ AX <EM>boolean</EM>, asserts that the terminal interprets SGR 39 and SGR 49
+ by resetting the foreground and background color, respectively,
+ to the default.
+
+ This is a feature recognized by the <STRONG>screen</STRONG> program as well.
+
+ E3 <EM>string</EM>, tells how to clear the terminal's scrollback buffer.
+ When present, the <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> program sends this before clearing the
+ terminal.
+
+ The command "<STRONG>tput</STRONG> <STRONG>clear</STRONG>" does the same thing.
+
+ RGB
+ <EM>boolean</EM>, <EM>number</EM> <STRONG>or</STRONG> <EM>string</EM>, to assert that the <STRONG>set_a_foreground</STRONG>
+ and <STRONG>set_a_background</STRONG> capabilities correspond to <EM>direct</EM> <EM>colors</EM>,
+ using an RGB (red/green/blue) convention. This capability allows
+ the <STRONG>color_content</STRONG> function to return appropriate values without
+ requiring the application to initialize colors using <STRONG>init_color</STRONG>.
+
+ The capability type determines the values which ncurses sees:
+
+ <EM>boolean</EM>
+ implies that the number of bits for red, green and blue are
+ the same. Using the maximum number of colors, ncurses adds
+ two, divides that sum by three, and assigns the result to red,
+ green and blue in that order.
+
+ If the number of bits needed for the number of colors is not a
+ multiple of three, the blue (and green) components lose in
+ comparison to red.
+
+ <EM>number</EM>
+ tells ncurses what result to add to red, green and blue. If
+ ncurses runs out of bits, blue (and green) lose just as in the
+ <EM>boolean</EM> case.
+
+ <EM>string</EM>
+ explicitly list the number of bits used for red, green and
+ blue components as a slash-separated list of decimal integers.
+
+ Because there are several RGB encodings in use, applications
+ which make assumptions about the number of bits per color are
+ unlikely to work reliably. As a trivial case, for example, one
+ could define <STRONG>RGB#1</STRONG> to represent the standard eight ANSI colors,
+ i.e., one bit per color.
+
+ U8 <EM>number</EM>, asserts that ncurses must use Unicode values for line-
+ drawing characters, and that it should ignore the alternate char-
+ acter set capabilities when the locale uses UTF-8 encoding. For
+ more information, see the discussion of <STRONG>NCURSES_NO_UTF8_ACS</STRONG> in
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+ Set this capability to a nonzero value to enable it.
+
+ XM <EM>string</EM>, override ncurses's built-in string which enables/disables
+ <STRONG>xterm</STRONG> mouse mode.
+
+ ncurses sends a character sequence to the terminal to initialize
+ mouse mode, and when the user clicks the mouse buttons or (in
+ certain modes) moves the mouse, handles the characters sent back
+ by the terminal to tell it what was done with the mouse.
+
+ The mouse protocol is enabled when the <EM>mask</EM> passed in the <STRONG>mouse-</STRONG>
+ <STRONG>mask</STRONG> function is nonzero. By default, ncurses handles the
+ responses for the X11 xterm mouse protocol. It also knows about
+ the <EM>SGR</EM> <EM>1006</EM> xterm mouse protocol, but must to be told to look
+ for this specifically. It will not be able to guess which mode
+ is used, because the responses are enough alike that only confu-
+ sion would result.
+
+ The <STRONG>XM</STRONG> capability has a single parameter. If nonzero, the mouse
+ protocol should be enabled. If zero, the mouse protocol should
+ be disabled. ncurses inspects this capability if it is present,
+ to see whether the 1006 protocol is used. If so, it expects the
+ responses to use the <EM>SGR</EM> <EM>1006</EM> xterm mouse protocol.
+
+ The xterm mouse protocol is used by other terminal emulators.
+ The terminal database uses building-blocks for the various xterm
+ mouse protocols which can be used in customized terminal descrip-
+ tions.
+
+ The terminal database building blocks for this mouse feature also
+ have an experimental capability <EM>xm</EM>. The "xm" capability
+ describes the mouse response. Currently there is no interpreter
+ which would use this information to make the mouse support com-
+ pletely data-driven.
+
+ <EM>xm</EM> shows the format of the mouse responses. In this experimental
+ capability, the parameters are
+
+ <EM>p1</EM> y-ordinate
+
+ <EM>p2</EM> x-ordinate
+
+ <EM>p3</EM> button
+
+ <EM>p4</EM> state, e.g., pressed or released
+
+ <EM>p5</EM> y-ordinate starting region
+
+ <EM>p6</EM> x-ordinate starting region
+
+ <EM>p7</EM> y-ordinate ending region
+
+ <EM>p8</EM> x-ordinate ending region
+
+ Here are examples from the terminal database for the most com-
+ monly used xterm mouse protocols:
+
+ xterm+x11mouse|X11 xterm mouse protocol,
+ kmous=\E[M, XM=\E[?1000%?%p1%{1}%=%th%el%;,
+ xm=\E[M
+ %?%p4%t%p3%e%{3}%;%' '%+%c
+ %p2%'!'%+%c
+ %p1%'!'%+%c,
+
+ xterm+sm+1006|xterm SGR-mouse,
+ kmous=\E[&lt;, XM=\E[?1006;1000%?%p1%{1}%=%th%el%;,
+ xm=\E[&lt;%i%p3%d;
+ %p1%d;
+ %p2%d;
+ %?%p4%tM%em%;,
+
+
+</PRE><H3><a name="h3-Extended-key-definitions">Extended key-definitions</a></H3><PRE>
+ Several terminals provide the ability to send distinct strings for com-
+ binations of modified special keys. There is no standard for what
+ those keys can send.
+
+ Since 1999, <STRONG>xterm</STRONG> has supported <EM>shift</EM>, <EM>control</EM>, <EM>alt</EM>, and <EM>meta</EM> modifiers
+ which produce distinct special-key strings. In a terminal description,
+ ncurses has no special knowledge of the modifiers used. Applications
+ can use the <EM>naming</EM> <EM>convention</EM> established for <STRONG>xterm</STRONG> to find these spe-
+ cial keys in the terminal description.
+
+ Starting with the curses convention that <EM>key</EM> <EM>names</EM> begin with "k" and
+ that shifted special keys are an uppercase name, ncurses' terminal
+ database defines these names to which a suffix is added:
+
+ <EM>Name</EM> <EM>Description</EM>
+ ---------------------------------------------------------------
+ kDC special form of kdch1 (delete character)
+ kDN special form of kcud1 (cursor down)
+ kEND special form of kend (End)
+ kHOM special form of khome (Home)
+ kLFT special form of kcub1 (cursor-left or cursor-back)
+ kNXT special form of knext (Next, or Page-Down)
+ kPRV special form of kprev (Prev, or Page-Up)
+ kRIT special form of kcuf1 (cursor-right, or cursor-forward)
+ kUP special form of kcuu1 (cursor-up)
+
+ These are the suffixes used to denote the modifiers:
+
+ <EM>Value</EM> <EM>Description</EM>
+ ----------------------------------
+ 2 Shift
+ 3 Alt
+ 4 Shift + Alt
+ 5 Control
+ 6 Shift + Control
+ 7 Alt + Control
+ 8 Shift + Alt + Control
+ 9 Meta
+ 10 Meta + Shift
+ 11 Meta + Alt
+ 12 Meta + Alt + Shift
+ 13 Meta + Ctrl
+ 14 Meta + Ctrl + Shift
+ 15 Meta + Ctrl + Alt
+ 16 Meta + Ctrl + Alt + Shift
+
+ None of these are predefined; terminal descriptions can refer to <EM>names</EM>
+ which ncurses will allocate at runtime to <EM>key-codes</EM>. To use these keys
+ in an ncurses program, an application could do this:
+
+ <STRONG>o</STRONG> using a list of extended key <EM>names</EM>, ask <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG> for their val-
+ ues, and
+
+ <STRONG>o</STRONG> given the list of values, ask <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> for the <EM>key-code</EM>
+ which would be returned for those keys by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ The "-x" extension feature of <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> has been adopted in Net-
+ BSD curses. That implementation stores user-defined capabilities, but
+ makes no use of these capabilities itself.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>.
+
+
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+ Thomas E. Dickey
+ beginning with ncurses 5.0 (1999)
+
+
+
+ <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+</PRE>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Background">Background</a></li>
+<li><a href="#h3-Recognized-capabilities">Recognized capabilities</a></li>
+<li><a href="#h3-Extended-key-definitions">Extended key-definitions</a></li>
+</ul>
+</li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
+</BODY>
+</HTML>
diff --git a/doc/html/man/wresize.3x.html b/doc/html/man/wresize.3x.html
index 7bdf75f91ccb..ffd941f09386 100644
--- a/doc/html/man/wresize.3x.html
+++ b/doc/html/man/wresize.3x.html
@@ -1,7 +1,6 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2015,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -28,81 +27,86 @@
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996
- * @Id: wresize.3x,v 1.13 2010/12/04 18:40:45 tom Exp @
+ * @Id: wresize.3x,v 1.15 2018/07/28 21:34:06 tom Exp @
-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>wresize 3x</TITLE>
-<link rev=made href="mailto:bug-ncurses@gnu.org">
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1>wresize 3x</H1>
-<HR>
+<H1 class="no-header">wresize 3x</H1>
<PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
-<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
-</PRE>
-<H2>NAME</H2><PRE>
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>wresize</STRONG> - resize a curses window
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
<STRONG>int</STRONG> <STRONG>wresize(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
- This is an extension to the curses library. It reallo-
- cates storage for an <STRONG>ncurses</STRONG> window to adjust its dimen-
- sions to the specified values. If either dimension is
- larger than the current values, the window's data is
- filled with blanks that have the current background rendi-
- tion (as set by <STRONG>wbkgdset</STRONG>) merged into them.
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+ This is an extension to the curses library. It reallocates storage for
+ an <STRONG>ncurses</STRONG> window to adjust its dimensions to the specified values. If
+ either dimension is larger than the current values, the window's data
+ is filled with blanks that have the current background rendition (as
+ set by <STRONG>wbkgdset</STRONG>) merged into them.
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
- The function returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- on success. It will fail if either of the dimensions less
- than or equal to zero, or if an error occurs while
- (re)allocating memory for the window.
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ The function returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+ It will fail if either of the dimensions less than or equal to zero, or
+ if an error occurs while (re)allocating memory for the window.
-</PRE>
-<H2>NOTES</H2><PRE>
- The only restriction placed on the dimensions is that they
- be greater than zero. The dimensions are not compared to
- <STRONG>curses</STRONG> screen dimensions to simplify the logic of
- <STRONG>resizeterm</STRONG>. The caller must ensure that the window's
- dimensions fit within the actual screen dimensions.
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ The only restriction placed on the dimensions is that they be greater
+ than zero. The dimensions are not compared to <STRONG>curses</STRONG> screen dimensions
+ to simplify the logic of <STRONG>resizeterm</STRONG>. The caller must ensure that the
+ window's dimensions fit within the actual screen dimensions.
-</PRE>
-<H2>SEE ALSO</H2><PRE>
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ It is not possible to resize windows with SVr4 curses.
+
+ This extension of ncurses was introduced in mid-1995. It was adopted
+ in NetBSD curses (2001) and PDCurses (2003).
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
-</PRE>
-<H2>AUTHOR</H2><PRE>
- Thomas Dickey (from an equivalent function written in 1988
- for BSD curses).
+</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
+ Thomas Dickey (from an equivalent function written in 1988 for BSD
+ curses).
- <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+ <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
</PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-AUTHOR">AUTHOR</a></li>
+</ul>
+</div>
</BODY>
</HTML>
diff --git a/doc/html/ncurses-intro.html b/doc/html/ncurses-intro.html
index a6cd40c74ddb..cc1a041eeeaf 100644
--- a/doc/html/ncurses-intro.html
+++ b/doc/html/ncurses-intro.html
@@ -1,8 +1,7 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!--
- $Id: ncurses-intro.html,v 1.46 2013/05/17 23:29:27 tom Exp $
+ $Id: ncurses-intro.html,v 1.53 2019/07/28 16:53:26 tom Exp $
****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@@ -29,408 +28,623 @@
* authorization. *
****************************************************************************
-->
-<HTML>
-<HEAD>
-<TITLE>Writing Programs with NCURSES</TITLE>
-<link rev="made" href="mailto:bugs-ncurses@gnu.org">
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-<BODY>
-
-<H1>Writing Programs with NCURSES</H1>
-
-<BLOCKQUOTE>
-by Eric S. Raymond and Zeyd M. Ben-Halim<BR>
-updates since release 1.9.9e by Thomas Dickey
-</BLOCKQUOTE>
-
-<H1>Contents</H1>
-<UL>
-<LI><A HREF="#introduction">Introduction</A>
-<UL>
-<LI><A HREF="#history">A Brief History of Curses</A>
-<LI><A HREF="#scope">Scope of This Document</A>
-<LI><A HREF="#terminology">Terminology</A>
-</UL>
-<LI><A HREF="#curses">The Curses Library</A>
-<UL>
-<LI><A HREF="#overview">An Overview of Curses</A>
-<UL>
-<LI><A HREF="#compiling">Compiling Programs using Curses</A>
-<LI><A HREF="#updating">Updating the Screen</A>
-<LI><A HREF="#stdscr">Standard Windows and Function Naming Conventions</A>
-<LI><A HREF="#variables">Variables</A>
-</UL>
-<LI><A HREF="#using">Using the Library</A>
-<UL>
-<LI><A HREF="#starting">Starting up</A>
-<LI><A HREF="#output">Output</A>
-<LI><A HREF="#input">Input</A>
-<LI><A HREF="#formschars">Using Forms Characters</A>
-<LI><A HREF="#attributes">Character Attributes and Color</A>
-<LI><A HREF="#mouse">Mouse Interfacing</A>
-<LI><A HREF="#finishing">Finishing Up</A>
-</UL>
-<LI><A HREF="#functions">Function Descriptions</A>
-<UL>
-<LI><A HREF="#init">Initialization and Wrapup</A>
-<LI><A HREF="#flush">Causing Output to the Terminal</A>
-<LI><A HREF="#lowlevel">Low-Level Capability Access</A>
-<LI><A HREF="#debugging">Debugging</A>
-</UL>
-<LI><A HREF="#hints">Hints, Tips, and Tricks</A>
-<UL>
-<LI><A HREF="#caution">Some Notes of Caution</A>
-<LI><A HREF="#leaving">Temporarily Leaving ncurses Mode</A>
-<LI><A HREF="#xterm">Using <CODE>ncurses</CODE> under <CODE>xterm</CODE></A>
-<LI><A HREF="#screens">Handling Multiple Terminal Screens</A>
-<LI><A HREF="#testing">Testing for Terminal Capabilities</A>
-<LI><A HREF="#tuning">Tuning for Speed</A>
-<LI><A HREF="#special">Special Features of <CODE>ncurses</CODE></A>
-</UL>
-<LI><A HREF="#compat">Compatibility with Older Versions</A>
-<UL>
-<LI><A HREF="#refbug">Refresh of Overlapping Windows</A>
-<LI><A HREF="#backbug">Background Erase</A>
-</UL>
-<LI><A HREF="#xsifuncs">XSI Curses Conformance</A>
-</UL>
-<LI><A HREF="#panels">The Panels Library</A>
-<UL>
-<LI><A HREF="#pcompile">Compiling With the Panels Library</A>
-<LI><A HREF="#poverview">Overview of Panels</A>
-<LI><A HREF="#pstdscr">Panels, Input, and the Standard Screen</A>
-<LI><A HREF="#hiding">Hiding Panels</A>
-<LI><A HREF="#pmisc">Miscellaneous Other Facilities</A>
-</UL>
-<LI><A HREF="#menu">The Menu Library</A>
-<UL>
-<LI><A HREF="#mcompile">Compiling with the menu Library</A>
-<LI><A HREF="#moverview">Overview of Menus</A>
-<LI><A HREF="#mselect">Selecting items</A>
-<LI><A HREF="#mdisplay">Menu Display</A>
-<LI><A HREF="#mwindows">Menu Windows</A>
-<LI><A HREF="#minput">Processing Menu Input</A>
-<LI><A HREF="#mmisc">Miscellaneous Other Features</A>
-</UL>
-<LI><A HREF="#form">The Forms Library</A>
-<UL>
-<LI><A HREF="#fcompile">Compiling with the forms Library</A>
-<LI><A HREF="#foverview">Overview of Forms</A>
-<LI><A HREF="#fcreate">Creating and Freeing Fields and Forms</A>
-<LI><A HREF="#fattributes">Fetching and Changing Field Attributes</A>
-<UL>
-<LI><A HREF="#fsizes">Fetching Size and Location Data</A>
-<LI><A HREF="#flocation">Changing the Field Location</A>
-<LI><A HREF="#fjust">The Justification Attribute</A>
-<LI><A HREF="#fdispatts">Field Display Attributes</A>
-<LI><A HREF="#foptions">Field Option Bits</A>
-<LI><A HREF="#fstatus">Field Status</A>
-<LI><A HREF="#fuser">Field User Pointer</A>
-</UL>
-<LI><A HREF="#fdynamic">Variable-Sized Fields</A>
-<LI><A HREF="#fvalidation">Field Validation</A>
-<UL>
-<LI><A HREF="#ftype_alpha">TYPE_ALPHA</A>
-<LI><A HREF="#ftype_alnum">TYPE_ALNUM</A>
-<LI><A HREF="#ftype_enum">TYPE_ENUM</A>
-<LI><A HREF="#ftype_integer">TYPE_INTEGER</A>
-<LI><A HREF="#ftype_numeric">TYPE_NUMERIC</A>
-<LI><A HREF="#ftype_regexp">TYPE_REGEXP</A>
-</UL>
-<LI><A HREF="#fbuffer">Direct Field Buffer Manipulation</A>
-<LI><A HREF="#formattrs">Attributes of Forms</A>
-<LI><A HREF="#fdisplay">Control of Form Display</A>
-<LI><A HREF="#fdriver">Input Processing in the Forms Driver</A>
-<UL>
-<LI><A HREF="#fpage">Page Navigation Requests</A>
-<LI><A HREF="#ffield">Inter-Field Navigation Requests</A>
-<LI><A HREF="#fifield">Intra-Field Navigation Requests</A>
-<LI><A HREF="#fscroll">Scrolling Requests</A>
-<LI><A HREF="#fedit">Field Editing Requests</A>
-<LI><A HREF="#forder">Order Requests</A>
-<LI><A HREF="#fappcmds">Application Commands</A>
-</UL>
-<LI><A HREF="#fhooks">Field Change Hooks</A>
-<LI><A HREF="#ffocus">Field Change Commands</A>
-<LI><A HREF="#frmoptions">Form Options</A>
-<LI><A HREF="#fcustom">Custom Validation Types</A>
-<UL>
-<LI><A HREF="#flinktypes">Union Types</A>
-<LI><A HREF="#fnewtypes">New Field Types</A>
-<LI><A HREF="#fcheckargs">Validation Function Arguments</A>
-<LI><A HREF="#fcustorder">Order Functions For Custom Types</A>
-<LI><A HREF="#fcustprobs">Avoiding Problems</A>
-</UL>
-</UL>
-</UL>
-
-<HR>
-<H1><A NAME="introduction">Introduction</A></H1>
-
-This document is an introduction to programming with <CODE>curses</CODE>. It is
-not an exhaustive reference for the curses Application Programming Interface
-(API); that role is filled by the <CODE>curses</CODE> manual pages. Rather, it
-is intended to help C programmers ease into using the package. <P>
-
-This document is aimed at C applications programmers not yet specifically
-familiar with ncurses. If you are already an experienced <CODE>curses</CODE>
-programmer, you should nevertheless read the sections on
-<A HREF="#mouse">Mouse Interfacing</A>, <A HREF="#debugging">Debugging</A>,
-<A HREF="#compat">Compatibility with Older Versions</A>,
-and <A HREF="#hints">Hints, Tips, and Tricks</A>. These will bring you up
-to speed on the special features and quirks of the <CODE>ncurses</CODE>
-implementation. If you are not so experienced, keep reading. <P>
-
-The <CODE>curses</CODE> package is a subroutine library for
-terminal-independent screen-painting and input-event handling which
-presents a high level screen model to the programmer, hiding differences
-between terminal types and doing automatic optimization of output to change
-one screen full of text into another. <CODE>Curses</CODE> uses terminfo, which
-is a database format that can describe the capabilities of thousands of
-different terminals. <P>
-
-The <CODE>curses</CODE> API may seem something of an archaism on UNIX desktops
-increasingly dominated by X, Motif, and Tcl/Tk. Nevertheless, UNIX still
-supports tty lines and X supports <EM>xterm(1)</EM>; the <CODE>curses</CODE>
-API has the advantage of (a) back-portability to character-cell terminals,
-and (b) simplicity. For an application that does not require bit-mapped
-graphics and multiple fonts, an interface implementation using <CODE>curses</CODE>
-will typically be a great deal simpler and less expensive than one using an
-X toolkit.
-
-<H2><A NAME="history">A Brief History of Curses</A></H2>
-
-Historically, the first ancestor of <CODE>curses</CODE> was the routines written to
-provide screen-handling for the game <CODE>rogue</CODE>; these used the
-already-existing <CODE>termcap</CODE> database facility for describing terminal
-capabilities. These routines were abstracted into a documented library and
-first released with the early BSD UNIX versions. <P>
-
-System III UNIX from Bell Labs featured a rewritten and much-improved
-<CODE>curses</CODE> library. It introduced the terminfo format. Terminfo is based
-on Berkeley's termcap database, but contains a number of improvements and
-extensions. Parameterized capabilities strings were introduced, making it
-possible to describe multiple video attributes, and colors and to handle far
-more unusual terminals than possible with termcap. In the later AT&amp;T
-System V releases, <CODE>curses</CODE> evolved to use more facilities and offer
-more capabilities, going far beyond BSD curses in power and flexibility.
-
-<H2><A NAME="scope">Scope of This Document</A></H2>
-
-This document describes <CODE>ncurses</CODE>, a free implementation of
-the System V <CODE>curses</CODE> API with some clearly marked extensions.
-It includes the following System V curses features:
-<UL>
-<LI>Support for multiple screen highlights (BSD curses could only
-handle one `standout' highlight, usually reverse-video).
-<LI>Support for line- and box-drawing using forms characters.
-<LI>Recognition of function keys on input.
-<LI>Color support.
-<LI>Support for pads (windows of larger than screen size on which the
-screen or a subwindow defines a viewport).
-</UL>
-
-Also, this package makes use of the insert and delete line and character
-features of terminals so equipped, and determines how to optimally use these
-features with no help from the programmer. It allows arbitrary combinations of
-video attributes to be displayed, even on terminals that leave ``magic
-cookies'' on the screen to mark changes in attributes. <P>
-
-The <CODE>ncurses</CODE> package can also capture and use event reports from a
-mouse in some environments (notably, xterm under the X window system). This
-document includes tips for using the mouse. <P>
-
-The <CODE>ncurses</CODE> package was originated by Pavel Curtis. The original
-maintainer of this package is
-<A HREF="mailto:zmbenhal@netcom.com">Zeyd Ben-Halim</A>
-&lt;zmbenhal@netcom.com&gt;.
-<A HREF="mailto:esr@snark.thyrsus.com">Eric S. Raymond</A>
-&lt;esr@snark.thyrsus.com&gt;
-wrote many of the new features in versions after 1.8.1
-and wrote most of this introduction.
-J&uuml;rgen Pfeifer
-wrote all of the menu and forms code as well as the
-<A HREF="http://www.adahome.com">Ada95</A> binding.
-Ongoing work is being done by
-<A HREF="mailto:dickey@invisible-island.net">Thomas Dickey</A> (maintainer).
-Contact the current maintainers at
-<A HREF="mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</A>.
-<P>
-
-This document also describes the <A HREF="#panels">panels</A> extension library,
-similarly modeled on the SVr4 panels facility. This library allows you to
-associate backing store with each of a stack or deck of overlapping windows,
-and provides operations for moving windows around in the stack that change
-their visibility in the natural way (handling window overlaps). <P>
-
-Finally, this document describes in detail the <A HREF="#menu">menus</A> and <A
-HREF="#form">forms</A> extension libraries, also cloned from System V,
-which support easy construction and sequences of menus and fill-in
-forms.
-
-
-<H2><A NAME="terminology">Terminology</A></H2>
-
-In this document, the following terminology is used with reasonable
-consistency:
-
-<DL>
-<DT> window
-<DD>
-A data structure describing a sub-rectangle of the screen (possibly the
-entire screen). You can write to a window as though it were a miniature
-screen, scrolling independently of other windows on the physical screen.
-<DT> screens
-<DD>
-A subset of windows which are as large as the terminal screen, i.e., they start
-at the upper left hand corner and encompass the lower right hand corner. One
-of these, <CODE>stdscr</CODE>, is automatically provided for the programmer.
-<DT> terminal screen
-<DD>
-The package's idea of what the terminal display currently looks like, i.e.,
-what the user sees now. This is a special screen.
-</DL>
-
-<H1><A NAME="curses">The Curses Library</A></H1>
-
-<H2><A NAME="overview">An Overview of Curses</A></H2>
-
-<H3><A NAME="compiling">Compiling Programs using Curses</A></H3>
-
-In order to use the library, it is necessary to have certain types and
-variables defined. Therefore, the programmer must have a line:
-
-<PRE>
- #include &lt;curses.h&gt;
-</PRE>
-
-at the top of the program source. The screen package uses the Standard I/O
-library, so <CODE>&lt;curses.h&gt;</CODE> includes
-<CODE>&lt;stdio.h&gt;</CODE>. <CODE>&lt;curses.h&gt;</CODE> also includes
-<CODE>&lt;termios.h&gt;</CODE>, <CODE>&lt;termio.h&gt;</CODE>, or
-<CODE>&lt;sgtty.h&gt;</CODE> depending on your system. It is redundant (but
-harmless) for the programmer to do these includes, too. In linking with
-<CODE>curses</CODE> you need to have <CODE>-lncurses</CODE> in your LDFLAGS or on the
-command line. There is no need for any other libraries.
-
-<H3><A NAME="updating">Updating the Screen</A></H3>
-
-In order to update the screen optimally, it is necessary for the routines to
-know what the screen currently looks like and what the programmer wants it to
-look like next. For this purpose, a data type (structure) named WINDOW is
-defined which describes a window image to the routines, including its starting
-position on the screen (the (y, x) coordinates of the upper left hand corner)
-and its size. One of these (called <CODE>curscr</CODE>, for current screen) is a
-screen image of what the terminal currently looks like. Another screen (called
-<CODE>stdscr</CODE>, for standard screen) is provided by default to make changes
-on. <P>
-
-A window is a purely internal representation. It is used to build and store a
-potential image of a portion of the terminal. It doesn't bear any necessary
-relation to what is really on the terminal screen; it's more like a
-scratchpad or write buffer. <P>
-
-To make the section of physical screen corresponding to a window reflect the
-contents of the window structure, the routine <CODE>refresh()</CODE> (or
-<CODE>wrefresh()</CODE> if the window is not <CODE>stdscr</CODE>) is called. <P>
-
-A given physical screen section may be within the scope of any number of
-overlapping windows. Also, changes can be made to windows in any order,
-without regard to motion efficiency. Then, at will, the programmer can
-effectively say ``make it look like this,'' and let the package implementation
-determine the most efficient way to repaint the screen.
-
-<H3><A NAME="stdscr">Standard Windows and Function Naming Conventions</A></H3>
-
-As hinted above, the routines can use several windows, but two are
-automatically given: <CODE>curscr</CODE>, which knows what the terminal looks like,
-and <CODE>stdscr</CODE>, which is what the programmer wants the terminal to look
-like next. The user should never actually access <CODE>curscr</CODE> directly.
-Changes should be made to through the API, and then the routine
-<CODE>refresh()</CODE> (or <CODE>wrefresh()</CODE>) called. <P>
-
-Many functions are defined to use <CODE>stdscr</CODE> as a default screen. For
-example, to add a character to <CODE>stdscr</CODE>, one calls <CODE>addch()</CODE> with
-the desired character as argument. To write to a different window. use the
-routine <CODE>waddch()</CODE> (for `w'indow-specific addch()) is provided. This
-convention of prepending function names with a `w' when they are to be
-applied to specific windows is consistent. The only routines which do not
-follow it are those for which a window must always be specified. <P>
-
-In order to move the current (y, x) coordinates from one point to another, the
-routines <CODE>move()</CODE> and <CODE>wmove()</CODE> are provided. However, it is
-often desirable to first move and then perform some I/O operation. In order to
-avoid clumsiness, most I/O routines can be preceded by the prefix 'mv' and
-the desired (y, x) coordinates prepended to the arguments to the function. For
-example, the calls
-
-<PRE>
- move(y, x);
- addch(ch);
-</PRE>
-
-can be replaced by
-
-<PRE>
- mvaddch(y, x, ch);
-</PRE>
-
-and
-
-<PRE>
- wmove(win, y, x);
- waddch(win, ch);
-</PRE>
-
-can be replaced by
-
-<PRE>
- mvwaddch(win, y, x, ch);
-</PRE>
-
-Note that the window description pointer (win) comes before the added (y, x)
-coordinates. If a function requires a window pointer, it is always the first
-parameter passed.
-
-<H3><A NAME="variables">Variables</A></H3>
-
-The <CODE>curses</CODE> library sets some variables describing the terminal
-capabilities.
-
-<PRE>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+ <meta name="generator" content=
+ "HTML Tidy for HTML5 for Linux version 5.2.0">
+
+ <title>Writing Programs with NCURSES</title>
+ <link rel="author" href="mailto:bugs-ncurses@gnu.org">
+ <meta http-equiv="Content-Type" content=
+ "text/html; charset=us-ascii">
+</head>
+
+<body>
+ <h1>Writing Programs with NCURSES</h1>
+
+ <blockquote>
+ by Eric S. Raymond and Zeyd M. Ben-Halim<br>
+ updates since release 1.9.9e by Thomas Dickey
+ </blockquote>
+
+ <h1>Contents</h1>
+
+ <ul>
+ <li>
+ <a href="#introduction">Introduction</a>
+
+ <ul>
+ <li><a href="#history">A Brief History of Curses</a></li>
+
+ <li><a href="#scope">Scope of This Document</a></li>
+
+ <li><a href="#terminology">Terminology</a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#curses">The Curses Library</a>
+
+ <ul>
+ <li>
+ <a href="#overview">An Overview of Curses</a>
+
+ <ul>
+ <li><a href="#compiling">Compiling Programs using
+ Curses</a></li>
+
+ <li><a href="#updating">Updating the Screen</a></li>
+
+ <li><a href="#stdscr">Standard Windows and Function
+ Naming Conventions</a></li>
+
+ <li><a href="#variables">Variables</a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#using">Using the Library</a>
+
+ <ul>
+ <li><a href="#starting">Starting up</a></li>
+
+ <li><a href="#output">Output</a></li>
+
+ <li><a href="#input">Input</a></li>
+
+ <li><a href="#formschars">Using Forms Characters</a></li>
+
+ <li><a href="#attributes">Character Attributes and
+ Color</a></li>
+
+ <li><a href="#mouse">Mouse Interfacing</a></li>
+
+ <li><a href="#finishing">Finishing Up</a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#functions">Function Descriptions</a>
+
+ <ul>
+ <li><a href="#init">Initialization and Wrapup</a></li>
+
+ <li><a href="#flush">Causing Output to the Terminal</a></li>
+
+ <li><a href="#lowlevel">Low-Level Capability Access</a></li>
+
+ <li><a href="#debugging">Debugging</a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#hints">Hints, Tips, and Tricks</a>
+
+ <ul>
+ <li><a href="#caution">Some Notes of Caution</a></li>
+
+ <li><a href="#leaving">Temporarily Leaving ncurses
+ Mode</a></li>
+
+ <li><a href="#xterm">Using <code>ncurses</code> under
+ <code>xterm</code></a></li>
+
+ <li><a href="#screens">Handling Multiple Terminal
+ Screens</a></li>
+
+ <li><a href="#testing">Testing for Terminal
+ Capabilities</a></li>
+
+ <li><a href="#tuning">Tuning for Speed</a></li>
+
+ <li><a href="#special">Special Features of
+ <code>ncurses</code></a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#compat">Compatibility with Older Versions</a>
+
+ <ul>
+ <li><a href="#refbug">Refresh of Overlapping
+ Windows</a></li>
+
+ <li><a href="#backbug">Background Erase</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#xsifuncs">XSI Curses Conformance</a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#panels">The Panels Library</a>
+
+ <ul>
+ <li><a href="#pcompile">Compiling With the Panels
+ Library</a></li>
+
+ <li><a href="#poverview">Overview of Panels</a></li>
+
+ <li><a href="#pstdscr">Panels, Input, and the Standard
+ Screen</a></li>
+
+ <li><a href="#hiding">Hiding Panels</a></li>
+
+ <li><a href="#pmisc">Miscellaneous Other Facilities</a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#menu">The Menu Library</a>
+
+ <ul>
+ <li><a href="#mcompile">Compiling with the menu Library</a></li>
+
+ <li><a href="#moverview">Overview of Menus</a></li>
+
+ <li><a href="#mselect">Selecting items</a></li>
+
+ <li><a href="#mdisplay">Menu Display</a></li>
+
+ <li><a href="#mwindows">Menu Windows</a></li>
+
+ <li><a href="#minput">Processing Menu Input</a></li>
+
+ <li><a href="#mmisc">Miscellaneous Other Features</a></li>
+ </ul>
+ </li>
+
+ <li>
+ <a href="#form">The Forms Library</a>
+
+ <ul>
+ <li><a href="#fcompile">Compiling with the forms
+ Library</a></li>
+
+ <li><a href="#foverview">Overview of Forms</a></li>
+
+ <li><a href="#fcreate">Creating and Freeing Fields and
+ Forms</a></li>
+
+ <li>
+ <a href="#fattributes">Fetching and Changing Field
+ Attributes</a>
+
+ <ul>
+ <li><a href="#fsizes">Fetching Size and Location
+ Data</a></li>
+
+ <li><a href="#flocation">Changing the Field
+ Location</a></li>
+
+ <li><a href="#fjust">The Justification Attribute</a></li>
+
+ <li><a href="#fdispatts">Field Display Attributes</a></li>
+
+ <li><a href="#foptions">Field Option Bits</a></li>
+
+ <li><a href="#fstatus">Field Status</a></li>
+
+ <li><a href="#fuser">Field User Pointer</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#fdynamic">Variable-Sized Fields</a></li>
+
+ <li>
+ <a href="#fvalidation">Field Validation</a>
+
+ <ul>
+ <li><a href="#ftype_alpha">TYPE_ALPHA</a></li>
+
+ <li><a href="#ftype_alnum">TYPE_ALNUM</a></li>
+
+ <li><a href="#ftype_enum">TYPE_ENUM</a></li>
+
+ <li><a href="#ftype_integer">TYPE_INTEGER</a></li>
+
+ <li><a href="#ftype_numeric">TYPE_NUMERIC</a></li>
+
+ <li><a href="#ftype_regexp">TYPE_REGEXP</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#fbuffer">Direct Field Buffer Manipulation</a></li>
+
+ <li><a href="#formattrs">Attributes of Forms</a></li>
+
+ <li><a href="#fdisplay">Control of Form Display</a></li>
+
+ <li>
+ <a href="#fdriver">Input Processing in the Forms
+ Driver</a>
+
+ <ul>
+ <li><a href="#fpage">Page Navigation Requests</a></li>
+
+ <li><a href="#ffield">Inter-Field Navigation
+ Requests</a></li>
+
+ <li><a href="#fifield">Intra-Field Navigation
+ Requests</a></li>
+
+ <li><a href="#fscroll">Scrolling Requests</a></li>
+
+ <li><a href="#fedit">Field Editing Requests</a></li>
+
+ <li><a href="#forder">Order Requests</a></li>
+
+ <li><a href="#fappcmds">Application Commands</a></li>
+ </ul>
+ </li>
+
+ <li><a href="#fhooks">Field Change Hooks</a></li>
+
+ <li><a href="#ffocus">Field Change Commands</a></li>
+
+ <li><a href="#frmoptions">Form Options</a></li>
+
+ <li>
+ <a href="#fcustom">Custom Validation Types</a>
+
+ <ul>
+ <li><a href="#flinktypes">Union Types</a></li>
+
+ <li><a href="#fnewtypes">New Field Types</a></li>
+
+ <li><a href="#fcheckargs">Validation Function
+ Arguments</a></li>
+
+ <li><a href="#fcustorder">Order Functions For Custom
+ Types</a></li>
+
+ <li><a href="#fcustprobs">Avoiding Problems</a></li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
+
+ <hr>
+
+ <h1><a name="introduction" id="introduction">Introduction</a></h1>
+
+ <p>This document is an introduction to programming with
+ <code>curses</code>. It is not an exhaustive reference for the
+ curses Application Programming Interface (API); that role is
+ filled by the <code>curses</code> manual pages. Rather, it is
+ intended to help C programmers ease into using the package.</p>
+
+ <p>This document is aimed at C applications programmers not yet
+ specifically familiar with ncurses. If you are already an
+ experienced <code>curses</code> programmer, you should
+ nevertheless read the sections on <a href="#mouse">Mouse
+ Interfacing</a>, <a href="#debugging">Debugging</a>, <a href=
+ "#compat">Compatibility with Older Versions</a>, and <a href=
+ "#hints">Hints, Tips, and Tricks</a>. These will bring you up to
+ speed on the special features and quirks of the
+ <code>ncurses</code> implementation. If you are not so
+ experienced, keep reading.</p>
+
+ <p>The <code>curses</code> package is a subroutine library for
+ terminal-independent screen-painting and input-event handling
+ which presents a high level screen model to the programmer,
+ hiding differences between terminal types and doing automatic
+ optimization of output to change one screen full of text into
+ another. <code>Curses</code> uses terminfo, which is a database
+ format that can describe the capabilities of thousands of
+ different terminals.</p>
+
+ <p>The <code>curses</code> API may seem something of an archaism
+ on UNIX desktops increasingly dominated by X, Motif, and Tcl/Tk.
+ Nevertheless, UNIX still supports tty lines and X supports
+ <em>xterm(1)</em>; the <code>curses</code> API has the advantage
+ of (a) back-portability to character-cell terminals, and (b)
+ simplicity. For an application that does not require bit-mapped
+ graphics and multiple fonts, an interface implementation using
+ <code>curses</code> will typically be a great deal simpler and
+ less expensive than one using an X toolkit.</p>
+
+ <h2><a name="history" id="history">A Brief History of Curses</a></h2>
+
+ <p>Historically, the first ancestor of <code>curses</code> was
+ the routines written to provide screen-handling for the
+ <code>vi</code> editor; these used the <code>termcap</code>
+ database facility (both released in 3BSD) for describing terminal
+ capabilities. These routines were abstracted into a documented
+ library and first released with the early BSD UNIX versions. All
+ of this work was done by students at the University of California
+ (Berkeley campus). The curses library was first published in
+ 4.0BSD, a year after 3BSD (i.e., late 1980).</p>
+
+ <p>After graduation, one of those students went to work at
+ AT&amp;T Bell Labs, and made an improved <code>termcap</code>
+ library called <code>terminfo</code> (i.e.,
+ &ldquo;libterm&rdquo;), and adapted the curses library to use
+ this. That was subsequently released in System V Release 2 (early
+ 1984). Thereafter, other developers added to the curses and
+ terminfo libraries. For instance, a student at Cornell University
+ wrote an improved terminfo library as well as a tool
+ (<code>tic</code>) to compile the terminal descriptions. As a
+ general rule, AT&amp;T did not identify the developers in the
+ source-code or documentation; the <code>tic</code> and
+ <code>infocmp</code> programs are the exceptions.</p>
+
+ <p>System V Release 3 (System III UNIX) from Bell Labs featured a
+ rewritten and much-improved <code>curses</code> library, along
+ with the <code>tic</code> program (late 1986).</p>
+
+ <p>To recap, terminfo is based on Berkeley's termcap database,
+ but contains a number of improvements and extensions.
+ Parameterized capabilities strings were introduced, making it
+ possible to describe multiple video attributes, and colors and to
+ handle far more unusual terminals than possible with termcap. In
+ the later AT&amp;T System V releases, <code>curses</code> evolved
+ to use more facilities and offer more capabilities, going far
+ beyond BSD curses in power and flexibility.</p>
+
+ <h2><a name="scope" id="scope">Scope of This Document</a></h2>
+
+ <p>This document describes <code>ncurses</code>, a free
+ implementation of the System V <code>curses</code> API with some
+ clearly marked extensions. It includes the following System V
+ curses features:</p>
+
+ <ul>
+ <li>Support for multiple screen highlights (BSD curses could
+ only handle one &ldquo;standout&rdquo; highlight, usually
+ reverse-video).</li>
+
+ <li>Support for line- and box-drawing using forms
+ characters.</li>
+
+ <li>Recognition of function keys on input.</li>
+
+ <li>Color support.</li>
+
+ <li>Support for pads (windows of larger than screen size on
+ which the screen or a subwindow defines a viewport).</li>
+ </ul>
+
+ <p>Also, this package makes use of the insert and delete line and
+ character features of terminals so equipped, and determines how
+ to optimally use these features with no help from the programmer.
+ It allows arbitrary combinations of video attributes to be
+ displayed, even on terminals that leave &ldquo;magic
+ cookies&rdquo; on the screen to mark changes in attributes.</p>
+
+ <p>The <code>ncurses</code> package can also capture and use
+ event reports from a mouse in some environments (notably, xterm
+ under the X window system). This document includes tips for using
+ the mouse.</p>
+
+ <p>The <code>ncurses</code> package was originated by Pavel
+ Curtis. The original maintainer of this package is <a href=
+ "mailto:zmbenhal@netcom.com">Zeyd Ben-Halim</a>
+ &lt;zmbenhal@netcom.com&gt;. <a href=
+ "mailto:esr@snark.thyrsus.com">Eric S. Raymond</a>
+ &lt;esr@snark.thyrsus.com&gt; wrote many of the new features in
+ versions after 1.8.1 and wrote most of this introduction.
+ J&uuml;rgen Pfeifer wrote all of the menu and forms code as well
+ as the <a href="http://www.adahome.com">Ada95</a> binding.
+ Ongoing work is being done by <a href=
+ "mailto:dickey@invisible-island.net">Thomas Dickey</a>
+ (maintainer). Contact the current maintainers at <a href=
+ "mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>.</p>
+
+ <p>This document also describes the <a href="#panels">panels</a>
+ extension library, similarly modeled on the SVr4 panels facility.
+ This library allows you to associate backing store with each of a
+ stack or deck of overlapping windows, and provides operations for
+ moving windows around in the stack that change their visibility
+ in the natural way (handling window overlaps).</p>
+
+ <p>Finally, this document describes in detail the <a href=
+ "#menu">menus</a> and <a href="#form">forms</a> extension
+ libraries, also cloned from System V, which support easy
+ construction and sequences of menus and fill-in forms.</p>
+
+ <h2><a name="terminology" id="terminology">Terminology</a></h2>
+
+ <p>In this document, the following terminology is used with
+ reasonable consistency:</p>
+
+ <dl>
+ <dt>window</dt>
+
+ <dd>A data structure describing a sub-rectangle of the screen
+ (possibly the entire screen). You can write to a window as
+ though it were a miniature screen, scrolling independently of
+ other windows on the physical screen.</dd>
+
+ <dt>screens</dt>
+
+ <dd>A subset of windows which are as large as the terminal
+ screen, i.e., they start at the upper left hand corner and
+ encompass the lower right hand corner. One of these,
+ <code>stdscr</code>, is automatically provided for the
+ programmer.</dd>
+
+ <dt>terminal screen</dt>
+
+ <dd>The package's idea of what the terminal display currently
+ looks like, i.e., what the user sees now. This is a special
+ screen.</dd>
+ </dl>
+
+ <h1><a name="curses" id="curses">The Curses Library</a></h1>
+
+ <h2><a name="overview" id="overview">An Overview of Curses</a></h2>
+
+ <h3><a name="compiling" id="compiling">Compiling Programs using
+ Curses</a></h3>
+
+ <p>In order to use the library, it is necessary to have certain
+ types and variables defined. Therefore, the programmer must have
+ a line:</p>
+
+ <pre>
+ #include &lt;curses.h&gt;
+</pre>
+
+ <p>at the top of the program source. The screen package uses the
+ Standard I/O library, so <code>&lt;curses.h&gt;</code> includes
+ <code>&lt;stdio.h&gt;</code>. <code>&lt;curses.h&gt;</code> also
+ includes <code>&lt;termios.h&gt;</code>,
+ <code>&lt;termio.h&gt;</code>, or <code>&lt;sgtty.h&gt;</code>
+ depending on your system. It is redundant (but harmless) for the
+ programmer to do these includes, too. In linking with
+ <code>curses</code> you need to have <code>-lncurses</code> in
+ your LDFLAGS or on the command line. There is no need for any
+ other libraries.</p>
+
+ <h3><a name="updating" id="updating">Updating the Screen</a></h3>
+
+ <p>In order to update the screen optimally, it is necessary for
+ the routines to know what the screen currently looks like and
+ what the programmer wants it to look like next. For this purpose,
+ a data type (structure) named WINDOW is defined which describes a
+ window image to the routines, including its starting position on
+ the screen (the (y, x) coordinates of the upper left hand corner)
+ and its size. One of these (called <code>curscr</code>, for
+ current screen) is a screen image of what the terminal currently
+ looks like. Another screen (called <code>stdscr</code>, for
+ standard screen) is provided by default to make changes on.</p>
+
+ <p>A window is a purely internal representation. It is used to
+ build and store a potential image of a portion of the terminal.
+ It does not bear any necessary relation to what is really on the
+ terminal screen; it is more like a scratchpad or write
+ buffer.</p>
+
+ <p>To make the section of physical screen corresponding to a
+ window reflect the contents of the window structure, the routine
+ <code>refresh()</code> (or <code>wrefresh()</code> if the window
+ is not <code>stdscr</code>) is called.</p>
+
+ <p>A given physical screen section may be within the scope of any
+ number of overlapping windows. Also, changes can be made to
+ windows in any order, without regard to motion efficiency. Then,
+ at will, the programmer can effectively say &ldquo;make it look
+ like this,&rdquo; and let the package implementation determine
+ the most efficient way to repaint the screen.</p>
+
+ <h3><a name="stdscr" id="stdscr">Standard Windows and Function
+ Naming Conventions</a></h3>
+
+ <p>As hinted above, the routines can use several windows, but two
+ are automatically given: <code>curscr</code>, which knows what
+ the terminal looks like, and <code>stdscr</code>, which is what
+ the programmer wants the terminal to look like next. The user
+ should never actually access <code>curscr</code> directly.
+ Changes should be made to through the API, and then the routine
+ <code>refresh()</code> (or <code>wrefresh()</code>) called.</p>
+
+ <p>Many functions are defined to use <code>stdscr</code> as a
+ default screen. For example, to add a character to
+ <code>stdscr</code>, one calls <code>addch()</code> with the
+ desired character as argument. To write to a different window.
+ use the routine <code>waddch()</code> (for
+ <strong>w</strong>indow-specific addch()) is provided. This
+ convention of prepending function names with a &ldquo;w&rdquo;
+ when they are to be applied to specific windows is consistent.
+ The only routines which do not follow it are those for which a
+ window must always be specified.</p>
+
+ <p>In order to move the current (y, x) coordinates from one point
+ to another, the routines <code>move()</code> and
+ <code>wmove()</code> are provided. However, it is often desirable
+ to first move and then perform some I/O operation. In order to
+ avoid clumsiness, most I/O routines can be preceded by the prefix
+ &ldquo;mv&rdquo; and the desired (y, x) coordinates prepended to
+ the arguments to the function. For example, the calls</p>
+
+ <pre>
+ move(y, x);
+ addch(ch);
+</pre>
+
+ <p>can be replaced by</p>
+
+ <pre>
+ mvaddch(y, x, ch);
+</pre>
+
+ <p>and</p>
+
+ <pre>
+ wmove(win, y, x);
+ waddch(win, ch);
+</pre>
+
+ <p>can be replaced by</p>
+
+ <pre>
+ mvwaddch(win, y, x, ch);
+</pre>
+
+ <p>Note that the window description pointer (win) comes before
+ the added (y, x) coordinates. If a function requires a window
+ pointer, it is always the first parameter passed.</p>
+
+ <h3><a name="variables" id="variables">Variables</a></h3>
+
+ <p>The <code>curses</code> library sets some variables describing
+ the terminal capabilities.</p>
+
+ <pre>
type name description
------------------------------------------------------------------
int LINES number of lines on the terminal
int COLS number of columns on the terminal
-</PRE>
-
-The <CODE>curses.h</CODE> also introduces some <CODE>#define</CODE> constants and types
-of general usefulness:
-
-<DL>
-<DT> <CODE>bool</CODE>
-<DD> boolean type, actually a `char' (e.g., <CODE>bool doneit;</CODE>)
-<DT> <CODE>TRUE</CODE>
-<DD> boolean `true' flag (1).
-<DT> <CODE>FALSE</CODE>
-<DD> boolean `false' flag (0).
-<DT> <CODE>ERR</CODE>
-<DD> error flag returned by routines on a failure (-1).
-<DT> <CODE>OK</CODE>
-<DD> error flag returned by routines when things go right.
-</DL>
-
-<H2><A NAME="using">Using the Library</A></H2>
-
-Now we describe how to actually use the screen package. In it, we assume all
-updating, reading, etc. is applied to <CODE>stdscr</CODE>. These instructions will
-work on any window, providing you change the function names and parameters as
-mentioned above. <P>
-
-Here is a sample program to motivate the discussion:
-
-<PRE>
+</pre>
+
+ <p>The <code>curses.h</code> also introduces some
+ <code>#define</code> constants and types of general
+ usefulness:</p>
+
+ <dl>
+ <dt><code>bool</code>
+ </dt>
+
+ <dd>boolean type, actually a &ldquo;char&rdquo; (e.g.,
+ <code>bool doneit;</code>)</dd>
+
+ <dt><code>TRUE</code>
+ </dt>
+
+ <dd>boolean &ldquo;true&rdquo; flag (1).</dd>
+
+ <dt><code>FALSE</code>
+ </dt>
+
+ <dd>boolean &ldquo;false&rdquo; flag (0).</dd>
+
+ <dt><code>ERR</code>
+ </dt>
+
+ <dd>error flag returned by routines on a failure (-1).</dd>
+
+ <dt><code>OK</code>
+ </dt>
+
+ <dd>error flag returned by routines when things go right.</dd>
+ </dl>
+
+ <h2><a name="using" id="using">Using the Library</a></h2>
+
+ <p>Now we describe how to actually use the screen package. In it,
+ we assume all updating, reading, etc. is applied to
+ <code>stdscr</code>. These instructions will work on any window,
+ providing you change the function names and parameters as
+ mentioned above.</p>
+
+ <p>Here is a sample program to motivate the discussion:</p>
+
+ <pre>
#include &lt;stdlib.h&gt;
#include &lt;curses.h&gt;
#include &lt;signal.h&gt;
@@ -458,9 +672,9 @@ main(int argc, char *argv[])
/*
* Simple color assignment, often all we need. Color pair 0 cannot
- * be redefined. This example uses the same value for the color
- * pair as for the foreground color, though of course that is not
- * necessary:
+ * be redefined. This example uses the same value for the color
+ * pair as for the foreground color, though of course that is not
+ * necessary:
*/
init_pair(1, COLOR_RED, COLOR_BLACK);
init_pair(2, COLOR_GREEN, COLOR_BLACK);
@@ -474,13 +688,13 @@ main(int argc, char *argv[])
for (;;)
{
int c = getch(); /* refresh, accept single keystroke of input */
- attrset(COLOR_PAIR(num % 8));
- num++;
+ attrset(COLOR_PAIR(num % 8));
+ num++;
/* process the command keystroke */
}
- finish(0); /* we're done */
+ finish(0); /* we are done */
}
static void finish(int sig)
@@ -491,1165 +705,1377 @@ static void finish(int sig)
exit(0);
}
-</PRE>
-
-<H3><A NAME="starting">Starting up</A></H3>
-
-In order to use the screen package, the routines must know about terminal
-characteristics, and the space for <CODE>curscr</CODE> and <CODE>stdscr</CODE> must be
-allocated. These function <CODE>initscr()</CODE> does both these things. Since it
-must allocate space for the windows, it can overflow memory when attempting to
-do so. On the rare occasions this happens, <CODE>initscr()</CODE> will terminate
-the program with an error message. <CODE>initscr()</CODE> must always be called
-before any of the routines which affect windows are used. If it is not, the
-program will core dump as soon as either <CODE>curscr</CODE> or <CODE>stdscr</CODE> are
-referenced. However, it is usually best to wait to call it until after you are
-sure you will need it, like after checking for startup errors. Terminal status
-changing routines like <CODE>nl()</CODE> and <CODE>cbreak()</CODE> should be called
-after <CODE>initscr()</CODE>. <P>
-
-Once the screen windows have been allocated, you can set them up for
-your program. If you want to, say, allow a screen to scroll, use
-<CODE>scrollok()</CODE>. If you want the cursor to be left in place after
-the last change, use <CODE>leaveok()</CODE>. If this isn't done,
-<CODE>refresh()</CODE> will move the cursor to the window's current (y, x)
-coordinates after updating it. <P>
-
-You can create new windows of your own using the functions <CODE>newwin()</CODE>,
-<CODE>derwin()</CODE>, and <CODE>subwin()</CODE>. The routine <CODE>delwin()</CODE> will
-allow you to get rid of old windows. All the options described above can be
-applied to any window.
-
-<H3><A NAME="output">Output</A></H3>
-
-Now that we have set things up, we will want to actually update the terminal.
-The basic functions used to change what will go on a window are
-<CODE>addch()</CODE> and <CODE>move()</CODE>. <CODE>addch()</CODE> adds a character at the
-current (y, x) coordinates. <CODE>move()</CODE> changes the current (y, x)
-coordinates to whatever you want them to be. It returns <CODE>ERR</CODE> if you
-try to move off the window. As mentioned above, you can combine the two into
-<CODE>mvaddch()</CODE> to do both things at once. <P>
-
-The other output functions, such as <CODE>addstr()</CODE> and <CODE>printw()</CODE>,
-all call <CODE>addch()</CODE> to add characters to the window. <P>
-
-After you have put on the window what you want there, when you want the portion
-of the terminal covered by the window to be made to look like it, you must call
-<CODE>refresh()</CODE>. In order to optimize finding changes, <CODE>refresh()</CODE>
-assumes that any part of the window not changed since the last
-<CODE>refresh()</CODE> of that window has not been changed on the terminal, i.e.,
-that you have not refreshed a portion of the terminal with an overlapping
-window. If this is not the case, the routine <CODE>touchwin()</CODE> is provided
-to make it look like the entire window has been changed, thus making
-<CODE>refresh()</CODE> check the whole subsection of the terminal for changes. <P>
-
-If you call <CODE>wrefresh()</CODE> with <CODE>curscr</CODE> as its argument, it will
-make the screen look like <CODE>curscr</CODE> thinks it looks like. This is useful
-for implementing a command which would redraw the screen in case it get messed
-up.
-
-<H3><A NAME="input">Input</A></H3>
-
-The complementary function to <CODE>addch()</CODE> is <CODE>getch()</CODE> which, if
-echo is set, will call <CODE>addch()</CODE> to echo the character. Since the
-screen package needs to know what is on the terminal at all times, if
-characters are to be echoed, the tty must be in raw or cbreak mode. Since
-initially the terminal has echoing enabled and is in ordinary ``cooked'' mode,
-one or the other has to changed before calling <CODE>getch()</CODE>; otherwise,
-the program's output will be unpredictable. <P>
-
-When you need to accept line-oriented input in a window, the functions
-<CODE>wgetstr()</CODE> and friends are available. There is even a <CODE>wscanw()</CODE>
-function that can do <CODE>scanf()</CODE>(3)-style multi-field parsing on window
-input. These pseudo-line-oriented functions turn on echoing while they
-execute. <P>
-
-The example code above uses the call <CODE>keypad(stdscr, TRUE)</CODE> to enable
-support for function-key mapping. With this feature, the <CODE>getch()</CODE> code
-watches the input stream for character sequences that correspond to arrow and
-function keys. These sequences are returned as pseudo-character values. The
-<CODE>#define</CODE> values returned are listed in the <CODE>curses.h</CODE> The
-mapping from sequences to <CODE>#define</CODE> values is determined by
-<CODE>key_</CODE> capabilities in the terminal's terminfo entry.
-
-<H3><A NAME="formschars">Using Forms Characters</A></H3>
-
-The <CODE>addch()</CODE> function (and some others, including <CODE>box()</CODE> and
-<CODE>border()</CODE>) can accept some pseudo-character arguments which are specially
-defined by <CODE>ncurses</CODE>. These are <CODE>#define</CODE> values set up in
-the <CODE>curses.h</CODE> header; see there for a complete list (look for
-the prefix <CODE>ACS_</CODE>). <P>
-
-The most useful of the ACS defines are the forms-drawing characters. You can
-use these to draw boxes and simple graphs on the screen. If the terminal
-does not have such characters, <CODE>curses.h</CODE> will map them to a
-recognizable (though ugly) set of ASCII defaults.
-
-<H3><A NAME="attributes">Character Attributes and Color</A></H3>
-
-The <CODE>ncurses</CODE> package supports screen highlights including standout,
-reverse-video, underline, and blink. It also supports color, which is treated
-as another kind of highlight. <P>
-
-Highlights are encoded, internally, as high bits of the pseudo-character type
-(<CODE>chtype</CODE>) that <CODE>curses.h</CODE> uses to represent the contents of a
-screen cell. See the <CODE>curses.h</CODE> header file for a complete list of
-highlight mask values (look for the prefix <CODE>A_</CODE>).<P>
-
-There are two ways to make highlights. One is to logical-or the value of the
-highlights you want into the character argument of an <CODE>addch()</CODE> call,
-or any other output call that takes a <CODE>chtype</CODE> argument. <P>
-
-The other is to set the current-highlight value. This is logical-or'ed with
-any highlight you specify the first way. You do this with the functions
-<CODE>attron()</CODE>, <CODE>attroff()</CODE>, and <CODE>attrset()</CODE>; see the manual
-pages for details.
-
-Color is a special kind of highlight. The package actually thinks in terms
-of color pairs, combinations of foreground and background colors. The sample
-code above sets up eight color pairs, all of the guaranteed-available colors
-on black. Note that each color pair is, in effect, given the name of its
-foreground color. Any other range of eight non-conflicting values could
-have been used as the first arguments of the <CODE>init_pair()</CODE> values. <P>
-
-Once you've done an <CODE>init_pair()</CODE> that creates color-pair N, you can
-use <CODE>COLOR_PAIR(N)</CODE> as a highlight that invokes that particular
-color combination. Note that <CODE>COLOR_PAIR(N)</CODE>, for constant N,
-is itself a compile-time constant and can be used in initializers.
-
-<H3><A NAME="mouse">Mouse Interfacing</A></H3>
-
-The <CODE>ncurses</CODE> library also provides a mouse interface.
-<!-- The 'note' tag is not portable enough -->
-<blockquote>
-<strong>NOTE:</strong> this facility is specific to <CODE>ncurses</CODE>, it is not part of either
-the XSI Curses standard, nor of System V Release 4, nor BSD curses.
-System V Release 4 curses contains code with similar interface definitions,
-however it is not documented. Other than by disassembling the library, we
-have no way to determine exactly how that mouse code works.
-Thus, we recommend that you wrap mouse-related code in an #ifdef using the
-feature macro NCURSES_MOUSE_VERSION so it will not be compiled and linked
-on non-ncurses systems.
-</blockquote>
-
-Presently, mouse event reporting works in the following environments:
-<ul>
-<li>xterm and similar programs such as rxvt.
-<li>Linux console, when configured with <CODE>gpm</CODE>(1), Alessandro
-Rubini's mouse server.
-<li>FreeBSD sysmouse (console)
-<li>OS/2 EMX
-</ul>
-<P>
-The mouse interface is very simple. To activate it, you use the function
-<CODE>mousemask()</CODE>, passing it as first argument a bit-mask that specifies
-what kinds of events you want your program to be able to see. It will
-return the bit-mask of events that actually become visible, which may differ
-from the argument if the mouse device is not capable of reporting some of
-the event types you specify. <P>
-
-Once the mouse is active, your application's command loop should watch
-for a return value of <CODE>KEY_MOUSE</CODE> from <CODE>wgetch()</CODE>. When
-you see this, a mouse event report has been queued. To pick it off
-the queue, use the function <CODE>getmouse()</CODE> (you must do this before
-the next <CODE>wgetch()</CODE>, otherwise another mouse event might come
-in and make the first one inaccessible). <P>
-
-Each call to <CODE>getmouse()</CODE> fills a structure (the address of which you'll
-pass it) with mouse event data. The event data includes zero-origin,
-screen-relative character-cell coordinates of the mouse pointer. It also
-includes an event mask. Bits in this mask will be set, corresponding
-to the event type being reported. <P>
-
-The mouse structure contains two additional fields which may be
-significant in the future as ncurses interfaces to new kinds of
-pointing device. In addition to x and y coordinates, there is a slot
-for a z coordinate; this might be useful with touch-screens that can
-return a pressure or duration parameter. There is also a device ID
-field, which could be used to distinguish between multiple pointing
-devices. <P>
-
-The class of visible events may be changed at any time via <CODE>mousemask()</CODE>.
-Events that can be reported include presses, releases, single-, double- and
-triple-clicks (you can set the maximum button-down time for clicks). If
-you don't make clicks visible, they will be reported as press-release
-pairs. In some environments, the event mask may include bits reporting
-the state of shift, alt, and ctrl keys on the keyboard during the event. <P>
-
-A function to check whether a mouse event fell within a given window is
-also supplied. You can use this to see whether a given window should
-consider a mouse event relevant to it. <P>
-
-Because mouse event reporting will not be available in all
-environments, it would be unwise to build <CODE>ncurses</CODE>
-applications that <EM>require</EM> the use of a mouse. Rather, you should
-use the mouse as a shortcut for point-and-shoot commands your application
-would normally accept from the keyboard. Two of the test games in the
-<CODE>ncurses</CODE> distribution (<CODE>bs</CODE> and <CODE>knight</CODE>) contain
-code that illustrates how this can be done. <P>
-
-See the manual page <CODE>curs_mouse(3X)</CODE> for full details of the
-mouse-interface functions.
-
-<H3><A NAME="finishing">Finishing Up</A></H3>
-
-In order to clean up after the <CODE>ncurses</CODE> routines, the routine
-<CODE>endwin()</CODE> is provided. It restores tty modes to what they were when
-<CODE>initscr()</CODE> was first called, and moves the cursor down to the
-lower-left corner. Thus, anytime after the call to initscr, <CODE>endwin()</CODE>
-should be called before exiting.
-
-<H2><A NAME="functions">Function Descriptions</A></H2>
-
-We describe the detailed behavior of some important curses functions here, as a
-supplement to the manual page descriptions.
-
-<H3><A NAME="init">Initialization and Wrapup</A></H3>
-
-<DL>
-<DT> <CODE>initscr()</CODE>
-<DD> The first function called should almost always be <CODE>initscr()</CODE>.
-This will determine the terminal type and
-initialize curses data structures. <CODE>initscr()</CODE> also arranges that
-the first call to <CODE>refresh()</CODE> will clear the screen. If an error
-occurs a message is written to standard error and the program
-exits. Otherwise it returns a pointer to stdscr. A few functions may be
-called before initscr (<CODE>slk_init()</CODE>, <CODE>filter()</CODE>,
-<CODE>ripoffline()</CODE>, <CODE>use_env()</CODE>, and, if you are using multiple
-terminals, <CODE>newterm()</CODE>.)
-<DT> <CODE>endwin()</CODE>
-<DD> Your program should always call <CODE>endwin()</CODE> before exiting or
-shelling out of the program. This function will restore tty modes,
-move the cursor to the lower left corner of the screen, reset the
-terminal into the proper non-visual mode. Calling <CODE>refresh()</CODE>
-or <CODE>doupdate()</CODE> after a temporary escape from the program will
-restore the ncurses screen from before the escape.
-<DT> <CODE>newterm(type, ofp, ifp)</CODE>
-<DD> A program which outputs to more than one terminal should use
-<CODE>newterm()</CODE> instead of <CODE>initscr()</CODE>. <CODE>newterm()</CODE> should
-be called once for each terminal. It returns a variable of type
-<CODE>SCREEN *</CODE> which should be saved as a reference to that
-terminal.
-(NOTE: a SCREEN variable is not a <em>screen</em> in the sense we
-are describing in this introduction, but a collection of
-parameters used to assist in optimizing the display.)
-The arguments are the type of the terminal (a string) and
-<CODE>FILE</CODE> pointers for the output and input of the terminal. If
-type is NULL then the environment variable <CODE>$TERM</CODE> is used.
-<CODE>endwin()</CODE> should called once at wrapup time for each terminal
-opened using this function.
-<DT> <CODE>set_term(new)</CODE>
-<DD> This function is used to switch to a different terminal previously
-opened by <CODE>newterm()</CODE>. The screen reference for the new terminal
-is passed as the parameter. The previous terminal is returned by the
-function. All other calls affect only the current terminal.
-<DT> <CODE>delscreen(sp)</CODE>
-<DD> The inverse of <CODE>newterm()</CODE>; deallocates the data structures
-associated with a given <CODE>SCREEN</CODE> reference.
-</DL>
-
-<H3><A NAME="flush">Causing Output to the Terminal</A></H3>
-
-<DL>
-<DT> <CODE>refresh()</CODE> and <CODE>wrefresh(win)</CODE>
-<DD> These functions must be called to actually get any output on
-the terminal, as other routines merely manipulate data
-structures. <CODE>wrefresh()</CODE> copies the named window to the physical
-terminal screen, taking into account what is already
-there in order to do optimizations. <CODE>refresh()</CODE> does a
-refresh of <CODE>stdscr</CODE>. Unless <CODE>leaveok()</CODE> has been
-enabled, the physical cursor of the terminal is left at the
-location of the window's cursor.
-<DT> <CODE>doupdate()</CODE> and <CODE>wnoutrefresh(win)</CODE>
-<DD> These two functions allow multiple updates with more efficiency
-than wrefresh. To use them, it is important to understand how curses
-works. In addition to all the window structures, curses keeps two
-data structures representing the terminal screen: a physical screen,
-describing what is actually on the screen, and a virtual screen,
-describing what the programmer wants to have on the screen. wrefresh
-works by first copying the named window to the virtual screen
-(<CODE>wnoutrefresh()</CODE>), and then calling the routine to update the
-screen (<CODE>doupdate()</CODE>). If the programmer wishes to output
-several windows at once, a series of calls to <CODE>wrefresh</CODE> will result
-in alternating calls to <CODE>wnoutrefresh()</CODE> and <CODE>doupdate()</CODE>,
-causing several bursts of output to the screen. By calling
-<CODE>wnoutrefresh()</CODE> for each window, it is then possible to call
-<CODE>doupdate()</CODE> once, resulting in only one burst of output, with
-fewer total characters transmitted (this also avoids a visually annoying
-flicker at each update).
-</DL>
-
-<H3><A NAME="lowlevel">Low-Level Capability Access</A></H3>
-
-<DL>
-<DT> <CODE>setupterm(term, filenum, errret)</CODE>
-<DD> This routine is called to initialize a terminal's description, without setting
-up the curses screen structures or changing the tty-driver mode bits.
-<CODE>term</CODE> is the character string representing the name of the terminal
-being used. <CODE>filenum</CODE> is the UNIX file descriptor of the terminal to
-be used for output. <CODE>errret</CODE> is a pointer to an integer, in which a
-success or failure indication is returned. The values returned can be 1 (all
-is well), 0 (no such terminal), or -1 (some problem locating the terminfo
-database). <P>
-
-The value of <CODE>term</CODE> can be given as NULL, which will cause the value of
-<CODE>TERM</CODE> in the environment to be used. The <CODE>errret</CODE> pointer can
-also be given as NULL, meaning no error code is wanted. If <CODE>errret</CODE> is
-defaulted, and something goes wrong, <CODE>setupterm()</CODE> will print an
-appropriate error message and exit, rather than returning. Thus, a simple
-program can call setupterm(0, 1, 0) and not worry about initialization
-errors. <P>
-
-After the call to <CODE>setupterm()</CODE>, the global variable <CODE>cur_term</CODE> is
-set to point to the current structure of terminal capabilities. By calling
-<CODE>setupterm()</CODE> for each terminal, and saving and restoring
-<CODE>cur_term</CODE>, it is possible for a program to use two or more terminals at
-once. <CODE>Setupterm()</CODE> also stores the names section of the terminal
-description in the global character array <CODE>ttytype[]</CODE>. Subsequent calls
-to <CODE>setupterm()</CODE> will overwrite this array, so you'll have to save it
-yourself if need be.
-</DL>
-
-<H3><A NAME="debugging">Debugging</A></H3>
-
-<!-- The 'note' tag is not portable enough -->
-<blockquote>
-<strong>NOTE:</strong> These functions are not part of the standard curses API!
-</blockquote>
-
-<DL>
-<DT> <CODE>trace()</CODE>
-<DD>
-This function can be used to explicitly set a trace level. If the
-trace level is nonzero, execution of your program will generate a file
-called `trace' in the current working directory containing a report on
-the library's actions. Higher trace levels enable more detailed (and
-verbose) reporting -- see comments attached to <CODE>TRACE_</CODE> defines
-in the <CODE>curses.h</CODE> file for details. (It is also possible to set
-a trace level by assigning a trace level value to the environment variable
-<CODE>NCURSES_TRACE</CODE>).
-<DT> <CODE>_tracef()</CODE>
-<DD>
-This function can be used to output your own debugging information. It is only
-available only if you link with -lncurses_g. It can be used the same way as
-<CODE>printf()</CODE>, only it outputs a newline after the end of arguments.
-The output goes to a file called <CODE>trace</CODE> in the current directory.
-</DL>
-
-Trace logs can be difficult to interpret due to the sheer volume of
-data dumped in them. There is a script called <STRONG>tracemunch</STRONG>
-included with the <CODE>ncurses</CODE> distribution that can alleviate
-this problem somewhat; it compacts long sequences of similar operations into
-more succinct single-line pseudo-operations. These pseudo-ops can be
-distinguished by the fact that they are named in capital letters.
-
-<H2><A NAME="hints">Hints, Tips, and Tricks</A></H2>
-
-The <CODE>ncurses</CODE> manual pages are a complete reference for this library.
-In the remainder of this document, we discuss various useful methods that
-may not be obvious from the manual page descriptions.
-
-<H3><A NAME="caution">Some Notes of Caution</A></H3>
-
-If you find yourself thinking you need to use <CODE>noraw()</CODE> or
-<CODE>nocbreak()</CODE>, think again and move carefully. It's probably
-better design to use <CODE>getstr()</CODE> or one of its relatives to
-simulate cooked mode. The <CODE>noraw()</CODE> and <CODE>nocbreak()</CODE>
-functions try to restore cooked mode, but they may end up clobbering
-some control bits set before you started your application. Also, they
-have always been poorly documented, and are likely to hurt your
-application's usability with other curses libraries. <P>
-
-Bear in mind that <CODE>refresh()</CODE> is a synonym for <CODE>wrefresh(stdscr)</CODE>.
-Don't try to mix use of <CODE>stdscr</CODE> with use of windows declared
-by <CODE>newwin()</CODE>; a <CODE>refresh()</CODE> call will blow them off the
-screen. The right way to handle this is to use <CODE>subwin()</CODE>, or
-not touch <CODE>stdscr</CODE> at all and tile your screen with declared
-windows which you then <CODE>wnoutrefresh()</CODE> somewhere in your program
-event loop, with a single <CODE>doupdate()</CODE> call to trigger actual
-repainting. <P>
-
-You are much less likely to run into problems if you design your screen
-layouts to use tiled rather than overlapping windows. Historically,
-curses support for overlapping windows has been weak, fragile, and poorly
-documented. The <CODE>ncurses</CODE> library is not yet an exception to this
-rule. <P>
-
-There is a panels library included in the <CODE>ncurses</CODE>
-distribution that does a pretty good job of strengthening the
-overlapping-windows facilities. <P>
-
-Try to avoid using the global variables LINES and COLS. Use
-<CODE>getmaxyx()</CODE> on the <CODE>stdscr</CODE> context instead. Reason:
-your code may be ported to run in an environment with window resizes,
-in which case several screens could be open with different sizes.
-
-<H3><A NAME="leaving">Temporarily Leaving NCURSES Mode</A></H3>
-
-Sometimes you will want to write a program that spends most of its time in
-screen mode, but occasionally returns to ordinary `cooked' mode. A common
-reason for this is to support shell-out. This behavior is simple to arrange
-in <CODE>ncurses</CODE>. <P>
-
-To leave <CODE>ncurses</CODE> mode, call <CODE>endwin()</CODE> as you would if you
-were intending to terminate the program. This will take the screen back to
-cooked mode; you can do your shell-out. When you want to return to
-<CODE>ncurses</CODE> mode, simply call <CODE>refresh()</CODE> or <CODE>doupdate()</CODE>.
-This will repaint the screen. <P>
-
-There is a boolean function, <CODE>isendwin()</CODE>, which code can use to
-test whether <CODE>ncurses</CODE> screen mode is active. It returns <CODE>TRUE</CODE>
-in the interval between an <CODE>endwin()</CODE> call and the following
-<CODE>refresh()</CODE>, <CODE>FALSE</CODE> otherwise. <P>
-
-Here is some sample code for shellout:
-
-<PRE>
+</pre>
+
+ <h3><a name="starting" id="starting">Starting up</a></h3>
+
+ <p>In order to use the screen package, the routines must know
+ about terminal characteristics, and the space for
+ <code>curscr</code> and <code>stdscr</code> must be allocated.
+ These function <code>initscr()</code> does both these things.
+ Since it must allocate space for the windows, it can overflow
+ memory when attempting to do so. On the rare occasions this
+ happens, <code>initscr()</code> will terminate the program with
+ an error message. <code>initscr()</code> must always be called
+ before any of the routines which affect windows are used. If it
+ is not, the program will core dump as soon as either
+ <code>curscr</code> or <code>stdscr</code> are referenced.
+ However, it is usually best to wait to call it until after you
+ are sure you will need it, like after checking for startup
+ errors. Terminal status changing routines like <code>nl()</code>
+ and <code>cbreak()</code> should be called after
+ <code>initscr()</code>.</p>
+
+ <p>Once the screen windows have been allocated, you can set them
+ up for your program. If you want to, say, allow a screen to
+ scroll, use <code>scrollok()</code>. If you want the cursor to be
+ left in place after the last change, use <code>leaveok()</code>.
+ If this is not done, <code>refresh()</code> will move the cursor
+ to the window's current (y, x) coordinates after updating it.</p>
+
+ <p>You can create new windows of your own using the functions
+ <code>newwin()</code>, <code>derwin()</code>, and
+ <code>subwin()</code>. The routine <code>delwin()</code> will
+ allow you to get rid of old windows. All the options described
+ above can be applied to any window.</p>
+
+ <h3><a name="output" id="output">Output</a></h3>
+
+ <p>Now that we have set things up, we will want to actually
+ update the terminal. The basic functions used to change what will
+ go on a window are <code>addch()</code> and <code>move()</code>.
+ <code>addch()</code> adds a character at the current (y, x)
+ coordinates. <code>move()</code> changes the current (y, x)
+ coordinates to whatever you want them to be. It returns
+ <code>ERR</code> if you try to move off the window. As mentioned
+ above, you can combine the two into <code>mvaddch()</code> to do
+ both things at once.</p>
+
+ <p>The other output functions, such as <code>addstr()</code> and
+ <code>printw()</code>, all call <code>addch()</code> to add
+ characters to the window.</p>
+
+ <p>After you have put on the window what you want there, when you
+ want the portion of the terminal covered by the window to be made
+ to look like it, you must call <code>refresh()</code>. In order
+ to optimize finding changes, <code>refresh()</code> assumes that
+ any part of the window not changed since the last
+ <code>refresh()</code> of that window has not been changed on the
+ terminal, i.e., that you have not refreshed a portion of the
+ terminal with an overlapping window. If this is not the case, the
+ routine <code>touchwin()</code> is provided to make it look like
+ the entire window has been changed, thus making
+ <code>refresh()</code> check the whole subsection of the terminal
+ for changes.</p>
+
+ <p>If you call <code>wrefresh()</code> with <code>curscr</code>
+ as its argument, it will make the screen look like
+ <code>curscr</code> thinks it looks like. This is useful for
+ implementing a command which would redraw the screen in case it
+ get messed up.</p>
+
+ <h3><a name="input" id="input">Input</a></h3>
+
+ <p>The complementary function to <code>addch()</code> is
+ <code>getch()</code> which, if echo is set, will call
+ <code>addch()</code> to echo the character. Since the screen
+ package needs to know what is on the terminal at all times, if
+ characters are to be echoed, the tty must be in raw or cbreak
+ mode. Since initially the terminal has echoing enabled and is in
+ ordinary &ldquo;cooked&rdquo; mode, one or the other has to
+ changed before calling <code>getch()</code>; otherwise, the
+ program's output will be unpredictable.</p>
+
+ <p>When you need to accept line-oriented input in a window, the
+ functions <code>wgetstr()</code> and friends are available. There
+ is even a <code>wscanw()</code> function that can do
+ <code>scanf()</code>(3)-style multi-field parsing on window
+ input. These pseudo-line-oriented functions turn on echoing while
+ they execute.</p>
+
+ <p>The example code above uses the call <code>keypad(stdscr,
+ TRUE)</code> to enable support for function-key mapping. With
+ this feature, the <code>getch()</code> code watches the input
+ stream for character sequences that correspond to arrow and
+ function keys. These sequences are returned as pseudo-character
+ values. The <code>#define</code> values returned are listed in
+ the <code>curses.h</code> The mapping from sequences to
+ <code>#define</code> values is determined by <code>key_</code>
+ capabilities in the terminal's terminfo entry.</p>
+
+ <h3><a name="formschars" id="formschars">Using Forms
+ Characters</a></h3>
+
+ <p>The <code>addch()</code> function (and some others, including
+ <code>box()</code> and <code>border()</code>) can accept some
+ pseudo-character arguments which are specially defined by
+ <code>ncurses</code>. These are <code>#define</code> values set
+ up in the <code>curses.h</code> header; see there for a complete
+ list (look for the prefix <code>ACS_</code>).</p>
+
+ <p>The most useful of the ACS defines are the forms-drawing
+ characters. You can use these to draw boxes and simple graphs on
+ the screen. If the terminal does not have such characters,
+ <code>curses.h</code> will map them to a recognizable (though
+ ugly) set of ASCII defaults.</p>
+
+ <h3><a name="attributes" id="attributes">Character Attributes and
+ Color</a></h3>
+
+ <p>The <code>ncurses</code> package supports screen highlights
+ including standout, reverse-video, underline, and blink. It also
+ supports color, which is treated as another kind of
+ highlight.</p>
+
+ <p>Highlights are encoded, internally, as high bits of the
+ pseudo-character type (<code>chtype</code>) that
+ <code>curses.h</code> uses to represent the contents of a screen
+ cell. See the <code>curses.h</code> header file for a complete
+ list of highlight mask values (look for the prefix
+ <code>A_</code>).</p>
+
+ <p>There are two ways to make highlights. One is to logical-or
+ the value of the highlights you want into the character argument
+ of an <code>addch()</code> call, or any other output call that
+ takes a <code>chtype</code> argument.</p>
+
+ <p>The other is to set the current-highlight value. This is
+ <em>logical-OR</em>ed with any highlight you specify the first
+ way. You do this with the functions <code>attron()</code>,
+ <code>attroff()</code>, and <code>attrset()</code>; see the
+ manual pages for details. Color is a special kind of highlight.
+ The package actually thinks in terms of color pairs, combinations
+ of foreground and background colors. The sample code above sets
+ up eight color pairs, all of the guaranteed-available colors on
+ black. Note that each color pair is, in effect, given the name of
+ its foreground color. Any other range of eight non-conflicting
+ values could have been used as the first arguments of the
+ <code>init_pair()</code> values.</p>
+
+ <p>Once you have done an <code>init_pair()</code> that creates
+ color-pair N, you can use <code>COLOR_PAIR(N)</code> as a
+ highlight that invokes that particular color combination. Note
+ that <code>COLOR_PAIR(N)</code>, for constant N, is itself a
+ compile-time constant and can be used in initializers.</p>
+
+ <h3><a name="mouse" id="mouse">Mouse Interfacing</a></h3>
+
+ <p>The <code>ncurses</code> library also provides a mouse
+ interface.</p>
+
+ <blockquote>
+ <strong>NOTE:</strong> this facility is specific to
+ <code>ncurses</code>, it is not part of either the XSI Curses
+ standard, nor of System V Release 4, nor BSD curses. System V
+ Release 4 curses contains code with similar interface
+ definitions, however it is not documented. Other than by
+ disassembling the library, we have no way to determine exactly
+ how that mouse code works. Thus, we recommend that you wrap
+ mouse-related code in an #ifdef using the feature macro
+ NCURSES_MOUSE_VERSION so it will not be compiled and linked on
+ non-ncurses systems.
+ </blockquote>
+
+ <p>Presently, mouse event reporting works in the following
+ environments:</p>
+
+ <ul>
+ <li>xterm and similar programs such as rxvt.</li>
+
+ <li>Linux console, when configured with <code>gpm</code>(1),
+ Alessandro Rubini's mouse server.</li>
+
+ <li>FreeBSD sysmouse (console)</li>
+
+ <li>OS/2 EMX</li>
+ </ul>
+
+ <p>The mouse interface is very simple. To activate it, you use
+ the function <code>mousemask()</code>, passing it as first
+ argument a bit-mask that specifies what kinds of events you want
+ your program to be able to see. It will return the bit-mask of
+ events that actually become visible, which may differ from the
+ argument if the mouse device is not capable of reporting some of
+ the event types you specify.</p>
+
+ <p>Once the mouse is active, your application's command loop
+ should watch for a return value of <code>KEY_MOUSE</code> from
+ <code>wgetch()</code>. When you see this, a mouse event report
+ has been queued. To pick it off the queue, use the function
+ <code>getmouse()</code> (you must do this before the next
+ <code>wgetch()</code>, otherwise another mouse event might come
+ in and make the first one inaccessible).</p>
+
+ <p>Each call to <code>getmouse()</code> fills a structure (the
+ address of which you will pass it) with mouse event data. The
+ event data includes zero-origin, screen-relative character-cell
+ coordinates of the mouse pointer. It also includes an event mask.
+ Bits in this mask will be set, corresponding to the event type
+ being reported.</p>
+
+ <p>The mouse structure contains two additional fields which may
+ be significant in the future as ncurses interfaces to new kinds
+ of pointing device. In addition to x and y coordinates, there is
+ a slot for a z coordinate; this might be useful with
+ touch-screens that can return a pressure or duration parameter.
+ There is also a device ID field, which could be used to
+ distinguish between multiple pointing devices.</p>
+
+ <p>The class of visible events may be changed at any time via
+ <code>mousemask()</code>. Events that can be reported include
+ presses, releases, single-, double- and triple-clicks (you can
+ set the maximum button-down time for clicks). If you do not make
+ clicks visible, they will be reported as press-release pairs. In
+ some environments, the event mask may include bits reporting the
+ state of shift, alt, and ctrl keys on the keyboard during the
+ event.</p>
+
+ <p>A function to check whether a mouse event fell within a given
+ window is also supplied. You can use this to see whether a given
+ window should consider a mouse event relevant to it.</p>
+
+ <p>Because mouse event reporting will not be available in all
+ environments, it would be unwise to build <code>ncurses</code>
+ applications that <em>require</em> the use of a mouse. Rather,
+ you should use the mouse as a shortcut for point-and-shoot
+ commands your application would normally accept from the
+ keyboard. Two of the test games in the <code>ncurses</code>
+ distribution (<code>bs</code> and <code>knight</code>) contain
+ code that illustrates how this can be done.</p>
+
+ <p>See the manual page <code>curs_mouse(3X)</code> for full
+ details of the mouse-interface functions.</p>
+
+ <h3><a name="finishing" id="finishing">Finishing Up</a></h3>
+
+ <p>In order to clean up after the <code>ncurses</code> routines,
+ the routine <code>endwin()</code> is provided. It restores tty
+ modes to what they were when <code>initscr()</code> was first
+ called, and moves the cursor down to the lower-left corner. Thus,
+ anytime after the call to initscr, <code>endwin()</code> should
+ be called before exiting.</p>
+
+ <h2><a name="functions" id="functions">Function Descriptions</a></h2>
+
+ <p>We describe the detailed behavior of some important curses
+ functions here, as a supplement to the manual page
+ descriptions.</p>
+
+ <h3><a name="init" id="init">Initialization and Wrapup</a></h3>
+
+ <dl>
+ <dt><code>initscr()</code>
+ </dt>
+
+ <dd>The first function called should almost always be
+ <code>initscr()</code>. This will determine the terminal type
+ and initialize curses data structures. <code>initscr()</code>
+ also arranges that the first call to <code>refresh()</code>
+ will clear the screen. If an error occurs a message is written
+ to standard error and the program exits. Otherwise it returns a
+ pointer to stdscr. A few functions may be called before initscr
+ (<code>slk_init()</code>, <code>filter()</code>,
+ <code>ripoffline()</code>, <code>use_env()</code>, and, if you
+ are using multiple terminals, <code>newterm()</code>.)</dd>
+
+ <dt><code>endwin()</code>
+ </dt>
+
+ <dd>Your program should always call <code>endwin()</code>
+ before exiting or shelling out of the program. This function
+ will restore tty modes, move the cursor to the lower left
+ corner of the screen, reset the terminal into the proper
+ non-visual mode. Calling <code>refresh()</code> or
+ <code>doupdate()</code> after a temporary escape from the
+ program will restore the ncurses screen from before the
+ escape.</dd>
+
+ <dt><code>newterm(type, ofp, ifp)</code>
+ </dt>
+
+ <dd>A program which outputs to more than one terminal should
+ use <code>newterm()</code> instead of <code>initscr()</code>.
+ <code>newterm()</code> should be called once for each terminal.
+ It returns a variable of type <code>SCREEN *</code> which
+ should be saved as a reference to that terminal. (NOTE: a
+ SCREEN variable is not a <em>screen</em> in the sense we are
+ describing in this introduction, but a collection of parameters
+ used to assist in optimizing the display.) The arguments are
+ the type of the terminal (a string) and <code>FILE</code>
+ pointers for the output and input of the terminal. If type is
+ NULL then the environment variable <code>$TERM</code> is used.
+ <code>endwin()</code> should called once at wrapup time for
+ each terminal opened using this function.</dd>
+
+ <dt><code>set_term(new)</code>
+ </dt>
+
+ <dd>This function is used to switch to a different terminal
+ previously opened by <code>newterm()</code>. The screen
+ reference for the new terminal is passed as the parameter. The
+ previous terminal is returned by the function. All other calls
+ affect only the current terminal.</dd>
+
+ <dt><code>delscreen(sp)</code>
+ </dt>
+
+ <dd>The inverse of <code>newterm()</code>; deallocates the data
+ structures associated with a given <code>SCREEN</code>
+ reference.</dd>
+ </dl>
+
+ <h3><a name="flush" id="flush">Causing Output to the Terminal</a></h3>
+
+ <dl>
+ <dt><code>refresh()</code> and <code>wrefresh(win)</code></dt>
+
+ <dd>These functions must be called to actually get any output
+ on the terminal, as other routines merely manipulate data
+ structures. <code>wrefresh()</code> copies the named window to
+ the physical terminal screen, taking into account what is
+ already there in order to do optimizations.
+ <code>refresh()</code> does a refresh of <code>stdscr</code>.
+ Unless <code>leaveok()</code> has been enabled, the physical
+ cursor of the terminal is left at the location of the window's
+ cursor.</dd>
+
+ <dt><code>doupdate()</code> and
+ <code>wnoutrefresh(win)</code></dt>
+
+ <dd>These two functions allow multiple updates with more
+ efficiency than wrefresh. To use them, it is important to
+ understand how curses works. In addition to all the window
+ structures, curses keeps two data structures representing the
+ terminal screen: a physical screen, describing what is actually
+ on the screen, and a virtual screen, describing what the
+ programmer wants to have on the screen. wrefresh works by first
+ copying the named window to the virtual screen
+ (<code>wnoutrefresh()</code>), and then calling the routine to
+ update the screen (<code>doupdate()</code>). If the programmer
+ wishes to output several windows at once, a series of calls to
+ <code>wrefresh</code> will result in alternating calls to
+ <code>wnoutrefresh()</code> and <code>doupdate()</code>,
+ causing several bursts of output to the screen. By calling
+ <code>wnoutrefresh()</code> for each window, it is then
+ possible to call <code>doupdate()</code> once, resulting in
+ only one burst of output, with fewer total characters
+ transmitted (this also avoids a visually annoying flicker at
+ each update).</dd>
+ </dl>
+
+ <h3><a name="lowlevel" id="lowlevel">Low-Level Capability
+ Access</a></h3>
+
+ <dl>
+ <dt><code>setupterm(term, filenum, errret)</code>
+ </dt>
+
+ <dd>
+ This routine is called to initialize a terminal's
+ description, without setting up the curses screen structures
+ or changing the tty-driver mode bits. <code>term</code> is
+ the character string representing the name of the terminal
+ being used. <code>filenum</code> is the UNIX file descriptor
+ of the terminal to be used for output. <code>errret</code> is
+ a pointer to an integer, in which a success or failure
+ indication is returned. The values returned can be 1 (all is
+ well), 0 (no such terminal), or -1 (some problem locating the
+ terminfo database).
+
+ <p>The value of <code>term</code> can be given as NULL, which
+ will cause the value of <code>TERM</code> in the environment
+ to be used. The <code>errret</code> pointer can also be given
+ as NULL, meaning no error code is wanted. If
+ <code>errret</code> is defaulted, and something goes wrong,
+ <code>setupterm()</code> will print an appropriate error
+ message and exit, rather than returning. Thus, a simple
+ program can call setupterm(0, 1, 0) and not worry about
+ initialization errors.</p>
+
+ <p>After the call to <code>setupterm()</code>, the global
+ variable <code>cur_term</code> is set to point to the current
+ structure of terminal capabilities. By calling
+ <code>setupterm()</code> for each terminal, and saving and
+ restoring <code>cur_term</code>, it is possible for a program
+ to use two or more terminals at once.
+ <code>Setupterm()</code> also stores the names section of the
+ terminal description in the global character array
+ <code>ttytype[]</code>. Subsequent calls to
+ <code>setupterm()</code> will overwrite this array, so you
+ will have to save it yourself if need be.</p>
+ </dd>
+ </dl>
+
+ <h3><a name="debugging" id="debugging">Debugging</a></h3>
+
+ <blockquote>
+ <strong>NOTE:</strong> These functions are not part of the
+ standard curses API!
+ </blockquote>
+
+ <dl>
+ <dt><code>trace()</code>
+ </dt>
+
+ <dd>This function can be used to explicitly set a trace level.
+ If the trace level is nonzero, execution of your program will
+ generate a file called &ldquo;trace&rdquo; in the current
+ working directory containing a report on the library's actions.
+ Higher trace levels enable more detailed (and verbose)
+ reporting -- see comments attached to <code>TRACE_</code>
+ defines in the <code>curses.h</code> file for details. (It is
+ also possible to set a trace level by assigning a trace level
+ value to the environment variable
+ <code>NCURSES_TRACE</code>).</dd>
+
+ <dt><code>_tracef()</code>
+ </dt>
+
+ <dd>This function can be used to output your own debugging
+ information. It is only available only if you link with
+ -lncurses_g. It can be used the same way as
+ <code>printf()</code>, only it outputs a newline after the end
+ of arguments. The output goes to a file called
+ <code>trace</code> in the current directory.</dd>
+ </dl>
+
+ <p>Trace logs can be difficult to interpret due to the sheer
+ volume of data dumped in them. There is a script called
+ <strong>tracemunch</strong> included with the
+ <code>ncurses</code> distribution that can alleviate this problem
+ somewhat; it compacts long sequences of similar operations into
+ more succinct single-line pseudo-operations. These pseudo-ops can
+ be distinguished by the fact that they are named in capital
+ letters.</p>
+
+ <h2><a name="hints" id="hints">Hints, Tips, and Tricks</a></h2>
+
+ <p>The <code>ncurses</code> manual pages are a complete reference
+ for this library. In the remainder of this document, we discuss
+ various useful methods that may not be obvious from the manual
+ page descriptions.</p>
+
+ <h3><a name="caution" id="caution">Some Notes of Caution</a></h3>
+
+ <p>If you find yourself thinking you need to use
+ <code>noraw()</code> or <code>nocbreak()</code>, think again and
+ move carefully. It is probably better design to use
+ <code>getstr()</code> or one of its relatives to simulate cooked
+ mode. The <code>noraw()</code> and <code>nocbreak()</code>
+ functions try to restore cooked mode, but they may end up
+ clobbering some control bits set before you started your
+ application. Also, they have always been poorly documented, and
+ are likely to hurt your application's usability with other curses
+ libraries.</p>
+
+ <p>Bear in mind that <code>refresh()</code> is a synonym for
+ <code>wrefresh(stdscr)</code>. Do not try to mix use of
+ <code>stdscr</code> with use of windows declared by
+ <code>newwin()</code>; a <code>refresh()</code> call will blow
+ them off the screen. The right way to handle this is to use
+ <code>subwin()</code>, or not touch <code>stdscr</code> at all
+ and tile your screen with declared windows which you then
+ <code>wnoutrefresh()</code> somewhere in your program event loop,
+ with a single <code>doupdate()</code> call to trigger actual
+ repainting.</p>
+
+ <p>You are much less likely to run into problems if you design
+ your screen layouts to use tiled rather than overlapping windows.
+ Historically, curses support for overlapping windows has been
+ weak, fragile, and poorly documented. The <code>ncurses</code>
+ library is not yet an exception to this rule.</p>
+
+ <p>There is a panels library included in the <code>ncurses</code>
+ distribution that does a pretty good job of strengthening the
+ overlapping-windows facilities.</p>
+
+ <p>Try to avoid using the global variables LINES and COLS. Use
+ <code>getmaxyx()</code> on the <code>stdscr</code> context
+ instead. Reason: your code may be ported to run in an environment
+ with window resizes, in which case several screens could be open
+ with different sizes.</p>
+
+ <h3><a name="leaving" id="leaving">Temporarily Leaving NCURSES
+ Mode</a></h3>
+
+ <p>Sometimes you will want to write a program that spends most of
+ its time in screen mode, but occasionally returns to ordinary
+ &ldquo;cooked&rdquo; mode. A common reason for this is to support
+ shell-out. This behavior is simple to arrange in
+ <code>ncurses</code>.</p>
+
+ <p>To leave <code>ncurses</code> mode, call <code>endwin()</code>
+ as you would if you were intending to terminate the program. This
+ will take the screen back to cooked mode; you can do your
+ shell-out. When you want to return to <code>ncurses</code> mode,
+ simply call <code>refresh()</code> or <code>doupdate()</code>.
+ This will repaint the screen.</p>
+
+ <p>There is a boolean function, <code>isendwin()</code>, which
+ code can use to test whether <code>ncurses</code> screen mode is
+ active. It returns <code>TRUE</code> in the interval between an
+ <code>endwin()</code> call and the following
+ <code>refresh()</code>, <code>FALSE</code> otherwise.</p>
+
+ <p>Here is some sample code for shellout:</p>
+
+ <pre>
addstr("Shelling out...");
def_prog_mode(); /* save current tty modes */
endwin(); /* restore original tty modes */
system("sh"); /* run shell */
addstr("returned.\n"); /* prepare return message */
refresh(); /* restore save modes, repaint screen */
-</PRE>
-
-<H3><A NAME="xterm">Using NCURSES under XTERM</A></H3>
-
-A resize operation in X sends <CODE>SIGWINCH</CODE> to the application running
-under xterm.
-
-The easiest way to handle <CODE>SIGWINCH</CODE>
-is to do an <CODE>endwin</CODE>,
-followed by an <CODE>refresh</CODE> and a screen repaint you code
-yourself.
-The <CODE>refresh</CODE> will pick up the new screen size from the
-xterm's environment. <P>
-
-That is the standard way, of course (it even works with some vendor's curses
-implementations).
-Its drawback is that it clears the screen to reinitialize the display, and does
-not resize subwindows which must be shrunk.
-<CODE>Ncurses</CODE> provides an extension which works better, the
-<CODE>resizeterm</CODE> function. That function ensures that all windows
-are limited to the new screen dimensions, and pads <CODE>stdscr</CODE>
-with blanks if the screen is larger. <P>
-
-The <CODE>ncurses</CODE> library provides a SIGWINCH signal handler,
-which pushes a <CODE>KEY_RESIZE</CODE> via the wgetch() calls.
-When <CODE>ncurses</CODE> returns that code,
-it calls <code>resizeterm</CODE>
-to update the size of the standard screen's window, repainting that
-(filling with blanks or truncating as needed).
-It also resizes other windows,
-but its effect may be less satisfactory because it cannot
-know how you want the screen re-painted.
-You will usually have to write special-purpose code to handle
-<CODE>KEY_RESIZE</CODE> yourself.
-
-<H3><A NAME="screens">Handling Multiple Terminal Screens</A></H3>
-
-The <CODE>initscr()</CODE> function actually calls a function named
-<CODE>newterm()</CODE> to do most of its work. If you are writing a program that
-opens multiple terminals, use <CODE>newterm()</CODE> directly. <P>
-
-For each call, you will have to specify a terminal type and a pair of file
-pointers; each call will return a screen reference, and <CODE>stdscr</CODE> will be
-set to the last one allocated. You will switch between screens with the
-<CODE>set_term</CODE> call. Note that you will also have to call
-<CODE>def_shell_mode</CODE> and <CODE>def_prog_mode</CODE> on each tty yourself.
-
-<H3><A NAME="testing">Testing for Terminal Capabilities</A></H3>
-
-Sometimes you may want to write programs that test for the presence of various
-capabilities before deciding whether to go into <CODE>ncurses</CODE> mode. An easy
-way to do this is to call <CODE>setupterm()</CODE>, then use the functions
-<CODE>tigetflag()</CODE>, <CODE>tigetnum()</CODE>, and <CODE>tigetstr()</CODE> to do your
-testing. <P>
-
-A particularly useful case of this often comes up when you want to
-test whether a given terminal type should be treated as `smart'
-(cursor-addressable) or `stupid'. The right way to test this is to see
-if the return value of <CODE>tigetstr("cup")</CODE> is non-NULL. Alternatively,
-you can include the <CODE>term.h</CODE> file and test the value of the
-macro <CODE>cursor_address</CODE>.
-
-<H3><A NAME="tuning">Tuning for Speed</A></H3>
-
-Use the <CODE>addchstr()</CODE> family of functions for fast
-screen-painting of text when you know the text doesn't contain any
-control characters. Try to make attribute changes infrequent on your
-screens. Don't use the <CODE>immedok()</CODE> option!
-
-<H3><A NAME="special">Special Features of NCURSES</A></H3>
-
-The <CODE>wresize()</CODE> function allows you to resize a window in place.
-The associated <CODE>resizeterm()</CODE> function simplifies the construction
-of <a HREF="#xterm">SIGWINCH</a> handlers, for resizing all windows. <P>
-
-The <CODE>define_key()</CODE> function allows you
-to define at runtime function-key control sequences which are not in the
-terminal description.
-The <CODE>keyok()</CODE> function allows you to temporarily
-enable or disable interpretation of any function-key control sequence. <P>
-
-The <CODE>use_default_colors()</CODE> function allows you to construct
-applications which can use the terminal's default foreground and
-background colors as an additional "default" color.
-Several terminal emulators support this feature, which is based on ISO 6429. <P>
-
-Ncurses supports up 16 colors, unlike SVr4 curses which defines only 8.
-While most terminals which provide color allow only 8 colors, about
-a quarter (including XFree86 xterm) support 16 colors.
-
-<H2><A NAME="compat">Compatibility with Older Versions</A></H2>
-
-Despite our best efforts, there are some differences between <CODE>ncurses</CODE>
-and the (undocumented!) behavior of older curses implementations. These arise
-from ambiguities or omissions in the documentation of the API.
-
-<H3><A NAME="refbug">Refresh of Overlapping Windows</A></H3>
-
-If you define two windows A and B that overlap, and then alternately scribble
-on and refresh them, the changes made to the overlapping region under historic
-<CODE>curses</CODE> versions were often not documented precisely. <P>
-
-To understand why this is a problem, remember that screen updates are
-calculated between two representations of the <EM>entire</EM> display. The
-documentation says that when you refresh a window, it is first copied to the
-virtual screen, and then changes are calculated to update the physical screen
-(and applied to the terminal). But "copied to" is not very specific, and
-subtle differences in how copying works can produce different behaviors in the
-case where two overlapping windows are each being refreshed at unpredictable
-intervals. <P>
-
-What happens to the overlapping region depends on what <CODE>wnoutrefresh()</CODE>
-does with its argument -- what portions of the argument window it copies to the
-virtual screen. Some implementations do "change copy", copying down only
-locations in the window that have changed (or been marked changed with
-<CODE>wtouchln()</CODE> and friends). Some implementations do "entire copy",
-copying <EM>all</EM> window locations to the virtual screen whether or not
-they have changed. <P>
-
-The <CODE>ncurses</CODE> library itself has not always been consistent on this
-score. Due to a bug, versions 1.8.7 to 1.9.8a did entire copy. Versions
-1.8.6 and older, and versions 1.9.9 and newer, do change copy. <P>
-
-For most commercial curses implementations, it is not documented and not known
-for sure (at least not to the <CODE>ncurses</CODE> maintainers) whether they do
-change copy or entire copy. We know that System V release 3 curses has logic
-in it that looks like an attempt to do change copy, but the surrounding logic
-and data representations are sufficiently complex, and our knowledge
-sufficiently indirect, that it's hard to know whether this is reliable.
-
-It is not clear what the SVr4 documentation and XSI standard intend. The XSI
-Curses standard barely mentions wnoutrefresh(); the SVr4 documents seem to be
-describing entire-copy, but it is possible with some effort and straining to
-read them the other way. <P>
-
-It might therefore be unwise to rely on either behavior in programs that might
-have to be linked with other curses implementations. Instead, you can do an
-explicit <CODE>touchwin()</CODE> before the <CODE>wnoutrefresh()</CODE> call to
-guarantee an entire-contents copy anywhere. <P>
-
-The really clean way to handle this is to use the panels library. If,
-when you want a screen update, you do <CODE>update_panels()</CODE>, it will
-do all the necessary <CODE>wnoutrefresh()</CODE> calls for whatever panel
-stacking order you have defined. Then you can do one <CODE>doupdate()</CODE>
-and there will be a <EM>single</EM> burst of physical I/O that will do
-all your updates.
-
-<H3><A NAME="backbug">Background Erase</A></H3>
-
-If you have been using a very old versions of <CODE>ncurses</CODE> (1.8.7 or
-older) you may be surprised by the behavior of the erase functions. In older
-versions, erased areas of a window were filled with a blank modified by the
-window's current attribute (as set by <STRONG>wattrset()</STRONG>, <STRONG>wattron()</STRONG>,
-<STRONG>wattroff()</STRONG> and friends). <P>
-
-In newer versions, this is not so. Instead, the attribute of erased blanks
-is normal unless and until it is modified by the functions <CODE>bkgdset()</CODE>
-or <CODE>wbkgdset()</CODE>. <P>
-
-This change in behavior conforms <CODE>ncurses</CODE> to System V Release 4 and
-the XSI Curses standard.
-
-<H2><A NAME="xsifuncs">XSI Curses Conformance</A></H2>
-
-The <CODE>ncurses</CODE> library is intended to be base-level conformant with the
-XSI Curses standard from X/Open. Many extended-level features (in fact, almost
-all features not directly concerned with wide characters and
-internationalization) are also supported. <P>
-
-One effect of XSI conformance is the change in behavior described under
-<A HREF="#backbug">"Background Erase -- Compatibility with Old Versions"</A>. <P>
-
-Also, <CODE>ncurses</CODE> meets the XSI requirement that every macro
-entry point have a corresponding function which may be linked (and
-will be prototype-checked) if the macro definition is disabled with
-<CODE>#undef</CODE>.
-
-<H1><A NAME="panels">The Panels Library</A></H1>
-
-The <CODE>ncurses</CODE> library by itself provides good support for screen
-displays in which the windows are tiled (non-overlapping). In the more
-general case that windows may overlap, you have to use a series of
-<CODE>wnoutrefresh()</CODE> calls followed by a <CODE>doupdate()</CODE>, and be
-careful about the order you do the window refreshes in. It has to be
-bottom-upwards, otherwise parts of windows that should be obscured will
-show through. <P>
-
-When your interface design is such that windows may dive deeper into the
-visibility stack or pop to the top at runtime, the resulting book-keeping
-can be tedious and difficult to get right. Hence the panels library. <P>
-
-The <CODE>panel</CODE> library first appeared in AT&amp;T System V. The
-version documented here is the <CODE>panel</CODE> code distributed
-with <CODE>ncurses</CODE>.
-
-<H2><A NAME="pcompile">Compiling With the Panels Library</A></H2>
-
-Your panels-using modules must import the panels library declarations with
-
-<PRE>
- #include &lt;panel.h&gt;
-</PRE>
-
-and must be linked explicitly with the panels library using an
-<CODE>-lpanel</CODE> argument. Note that they must also link the
-<CODE>ncurses</CODE> library with <CODE>-lncurses</CODE>. Many linkers
-are two-pass and will accept either order, but it is still good practice
-to put <CODE>-lpanel</CODE> first and <CODE>-lncurses</CODE> second.
-
-<H2><A NAME="poverview">Overview of Panels</A></H2>
-
-A panel object is a window that is implicitly treated as part of a
-<DFN>deck</DFN> including all other panel objects. The deck has an implicit
-bottom-to-top visibility order. The panels library includes an update
-function (analogous to <CODE>refresh()</CODE>) that displays all panels in the
-deck in the proper order to resolve overlaps. The standard window,
-<CODE>stdscr</CODE>, is considered below all panels. <P>
-
-Details on the panels functions are available in the man pages. We'll just
-hit the highlights here. <P>
-
-You create a panel from a window by calling <CODE>new_panel()</CODE> on a
-window pointer. It then becomes the top of the deck. The panel's window
-is available as the value of <CODE>panel_window()</CODE> called with the
-panel pointer as argument.<P>
-
-You can delete a panel (removing it from the deck) with <CODE>del_panel</CODE>.
-This will not deallocate the associated window; you have to do that yourself.
+</pre>
+
+ <h3><a name="xterm" id="xterm">Using NCURSES under XTERM</a></h3>
+
+ <p>A resize operation in X sends <code>SIGWINCH</code> to the
+ application running under xterm. The easiest way to handle
+ <code>SIGWINCH</code> is to do an <code>endwin</code>, followed
+ by an <code>refresh</code> and a screen repaint you code
+ yourself. The <code>refresh</code> will pick up the new screen
+ size from the xterm's environment.</p>
+
+ <p>That is the standard way, of course (it even works with some
+ vendor's curses implementations). Its drawback is that it clears
+ the screen to reinitialize the display, and does not resize
+ subwindows which must be shrunk. <code>Ncurses</code> provides an
+ extension which works better, the <code>resizeterm</code>
+ function. That function ensures that all windows are limited to
+ the new screen dimensions, and pads <code>stdscr</code> with
+ blanks if the screen is larger.</p>
+
+ <p>The <code>ncurses</code> library provides a SIGWINCH signal
+ handler, which pushes a <code>KEY_RESIZE</code> via the wgetch()
+ calls. When <code>ncurses</code> returns that code, it calls
+ <code>resizeterm</code> to update the size of the standard
+ screen's window, repainting that (filling with blanks or
+ truncating as needed). It also resizes other windows, but its
+ effect may be less satisfactory because it cannot know how you
+ want the screen re-painted. You will usually have to write
+ special-purpose code to handle <code>KEY_RESIZE</code>
+ yourself.</p>
+
+ <h3><a name="screens" id="screens">Handling Multiple Terminal
+ Screens</a></h3>
+
+ <p>The <code>initscr()</code> function actually calls a function
+ named <code>newterm()</code> to do most of its work. If you are
+ writing a program that opens multiple terminals, use
+ <code>newterm()</code> directly.</p>
+
+ <p>For each call, you will have to specify a terminal type and a
+ pair of file pointers; each call will return a screen reference,
+ and <code>stdscr</code> will be set to the last one allocated.
+ You will switch between screens with the <code>set_term</code>
+ call. Note that you will also have to call
+ <code>def_shell_mode</code> and <code>def_prog_mode</code> on
+ each tty yourself.</p>
+
+ <h3><a name="testing" id="testing">Testing for Terminal
+ Capabilities</a></h3>
+
+ <p>Sometimes you may want to write programs that test for the
+ presence of various capabilities before deciding whether to go
+ into <code>ncurses</code> mode. An easy way to do this is to call
+ <code>setupterm()</code>, then use the functions
+ <code>tigetflag()</code>, <code>tigetnum()</code>, and
+ <code>tigetstr()</code> to do your testing.</p>
+
+ <p>A particularly useful case of this often comes up when you
+ want to test whether a given terminal type should be treated as
+ &ldquo;smart&rdquo; (cursor-addressable) or &ldquo;stupid&rdquo;.
+ The right way to test this is to see if the return value of
+ <code>tigetstr("cup")</code> is non-NULL. Alternatively, you can
+ include the <code>term.h</code> file and test the value of the
+ macro <code>cursor_address</code>.</p>
+
+ <h3><a name="tuning" id="tuning">Tuning for Speed</a></h3>
+
+ <p>Use the <code>addchstr()</code> family of functions for fast
+ screen-painting of text when you know the text does not contain
+ any control characters. Try to make attribute changes infrequent
+ on your screens. Do not use the <code>immedok()</code>
+ option!</p>
+
+ <h3><a name="special" id="special">Special Features of
+ NCURSES</a></h3>
+
+ <p>The <code>wresize()</code> function allows you to resize a
+ window in place. The associated <code>resizeterm()</code>
+ function simplifies the construction of <a href=
+ "#xterm">SIGWINCH</a> handlers, for resizing all windows.</p>
+
+ <p>The <code>define_key()</code> function allows you to define at
+ runtime function-key control sequences which are not in the
+ terminal description. The <code>keyok()</code> function allows
+ you to temporarily enable or disable interpretation of any
+ function-key control sequence.</p>
+
+ <p>The <code>use_default_colors()</code> function allows you to
+ construct applications which can use the terminal's default
+ foreground and background colors as an additional "default"
+ color. Several terminal emulators support this feature, which is
+ based on ISO 6429.</p>
+
+ <p>Ncurses supports up 16 colors, unlike SVr4 curses which
+ defines only 8. While most terminals which provide color allow
+ only 8 colors, about a quarter (including XFree86 xterm) support
+ 16 colors.</p>
+
+ <h2><a name="compat" id="compat">Compatibility with Older
+ Versions</a></h2>
+
+ <p>Despite our best efforts, there are some differences between
+ <code>ncurses</code> and the (undocumented!) behavior of older
+ curses implementations. These arise from ambiguities or omissions
+ in the documentation of the API.</p>
+
+ <h3><a name="refbug" id="refbug">Refresh of Overlapping
+ Windows</a></h3>
+
+ <p>If you define two windows A and B that overlap, and then
+ alternately scribble on and refresh them, the changes made to the
+ overlapping region under historic <code>curses</code> versions
+ were often not documented precisely.</p>
+
+ <p>To understand why this is a problem, remember that screen
+ updates are calculated between two representations of the
+ <em>entire</em> display. The documentation says that when you
+ refresh a window, it is first copied to the virtual screen, and
+ then changes are calculated to update the physical screen (and
+ applied to the terminal). But "copied to" is not very specific,
+ and subtle differences in how copying works can produce different
+ behaviors in the case where two overlapping windows are each
+ being refreshed at unpredictable intervals.</p>
+
+ <p>What happens to the overlapping region depends on what
+ <code>wnoutrefresh()</code> does with its argument -- what
+ portions of the argument window it copies to the virtual screen.
+ Some implementations do "change copy", copying down only
+ locations in the window that have changed (or been marked changed
+ with <code>wtouchln()</code> and friends). Some implementations
+ do "entire copy", copying <em>all</em> window locations to the
+ virtual screen whether or not they have changed.</p>
+
+ <p>The <code>ncurses</code> library itself has not always been
+ consistent on this score. Due to a bug, versions 1.8.7 to 1.9.8a
+ did entire copy. Versions 1.8.6 and older, and versions 1.9.9 and
+ newer, do change copy.</p>
+
+ <p>For most commercial curses implementations, it is not
+ documented and not known for sure (at least not to the
+ <code>ncurses</code> maintainers) whether they do change copy or
+ entire copy. We know that System V release 3 curses has logic in
+ it that looks like an attempt to do change copy, but the
+ surrounding logic and data representations are sufficiently
+ complex, and our knowledge sufficiently indirect, that it is hard
+ to know whether this is reliable. It is not clear what the SVr4
+ documentation and XSI standard intend. The XSI Curses standard
+ barely mentions wnoutrefresh(); the SVr4 documents seem to be
+ describing entire-copy, but it is possible with some effort and
+ straining to read them the other way.</p>
+
+ <p>It might therefore be unwise to rely on either behavior in
+ programs that might have to be linked with other curses
+ implementations. Instead, you can do an explicit
+ <code>touchwin()</code> before the <code>wnoutrefresh()</code>
+ call to guarantee an entire-contents copy anywhere.</p>
+
+ <p>The really clean way to handle this is to use the panels
+ library. If, when you want a screen update, you do
+ <code>update_panels()</code>, it will do all the necessary
+ <code>wnoutrefresh()</code> calls for whatever panel stacking
+ order you have defined. Then you can do one
+ <code>doupdate()</code> and there will be a <em>single</em> burst
+ of physical I/O that will do all your updates.</p>
+
+ <h3><a name="backbug" id="backbug">Background Erase</a></h3>
+
+ <p>If you have been using a very old versions of
+ <code>ncurses</code> (1.8.7 or older) you may be surprised by the
+ behavior of the erase functions. In older versions, erased areas
+ of a window were filled with a blank modified by the window's
+ current attribute (as set by <strong>wattrset()</strong>,
+ <strong>wattron()</strong>, <strong>wattroff()</strong> and
+ friends).</p>
+
+ <p>In newer versions, this is not so. Instead, the attribute of
+ erased blanks is normal unless and until it is modified by the
+ functions <code>bkgdset()</code> or <code>wbkgdset()</code>.</p>
+
+ <p>This change in behavior conforms <code>ncurses</code> to
+ System V Release 4 and the XSI Curses standard.</p>
+
+ <h2><a name="xsifuncs" id="xsifuncs">XSI Curses Conformance</a></h2>
+
+ <p>The <code>ncurses</code> library is intended to be base-level
+ conformant with the XSI Curses standard from X/Open. Many
+ extended-level features (in fact, almost all features not
+ directly concerned with wide characters and internationalization)
+ are also supported.</p>
+
+ <p>One effect of XSI conformance is the change in behavior
+ described under <a href="#backbug">"Background Erase --
+ Compatibility with Old Versions"</a>.</p>
+
+ <p>Also, <code>ncurses</code> meets the XSI requirement that
+ every macro entry point have a corresponding function which may
+ be linked (and will be prototype-checked) if the macro definition
+ is disabled with <code>#undef</code>.</p>
+
+ <h1><a name="panels" id="panels">The Panels Library</a></h1>
+
+ <p>The <code>ncurses</code> library by itself provides good
+ support for screen displays in which the windows are tiled
+ (non-overlapping). In the more general case that windows may
+ overlap, you have to use a series of <code>wnoutrefresh()</code>
+ calls followed by a <code>doupdate()</code>, and be careful about
+ the order you do the window refreshes in. It has to be
+ bottom-upwards, otherwise parts of windows that should be
+ obscured will show through.</p>
+
+ <p>When your interface design is such that windows may dive
+ deeper into the visibility stack or pop to the top at runtime,
+ the resulting book-keeping can be tedious and difficult to get
+ right. Hence the panels library.</p>
+
+ <p>The <code>panel</code> library first appeared in AT&amp;T
+ System V. The version documented here is the <code>panel</code>
+ code distributed with <code>ncurses</code>.</p>
+
+ <h2><a name="pcompile" id="pcompile">Compiling With the Panels
+ Library</a></h2>
+
+ <p>Your panels-using modules must import the panels library
+ declarations with</p>
+
+ <pre>
+ #include &lt;panel.h&gt;
+</pre>
+
+ <p>and must be linked explicitly with the panels library using an
+ <code>-lpanel</code> argument. Note that they must also link the
+ <code>ncurses</code> library with <code>-lncurses</code>. Many
+ linkers are two-pass and will accept either order, but it is
+ still good practice to put <code>-lpanel</code> first and
+ <code>-lncurses</code> second.</p>
+
+ <h2><a name="poverview" id="poverview">Overview of Panels</a></h2>
+
+ <p>A panel object is a window that is implicitly treated as part
+ of a <dfn>deck</dfn> including all other panel objects. The deck
+ has an implicit bottom-to-top visibility order. The panels
+ library includes an update function (analogous to
+ <code>refresh()</code>) that displays all panels in the deck in
+ the proper order to resolve overlaps. The standard window,
+ <code>stdscr</code>, is considered below all panels.</p>
+
+ <p>Details on the panels functions are available in the man
+ pages. We will just hit the highlights here.</p>
+
+ <p>You create a panel from a window by calling
+ <code>new_panel()</code> on a window pointer. It then becomes the
+ top of the deck. The panel's window is available as the value of
+ <code>panel_window()</code> called with the panel pointer as
+ argument.</p>
+
+ <p>You can delete a panel (removing it from the deck) with
+ <code>del_panel</code>. This will not deallocate the associated
+ window; you have to do that yourself. You can replace a panel's
+ window with a different window by calling
+ <code>replace_window</code>. The new window may be of different
+ size; the panel code will re-compute all overlaps. This operation
+ does not change the panel's position in the deck.</p>
+
+ <p>To move a panel's window, use <code>move_panel()</code>. The
+ <code>mvwin()</code> function on the panel's window is not
+ sufficient because it does not update the panels library's
+ representation of where the windows are. This operation leaves
+ the panel's depth, contents, and size unchanged.</p>
+
+ <p>Two functions (<code>top_panel()</code>,
+ <code>bottom_panel()</code>) are provided for rearranging the
+ deck. The first pops its argument window to the top of the deck;
+ the second sends it to the bottom. Either operation leaves the
+ panel's screen location, contents, and size unchanged.</p>
+
+ <p>The function <code>update_panels()</code> does all the
+ <code>wnoutrefresh()</code> calls needed to prepare for
+ <code>doupdate()</code> (which you must call yourself,
+ afterwards).</p>
+
+ <p>Typically, you will want to call <code>update_panels()</code>
+ and <code>doupdate()</code> just before accepting command input,
+ once in each cycle of interaction with the user. If you call
+ <code>update_panels()</code> after each and every panel write,
+ you will generate a lot of unnecessary refresh activity and
+ screen flicker.</p>
+
+ <h2><a name="pstdscr" id="pstdscr">Panels, Input, and the
+ Standard Screen</a></h2>
+
+ <p>You should not mix <code>wnoutrefresh()</code> or
+ <code>wrefresh()</code> operations with panels code; this will
+ work only if the argument window is either in the top panel or
+ unobscured by any other panels.</p>
+
+ <p>The <code>stsdcr</code> window is a special case. It is
+ considered below all panels. Because changes to panels may
+ obscure parts of <code>stdscr</code>, though, you should call
+ <code>update_panels()</code> before <code>doupdate()</code> even
+ when you only change <code>stdscr</code>.</p>
+
+ <p>Note that <code>wgetch</code> automatically calls
+ <code>wrefresh</code>. Therefore, before requesting input from a
+ panel window, you need to be sure that the panel is totally
+ unobscured.</p>
+
+ <p>There is presently no way to display changes to one obscured
+ panel without repainting all panels.</p>
-You can replace a panel's window with a different window by calling
-<CODE>replace_window</CODE>. The new window may be of different size;
-the panel code will re-compute all overlaps. This operation doesn't
-change the panel's position in the deck. <P>
+ <h2><a name="hiding" id="hiding">Hiding Panels</a></h2>
+
+ <p>It is possible to remove a panel from the deck temporarily;
+ use <code>hide_panel</code> for this. Use
+ <code>show_panel()</code> to render it visible again. The
+ predicate function <code>panel_hidden</code> tests whether or not
+ a panel is hidden.</p>
+
+ <p>The <code>panel_update</code> code ignores hidden panels. You
+ cannot do <code>top_panel()</code> or <code>bottom_panel</code>
+ on a hidden panel(). Other panels operations are applicable.</p>
+
+ <h2><a name="pmisc" id="pmisc">Miscellaneous Other Facilities</a></h2>
+
+ <p>It is possible to navigate the deck using the functions
+ <code>panel_above()</code> and <code>panel_below</code>. Handed a
+ panel pointer, they return the panel above or below that panel.
+ Handed <code>NULL</code>, they return the bottom-most or top-most
+ panel.</p>
+
+ <p>Every panel has an associated user pointer, not used by the
+ panel code, to which you can attach application data. See the man
+ page documentation of <code>set_panel_userptr()</code> and
+ <code>panel_userptr</code> for details.</p>
+
+ <h1><a name="menu" id="menu">The Menu Library</a></h1>
-To move a panel's window, use <CODE>move_panel()</CODE>. The
-<CODE>mvwin()</CODE> function on the panel's window isn't sufficient because it
-doesn't update the panels library's representation of where the windows are.
-This operation leaves the panel's depth, contents, and size unchanged. <P>
+ <p>A menu is a screen display that assists the user to choose
+ some subset of a given set of items. The <code>menu</code>
+ library is a curses extension that supports easy programming of
+ menu hierarchies with a uniform but flexible interface.</p>
-Two functions (<CODE>top_panel()</CODE>, <CODE>bottom_panel()</CODE>) are
-provided for rearranging the deck. The first pops its argument window to the
-top of the deck; the second sends it to the bottom. Either operation leaves
-the panel's screen location, contents, and size unchanged. <P>
+ <p>The <code>menu</code> library first appeared in AT&amp;T
+ System V. The version documented here is the <code>menu</code>
+ code distributed with <code>ncurses</code>.</p>
-The function <CODE>update_panels()</CODE> does all the
-<CODE>wnoutrefresh()</CODE> calls needed to prepare for
-<CODE>doupdate()</CODE> (which you must call yourself, afterwards). <P>
-
-Typically, you will want to call <CODE>update_panels()</CODE> and
-<CODE>doupdate()</CODE> just before accepting command input, once in each cycle
-of interaction with the user. If you call <CODE>update_panels()</CODE> after
-each and every panel write, you'll generate a lot of unnecessary refresh
-activity and screen flicker.
-
-<H2><A NAME="pstdscr">Panels, Input, and the Standard Screen</A></H2>
-
-You shouldn't mix <CODE>wnoutrefresh()</CODE> or <CODE>wrefresh()</CODE>
-operations with panels code; this will work only if the argument window
-is either in the top panel or unobscured by any other panels. <P>
-
-The <CODE>stsdcr</CODE> window is a special case. It is considered below all
-panels. Because changes to panels may obscure parts of <CODE>stdscr</CODE>,
-though, you should call <CODE>update_panels()</CODE> before
-<CODE>doupdate()</CODE> even when you only change <CODE>stdscr</CODE>. <P>
-
-Note that <CODE>wgetch</CODE> automatically calls <CODE>wrefresh</CODE>.
-Therefore, before requesting input from a panel window, you need to be sure
-that the panel is totally unobscured. <P>
-
-There is presently no way to display changes to one obscured panel without
-repainting all panels.
-
-<H2><A NAME="hiding">Hiding Panels</A></H2>
-
-It's possible to remove a panel from the deck temporarily; use
-<CODE>hide_panel</CODE> for this. Use <CODE>show_panel()</CODE> to render it
-visible again. The predicate function <CODE>panel_hidden</CODE>
-tests whether or not a panel is hidden. <P>
-
-The <CODE>panel_update</CODE> code ignores hidden panels. You cannot do
-<CODE>top_panel()</CODE> or <CODE>bottom_panel</CODE> on a hidden panel().
-Other panels operations are applicable.
-
-<H2><A NAME="pmisc">Miscellaneous Other Facilities</A></H2>
-
-It's possible to navigate the deck using the functions
-<CODE>panel_above()</CODE> and <CODE>panel_below</CODE>. Handed a panel
-pointer, they return the panel above or below that panel. Handed
-<CODE>NULL</CODE>, they return the bottom-most or top-most panel. <P>
-
-Every panel has an associated user pointer, not used by the panel code, to
-which you can attach application data. See the man page documentation
-of <CODE>set_panel_userptr()</CODE> and <CODE>panel_userptr</CODE> for
-details.
-
-<H1><A NAME="menu">The Menu Library</A></H1>
-
-A menu is a screen display that assists the user to choose some subset
-of a given set of items. The <CODE>menu</CODE> library is a curses
-extension that supports easy programming of menu hierarchies with a
-uniform but flexible interface. <P>
-
-The <CODE>menu</CODE> library first appeared in AT&amp;T System V. The
-version documented here is the <CODE>menu</CODE> code distributed
-with <CODE>ncurses</CODE>.
-
-<H2><A NAME="mcompile">Compiling With the menu Library</A></H2>
-
-Your menu-using modules must import the menu library declarations with
-
-<PRE>
- #include &lt;menu.h&gt;
-</PRE>
-
-and must be linked explicitly with the menus library using an
-<CODE>-lmenu</CODE> argument. Note that they must also link the
-<CODE>ncurses</CODE> library with <CODE>-lncurses</CODE>. Many linkers
-are two-pass and will accept either order, but it is still good practice
-to put <CODE>-lmenu</CODE> first and <CODE>-lncurses</CODE> second.
-
-<H2><A NAME="moverview">Overview of Menus</A></H2>
-
-The menus created by this library consist of collections of
-<DFN>items</DFN> including a name string part and a description string
-part. To make menus, you create groups of these items and connect
-them with menu frame objects. <P>
-
-The menu can then by <DFN>posted</DFN>, that is written to an
-associated window. Actually, each menu has two associated windows; a
-containing window in which the programmer can scribble titles or
-borders, and a subwindow in which the menu items proper are displayed.
-If this subwindow is too small to display all the items, it will be a
-scrollable viewport on the collection of items. <P>
-
-A menu may also be <DFN>unposted</DFN> (that is, undisplayed), and finally
-freed to make the storage associated with it and its items available for
-re-use. <P>
-
-The general flow of control of a menu program looks like this:
-
-<OL>
-<LI>Initialize <CODE>curses</CODE>.
-<LI>Create the menu items, using <CODE>new_item()</CODE>.
-<LI>Create the menu using <CODE>new_menu()</CODE>.
-<LI>Post the menu using <CODE>post_menu()</CODE>.
-<LI>Refresh the screen.
-<LI>Process user requests via an input loop.
-<LI>Unpost the menu using <CODE>unpost_menu()</CODE>.
-<LI>Free the menu, using <CODE>free_menu()</CODE>.
-<LI>Free the items using <CODE>free_item()</CODE>.
-<LI>Terminate <CODE>curses</CODE>.
-</OL>
-
-<H2><A NAME="mselect">Selecting items</A></H2>
-
-Menus may be multi-valued or (the default) single-valued (see the manual
-page <CODE>menu_opts(3x)</CODE> to see how to change the default).
-Both types always have a <DFN>current item</DFN>. <P>
-
-From a single-valued menu you can read the selected value simply by looking
-at the current item. From a multi-valued menu, you get the selected set
-by looping through the items applying the <CODE>item_value()</CODE>
-predicate function. Your menu-processing code can use the function
-<CODE>set_item_value()</CODE> to flag the items in the select set. <P>
-
-Menu items can be made unselectable using <CODE>set_item_opts()</CODE>
-or <CODE>item_opts_off()</CODE> with the <CODE>O_SELECTABLE</CODE>
-argument. This is the only option so far defined for menus, but it
-is good practice to code as though other option bits might be on.
-
-<H2><A NAME="mdisplay">Menu Display</A></H2>
-
-The menu library calculates a minimum display size for your window, based
-on the following variables:
-
-<UL>
-<LI>The number and maximum length of the menu items
-<LI>Whether the O_ROWMAJOR option is enabled
-<LI>Whether display of descriptions is enabled
-<LI>Whatever menu format may have been set by the programmer
-<LI>The length of the menu mark string used for highlighting selected items
-</UL>
-
-The function <CODE>set_menu_format()</CODE> allows you to set the
-maximum size of the viewport or <DFN>menu page</DFN> that will be used
-to display menu items. You can retrieve any format associated with a
-menu with <CODE>menu_format()</CODE>. The default format is rows=16,
-columns=1. <P>
-
-The actual menu page may be smaller than the format size. This depends
-on the item number and size and whether O_ROWMAJOR is on. This option
-(on by default) causes menu items to be displayed in a `raster-scan'
-pattern, so that if more than one item will fit horizontally the first
-couple of items are side-by-side in the top row. The alternative is
-column-major display, which tries to put the first several items in
-the first column. <P>
-
-As mentioned above, a menu format not large enough to allow all items to fit
-on-screen will result in a menu display that is vertically scrollable. <P>
-You can scroll it with requests to the menu driver, which will be described
-in the section on <A HREF="#minput">menu input handling</A>. <P>
-
-Each menu has a <DFN>mark string</DFN> used to visually tag selected items;
-see the <CODE>menu_mark(3x)</CODE> manual page for details. The mark
-string length also influences the menu page size. <P>
-
-The function <CODE>scale_menu()</CODE> returns the minimum display size
-that the menu code computes from all these factors.
-
-There are other menu display attributes including a select attribute,
-an attribute for selectable items, an attribute for unselectable items,
-and a pad character used to separate item name text from description
-text. These have reasonable defaults which the library allows you to
-change (see the <CODE>menu_attribs(3x)</CODE> manual page.
-
-<H2><A NAME="mwindows">Menu Windows</A></H2>
-
-Each menu has, as mentioned previously, a pair of associated windows.
-Both these windows are painted when the menu is posted and erased when
-the menu is unposted. <P>
-
-The outer or frame window is not otherwise touched by the menu
-routines. It exists so the programmer can associate a title, a
-border, or perhaps help text with the menu and have it properly
-refreshed or erased at post/unpost time. The inner window or
-<DFN>subwindow</DFN> is where the current menu page is displayed. <P>
-
-By default, both windows are <CODE>stdscr</CODE>. You can set them with the
-functions in <CODE>menu_win(3x)</CODE>. <P>
-
-When you call <CODE>post_menu()</CODE>, you write the menu to its
-subwindow. When you call <CODE>unpost_menu()</CODE>, you erase the
-subwindow, However, neither of these actually modifies the screen. To
-do that, call <CODE>wrefresh()</CODE> or some equivalent.
-
-<H2><A NAME="minput">Processing Menu Input</A></H2>
-
-The main loop of your menu-processing code should call
-<CODE>menu_driver()</CODE> repeatedly. The first argument of this routine
-is a menu pointer; the second is a menu command code. You should write an
-input-fetching routine that maps input characters to menu command codes, and
-pass its output to <CODE>menu_driver()</CODE>. The menu command codes are
-fully documented in <CODE>menu_driver(3x)</CODE>. <P>
-
-The simplest group of command codes is <CODE>REQ_NEXT_ITEM</CODE>,
-<CODE>REQ_PREV_ITEM</CODE>, <CODE>REQ_FIRST_ITEM</CODE>,
-<CODE>REQ_LAST_ITEM</CODE>, <CODE>REQ_UP_ITEM</CODE>,
-<CODE>REQ_DOWN_ITEM</CODE>, <CODE>REQ_LEFT_ITEM</CODE>,
-<CODE>REQ_RIGHT_ITEM</CODE>. These change the currently selected
-item. These requests may cause scrolling of the menu page if it only
-partially displayed. <P>
-
-There are explicit requests for scrolling which also change the
-current item (because the select location does not change, but the
-item there does). These are <CODE>REQ_SCR_DLINE</CODE>,
-<CODE>REQ_SCR_ULINE</CODE>, <CODE>REQ_SCR_DPAGE</CODE>, and
-<CODE>REQ_SCR_UPAGE</CODE>. <P>
-
-The <CODE>REQ_TOGGLE_ITEM</CODE> selects or deselects the current item.
-It is for use in multi-valued menus; if you use it with <CODE>O_ONEVALUE</CODE>
-on, you'll get an error return (<CODE>E_REQUEST_DENIED</CODE>). <P>
-
-Each menu has an associated pattern buffer. The
-<CODE>menu_driver()</CODE> logic tries to accumulate printable ASCII
-characters passed in in that buffer; when it matches a prefix of an
-item name, that item (or the next matching item) is selected. If
-appending a character yields no new match, that character is deleted
-from the pattern buffer, and <CODE>menu_driver()</CODE> returns
-<CODE>E_NO_MATCH</CODE>. <P>
-
-Some requests change the pattern buffer directly:
-<CODE>REQ_CLEAR_PATTERN</CODE>, <CODE>REQ_BACK_PATTERN</CODE>,
-<CODE>REQ_NEXT_MATCH</CODE>, <CODE>REQ_PREV_MATCH</CODE>. The latter
-two are useful when pattern buffer input matches more than one item
-in a multi-valued menu. <P>
-
-Each successful scroll or item navigation request clears the pattern
-buffer. It is also possible to set the pattern buffer explicitly
-with <CODE>set_menu_pattern()</CODE>. <P>
-
-Finally, menu driver requests above the constant <CODE>MAX_COMMAND</CODE>
-are considered application-specific commands. The <CODE>menu_driver()</CODE>
-code ignores them and returns <CODE>E_UNKNOWN_COMMAND</CODE>.
-
-<H2><A NAME="mmisc">Miscellaneous Other Features</A></H2>
-
-Various menu options can affect the processing and visual appearance
-and input processing of menus. See <CODE>menu_opts(3x) for
-details.</CODE> <P>
-
-It is possible to change the current item from application code; this
-is useful if you want to write your own navigation requests. It is
-also possible to explicitly set the top row of the menu display. See
-<CODE>mitem_current(3x)</CODE>.
-
-If your application needs to change the menu subwindow cursor for
-any reason, <CODE>pos_menu_cursor()</CODE> will restore it to the
-correct location for continuing menu driver processing. <P>
-
-It is possible to set hooks to be called at menu initialization and
-wrapup time, and whenever the selected item changes. See
-<CODE>menu_hook(3x)</CODE>. <P>
-
-Each item, and each menu, has an associated user pointer on which you
-can hang application data. See <CODE>mitem_userptr(3x)</CODE> and
-<CODE>menu_userptr(3x)</CODE>.
-
-<H1><A NAME="form">The Forms Library</A></H1>
-
-The <CODE>form</CODE> library is a curses extension that supports easy
-programming of on-screen forms for data entry and program control. <P>
-
-The <CODE>form</CODE> library first appeared in AT&amp;T System V. The
-version documented here is the <CODE>form</CODE> code distributed
-with <CODE>ncurses</CODE>.
-
-<H2><A NAME="fcompile">Compiling With the form Library</A></H2>
-
-Your form-using modules must import the form library declarations with
-
-<PRE>
- #include &lt;form.h&gt;
-</PRE>
-
-and must be linked explicitly with the forms library using an
-<CODE>-lform</CODE> argument. Note that they must also link the
-<CODE>ncurses</CODE> library with <CODE>-lncurses</CODE>. Many linkers
-are two-pass and will accept either order, but it is still good practice
-to put <CODE>-lform</CODE> first and <CODE>-lncurses</CODE> second.
-
-<H2><A NAME="foverview">Overview of Forms</A></H2>
-
-A form is a collection of fields; each field may be either a label
-(explanatory text) or a data-entry location. Long forms may be
-segmented into pages; each entry to a new page clears the screen. <P>
-To make forms, you create groups of fields and connect them with form
-frame objects; the form library makes this relatively simple. <P>
-
-Once defined, a form can be <DFN>posted</DFN>, that is written to an
-associated window. Actually, each form has two associated windows; a
-containing window in which the programmer can scribble titles or
-borders, and a subwindow in which the form fields proper are displayed. <P>
-
-As the form user fills out the posted form, navigation and editing
-keys support movement between fields, editing keys support modifying
-field, and plain text adds to or changes data in a current field. The
-form library allows you (the forms designer) to bind each navigation
-and editing key to any keystroke accepted by <CODE>curses</CODE>
-
-Fields may have validation conditions on them, so that they check input
-data for type and value. The form library supplies a rich set of
-pre-defined field types, and makes it relatively easy to define new ones. <P>
-
-Once its transaction is completed (or aborted), a form may be
-<DFN>unposted</DFN> (that is, undisplayed), and finally freed to make
-the storage associated with it and its items available for re-use. <P>
-
-The general flow of control of a form program looks like this:
-
-<OL>
-<LI>Initialize <CODE>curses</CODE>.
-<LI>Create the form fields, using <CODE>new_field()</CODE>.
-<LI>Create the form using <CODE>new_form()</CODE>.
-<LI>Post the form using <CODE>post_form()</CODE>.
-<LI>Refresh the screen.
-<LI>Process user requests via an input loop.
-<LI>Unpost the form using <CODE>unpost_form()</CODE>.
-<LI>Free the form, using <CODE>free_form()</CODE>.
-<LI>Free the fields using <CODE>free_field()</CODE>.
-<LI>Terminate <CODE>curses</CODE>.
-</OL>
+ <h2><a name="mcompile" id="mcompile">Compiling With the menu
+ Library</a></h2>
-Note that this looks much like a menu program; the form library handles
-tasks which are in many ways similar, and its interface was obviously
-designed to resemble that of the <A HREF="#menu">menu library</A>
-wherever possible. <P>
+ <p>Your menu-using modules must import the menu library
+ declarations with</p>
-In forms programs, however, the `process user requests' is somewhat more
-complicated than for menus. Besides menu-like navigation operations,
-the menu driver loop has to support field editing and data validation.
+ <pre>
+ #include &lt;menu.h&gt;
+</pre>
-<H2><A NAME="fcreate">Creating and Freeing Fields and Forms</A></H2>
+ <p>and must be linked explicitly with the menus library using an
+ <code>-lmenu</code> argument. Note that they must also link the
+ <code>ncurses</code> library with <code>-lncurses</code>. Many
+ linkers are two-pass and will accept either order, but it is
+ still good practice to put <code>-lmenu</code> first and
+ <code>-lncurses</code> second.</p>
-The basic function for creating fields is <CODE>new_field()</CODE>:
+ <h2><a name="moverview" id="moverview">Overview of Menus</a></h2>
-<PRE>
-FIELD *new_field(int height, int width, /* new field size */
- int top, int left, /* upper left corner */
- int offscreen, /* number of offscreen rows */
- int nbuf); /* number of working buffers */
-</PRE>
-
-Menu items always occupy a single row, but forms fields may have
-multiple rows. So <CODE>new_field()</CODE> requires you to specify a
-width and height (the first two arguments, which mist both be greater
-than zero). <P>
-
-You must also specify the location of the field's upper left corner on
-the screen (the third and fourth arguments, which must be zero or
-greater). Note that these coordinates are relative to the form
-subwindow, which will coincide with <CODE>stdscr</CODE> by default but
-need not be <CODE>stdscr</CODE> if you've done an explicit
-<CODE>set_form_win()</CODE> call. <P>
-
-The fifth argument allows you to specify a number of off-screen rows. If
-this is zero, the entire field will always be displayed. If it is
-nonzero, the form will be scrollable, with only one screen-full (initially
-the top part) displayed at any given time. If you make a field dynamic
-and grow it so it will no longer fit on the screen, the form will become
-scrollable even if the <CODE>offscreen</CODE> argument was initially zero. <P>
-
-The forms library allocates one working buffer per field; the size of
-each buffer is <CODE>((height + offscreen)*width + 1</CODE>, one character
-for each position in the field plus a NUL terminator. The sixth
-argument is the number of additional data buffers to allocate for the
-field; your application can use them for its own purposes.
-
-<PRE>
-FIELD *dup_field(FIELD *field, /* field to copy */
- int top, int left); /* location of new copy */
-</PRE>
+ <p>The menus created by this library consist of collections of
+ <dfn>items</dfn> including a name string part and a description
+ string part. To make menus, you create groups of these items and
+ connect them with menu frame objects.</p>
-The function <CODE>dup_field()</CODE> duplicates an existing field at a
-new location. Size and buffering information are copied; some
-attribute flags and status bits are not (see the
-<CODE>form_field_new(3X)</CODE> for details).
+ <p>The menu can then by <dfn>posted</dfn>, that is written to an
+ associated window. Actually, each menu has two associated
+ windows; a containing window in which the programmer can scribble
+ titles or borders, and a subwindow in which the menu items proper
+ are displayed. If this subwindow is too small to display all the
+ items, it will be a scrollable viewport on the collection of
+ items.</p>
-<PRE>
-FIELD *link_field(FIELD *field, /* field to copy */
- int top, int left); /* location of new copy */
-</PRE>
+ <p>A menu may also be <dfn>unposted</dfn> (that is, undisplayed),
+ and finally freed to make the storage associated with it and its
+ items available for re-use.</p>
-The function <CODE>link_field()</CODE> also duplicates an existing field
-at a new location. The difference from <CODE>dup_field()</CODE> is that
-it arranges for the new field's buffer to be shared with the old one. <P>
+ <p>The general flow of control of a menu program looks like
+ this:</p>
-Besides the obvious use in making a field editable from two different
-form pages, linked fields give you a way to hack in dynamic labels. If
-you declare several fields linked to an original, and then make them
-inactive, changes from the original will still be propagated to the
-linked fields. <P>
+ <ol>
+ <li>Initialize <code>curses</code>.</li>
-As with duplicated fields, linked fields have attribute bits separate
-from the original. <P>
+ <li>Create the menu items, using <code>new_item()</code>.</li>
-As you might guess, all these field-allocations return <CODE>NULL</CODE> if
-the field allocation is not possible due to an out-of-memory error or
-out-of-bounds arguments. <P>
+ <li>Create the menu using <code>new_menu()</code>.</li>
-To connect fields to a form, use
+ <li>Post the menu using <code>post_menu()</code>.</li>
-<PRE>
-FORM *new_form(FIELD **fields);
-</PRE>
+ <li>Refresh the screen.</li>
+
+ <li>Process user requests via an input loop.</li>
+
+ <li>Unpost the menu using <code>unpost_menu()</code>.</li>
+
+ <li>Free the menu, using <code>free_menu()</code>.</li>
+
+ <li>Free the items using <code>free_item()</code>.</li>
+
+ <li>Terminate <code>curses</code>.</li>
+ </ol>
+
+ <h2><a name="mselect" id="mselect">Selecting items</a></h2>
+
+ <p>Menus may be multi-valued or (the default) single-valued (see
+ the manual page <code>menu_opts(3x)</code> to see how to change
+ the default). Both types always have a <dfn>current
+ item</dfn>.</p>
+
+ <p>From a single-valued menu you can read the selected value
+ simply by looking at the current item. From a multi-valued menu,
+ you get the selected set by looping through the items applying
+ the <code>item_value()</code> predicate function. Your
+ menu-processing code can use the function
+ <code>set_item_value()</code> to flag the items in the select
+ set.</p>
+
+ <p>Menu items can be made unselectable using
+ <code>set_item_opts()</code> or <code>item_opts_off()</code> with
+ the <code>O_SELECTABLE</code> argument. This is the only option
+ so far defined for menus, but it is good practice to code as
+ though other option bits might be on.</p>
+
+ <h2><a name="mdisplay" id="mdisplay">Menu Display</a></h2>
+
+ <p>The menu library calculates a minimum display size for your
+ window, based on the following variables:</p>
+
+ <ul>
+ <li>The number and maximum length of the menu items</li>
+
+ <li>Whether the O_ROWMAJOR option is enabled</li>
+
+ <li>Whether display of descriptions is enabled</li>
+
+ <li>Whatever menu format may have been set by the
+ programmer</li>
+
+ <li>The length of the menu mark string used for highlighting
+ selected items</li>
+ </ul>
+
+ <p>The function <code>set_menu_format()</code> allows you to set
+ the maximum size of the viewport or <dfn>menu page</dfn> that
+ will be used to display menu items. You can retrieve any format
+ associated with a menu with <code>menu_format()</code>. The
+ default format is rows=16, columns=1.</p>
+
+ <p>The actual menu page may be smaller than the format size. This
+ depends on the item number and size and whether O_ROWMAJOR is on.
+ This option (on by default) causes menu items to be displayed in
+ a &ldquo;raster-scan&rdquo; pattern, so that if more than one
+ item will fit horizontally the first couple of items are
+ side-by-side in the top row. The alternative is column-major
+ display, which tries to put the first several items in the first
+ column.</p>
+
+ <p>As mentioned above, a menu format not large enough to allow
+ all items to fit on-screen will result in a menu display that is
+ vertically scrollable.</p>
+
+ <p>You can scroll it with requests to the menu driver, which will
+ be described in the section on <a href="#minput">menu input
+ handling</a>.</p>
+
+ <p>Each menu has a <dfn>mark string</dfn> used to visually tag
+ selected items; see the <code>menu_mark(3x)</code> manual page
+ for details. The mark string length also influences the menu page
+ size.</p>
+
+ <p>The function <code>scale_menu()</code> returns the minimum
+ display size that the menu code computes from all these factors.
+ There are other menu display attributes including a select
+ attribute, an attribute for selectable items, an attribute for
+ unselectable items, and a pad character used to separate item
+ name text from description text. These have reasonable defaults
+ which the library allows you to change (see the
+ <code>menu_attribs(3x)</code> manual page.</p>
+
+ <h2><a name="mwindows" id="mwindows">Menu Windows</a></h2>
+
+ <p>Each menu has, as mentioned previously, a pair of associated
+ windows. Both these windows are painted when the menu is posted
+ and erased when the menu is unposted.</p>
+
+ <p>The outer or frame window is not otherwise touched by the menu
+ routines. It exists so the programmer can associate a title, a
+ border, or perhaps help text with the menu and have it properly
+ refreshed or erased at post/unpost time. The inner window or
+ <dfn>subwindow</dfn> is where the current menu page is
+ displayed.</p>
+
+ <p>By default, both windows are <code>stdscr</code>. You can set
+ them with the functions in <code>menu_win(3x)</code>.</p>
+
+ <p>When you call <code>post_menu()</code>, you write the menu to
+ its subwindow. When you call <code>unpost_menu()</code>, you
+ erase the subwindow, However, neither of these actually modifies
+ the screen. To do that, call <code>wrefresh()</code> or some
+ equivalent.</p>
+
+ <h2><a name="minput" id="minput">Processing Menu Input</a></h2>
+
+ <p>The main loop of your menu-processing code should call
+ <code>menu_driver()</code> repeatedly. The first argument of this
+ routine is a menu pointer; the second is a menu command code. You
+ should write an input-fetching routine that maps input characters
+ to menu command codes, and pass its output to
+ <code>menu_driver()</code>. The menu command codes are fully
+ documented in <code>menu_driver(3x)</code>.</p>
+
+ <p>The simplest group of command codes is
+ <code>REQ_NEXT_ITEM</code>, <code>REQ_PREV_ITEM</code>,
+ <code>REQ_FIRST_ITEM</code>, <code>REQ_LAST_ITEM</code>,
+ <code>REQ_UP_ITEM</code>, <code>REQ_DOWN_ITEM</code>,
+ <code>REQ_LEFT_ITEM</code>, <code>REQ_RIGHT_ITEM</code>. These
+ change the currently selected item. These requests may cause
+ scrolling of the menu page if it only partially displayed.</p>
+
+ <p>There are explicit requests for scrolling which also change
+ the current item (because the select location does not change,
+ but the item there does). These are <code>REQ_SCR_DLINE</code>,
+ <code>REQ_SCR_ULINE</code>, <code>REQ_SCR_DPAGE</code>, and
+ <code>REQ_SCR_UPAGE</code>.</p>
+
+ <p>The <code>REQ_TOGGLE_ITEM</code> selects or deselects the
+ current item. It is for use in multi-valued menus; if you use it
+ with <code>O_ONEVALUE</code> on, you will get an error return
+ (<code>E_REQUEST_DENIED</code>).</p>
+
+ <p>Each menu has an associated pattern buffer. The
+ <code>menu_driver()</code> logic tries to accumulate printable
+ ASCII characters passed in in that buffer; when it matches a
+ prefix of an item name, that item (or the next matching item) is
+ selected. If appending a character yields no new match, that
+ character is deleted from the pattern buffer, and
+ <code>menu_driver()</code> returns <code>E_NO_MATCH</code>.</p>
+
+ <p>Some requests change the pattern buffer directly:
+ <code>REQ_CLEAR_PATTERN</code>, <code>REQ_BACK_PATTERN</code>,
+ <code>REQ_NEXT_MATCH</code>, <code>REQ_PREV_MATCH</code>. The
+ latter two are useful when pattern buffer input matches more than
+ one item in a multi-valued menu.</p>
+
+ <p>Each successful scroll or item navigation request clears the
+ pattern buffer. It is also possible to set the pattern buffer
+ explicitly with <code>set_menu_pattern()</code>.</p>
+
+ <p>Finally, menu driver requests above the constant
+ <code>MAX_COMMAND</code> are considered application-specific
+ commands. The <code>menu_driver()</code> code ignores them and
+ returns <code>E_UNKNOWN_COMMAND</code>.</p>
+
+ <h2><a name="mmisc" id="mmisc">Miscellaneous Other Features</a></h2>
+
+ <p>Various menu options can affect the processing and visual
+ appearance and input processing of menus. See <code>menu_opts(3x)
+ for details.</code></p>
+
+ <p>It is possible to change the current item from application
+ code; this is useful if you want to write your own navigation
+ requests. It is also possible to explicitly set the top row of
+ the menu display. See <code>mitem_current(3x)</code>. If your
+ application needs to change the menu subwindow cursor for any
+ reason, <code>pos_menu_cursor()</code> will restore it to the
+ correct location for continuing menu driver processing.</p>
+
+ <p>It is possible to set hooks to be called at menu
+ initialization and wrapup time, and whenever the selected item
+ changes. See <code>menu_hook(3x)</code>.</p>
+
+ <p>Each item, and each menu, has an associated user pointer on
+ which you can hang application data. See
+ <code>mitem_userptr(3x)</code> and
+ <code>menu_userptr(3x)</code>.</p>
+
+ <h1><a name="form" id="form">The Forms Library</a></h1>
+
+ <p>The <code>form</code> library is a curses extension that
+ supports easy programming of on-screen forms for data entry and
+ program control.</p>
+
+ <p>The <code>form</code> library first appeared in AT&amp;T
+ System V. The version documented here is the <code>form</code>
+ code distributed with <code>ncurses</code>.</p>
+
+ <h2><a name="fcompile" id="fcompile">Compiling With the form
+ Library</a></h2>
+
+ <p>Your form-using modules must import the form library
+ declarations with</p>
+
+ <pre>
+ #include &lt;form.h&gt;
+</pre>
+
+ <p>and must be linked explicitly with the forms library using an
+ <code>-lform</code> argument. Note that they must also link the
+ <code>ncurses</code> library with <code>-lncurses</code>. Many
+ linkers are two-pass and will accept either order, but it is
+ still good practice to put <code>-lform</code> first and
+ <code>-lncurses</code> second.</p>
+
+ <h2><a name="foverview" id="foverview">Overview of Forms</a></h2>
+
+ <p>A form is a collection of fields; each field may be either a
+ label (explanatory text) or a data-entry location. Long forms may
+ be segmented into pages; each entry to a new page clears the
+ screen.</p>
+
+ <p>To make forms, you create groups of fields and connect them
+ with form frame objects; the form library makes this relatively
+ simple.</p>
+
+ <p>Once defined, a form can be <dfn>posted</dfn>, that is written
+ to an associated window. Actually, each form has two associated
+ windows; a containing window in which the programmer can scribble
+ titles or borders, and a subwindow in which the form fields
+ proper are displayed.</p>
+
+ <p>As the form user fills out the posted form, navigation and
+ editing keys support movement between fields, editing keys
+ support modifying field, and plain text adds to or changes data
+ in a current field. The form library allows you (the forms
+ designer) to bind each navigation and editing key to any
+ keystroke accepted by <code>curses</code> Fields may have
+ validation conditions on them, so that they check input data for
+ type and value. The form library supplies a rich set of
+ pre-defined field types, and makes it relatively easy to define
+ new ones.</p>
+
+ <p>Once its transaction is completed (or aborted), a form may be
+ <dfn>unposted</dfn> (that is, undisplayed), and finally freed to
+ make the storage associated with it and its items available for
+ re-use.</p>
+
+ <p>The general flow of control of a form program looks like
+ this:</p>
+
+ <ol>
+ <li>Initialize <code>curses</code>.</li>
+
+ <li>Create the form fields, using
+ <code>new_field()</code>.</li>
+
+ <li>Create the form using <code>new_form()</code>.</li>
+
+ <li>Post the form using <code>post_form()</code>.</li>
+
+ <li>Refresh the screen.</li>
+
+ <li>Process user requests via an input loop.</li>
-This function expects to see a NULL-terminated array of field pointers.
-Said fields are connected to a newly-allocated form object; its address
-is returned (or else NULL if the allocation fails). <P>
+ <li>Unpost the form using <code>unpost_form()</code>.</li>
-Note that <CODE>new_field()</CODE> does <EM>not</EM> copy the pointer array
-into private storage; if you modify the contents of the pointer array
-during forms processing, all manner of bizarre things might happen. Also
-note that any given field may only be connected to one form. <P>
+ <li>Free the form, using <code>free_form()</code>.</li>
-The functions <CODE>free_field()</CODE> and <CODE>free_form</CODE> are available
-to free field and form objects. It is an error to attempt to free a field
-connected to a form, but not vice-versa; thus, you will generally free
-your form objects first.
+ <li>Free the fields using <code>free_field()</code>.</li>
-<H2><A NAME="fattributes">Fetching and Changing Field Attributes</A></H2>
+ <li>Terminate <code>curses</code>.</li>
+ </ol>
-Each form field has a number of location and size attributes
-associated with it. There are other field attributes used to control
-display and editing of the field. Some (for example, the <CODE>O_STATIC</CODE> bit)
-involve sufficient complications to be covered in sections of their own
-later on. We cover the functions used to get and set several basic
-attributes here. <P>
+ <p>Note that this looks much like a menu program; the form
+ library handles tasks which are in many ways similar, and its
+ interface was obviously designed to resemble that of the <a href=
+ "#menu">menu library</a> wherever possible.</p>
-When a field is created, the attributes not specified by the
-<CODE>new_field</CODE> function are copied from an invisible system
-default field. In attribute-setting and -fetching functions, the
-argument NULL is taken to mean this field. Changes to it persist
-as defaults until your forms application terminates.
+ <p>In forms programs, however, the &ldquo;process user
+ requests&rdquo; is somewhat more complicated than for menus.
+ Besides menu-like navigation operations, the menu driver loop has
+ to support field editing and data validation.</p>
-<H3><A NAME="fsizes">Fetching Size and Location Data</A></H3>
+ <h2><a name="fcreate" id="fcreate">Creating and Freeing Fields
+ and Forms</a></h2>
-You can retrieve field sizes and locations through:
+ <p>The basic function for creating fields is
+ <code>new_field()</code>:</p>
-<PRE>
+ <pre>
+FIELD *new_field(int height, int width, /* new field size */
+ int top, int left, /* upper left corner */
+ int offscreen, /* number of offscreen rows */
+ int nbuf); /* number of working buffers */
+</pre>
+
+ <p>Menu items always occupy a single row, but forms fields may
+ have multiple rows. So <code>new_field()</code> requires you to
+ specify a width and height (the first two arguments, which mist
+ both be greater than zero).</p>
+
+ <p>You must also specify the location of the field's upper left
+ corner on the screen (the third and fourth arguments, which must
+ be zero or greater). Note that these coordinates are relative to
+ the form subwindow, which will coincide with <code>stdscr</code>
+ by default but need not be <code>stdscr</code> if you have done
+ an explicit <code>set_form_win()</code> call.</p>
+
+ <p>The fifth argument allows you to specify a number of
+ off-screen rows. If this is zero, the entire field will always be
+ displayed. If it is nonzero, the form will be scrollable, with
+ only one screen-full (initially the top part) displayed at any
+ given time. If you make a field dynamic and grow it so it will no
+ longer fit on the screen, the form will become scrollable even if
+ the <code>offscreen</code> argument was initially zero.</p>
+
+ <p>The forms library allocates one working buffer per field; the
+ size of each buffer is <code>((height + offscreen)*width +
+ 1</code>, one character for each position in the field plus a NUL
+ terminator. The sixth argument is the number of additional data
+ buffers to allocate for the field; your application can use them
+ for its own purposes.</p>
+
+ <pre>
+FIELD *dup_field(FIELD *field, /* field to copy */
+ int top, int left); /* location of new copy */
+</pre>
+
+ <p>The function <code>dup_field()</code> duplicates an existing
+ field at a new location. Size and buffering information are
+ copied; some attribute flags and status bits are not (see the
+ <code>form_field_new(3X)</code> for details).</p>
+
+ <pre>
+FIELD *link_field(FIELD *field, /* field to copy */
+ int top, int left); /* location of new copy */
+</pre>
+
+ <p>The function <code>link_field()</code> also duplicates an
+ existing field at a new location. The difference from
+ <code>dup_field()</code> is that it arranges for the new field's
+ buffer to be shared with the old one.</p>
+
+ <p>Besides the obvious use in making a field editable from two
+ different form pages, linked fields give you a way to hack in
+ dynamic labels. If you declare several fields linked to an
+ original, and then make them inactive, changes from the original
+ will still be propagated to the linked fields.</p>
+
+ <p>As with duplicated fields, linked fields have attribute bits
+ separate from the original.</p>
+
+ <p>As you might guess, all these field-allocations return
+ <code>NULL</code> if the field allocation is not possible due to
+ an out-of-memory error or out-of-bounds arguments.</p>
+
+ <p>To connect fields to a form, use</p>
+
+ <pre>
+FORM *new_form(FIELD **fields);
+</pre>
+
+ <p>This function expects to see a NULL-terminated array of field
+ pointers. Said fields are connected to a newly-allocated form
+ object; its address is returned (or else NULL if the allocation
+ fails).</p>
+
+ <p>Note that <code>new_field()</code> does <em>not</em> copy the
+ pointer array into private storage; if you modify the contents of
+ the pointer array during forms processing, all manner of bizarre
+ things might happen. Also note that any given field may only be
+ connected to one form.</p>
+
+ <p>The functions <code>free_field()</code> and
+ <code>free_form</code> are available to free field and form
+ objects. It is an error to attempt to free a field connected to a
+ form, but not vice-versa; thus, you will generally free your form
+ objects first.</p>
+
+ <h2><a name="fattributes" id="fattributes">Fetching and Changing
+ Field Attributes</a></h2>
+
+ <p>Each form field has a number of location and size attributes
+ associated with it. There are other field attributes used to
+ control display and editing of the field. Some (for example, the
+ <code>O_STATIC</code> bit) involve sufficient complications to be
+ covered in sections of their own later on. We cover the functions
+ used to get and set several basic attributes here.</p>
+
+ <p>When a field is created, the attributes not specified by the
+ <code>new_field</code> function are copied from an invisible
+ system default field. In attribute-setting and -fetching
+ functions, the argument NULL is taken to mean this field. Changes
+ to it persist as defaults until your forms application
+ terminates.</p>
+
+ <h3><a name="fsizes" id="fsizes">Fetching Size and Location
+ Data</a></h3>
+
+ <p>You can retrieve field sizes and locations through:</p>
+
+ <pre>
int field_info(FIELD *field, /* field from which to fetch */
int *height, *int width, /* field size */
int *top, int *left, /* upper left corner */
int *offscreen, /* number of offscreen rows */
int *nbuf); /* number of working buffers */
-</PRE>
+</pre>
-This function is a sort of inverse of <CODE>new_field()</CODE>; instead of
-setting size and location attributes of a new field, it fetches them
-from an existing one.
+ <p>This function is a sort of inverse of
+ <code>new_field()</code>; instead of setting size and location
+ attributes of a new field, it fetches them from an existing
+ one.</p>
-<H3><A NAME="flocation">Changing the Field Location</A></H3>
+ <h3><a name="flocation" id="flocation">Changing the Field
+ Location</a></h3>
-It is possible to move a field's location on the screen:
+ <p>It is possible to move a field's location on the screen:</p>
-<PRE>
+ <pre>
int move_field(FIELD *field, /* field to alter */
int top, int left); /* new upper-left corner */
-</PRE>
+</pre>
-You can, of course. query the current location through <CODE>field_info()</CODE>.
+ <p>You can, of course. query the current location through
+ <code>field_info()</code>.</p>
-<H3><A NAME="fjust">The Justification Attribute</A></H3>
+ <h3><a name="fjust" id="fjust">The Justification Attribute</a></h3>
-One-line fields may be unjustified, justified right, justified left,
-or centered. Here is how you manipulate this attribute:
+ <p>One-line fields may be unjustified, justified right, justified
+ left, or centered. Here is how you manipulate this attribute:</p>
-<PRE>
+ <pre>
int set_field_just(FIELD *field, /* field to alter */
int justmode); /* mode to set */
int field_just(FIELD *field); /* fetch mode of field */
-</PRE>
+</pre>
-The mode values accepted and returned by this functions are
-preprocessor macros <CODE>NO_JUSTIFICATION</CODE>, <CODE>JUSTIFY_RIGHT</CODE>,
-<CODE>JUSTIFY_LEFT</CODE>, or <CODE>JUSTIFY_CENTER</CODE>.
+ <p>The mode values accepted and returned by this functions are
+ preprocessor macros <code>NO_JUSTIFICATION</code>,
+ <code>JUSTIFY_RIGHT</code>, <code>JUSTIFY_LEFT</code>, or
+ <code>JUSTIFY_CENTER</code>.</p>
-<H3><A NAME="fdispatts">Field Display Attributes</A></H3>
+ <h3><a name="fdispatts" id="fdispatts">Field Display
+ Attributes</a></h3>
-For each field, you can set a foreground attribute for entered
-characters, a background attribute for the entire field, and a pad
-character for the unfilled portion of the field. You can also
-control pagination of the form. <P>
+ <p>For each field, you can set a foreground attribute for entered
+ characters, a background attribute for the entire field, and a
+ pad character for the unfilled portion of the field. You can also
+ control pagination of the form.</p>
-This group of four field attributes controls the visual appearance
-of the field on the screen, without affecting in any way the data
-in the field buffer.
+ <p>This group of four field attributes controls the visual
+ appearance of the field on the screen, without affecting in any
+ way the data in the field buffer.</p>
-<PRE>
+ <pre>
int set_field_fore(FIELD *field, /* field to alter */
chtype attr); /* attribute to set */
@@ -1669,22 +2095,21 @@ int set_new_page(FIELD *field, /* field to alter */
int flag); /* TRUE to force new page */
chtype new_page(FIELD *field); /* field to query */
-</PRE>
-
-The attributes set and returned by the first four functions are normal
-<CODE>curses(3x)</CODE> display attribute values (<CODE>A_STANDOUT</CODE>,
-<CODE>A_BOLD</CODE>, <CODE>A_REVERSE</CODE> etc).
+</pre>
-The page bit of a field controls whether it is displayed at the start of
-a new form screen.
+ <p>The attributes set and returned by the first four functions
+ are normal <code>curses(3x)</code> display attribute values
+ (<code>A_STANDOUT</code>, <code>A_BOLD</code>,
+ <code>A_REVERSE</code> etc). The page bit of a field controls
+ whether it is displayed at the start of a new form screen.</p>
-<H3><A NAME="foptions">Field Option Bits</A></H3>
+ <h3><a name="foptions" id="foptions">Field Option Bits</a></h3>
-There is also a large collection of field option bits you can set to control
-various aspects of forms processing. You can manipulate them with these
-functions:
+ <p>There is also a large collection of field option bits you can
+ set to control various aspects of forms processing. You can
+ manipulate them with these functions:</p>
-<PRE>
+ <pre>
int set_field_opts(FIELD *field, /* field to alter */
int attr); /* attribute to set */
@@ -1695,423 +2120,485 @@ int field_opts_off(FIELD *field, /* field to alter */
int attr); /* attributes to turn off */
int field_opts(FIELD *field); /* field to query */
-</PRE>
-
-By default, all options are on. Here are the available option bits:
-<DL>
-<DT> O_VISIBLE
-<DD> Controls whether the field is visible on the screen. Can be used
-during form processing to hide or pop up fields depending on the value
-of parent fields.
-<DT> O_ACTIVE
-<DD> Controls whether the field is active during forms processing (i.e.
-visited by form navigation keys). Can be used to make labels or derived
-fields with buffer values alterable by the forms application, not the user.
-<DT> O_PUBLIC
-<DD> Controls whether data is displayed during field entry. If this option is
-turned off on a field, the library will accept and edit data in that field,
-but it will not be displayed and the visible field cursor will not move.
-You can turn off the O_PUBLIC bit to define password fields.
-<DT> O_EDIT
-<DD> Controls whether the field's data can be modified. When this option is
-off, all editing requests except <CODE>REQ_PREV_CHOICE</CODE> and
-<CODE>REQ_NEXT_CHOICE</CODE> will fail. Such read-only fields may be useful for
-help messages.
-<DT> O_WRAP
-<DD> Controls word-wrapping in multi-line fields. Normally, when any
-character of a (blank-separated) word reaches the end of the current line, the
-entire word is wrapped to the next line (assuming there is one). When this
-option is off, the word will be split across the line break.
-<DT> O_BLANK
-<DD> Controls field blanking. When this option is on, entering a character at
-the first field position erases the entire field (except for the just-entered
-character).
-<DT> O_AUTOSKIP
-<DD> Controls automatic skip to next field when this one fills. Normally,
-when the forms user tries to type more data into a field than will fit,
-the editing location jumps to next field. When this option is off, the
-user's cursor will hang at the end of the field. This option is ignored
-in dynamic fields that have not reached their size limit.
-<DT> O_NULLOK
-<DD> Controls whether <A HREF="#fvalidation">validation</A> is applied to
-blank fields. Normally, it is not; the user can leave a field blank
-without invoking the usual validation check on exit. If this option is
-off on a field, exit from it will invoke a validation check.
-<DT> O_PASSOK
-<DD> Controls whether validation occurs on every exit, or only after
-the field is modified. Normally the latter is true. Setting O_PASSOK
-may be useful if your field's validation function may change during
-forms processing.
-<DT> O_STATIC
-<DD> Controls whether the field is fixed to its initial dimensions. If you
-turn this off, the field becomes <A HREF="#fdynamic">dynamic</A> and will
-stretch to fit entered data.
-</DL>
-
-A field's options cannot be changed while the field is currently selected.
-However, options may be changed on posted fields that are not current. <P>
-
-The option values are bit-masks and can be composed with logical-or in
-the obvious way.
-
-<H2><A NAME="fstatus">Field Status</A></H2>
-
-Every field has a status flag, which is set to FALSE when the field is
-created and TRUE when the value in field buffer 0 changes. This flag can
-be queried and set directly:
-
-<PRE>
-int set_field_status(FIELD *field, /* field to alter */
- int status); /* mode to set */
+</pre>
-int field_status(FIELD *field); /* fetch mode of field */
-</PRE>
+ <p>By default, all options are on. Here are the available option
+ bits:</p>
-Setting this flag under program control can be useful if you use the same
-form repeatedly, looking for modified fields each time. <P>
+ <dl>
+ <dt>O_VISIBLE</dt>
-Calling <CODE>field_status()</CODE> on a field not currently selected
-for input will return a correct value. Calling <CODE>field_status()</CODE> on a
-field that is currently selected for input may not necessarily give a
-correct field status value, because entered data isn't necessarily copied to
-buffer zero before the exit validation check.
+ <dd>Controls whether the field is visible on the screen. Can be
+ used during form processing to hide or pop up fields depending
+ on the value of parent fields.</dd>
-To guarantee that the returned status value reflects reality, call
-<CODE>field_status()</CODE> either (1) in the field's exit validation check
-routine, (2) from the field's or form's initialization or termination
-hooks, or (3) just after a <CODE>REQ_VALIDATION</CODE> request has been
-processed by the forms driver.
+ <dt>O_ACTIVE</dt>
-<H2><A NAME="fuser">Field User Pointer</A></H2>
+ <dd>Controls whether the field is active during forms
+ processing (i.e. visited by form navigation keys). Can be used
+ to make labels or derived fields with buffer values alterable
+ by the forms application, not the user.</dd>
-Each field structure contains one character pointer slot that is not used
-by the forms library. It is intended to be used by applications to store
-private per-field data. You can manipulate it with:
+ <dt>O_PUBLIC</dt>
-<PRE>
-int set_field_userptr(FIELD *field, /* field to alter */
- char *userptr); /* mode to set */
+ <dd>Controls whether data is displayed during field entry. If
+ this option is turned off on a field, the library will accept
+ and edit data in that field, but it will not be displayed and
+ the visible field cursor will not move. You can turn off the
+ O_PUBLIC bit to define password fields.</dd>
-char *field_userptr(FIELD *field); /* fetch mode of field */
-</PRE>
+ <dt>O_EDIT</dt>
-(Properly, this user pointer field ought to have <CODE>(void *)</CODE> type.
-The <CODE>(char *)</CODE> type is retained for System V compatibility.) <P>
+ <dd>Controls whether the field's data can be modified. When
+ this option is off, all editing requests except
+ <code>REQ_PREV_CHOICE</code> and <code>REQ_NEXT_CHOICE</code>
+ will fail. Such read-only fields may be useful for help
+ messages.</dd>
-It is valid to set the user pointer of the default field (with a
-<CODE>set_field_userptr()</CODE> call passed a NULL field pointer.)
-When a new field is created, the default-field user pointer is copied
-to initialize the new field's user pointer.
+ <dt>O_WRAP</dt>
-<H2><A NAME="fdynamic">Variable-Sized Fields</A></H2>
+ <dd>Controls word-wrapping in multi-line fields. Normally, when
+ any character of a (blank-separated) word reaches the end of
+ the current line, the entire word is wrapped to the next line
+ (assuming there is one). When this option is off, the word will
+ be split across the line break.</dd>
-Normally, a field is fixed at the size specified for it at creation
-time. If, however, you turn off its O_STATIC bit, it becomes
-<DFN>dynamic</DFN> and will automatically resize itself to accommodate
-data as it is entered. If the field has extra buffers associated with it,
-they will grow right along with the main input buffer. <P>
+ <dt>O_BLANK</dt>
-A one-line dynamic field will have a fixed height (1) but variable
-width, scrolling horizontally to display data within the field area as
-originally dimensioned and located. A multi-line dynamic field will
-have a fixed width, but variable height (number of rows), scrolling
-vertically to display data within the field area as originally
-dimensioned and located. <P>
+ <dd>Controls field blanking. When this option is on, entering a
+ character at the first field position erases the entire field
+ (except for the just-entered character).</dd>
-Normally, a dynamic field is allowed to grow without limit. But it is
-possible to set an upper limit on the size of a dynamic field. You do
-it with this function:
+ <dt>O_AUTOSKIP</dt>
-<PRE>
+ <dd>Controls automatic skip to next field when this one fills.
+ Normally, when the forms user tries to type more data into a
+ field than will fit, the editing location jumps to next field.
+ When this option is off, the user's cursor will hang at the end
+ of the field. This option is ignored in dynamic fields that
+ have not reached their size limit.</dd>
+
+ <dt>O_NULLOK</dt>
+
+ <dd>Controls whether <a href="#fvalidation">validation</a> is
+ applied to blank fields. Normally, it is not; the user can
+ leave a field blank without invoking the usual validation check
+ on exit. If this option is off on a field, exit from it will
+ invoke a validation check.</dd>
+
+ <dt>O_PASSOK</dt>
+
+ <dd>Controls whether validation occurs on every exit, or only
+ after the field is modified. Normally the latter is true.
+ Setting O_PASSOK may be useful if your field's validation
+ function may change during forms processing.</dd>
+
+ <dt>O_STATIC</dt>
+
+ <dd>Controls whether the field is fixed to its initial
+ dimensions. If you turn this off, the field becomes <a href=
+ "#fdynamic">dynamic</a> and will stretch to fit entered
+ data.</dd>
+ </dl>
+
+ <p>A field's options cannot be changed while the field is
+ currently selected. However, options may be changed on posted
+ fields that are not current.</p>
+
+ <p>The option values are bit-masks and can be composed with
+ logical-or in the obvious way.</p>
+
+ <h2><a name="fstatus" id="fstatus">Field Status</a></h2>
+
+ <p>Every field has a status flag, which is set to FALSE when the
+ field is created and TRUE when the value in field buffer 0
+ changes. This flag can be queried and set directly:</p>
+
+ <pre>
+int set_field_status(FIELD *field, /* field to alter */
+ int status); /* mode to set */
+
+int field_status(FIELD *field); /* fetch mode of field */
+</pre>
+
+ <p>Setting this flag under program control can be useful if you
+ use the same form repeatedly, looking for modified fields each
+ time.</p>
+
+ <p>Calling <code>field_status()</code> on a field not currently
+ selected for input will return a correct value. Calling
+ <code>field_status()</code> on a field that is currently selected
+ for input may not necessarily give a correct field status value,
+ because entered data is not necessarily copied to buffer zero
+ before the exit validation check. To guarantee that the returned
+ status value reflects reality, call <code>field_status()</code>
+ either (1) in the field's exit validation check routine, (2) from
+ the field's or form's initialization or termination hooks, or (3)
+ just after a <code>REQ_VALIDATION</code> request has been
+ processed by the forms driver.</p>
+
+ <h2><a name="fuser" id="fuser">Field User Pointer</a></h2>
+
+ <p>Each field structure contains one character pointer slot that
+ is not used by the forms library. It is intended to be used by
+ applications to store private per-field data. You can manipulate
+ it with:</p>
+
+ <pre>
+int set_field_userptr(FIELD *field, /* field to alter */
+ char *userptr); /* mode to set */
+
+char *field_userptr(FIELD *field); /* fetch mode of field */
+</pre>(Properly, this user pointer field ought to have <code>(void
+*)</code> type. The <code>(char *)</code> type is retained for
+System V compatibility.)
+
+ <p>It is valid to set the user pointer of the default field (with
+ a <code>set_field_userptr()</code> call passed a NULL field
+ pointer.) When a new field is created, the default-field user
+ pointer is copied to initialize the new field's user pointer.</p>
+
+ <h2><a name="fdynamic" id="fdynamic">Variable-Sized Fields</a></h2>
+
+ <p>Normally, a field is fixed at the size specified for it at
+ creation time. If, however, you turn off its O_STATIC bit, it
+ becomes <dfn>dynamic</dfn> and will automatically resize itself
+ to accommodate data as it is entered. If the field has extra
+ buffers associated with it, they will grow right along with the
+ main input buffer.</p>
+
+ <p>A one-line dynamic field will have a fixed height (1) but
+ variable width, scrolling horizontally to display data within the
+ field area as originally dimensioned and located. A multi-line
+ dynamic field will have a fixed width, but variable height
+ (number of rows), scrolling vertically to display data within the
+ field area as originally dimensioned and located.</p>
+
+ <p>Normally, a dynamic field is allowed to grow without limit.
+ But it is possible to set an upper limit on the size of a dynamic
+ field. You do it with this function:</p>
+
+ <pre>
int set_max_field(FIELD *field, /* field to alter (may not be NULL) */
int max_size); /* upper limit on field size */
-</PRE>
-
-If the field is one-line, <CODE>max_size</CODE> is taken to be a column size
-limit; if it is multi-line, it is taken to be a line size limit. To disable
-any limit, use an argument of zero. The growth limit can be changed whether
-or not the O_STATIC bit is on, but has no effect until it is. <P>
-
-The following properties of a field change when it becomes dynamic:
-
-<UL>
-<LI>If there is no growth limit, there is no final position of the field;
-therefore <CODE>O_AUTOSKIP</CODE> and <CODE>O_NL_OVERLOAD</CODE> are ignored.
-<LI>Field justification will be ignored (though whatever justification is
-set up will be retained internally and can be queried).
-<LI>The <CODE>dup_field()</CODE> and <CODE>link_field()</CODE> calls copy
-dynamic-buffer sizes. If the <CODE>O_STATIC</CODE> option is set on one of a
-collection of links, buffer resizing will occur only when the field is
-edited through that link.
-<LI>The call <CODE>field_info()</CODE> will retrieve the original static size of
-the field; use <CODE>dynamic_field_info()</CODE> to get the actual dynamic size.
-</UL>
-
-<H2><A NAME="fvalidation">Field Validation</A></H2>
-
-By default, a field will accept any data that will fit in its input buffer.
-However, it is possible to attach a validation type to a field. If you do
-this, any attempt to leave the field while it contains data that doesn't
-match the validation type will fail. Some validation types also have a
-character-validity check for each time a character is entered in the field. <P>
-
-A field's validation check (if any) is not called when
-<CODE>set_field_buffer()</CODE> modifies the input buffer, nor when that buffer
-is changed through a linked field. <P>
-
-The <CODE>form</CODE> library provides a rich set of pre-defined validation
-types, and gives you the capability to define custom ones of your own. You
-can examine and change field validation attributes with the following
-functions:
-
-<PRE>
+</pre>
+
+ <p>If the field is one-line, <code>max_size</code> is taken to be
+ a column size limit; if it is multi-line, it is taken to be a
+ line size limit. To disable any limit, use an argument of zero.
+ The growth limit can be changed whether or not the O_STATIC bit
+ is on, but has no effect until it is.</p>
+
+ <p>The following properties of a field change when it becomes
+ dynamic:</p>
+
+ <ul>
+ <li>If there is no growth limit, there is no final position of
+ the field; therefore <code>O_AUTOSKIP</code> and
+ <code>O_NL_OVERLOAD</code> are ignored.</li>
+
+ <li>Field justification will be ignored (though whatever
+ justification is set up will be retained internally and can be
+ queried).</li>
+
+ <li>The <code>dup_field()</code> and <code>link_field()</code>
+ calls copy dynamic-buffer sizes. If the <code>O_STATIC</code>
+ option is set on one of a collection of links, buffer resizing
+ will occur only when the field is edited through that
+ link.</li>
+
+ <li>The call <code>field_info()</code> will retrieve the
+ original static size of the field; use
+ <code>dynamic_field_info()</code> to get the actual dynamic
+ size.</li>
+ </ul>
+
+ <h2><a name="fvalidation" id="fvalidation">Field Validation</a></h2>
+
+ <p>By default, a field will accept any data that will fit in its
+ input buffer. However, it is possible to attach a validation type
+ to a field. If you do this, any attempt to leave the field while
+ it contains data that does not match the validation type will
+ fail. Some validation types also have a character-validity check
+ for each time a character is entered in the field.</p>
+
+ <p>A field's validation check (if any) is not called when
+ <code>set_field_buffer()</code> modifies the input buffer, nor
+ when that buffer is changed through a linked field.</p>
+
+ <p>The <code>form</code> library provides a rich set of
+ pre-defined validation types, and gives you the capability to
+ define custom ones of your own. You can examine and change field
+ validation attributes with the following functions:</p>
+
+ <pre>
int set_field_type(FIELD *field, /* field to alter */
FIELDTYPE *ftype, /* type to associate */
...); /* additional arguments*/
FIELDTYPE *field_type(FIELD *field); /* field to query */
-</PRE>
+</pre>
-The validation type of a field is considered an attribute of the field. As
-with other field attributes, Also, doing <CODE>set_field_type()</CODE> with a
-<CODE>NULL</CODE> field default will change the system default for validation of
-newly-created fields. <P>
+ <p>The validation type of a field is considered an attribute of
+ the field. As with other field attributes, Also, doing
+ <code>set_field_type()</code> with a <code>NULL</code> field
+ default will change the system default for validation of
+ newly-created fields.</p>
-Here are the pre-defined validation types:
+ <p>Here are the pre-defined validation types:</p>
-<H3><A NAME="ftype_alpha">TYPE_ALPHA</A></H3>
+ <h3><a name="ftype_alpha" id="ftype_alpha">TYPE_ALPHA</a></h3>
-This field type accepts alphabetic data; no blanks, no digits, no special
-characters (this is checked at character-entry time). It is set up with:
+ <p>This field type accepts alphabetic data; no blanks, no digits,
+ no special characters (this is checked at character-entry time).
+ It is set up with:</p>
-<PRE>
+ <pre>
int set_field_type(FIELD *field, /* field to alter */
TYPE_ALPHA, /* type to associate */
int width); /* maximum width of field */
-</PRE>
+</pre>
-The <CODE>width</CODE> argument sets a minimum width of data. Typically
-you'll want to set this to the field width; if it's greater than the
-field width, the validation check will always fail. A minimum width
-of zero makes field completion optional.
+ <p>The <code>width</code> argument sets a minimum width of data.
+ Typically you will want to set this to the field width; if it is
+ greater than the field width, the validation check will always
+ fail. A minimum width of zero makes field completion
+ optional.</p>
-<H3><A NAME="ftype_alnum">TYPE_ALNUM</A></H3>
+ <h3><a name="ftype_alnum" id="ftype_alnum">TYPE_ALNUM</a></h3>
-This field type accepts alphabetic data and digits; no blanks, no special
-characters (this is checked at character-entry time). It is set up with:
+ <p>This field type accepts alphabetic data and digits; no blanks,
+ no special characters (this is checked at character-entry time).
+ It is set up with:</p>
-<PRE>
+ <pre>
int set_field_type(FIELD *field, /* field to alter */
TYPE_ALNUM, /* type to associate */
int width); /* maximum width of field */
-</PRE>
+</pre>
-The <CODE>width</CODE> argument sets a minimum width of data. As with
-TYPE_ALPHA, typically you'll want to set this to the field width; if it's
-greater than the field width, the validation check will always fail. A
-minimum width of zero makes field completion optional.
+ <p>The <code>width</code> argument sets a minimum width of data.
+ As with TYPE_ALPHA, typically you will want to set this to the
+ field width; if it is greater than the field width, the
+ validation check will always fail. A minimum width of zero makes
+ field completion optional.</p>
-<H3><A NAME="ftype_enum">TYPE_ENUM</A></H3>
+ <h3><a name="ftype_enum" id="ftype_enum">TYPE_ENUM</a></h3>
-This type allows you to restrict a field's values to be among a specified
-set of string values (for example, the two-letter postal codes for U.S.
-states). It is set up with:
+ <p>This type allows you to restrict a field's values to be among
+ a specified set of string values (for example, the two-letter
+ postal codes for U.S. states). It is set up with:</p>
-<PRE>
+ <pre>
int set_field_type(FIELD *field, /* field to alter */
TYPE_ENUM, /* type to associate */
char **valuelist; /* list of possible values */
int checkcase; /* case-sensitive? */
int checkunique); /* must specify uniquely? */
-</PRE>
+</pre>
-The <CODE>valuelist</CODE> parameter must point at a NULL-terminated list of
-valid strings. The <CODE>checkcase</CODE> argument, if true, makes comparison
-with the string case-sensitive. <P>
+ <p>The <code>valuelist</code> parameter must point at a
+ NULL-terminated list of valid strings. The <code>checkcase</code>
+ argument, if true, makes comparison with the string
+ case-sensitive.</p>
-When the user exits a TYPE_ENUM field, the validation procedure tries to
-complete the data in the buffer to a valid entry. If a complete choice string
-has been entered, it is of course valid. But it is also possible to enter a
-prefix of a valid string and have it completed for you. <P>
+ <p>When the user exits a TYPE_ENUM field, the validation
+ procedure tries to complete the data in the buffer to a valid
+ entry. If a complete choice string has been entered, it is of
+ course valid. But it is also possible to enter a prefix of a
+ valid string and have it completed for you.</p>
-By default, if you enter such a prefix and it matches more than one value
-in the string list, the prefix will be completed to the first matching
-value. But the <CODE>checkunique</CODE> argument, if true, requires prefix
-matches to be unique in order to be valid. <P>
+ <p>By default, if you enter such a prefix and it matches more
+ than one value in the string list, the prefix will be completed
+ to the first matching value. But the <code>checkunique</code>
+ argument, if true, requires prefix matches to be unique in order
+ to be valid.</p>
-The <CODE>REQ_NEXT_CHOICE</CODE> and <CODE>REQ_PREV_CHOICE</CODE> input requests
-can be particularly useful with these fields.
+ <p>The <code>REQ_NEXT_CHOICE</code> and
+ <code>REQ_PREV_CHOICE</code> input requests can be particularly
+ useful with these fields.</p>
-<H3><A NAME="ftype_integer">TYPE_INTEGER</A></H3>
+ <h3><a name="ftype_integer" id="ftype_integer">TYPE_INTEGER</a></h3>
-This field type accepts an integer. It is set up as follows:
+ <p>This field type accepts an integer. It is set up as
+ follows:</p>
-<PRE>
+ <pre>
int set_field_type(FIELD *field, /* field to alter */
TYPE_INTEGER, /* type to associate */
int padding, /* # places to zero-pad to */
int vmin, int vmax); /* valid range */
-</PRE>
+</pre>
-Valid characters consist of an optional leading minus and digits.
-The range check is performed on exit. If the range maximum is less
-than or equal to the minimum, the range is ignored. <P>
+ <p>Valid characters consist of an optional leading minus and
+ digits. The range check is performed on exit. If the range
+ maximum is less than or equal to the minimum, the range is
+ ignored.</p>
-If the value passes its range check, it is padded with as many leading
-zero digits as necessary to meet the padding argument. <P>
+ <p>If the value passes its range check, it is padded with as many
+ leading zero digits as necessary to meet the padding
+ argument.</p>
-A <CODE>TYPE_INTEGER</CODE> value buffer can conveniently be interpreted
-with the C library function <CODE>atoi(3)</CODE>.
+ <p>A <code>TYPE_INTEGER</code> value buffer can conveniently be
+ interpreted with the C library function <code>atoi(3)</code>.</p>
-<H3><A NAME="ftype_numeric">TYPE_NUMERIC</A></H3>
+ <h3><a name="ftype_numeric" id="ftype_numeric">TYPE_NUMERIC</a></h3>
-This field type accepts a decimal number. It is set up as follows:
+ <p>This field type accepts a decimal number. It is set up as
+ follows:</p>
-<PRE>
+ <pre>
int set_field_type(FIELD *field, /* field to alter */
TYPE_NUMERIC, /* type to associate */
int padding, /* # places of precision */
double vmin, double vmax); /* valid range */
-</PRE>
+</pre>
-Valid characters consist of an optional leading minus and digits. possibly
-including a decimal point. If your system supports locale's, the decimal point
-character used must be the one defined by your locale. The range check is
-performed on exit. If the range maximum is less than or equal to the minimum,
-the range is ignored. <P>
+ <p>Valid characters consist of an optional leading minus and
+ digits. possibly including a decimal point. If your system
+ supports locale's, the decimal point character used must be the
+ one defined by your locale. The range check is performed on exit.
+ If the range maximum is less than or equal to the minimum, the
+ range is ignored.</p>
-If the value passes its range check, it is padded with as many trailing
-zero digits as necessary to meet the padding argument. <P>
+ <p>If the value passes its range check, it is padded with as many
+ trailing zero digits as necessary to meet the padding
+ argument.</p>
-A <CODE>TYPE_NUMERIC</CODE> value buffer can conveniently be interpreted
-with the C library function <CODE>atof(3)</CODE>.
+ <p>A <code>TYPE_NUMERIC</code> value buffer can conveniently be
+ interpreted with the C library function <code>atof(3)</code>.</p>
-<H3><A NAME="ftype_regexp">TYPE_REGEXP</A></H3>
+ <h3><a name="ftype_regexp" id="ftype_regexp">TYPE_REGEXP</a></h3>
-This field type accepts data matching a regular expression. It is set up
-as follows:
+ <p>This field type accepts data matching a regular expression. It
+ is set up as follows:</p>
-<PRE>
+ <pre>
int set_field_type(FIELD *field, /* field to alter */
TYPE_REGEXP, /* type to associate */
char *regexp); /* expression to match */
-</PRE>
+</pre>
-The syntax for regular expressions is that of <CODE>regcomp(3)</CODE>.
-The check for regular-expression match is performed on exit.
+ <p>The syntax for regular expressions is that of
+ <code>regcomp(3)</code>. The check for regular-expression match
+ is performed on exit.</p>
-<H2><A NAME="fbuffer">Direct Field Buffer Manipulation</A></H2>
+ <h2><a name="fbuffer" id="fbuffer">Direct Field Buffer
+ Manipulation</a></h2>
-The chief attribute of a field is its buffer contents. When a form has
-been completed, your application usually needs to know the state of each
-field buffer. You can find this out with:
+ <p>The chief attribute of a field is its buffer contents. When a
+ form has been completed, your application usually needs to know
+ the state of each field buffer. You can find this out with:</p>
-<PRE>
+ <pre>
char *field_buffer(FIELD *field, /* field to query */
int bufindex); /* number of buffer to query */
-</PRE>
+</pre>
-Normally, the state of the zero-numbered buffer for each field is set by
-the user's editing actions on that field. It's sometimes useful to be able
-to set the value of the zero-numbered (or some other) buffer from your
-application:
+ <p>Normally, the state of the zero-numbered buffer for each field
+ is set by the user's editing actions on that field. It is
+ sometimes useful to be able to set the value of the zero-numbered
+ (or some other) buffer from your application:</p>
-<PRE>
+ <pre>
int set_field_buffer(FIELD *field, /* field to alter */
int bufindex, /* number of buffer to alter */
char *value); /* string value to set */
-</PRE>
-
-If the field is not large enough and cannot be resized to a sufficiently
-large size to contain the specified value, the value will be truncated
-to fit. <P>
-
-Calling <CODE>field_buffer()</CODE> with a null field pointer will raise an
-error. Calling <CODE>field_buffer()</CODE> on a field not currently selected
-for input will return a correct value. Calling <CODE>field_buffer()</CODE> on a
-field that is currently selected for input may not necessarily give a
-correct field buffer value, because entered data isn't necessarily copied to
-buffer zero before the exit validation check.
-
-To guarantee that the returned buffer value reflects on-screen reality,
-call <CODE>field_buffer()</CODE> either (1) in the field's exit validation
-check routine, (2) from the field's or form's initialization or termination
-hooks, or (3) just after a <CODE>REQ_VALIDATION</CODE> request has been processed
-by the forms driver.
-
-<H2><A NAME="formattrs">Attributes of Forms</A></H2>
-
-As with field attributes, form attributes inherit a default from a
-system default form structure. These defaults can be queried or set by
-of these functions using a form-pointer argument of <CODE>NULL</CODE>. <P>
-
-The principal attribute of a form is its field list. You can query
-and change this list with:
-
-<PRE>
+</pre>
+
+ <p>If the field is not large enough and cannot be resized to a
+ sufficiently large size to contain the specified value, the value
+ will be truncated to fit.</p>
+
+ <p>Calling <code>field_buffer()</code> with a null field pointer
+ will raise an error. Calling <code>field_buffer()</code> on a
+ field not currently selected for input will return a correct
+ value. Calling <code>field_buffer()</code> on a field that is
+ currently selected for input may not necessarily give a correct
+ field buffer value, because entered data is not necessarily
+ copied to buffer zero before the exit validation check. To
+ guarantee that the returned buffer value reflects on-screen
+ reality, call <code>field_buffer()</code> either (1) in the
+ field's exit validation check routine, (2) from the field's or
+ form's initialization or termination hooks, or (3) just after a
+ <code>REQ_VALIDATION</code> request has been processed by the
+ forms driver.</p>
+
+ <h2><a name="formattrs" id="formattrs">Attributes of Forms</a></h2>
+
+ <p>As with field attributes, form attributes inherit a default
+ from a system default form structure. These defaults can be
+ queried or set by of these functions using a form-pointer
+ argument of <code>NULL</code>.</p>
+
+ <p>The principal attribute of a form is its field list. You can
+ query and change this list with:</p>
+
+ <pre>
int set_form_fields(FORM *form, /* form to alter */
FIELD **fields); /* fields to connect */
char *form_fields(FORM *form); /* fetch fields of form */
int field_count(FORM *form); /* count connect fields */
-</PRE>
-
-The second argument of <CODE>set_form_fields()</CODE> may be a
-NULL-terminated field pointer array like the one required by
-<CODE>new_form()</CODE>. In that case, the old fields of the form are
-disconnected but not freed (and eligible to be connected to other
-forms), then the new fields are connected. <P>
-
-It may also be null, in which case the old fields are disconnected
-(and not freed) but no new ones are connected. <P>
-
-The <CODE>field_count()</CODE> function simply counts the number of fields
-connected to a given from. It returns -1 if the form-pointer argument
-is NULL.
-
-<H2><A NAME="fdisplay">Control of Form Display</A></H2>
-
-In the overview section, you saw that to display a form you normally
-start by defining its size (and fields), posting it, and refreshing
-the screen. There is an hidden step before posting, which is the
-association of the form with a frame window (actually, a pair of
-windows) within which it will be displayed. By default, the forms
-library associates every form with the full-screen window
-<CODE>stdscr</CODE>. <P>
-
-By making this step explicit, you can associate a form with a declared
-frame window on your screen display. This can be useful if you want to
-adapt the form display to different screen sizes, dynamically tile
-forms on the screen, or use a form as part of an interface layout
-managed by <A HREF="#panels">panels</A>. <P>
-
-The two windows associated with each form have the same functions as
-their analogues in the <A HREF="#menu">menu library</A>. Both these
-windows are painted when the form is posted and erased when the form
-is unposted. <P>
-
-The outer or frame window is not otherwise touched by the form
-routines. It exists so the programmer can associate a title, a
-border, or perhaps help text with the form and have it properly
-refreshed or erased at post/unpost time. The inner window or subwindow
-is where the current form page is actually displayed. <P>
-
-In order to declare your own frame window for a form, you'll need to
-know the size of the form's bounding rectangle. You can get this
-information with:
-
-<PRE>
+</pre>
+
+ <p>The second argument of <code>set_form_fields()</code> may be a
+ NULL-terminated field pointer array like the one required by
+ <code>new_form()</code>. In that case, the old fields of the form
+ are disconnected but not freed (and eligible to be connected to
+ other forms), then the new fields are connected.</p>
+
+ <p>It may also be null, in which case the old fields are
+ disconnected (and not freed) but no new ones are connected.</p>
+
+ <p>The <code>field_count()</code> function simply counts the
+ number of fields connected to a given from. It returns -1 if the
+ form-pointer argument is NULL.</p>
+
+ <h2><a name="fdisplay" id="fdisplay">Control of Form Display</a></h2>
+
+ <p>In the overview section, you saw that to display a form you
+ normally start by defining its size (and fields), posting it, and
+ refreshing the screen. There is an hidden step before posting,
+ which is the association of the form with a frame window
+ (actually, a pair of windows) within which it will be displayed.
+ By default, the forms library associates every form with the
+ full-screen window <code>stdscr</code>.</p>
+
+ <p>By making this step explicit, you can associate a form with a
+ declared frame window on your screen display. This can be useful
+ if you want to adapt the form display to different screen sizes,
+ dynamically tile forms on the screen, or use a form as part of an
+ interface layout managed by <a href="#panels">panels</a>.</p>
+
+ <p>The two windows associated with each form have the same
+ functions as their analogues in the <a href="#menu">menu
+ library</a>. Both these windows are painted when the form is
+ posted and erased when the form is unposted.</p>
+
+ <p>The outer or frame window is not otherwise touched by the form
+ routines. It exists so the programmer can associate a title, a
+ border, or perhaps help text with the form and have it properly
+ refreshed or erased at post/unpost time. The inner window or
+ subwindow is where the current form page is actually
+ displayed.</p>
+
+ <p>In order to declare your own frame window for a form, you will
+ need to know the size of the form's bounding rectangle. You can
+ get this information with:</p>
+
+ <pre>
int scale_form(FORM *form, /* form to query */
int *rows, /* form rows */
int *cols); /* form cols */
-</PRE>
+</pre>
-The form dimensions are passed back in the locations pointed to by
-the arguments. Once you have this information, you can use it to
-declare of windows, then use one of these functions:
+ <p>The form dimensions are passed back in the locations pointed
+ to by the arguments. Once you have this information, you can use
+ it to declare of windows, then use one of these functions:</p>
-<PRE>
+ <pre>
int set_form_win(FORM *form, /* form to alter */
WINDOW *win); /* frame window to connect */
@@ -2121,319 +2608,507 @@ int set_form_sub(FORM *form, /* form to alter */
WINDOW *win); /* form subwindow to connect */
WINDOW *form_sub(FORM *form); /* fetch form subwindow of form */
-</PRE>
+</pre>
-Note that curses operations, including <CODE>refresh()</CODE>, on the form,
-should be done on the frame window, not the form subwindow. <P>
+ <p>Note that curses operations, including <code>refresh()</code>,
+ on the form, should be done on the frame window, not the form
+ subwindow.</p>
-It is possible to check from your application whether all of a
-scrollable field is actually displayed within the menu subwindow. Use
-these functions:
+ <p>It is possible to check from your application whether all of a
+ scrollable field is actually displayed within the menu subwindow.
+ Use these functions:</p>
-<PRE>
+ <pre>
int data_ahead(FORM *form); /* form to be queried */
int data_behind(FORM *form); /* form to be queried */
-</PRE>
+</pre>
-The function <CODE>data_ahead()</CODE> returns TRUE if (a) the current
-field is one-line and has undisplayed data off to the right, (b) the current
-field is multi-line and there is data off-screen below it. <P>
+ <p>The function <code>data_ahead()</code> returns TRUE if (a) the
+ current field is one-line and has undisplayed data off to the
+ right, (b) the current field is multi-line and there is data
+ off-screen below it.</p>
-The function <CODE>data_behind()</CODE> returns TRUE if the first (upper
-left hand) character position is off-screen (not being displayed). <P>
+ <p>The function <code>data_behind()</code> returns TRUE if the
+ first (upper left hand) character position is off-screen (not
+ being displayed).</p>
-Finally, there is a function to restore the form window's cursor to the
-value expected by the forms driver:
+ <p>Finally, there is a function to restore the form window's
+ cursor to the value expected by the forms driver:</p>
-<PRE>
+ <pre>
int pos_form_cursor(FORM *) /* form to be queried */
-</PRE>
+</pre>
-If your application changes the form window cursor, call this function before
-handing control back to the forms driver in order to re-synchronize it.
+ <p>If your application changes the form window cursor, call this
+ function before handing control back to the forms driver in order
+ to re-synchronize it.</p>
-<H2><A NAME="fdriver">Input Processing in the Forms Driver</A></H2>
+ <h2><a name="fdriver" id="fdriver">Input Processing in the Forms
+ Driver</a></h2>
-The function <CODE>form_driver()</CODE> handles virtualized input requests
-for form navigation, editing, and validation requests, just as
-<CODE>menu_driver</CODE> does for menus (see the section on <A
-HREF="#minput">menu input handling</A>).
+ <p>The function <code>form_driver()</code> handles virtualized
+ input requests for form navigation, editing, and validation
+ requests, just as <code>menu_driver</code> does for menus (see
+ the section on <a href="#minput">menu input handling</a>).</p>
-<PRE>
+ <pre>
int form_driver(FORM *form, /* form to pass input to */
int request); /* form request code */
-</PRE>
-
-Your input virtualization function needs to take input and then convert it
-to either an alphanumeric character (which is treated as data to be
-entered in the currently-selected field), or a forms processing request. <P>
-
-The forms driver provides hooks (through input-validation and
-field-termination functions) with which your application code can check
-that the input taken by the driver matched what was expected.
-
-<H3><A NAME="fpage">Page Navigation Requests</A></H3>
-
-These requests cause page-level moves through the form,
-triggering display of a new form screen.
-
-<DL>
-<DT> <CODE>REQ_NEXT_PAGE</CODE>
-<DD> Move to the next form page.
-<DT> <CODE>REQ_PREV_PAGE</CODE>
-<DD> Move to the previous form page.
-<DT> <CODE>REQ_FIRST_PAGE</CODE>
-<DD> Move to the first form page.
-<DT> <CODE>REQ_LAST_PAGE</CODE>
-<DD> Move to the last form page.
-</DL>
-
-These requests treat the list as cyclic; that is, <CODE>REQ_NEXT_PAGE</CODE>
-from the last page goes to the first, and <CODE>REQ_PREV_PAGE</CODE> from
-the first page goes to the last.
-
-<H3><A NAME="ffield">Inter-Field Navigation Requests</A></H3>
-
-These requests handle navigation between fields on the same page.
-
-<DL>
-<DT> <CODE>REQ_NEXT_FIELD</CODE>
-<DD> Move to next field.
-<DT> <CODE>REQ_PREV_FIELD</CODE>
-<DD> Move to previous field.
-<DT> <CODE>REQ_FIRST_FIELD</CODE>
-<DD> Move to the first field.
-<DT> <CODE>REQ_LAST_FIELD</CODE>
-<DD> Move to the last field.
-<DT> <CODE>REQ_SNEXT_FIELD</CODE>
-<DD> Move to sorted next field.
-<DT> <CODE>REQ_SPREV_FIELD</CODE>
-<DD> Move to sorted previous field.
-<DT> <CODE>REQ_SFIRST_FIELD</CODE>
-<DD> Move to the sorted first field.
-<DT> <CODE>REQ_SLAST_FIELD</CODE>
-<DD> Move to the sorted last field.
-<DT> <CODE>REQ_LEFT_FIELD</CODE>
-<DD> Move left to field.
-<DT> <CODE>REQ_RIGHT_FIELD</CODE>
-<DD> Move right to field.
-<DT> <CODE>REQ_UP_FIELD</CODE>
-<DD> Move up to field.
-<DT> <CODE>REQ_DOWN_FIELD</CODE>
-<DD> Move down to field.
-</DL>
-
-These requests treat the list of fields on a page as cyclic; that is,
-<CODE>REQ_NEXT_FIELD</CODE> from the last field goes to the first, and
-<CODE>REQ_PREV_FIELD</CODE> from the first field goes to the last. The
-order of the fields for these (and the <CODE>REQ_FIRST_FIELD</CODE> and
-<CODE>REQ_LAST_FIELD</CODE> requests) is simply the order of the field
-pointers in the form array (as set up by <CODE>new_form()</CODE> or
-<CODE>set_form_fields()</CODE> <P>
-
-It is also possible to traverse the fields as if they had been sorted in
-screen-position order, so the sequence goes left-to-right and top-to-bottom.
-To do this, use the second group of four sorted-movement requests. <P>
-
-Finally, it is possible to move between fields using visual directions up,
-down, right, and left. To accomplish this, use the third group of four
-requests. Note, however, that the position of a form for purposes of these
-requests is its upper-left corner. <P>
-
-For example, suppose you have a multi-line field B, and two
-single-line fields A and C on the same line with B, with A to the left
-of B and C to the right of B. A <CODE>REQ_MOVE_RIGHT</CODE> from A will
-go to B only if A, B, and C <EM>all</EM> share the same first line;
-otherwise it will skip over B to C.
-
-<H3><A NAME="fifield">Intra-Field Navigation Requests</A></H3>
-
-These requests drive movement of the edit cursor within the currently
-selected field.
-
-<DL>
-<DT> <CODE>REQ_NEXT_CHAR</CODE>
-<DD> Move to next character.
-<DT> <CODE>REQ_PREV_CHAR</CODE>
-<DD> Move to previous character.
-<DT> <CODE>REQ_NEXT_LINE</CODE>
-<DD> Move to next line.
-<DT> <CODE>REQ_PREV_LINE</CODE>
-<DD> Move to previous line.
-<DT> <CODE>REQ_NEXT_WORD</CODE>
-<DD> Move to next word.
-<DT> <CODE>REQ_PREV_WORD</CODE>
-<DD> Move to previous word.
-<DT> <CODE>REQ_BEG_FIELD</CODE>
-<DD> Move to beginning of field.
-<DT> <CODE>REQ_END_FIELD</CODE>
-<DD> Move to end of field.
-<DT> <CODE>REQ_BEG_LINE</CODE>
-<DD> Move to beginning of line.
-<DT> <CODE>REQ_END_LINE</CODE>
-<DD> Move to end of line.
-<DT> <CODE>REQ_LEFT_CHAR</CODE>
-<DD> Move left in field.
-<DT> <CODE>REQ_RIGHT_CHAR</CODE>
-<DD> Move right in field.
-<DT> <CODE>REQ_UP_CHAR</CODE>
-<DD> Move up in field.
-<DT> <CODE>REQ_DOWN_CHAR</CODE>
-<DD> Move down in field.
-</DL>
-
-Each <EM>word</EM> is separated from the previous and next characters
-by whitespace. The commands to move to beginning and end of line or field
-look for the first or last non-pad character in their ranges.
-
-<H3><A NAME="fscroll">Scrolling Requests</A></H3>
-
-Fields that are dynamic and have grown and fields explicitly created
-with offscreen rows are scrollable. One-line fields scroll horizontally;
-multi-line fields scroll vertically. Most scrolling is triggered by
-editing and intra-field movement (the library scrolls the field to keep the
-cursor visible). It is possible to explicitly request scrolling with the
-following requests:
-
-<DL>
-<DT> <CODE>REQ_SCR_FLINE</CODE>
-<DD> Scroll vertically forward a line.
-<DT> <CODE>REQ_SCR_BLINE</CODE>
-<DD> Scroll vertically backward a line.
-<DT> <CODE>REQ_SCR_FPAGE</CODE>
-<DD> Scroll vertically forward a page.
-<DT> <CODE>REQ_SCR_BPAGE</CODE>
-<DD> Scroll vertically backward a page.
-<DT> <CODE>REQ_SCR_FHPAGE</CODE>
-<DD> Scroll vertically forward half a page.
-<DT> <CODE>REQ_SCR_BHPAGE</CODE>
-<DD> Scroll vertically backward half a page.
-<DT> <CODE>REQ_SCR_FCHAR</CODE>
-<DD> Scroll horizontally forward a character.
-<DT> <CODE>REQ_SCR_BCHAR</CODE>
-<DD> Scroll horizontally backward a character.
-<DT> <CODE>REQ_SCR_HFLINE</CODE>
-<DD> Scroll horizontally one field width forward.
-<DT> <CODE>REQ_SCR_HBLINE</CODE>
-<DD> Scroll horizontally one field width backward.
-<DT> <CODE>REQ_SCR_HFHALF</CODE>
-<DD> Scroll horizontally one half field width forward.
-<DT> <CODE>REQ_SCR_HBHALF</CODE>
-<DD> Scroll horizontally one half field width backward.
-</DL>
-
-For scrolling purposes, a <EM>page</EM> of a field is the height
-of its visible part.
-
-<H3><A NAME="fedit">Editing Requests</A></H3>
-
-When you pass the forms driver an ASCII character, it is treated as a
-request to add the character to the field's data buffer. Whether this
-is an insertion or a replacement depends on the field's edit mode
-(insertion is the default. <P>
-
-The following requests support editing the field and changing the edit
-mode:
-
-<DL>
-<DT> <CODE>REQ_INS_MODE</CODE>
-<DD> Set insertion mode.
-<DT> <CODE>REQ_OVL_MODE</CODE>
-<DD> Set overlay mode.
-<DT> <CODE>REQ_NEW_LINE</CODE>
-<DD> New line request (see below for explanation).
-<DT> <CODE>REQ_INS_CHAR</CODE>
-<DD> Insert space at character location.
-<DT> <CODE>REQ_INS_LINE</CODE>
-<DD> Insert blank line at character location.
-<DT> <CODE>REQ_DEL_CHAR</CODE>
-<DD> Delete character at cursor.
-<DT> <CODE>REQ_DEL_PREV</CODE>
-<DD> Delete previous word at cursor.
-<DT> <CODE>REQ_DEL_LINE</CODE>
-<DD> Delete line at cursor.
-<DT> <CODE>REQ_DEL_WORD</CODE>
-<DD> Delete word at cursor.
-<DT> <CODE>REQ_CLR_EOL</CODE>
-<DD> Clear to end of line.
-<DT> <CODE>REQ_CLR_EOF</CODE>
-<DD> Clear to end of field.
-<DT> <CODE>REQ_CLEAR_FIELD</CODE>
-<DD> Clear entire field.
-</DL>
-
-The behavior of the <CODE>REQ_NEW_LINE</CODE> and <CODE>REQ_DEL_PREV</CODE> requests
-is complicated and partly controlled by a pair of forms options.
-The special cases are triggered when the cursor is at the beginning of
-a field, or on the last line of the field. <P>
-
-First, we consider <CODE>REQ_NEW_LINE</CODE>: <P>
-
-The normal behavior of <CODE>REQ_NEW_LINE</CODE> in insert mode is to break the
-current line at the position of the edit cursor, inserting the portion of
-the current line after the cursor as a new line following the current
-and moving the cursor to the beginning of that new line (you may think
-of this as inserting a newline in the field buffer). <P>
-
-The normal behavior of <CODE>REQ_NEW_LINE</CODE> in overlay mode is to clear the
-current line from the position of the edit cursor to end of line.
-The cursor is then moved to the beginning of the next line. <P>
-
-However, <CODE>REQ_NEW_LINE</CODE> at the beginning of a field, or on the
-last line of a field, instead does a <CODE>REQ_NEXT_FIELD</CODE>.
-<CODE>O_NL_OVERLOAD</CODE> option is off, this special action is
-disabled. <P>
-
-Now, let us consider <CODE>REQ_DEL_PREV</CODE>: <P>
-
-The normal behavior of <CODE>REQ_DEL_PREV</CODE> is to delete the previous
-character. If insert mode is on, and the cursor is at the start of a
-line, and the text on that line will fit on the previous one, it
-instead appends the contents of the current line to the previous one
-and deletes the current line (you may think of this as deleting a
-newline from the field buffer). <P>
-
-However, <CODE>REQ_DEL_PREV</CODE> at the beginning of a field is instead
-treated as a <CODE>REQ_PREV_FIELD</CODE>. <P> If the
-<CODE>O_BS_OVERLOAD</CODE> option is off, this special action is
-disabled and the forms driver just returns <CODE>E_REQUEST_DENIED</CODE>. <P>
-
-See <A HREF="#frmoptions">Form Options</A> for discussion of how to set
-and clear the overload options.
-
-<H3><A NAME="forder">Order Requests</A></H3>
-
-If the type of your field is ordered, and has associated functions
-for getting the next and previous values of the type from a given value,
-there are requests that can fetch that value into the field buffer:
-
-<DL>
-<DT> <CODE>REQ_NEXT_CHOICE</CODE>
-<DD> Place the successor value of the current value in the buffer.
-<DT> <CODE>REQ_PREV_CHOICE</CODE>
-<DD> Place the predecessor value of the current value in the buffer.
-</DL>
-
-Of the built-in field types, only <CODE>TYPE_ENUM</CODE> has built-in successor
-and predecessor functions. When you define a field type of your own
-(see <A HREF="#fcustom">Custom Validation Types</A>), you can associate
-our own ordering functions.
-
-<H3><A NAME="fappcmds">Application Commands</A></H3>
-
-Form requests are represented as integers above the <CODE>curses</CODE> value
-greater than <CODE>KEY_MAX</CODE> and less than or equal to the constant
-<CODE>MAX_COMMAND</CODE>. If your input-virtualization routine returns a
-value above <CODE>MAX_COMMAND</CODE>, the forms driver will ignore it.
-
-<H2><A NAME="fhooks">Field Change Hooks</A></H2>
-
-It is possible to set function hooks to be executed whenever the
-current field or form changes. Here are the functions that support this:
-
-<PRE>
-typedef void (*HOOK)(); /* pointer to function returning void */
+</pre>
+
+ <p>Your input virtualization function needs to take input and
+ then convert it to either an alphanumeric character (which is
+ treated as data to be entered in the currently-selected field),
+ or a forms processing request.</p>
+
+ <p>The forms driver provides hooks (through input-validation and
+ field-termination functions) with which your application code can
+ check that the input taken by the driver matched what was
+ expected.</p>
+
+ <h3><a name="fpage" id="fpage">Page Navigation Requests</a></h3>
+
+ <p>These requests cause page-level moves through the form,
+ triggering display of a new form screen.</p>
+
+ <dl>
+ <dt><code>REQ_NEXT_PAGE</code>
+ </dt>
+
+ <dd>Move to the next form page.</dd>
+
+ <dt><code>REQ_PREV_PAGE</code>
+ </dt>
+
+ <dd>Move to the previous form page.</dd>
+
+ <dt><code>REQ_FIRST_PAGE</code>
+ </dt>
+
+ <dd>Move to the first form page.</dd>
+
+ <dt><code>REQ_LAST_PAGE</code>
+ </dt>
+
+ <dd>Move to the last form page.</dd>
+ </dl>
+
+ <p>These requests treat the list as cyclic; that is,
+ <code>REQ_NEXT_PAGE</code> from the last page goes to the first,
+ and <code>REQ_PREV_PAGE</code> from the first page goes to the
+ last.</p>
+
+ <h3><a name="ffield" id="ffield">Inter-Field Navigation
+ Requests</a></h3>
+
+ <p>These requests handle navigation between fields on the same
+ page.</p>
+
+ <dl>
+ <dt><code>REQ_NEXT_FIELD</code>
+ </dt>
+
+ <dd>Move to next field.</dd>
+
+ <dt><code>REQ_PREV_FIELD</code>
+ </dt>
+
+ <dd>Move to previous field.</dd>
+
+ <dt><code>REQ_FIRST_FIELD</code>
+ </dt>
+
+ <dd>Move to the first field.</dd>
+
+ <dt><code>REQ_LAST_FIELD</code>
+ </dt>
+
+ <dd>Move to the last field.</dd>
+
+ <dt><code>REQ_SNEXT_FIELD</code>
+ </dt>
+
+ <dd>Move to sorted next field.</dd>
+
+ <dt><code>REQ_SPREV_FIELD</code>
+ </dt>
+
+ <dd>Move to sorted previous field.</dd>
+
+ <dt><code>REQ_SFIRST_FIELD</code>
+ </dt>
+
+ <dd>Move to the sorted first field.</dd>
+
+ <dt><code>REQ_SLAST_FIELD</code>
+ </dt>
+
+ <dd>Move to the sorted last field.</dd>
+
+ <dt><code>REQ_LEFT_FIELD</code>
+ </dt>
+
+ <dd>Move left to field.</dd>
+
+ <dt><code>REQ_RIGHT_FIELD</code>
+ </dt>
+
+ <dd>Move right to field.</dd>
+
+ <dt><code>REQ_UP_FIELD</code>
+ </dt>
+
+ <dd>Move up to field.</dd>
+
+ <dt><code>REQ_DOWN_FIELD</code>
+ </dt>
+
+ <dd>Move down to field.</dd>
+ </dl>
+
+ <p>These requests treat the list of fields on a page as cyclic;
+ that is, <code>REQ_NEXT_FIELD</code> from the last field goes to
+ the first, and <code>REQ_PREV_FIELD</code> from the first field
+ goes to the last. The order of the fields for these (and the
+ <code>REQ_FIRST_FIELD</code> and <code>REQ_LAST_FIELD</code>
+ requests) is simply the order of the field pointers in the form
+ array (as set up by <code>new_form()</code> or
+ <code>set_form_fields()</code></p>
+
+ <p>It is also possible to traverse the fields as if they had been
+ sorted in screen-position order, so the sequence goes
+ left-to-right and top-to-bottom. To do this, use the second group
+ of four sorted-movement requests.</p>
+
+ <p>Finally, it is possible to move between fields using visual
+ directions up, down, right, and left. To accomplish this, use the
+ third group of four requests. Note, however, that the position of
+ a form for purposes of these requests is its upper-left
+ corner.</p>
+
+ <p>For example, suppose you have a multi-line field B, and two
+ single-line fields A and C on the same line with B, with A to the
+ left of B and C to the right of B. A <code>REQ_MOVE_RIGHT</code>
+ from A will go to B only if A, B, and C <em>all</em> share the
+ same first line; otherwise it will skip over B to C.</p>
+
+ <h3><a name="fifield" id="fifield">Intra-Field Navigation
+ Requests</a></h3>
+
+ <p>These requests drive movement of the edit cursor within the
+ currently selected field.</p>
+
+ <dl>
+ <dt><code>REQ_NEXT_CHAR</code>
+ </dt>
+
+ <dd>Move to next character.</dd>
+
+ <dt><code>REQ_PREV_CHAR</code>
+ </dt>
+
+ <dd>Move to previous character.</dd>
+
+ <dt><code>REQ_NEXT_LINE</code>
+ </dt>
+
+ <dd>Move to next line.</dd>
+
+ <dt><code>REQ_PREV_LINE</code>
+ </dt>
+
+ <dd>Move to previous line.</dd>
+
+ <dt><code>REQ_NEXT_WORD</code>
+ </dt>
+
+ <dd>Move to next word.</dd>
+
+ <dt><code>REQ_PREV_WORD</code>
+ </dt>
+
+ <dd>Move to previous word.</dd>
+
+ <dt><code>REQ_BEG_FIELD</code>
+ </dt>
+
+ <dd>Move to beginning of field.</dd>
+
+ <dt><code>REQ_END_FIELD</code>
+ </dt>
+
+ <dd>Move to end of field.</dd>
+
+ <dt><code>REQ_BEG_LINE</code>
+ </dt>
+
+ <dd>Move to beginning of line.</dd>
+
+ <dt><code>REQ_END_LINE</code>
+ </dt>
+
+ <dd>Move to end of line.</dd>
+
+ <dt><code>REQ_LEFT_CHAR</code>
+ </dt>
+
+ <dd>Move left in field.</dd>
+
+ <dt><code>REQ_RIGHT_CHAR</code>
+ </dt>
+
+ <dd>Move right in field.</dd>
+
+ <dt><code>REQ_UP_CHAR</code>
+ </dt>
+
+ <dd>Move up in field.</dd>
+
+ <dt><code>REQ_DOWN_CHAR</code>
+ </dt>
+
+ <dd>Move down in field.</dd>
+ </dl>
+
+ <p>Each <em>word</em> is separated from the previous and next
+ characters by whitespace. The commands to move to beginning and
+ end of line or field look for the first or last non-pad character
+ in their ranges.</p>
+
+ <h3><a name="fscroll" id="fscroll">Scrolling Requests</a></h3>
+
+ <p>Fields that are dynamic and have grown and fields explicitly
+ created with offscreen rows are scrollable. One-line fields
+ scroll horizontally; multi-line fields scroll vertically. Most
+ scrolling is triggered by editing and intra-field movement (the
+ library scrolls the field to keep the cursor visible). It is
+ possible to explicitly request scrolling with the following
+ requests:</p>
+
+ <dl>
+ <dt><code>REQ_SCR_FLINE</code>
+ </dt>
+
+ <dd>Scroll vertically forward a line.</dd>
+
+ <dt><code>REQ_SCR_BLINE</code>
+ </dt>
+
+ <dd>Scroll vertically backward a line.</dd>
+
+ <dt><code>REQ_SCR_FPAGE</code>
+ </dt>
+
+ <dd>Scroll vertically forward a page.</dd>
+
+ <dt><code>REQ_SCR_BPAGE</code>
+ </dt>
+
+ <dd>Scroll vertically backward a page.</dd>
+
+ <dt><code>REQ_SCR_FHPAGE</code>
+ </dt>
+
+ <dd>Scroll vertically forward half a page.</dd>
+
+ <dt><code>REQ_SCR_BHPAGE</code>
+ </dt>
+
+ <dd>Scroll vertically backward half a page.</dd>
+
+ <dt><code>REQ_SCR_FCHAR</code>
+ </dt>
+
+ <dd>Scroll horizontally forward a character.</dd>
+
+ <dt><code>REQ_SCR_BCHAR</code>
+ </dt>
+
+ <dd>Scroll horizontally backward a character.</dd>
+
+ <dt><code>REQ_SCR_HFLINE</code>
+ </dt>
+
+ <dd>Scroll horizontally one field width forward.</dd>
+
+ <dt><code>REQ_SCR_HBLINE</code>
+ </dt>
+
+ <dd>Scroll horizontally one field width backward.</dd>
+
+ <dt><code>REQ_SCR_HFHALF</code>
+ </dt>
+
+ <dd>Scroll horizontally one half field width forward.</dd>
+
+ <dt><code>REQ_SCR_HBHALF</code>
+ </dt>
+
+ <dd>Scroll horizontally one half field width backward.</dd>
+ </dl>
+
+ <p>For scrolling purposes, a <em>page</em> of a field is the
+ height of its visible part.</p>
+
+ <h3><a name="fedit" id="fedit">Editing Requests</a></h3>
+
+ <p>When you pass the forms driver an ASCII character, it is
+ treated as a request to add the character to the field's data
+ buffer. Whether this is an insertion or a replacement depends on
+ the field's edit mode (insertion is the default.</p>
+
+ <p>The following requests support editing the field and changing
+ the edit mode:</p>
+
+ <dl>
+ <dt><code>REQ_INS_MODE</code>
+ </dt>
+
+ <dd>Set insertion mode.</dd>
+
+ <dt><code>REQ_OVL_MODE</code>
+ </dt>
+
+ <dd>Set overlay mode.</dd>
+
+ <dt><code>REQ_NEW_LINE</code>
+ </dt>
+
+ <dd>New line request (see below for explanation).</dd>
+
+ <dt><code>REQ_INS_CHAR</code>
+ </dt>
+
+ <dd>Insert space at character location.</dd>
+
+ <dt><code>REQ_INS_LINE</code>
+ </dt>
+
+ <dd>Insert blank line at character location.</dd>
+
+ <dt><code>REQ_DEL_CHAR</code>
+ </dt>
+
+ <dd>Delete character at cursor.</dd>
+
+ <dt><code>REQ_DEL_PREV</code>
+ </dt>
+
+ <dd>Delete previous word at cursor.</dd>
+
+ <dt><code>REQ_DEL_LINE</code>
+ </dt>
+
+ <dd>Delete line at cursor.</dd>
+
+ <dt><code>REQ_DEL_WORD</code>
+ </dt>
+
+ <dd>Delete word at cursor.</dd>
+
+ <dt><code>REQ_CLR_EOL</code>
+ </dt>
+
+ <dd>Clear to end of line.</dd>
+
+ <dt><code>REQ_CLR_EOF</code>
+ </dt>
+
+ <dd>Clear to end of field.</dd>
+
+ <dt><code>REQ_CLEAR_FIELD</code>
+ </dt>
+
+ <dd>Clear entire field.</dd>
+ </dl>
+
+ <p>The behavior of the <code>REQ_NEW_LINE</code> and
+ <code>REQ_DEL_PREV</code> requests is complicated and partly
+ controlled by a pair of forms options. The special cases are
+ triggered when the cursor is at the beginning of a field, or on
+ the last line of the field.</p>
+
+ <p>First, we consider <code>REQ_NEW_LINE</code>:</p>
+
+ <p>The normal behavior of <code>REQ_NEW_LINE</code> in insert
+ mode is to break the current line at the position of the edit
+ cursor, inserting the portion of the current line after the
+ cursor as a new line following the current and moving the cursor
+ to the beginning of that new line (you may think of this as
+ inserting a newline in the field buffer).</p>
+
+ <p>The normal behavior of <code>REQ_NEW_LINE</code> in overlay
+ mode is to clear the current line from the position of the edit
+ cursor to end of line. The cursor is then moved to the beginning
+ of the next line.</p>
+
+ <p>However, <code>REQ_NEW_LINE</code> at the beginning of a
+ field, or on the last line of a field, instead does a
+ <code>REQ_NEXT_FIELD</code>. <code>O_NL_OVERLOAD</code> option is
+ off, this special action is disabled.</p>
+
+ <p>Now, let us consider <code>REQ_DEL_PREV</code>:</p>
+
+ <p>The normal behavior of <code>REQ_DEL_PREV</code> is to delete
+ the previous character. If insert mode is on, and the cursor is
+ at the start of a line, and the text on that line will fit on the
+ previous one, it instead appends the contents of the current line
+ to the previous one and deletes the current line (you may think
+ of this as deleting a newline from the field buffer).</p>
+
+ <p>However, <code>REQ_DEL_PREV</code> at the beginning of a field
+ is instead treated as a <code>REQ_PREV_FIELD</code>.</p>
+
+ <p>If the <code>O_BS_OVERLOAD</code> option is off, this special
+ action is disabled and the forms driver just returns
+ <code>E_REQUEST_DENIED</code>.</p>
+
+ <p>See <a href="#frmoptions">Form Options</a> for discussion of
+ how to set and clear the overload options.</p>
+
+ <h3><a name="forder" id="forder">Order Requests</a></h3>
+
+ <p>If the type of your field is ordered, and has associated
+ functions for getting the next and previous values of the type
+ from a given value, there are requests that can fetch that value
+ into the field buffer:</p>
+
+ <dl>
+ <dt><code>REQ_NEXT_CHOICE</code>
+ </dt>
+
+ <dd>Place the successor value of the current value in the
+ buffer.</dd>
+
+ <dt><code>REQ_PREV_CHOICE</code>
+ </dt>
+
+ <dd>Place the predecessor value of the current value in the
+ buffer.</dd>
+ </dl>
+
+ <p>Of the built-in field types, only <code>TYPE_ENUM</code> has
+ built-in successor and predecessor functions. When you define a
+ field type of your own (see <a href="#fcustom">Custom Validation
+ Types</a>), you can associate our own ordering functions.</p>
+
+ <h3><a name="fappcmds" id="fappcmds">Application Commands</a></h3>
+
+ <p>Form requests are represented as integers above the
+ <code>curses</code> value greater than <code>KEY_MAX</code> and
+ less than or equal to the constant <code>MAX_COMMAND</code>. If
+ your input-virtualization routine returns a value above
+ <code>MAX_COMMAND</code>, the forms driver will ignore it.</p>
+
+ <h2><a name="fhooks" id="fhooks">Field Change Hooks</a></h2>
+
+ <p>It is possible to set function hooks to be executed whenever
+ the current field or form changes. Here are the functions that
+ support this:</p>
+
+ <pre>
+typedef void (*HOOK)(); /* pointer to function returning void */
int set_form_init(FORM *form, /* form to alter */
HOOK hook); /* initialization hook */
@@ -2454,53 +3129,67 @@ int set_field_term(FORM *form, /* form to alter */
HOOK hook); /* termination hook */
HOOK field_term(FORM *form); /* form to query */
-</PRE>
-
-These functions allow you to either set or query four different hooks.
-In each of the set functions, the second argument should be the
-address of a hook function. These functions differ only in the timing
-of the hook call.
-
-<DL>
-<DT> form_init
-<DD> This hook is called when the form is posted; also, just after
-each page change operation.
-<DT> field_init
-<DD> This hook is called when the form is posted; also, just after
-each field change
-<DT> field_term
-<DD> This hook is called just after field validation; that is, just before
-the field is altered. It is also called when the form is unposted.
-<DT> form_term
-<DD> This hook is called when the form is unposted; also, just before
-each page change operation.
-</DL>
-
-Calls to these hooks may be triggered
-<OL>
-<LI>When user editing requests are processed by the forms driver
-<LI>When the current page is changed by <CODE>set_current_field()</CODE> call
-<LI>When the current field is changed by a <CODE>set_form_page()</CODE> call
-</OL>
-
-See <A NAME="ffocus">Field Change Commands</A> for discussion of the latter
-two cases. <P>
-
-You can set a default hook for all fields by passing one of the set functions
-a NULL first argument. <P>
-
-You can disable any of these hooks by (re)setting them to NULL, the default
-value.
-
-<H2><A HREF="#ffocus">Field Change Commands</A></H2>
-
-Normally, navigation through the form will be driven by the user's
-input requests. But sometimes it is useful to be able to move the
-focus for editing and viewing under control of your application, or
-ask which field it currently is in. The following functions help you
-accomplish this:
-
-<PRE>
+</pre>
+
+ <p>These functions allow you to either set or query four
+ different hooks. In each of the set functions, the second
+ argument should be the address of a hook function. These
+ functions differ only in the timing of the hook call.</p>
+
+ <dl>
+ <dt>form_init</dt>
+
+ <dd>This hook is called when the form is posted; also, just
+ after each page change operation.</dd>
+
+ <dt>field_init</dt>
+
+ <dd>This hook is called when the form is posted; also, just
+ after each field change</dd>
+
+ <dt>field_term</dt>
+
+ <dd>This hook is called just after field validation; that is,
+ just before the field is altered. It is also called when the
+ form is unposted.</dd>
+
+ <dt>form_term</dt>
+
+ <dd>This hook is called when the form is unposted; also, just
+ before each page change operation.</dd>
+ </dl>
+
+ <p>Calls to these hooks may be triggered</p>
+
+ <ol>
+ <li>When user editing requests are processed by the forms
+ driver</li>
+
+ <li>When the current page is changed by
+ <code>set_current_field()</code> call</li>
+
+ <li>When the current field is changed by a
+ <code>set_form_page()</code> call</li>
+ </ol>
+
+ <p>See <a name="ffocus" id="ffocus">Field Change Commands</a> for
+ discussion of the latter two cases.</p>
+
+ <p>You can set a default hook for all fields by passing one of
+ the set functions a NULL first argument.</p>
+
+ <p>You can disable any of these hooks by (re)setting them to
+ NULL, the default value.</p>
+
+ <h2><a href="#ffocus">Field Change Commands</a></h2>
+
+ <p>Normally, navigation through the form will be driven by the
+ user's input requests. But sometimes it is useful to be able to
+ move the focus for editing and viewing under control of your
+ application, or ask which field it currently is in. The following
+ functions help you accomplish this:</p>
+
+ <pre>
int set_current_field(FORM *form, /* form to alter */
FIELD *field); /* field to shift to */
@@ -2508,33 +3197,35 @@ FIELD *current_field(FORM *form); /* form to query */
int field_index(FORM *form, /* form to query */
FIELD *field); /* field to get index of */
-</PRE>
+</pre>
-The function <CODE>field_index()</CODE> returns the index of the given field
-in the given form's field array (the array passed to <CODE>new_form()</CODE> or
-<CODE>set_form_fields()</CODE>). <P>
+ <p>The function <code>field_index()</code> returns the index of
+ the given field in the given form's field array (the array passed
+ to <code>new_form()</code> or
+ <code>set_form_fields()</code>).</p>
-The initial current field of a form is the first active field on the
-first page. The function <CODE>set_form_fields()</CODE> resets this.<P>
+ <p>The initial current field of a form is the first active field
+ on the first page. The function <code>set_form_fields()</code>
+ resets this.</p>
-It is also possible to move around by pages.
+ <p>It is also possible to move around by pages.</p>
-<PRE>
+ <pre>
int set_form_page(FORM *form, /* form to alter */
int page); /* page to go to (0-origin) */
int form_page(FORM *form); /* return form's current page */
-</PRE>
+</pre>
-The initial page of a newly-created form is 0. The function
-<CODE>set_form_fields()</CODE> resets this.
+ <p>The initial page of a newly-created form is 0. The function
+ <code>set_form_fields()</code> resets this.</p>
-<H2><A NAME="frmoptions">Form Options</A></H2>
+ <h2><a name="frmoptions" id="frmoptions">Form Options</a></h2>
-Like fields, forms may have control option bits. They can be changed
-or queried with these functions:
+ <p>Like fields, forms may have control option bits. They can be
+ changed or queried with these functions:</p>
-<PRE>
+ <pre>
int set_form_opts(FORM *form, /* form to alter */
int attr); /* attribute to set */
@@ -2545,179 +3236,210 @@ int form_opts_off(FORM *form, /* form to alter */
int attr); /* attributes to turn off */
int form_opts(FORM *form); /* form to query */
-</PRE>
+</pre>
+
+ <p>By default, all options are on. Here are the available option
+ bits:</p>
+
+ <dl>
+ <dt>O_NL_OVERLOAD</dt>
-By default, all options are on. Here are the available option bits:
+ <dd>Enable overloading of <code>REQ_NEW_LINE</code> as
+ described in <a href="#fedit">Editing Requests</a>. The value
+ of this option is ignored on dynamic fields that have not
+ reached their size limit; these have no last line, so the
+ circumstances for triggering a <code>REQ_NEXT_FIELD</code>
+ never arise.</dd>
-<DL>
-<DT> O_NL_OVERLOAD
-<DD> Enable overloading of <CODE>REQ_NEW_LINE</CODE> as described in <A
-href="#fedit">Editing Requests</A>. The value of this option is
-ignored on dynamic fields that have not reached their size limit;
-these have no last line, so the circumstances for triggering a
-<CODE>REQ_NEXT_FIELD</CODE> never arise.
-<DT> O_BS_OVERLOAD
-<DD> Enable overloading of <CODE>REQ_DEL_PREV</CODE> as described in
-<A href="#fedit">Editing Requests</A>.
-</DL>
+ <dt>O_BS_OVERLOAD</dt>
-The option values are bit-masks and can be composed with logical-or in
-the obvious way.
+ <dd>Enable overloading of <code>REQ_DEL_PREV</code> as
+ described in <a href="#fedit">Editing Requests</a>.</dd>
+ </dl>
-<H2><A NAME="fcustom">Custom Validation Types</A></H2>
+ <p>The option values are bit-masks and can be composed with
+ logical-or in the obvious way.</p>
-The <CODE>form</CODE> library gives you the capability to define custom
-validation types of your own. Further, the optional additional arguments
-of <CODE>set_field_type</CODE> effectively allow you to parameterize validation
-types. Most of the complications in the validation-type interface have to
-do with the handling of the additional arguments within custom validation
-functions.
+ <h2><a name="fcustom" id="fcustom">Custom Validation Types</a></h2>
-<H3><A NAME="flinktypes">Union Types</A></H3>
+ <p>The <code>form</code> library gives you the capability to
+ define custom validation types of your own. Further, the optional
+ additional arguments of <code>set_field_type</code> effectively
+ allow you to parameterize validation types. Most of the
+ complications in the validation-type interface have to do with
+ the handling of the additional arguments within custom validation
+ functions.</p>
-The simplest way to create a custom data type is to compose it from two
-preexisting ones:
+ <h3><a name="flinktypes" id="flinktypes">Union Types</a></h3>
-<PRE>
+ <p>The simplest way to create a custom data type is to compose it
+ from two preexisting ones:</p>
+
+ <pre>
FIELD *link_fieldtype(FIELDTYPE *type1,
FIELDTYPE *type2);
-</PRE>
+</pre>
+
+ <p>This function creates a field type that will accept any of the
+ values legal for either of its argument field types (which may be
+ either predefined or programmer-defined). If a
+ <code>set_field_type()</code> call later requires arguments, the
+ new composite type expects all arguments for the first type, than
+ all arguments for the second. Order functions (see <a href=
+ "#forder">Order Requests</a>) associated with the component types
+ will work on the composite; what it does is check the validation
+ function for the first type, then for the second, to figure what
+ type the buffer contents should be treated as.</p>
-This function creates a field type that will accept any of the values
-legal for either of its argument field types (which may be either
-predefined or programmer-defined).
+ <h3><a name="fnewtypes" id="fnewtypes">New Field Types</a></h3>
-If a <CODE>set_field_type()</CODE> call later requires arguments, the new
-composite type expects all arguments for the first type, than all arguments
-for the second. Order functions (see <A HREF="#forder">Order Requests</A>)
-associated with the component types will work on the composite; what it does
-is check the validation function for the first type, then for the second, to
-figure what type the buffer contents should be treated as.
+ <p>To create a field type from scratch, you need to specify one
+ or both of the following things:</p>
-<H3><A NAME="fnewtypes">New Field Types</A></H3>
+ <ul>
+ <li>A character-validation function, to check each character as
+ it is entered.</li>
-To create a field type from scratch, you need to specify one or both of the
-following things:
+ <li>A field-validation function to be applied on exit from the
+ field.</li>
+ </ul>
-<UL>
-<LI>A character-validation function, to check each character as it is entered.
-<LI>A field-validation function to be applied on exit from the field.
-</UL>
+ <p>Here is how you do that:</p>
-Here's how you do that:
-<PRE>
-typedef int (*HOOK)(); /* pointer to function returning int */
+ <pre>
+typedef int (*HOOK)(); /* pointer to function returning int */
FIELDTYPE *new_fieldtype(HOOK f_validate, /* field validator */
HOOK c_validate) /* character validator */
-
int free_fieldtype(FIELDTYPE *ftype); /* type to free */
-</PRE>
+</pre>
-At least one of the arguments of <CODE>new_fieldtype()</CODE> must be
-non-NULL. The forms driver will automatically call the new type's
-validation functions at appropriate points in processing a field of
-the new type. <P>
+ <p>At least one of the arguments of <code>new_fieldtype()</code>
+ must be non-NULL. The forms driver will automatically call the
+ new type's validation functions at appropriate points in
+ processing a field of the new type.</p>
-The function <CODE>free_fieldtype()</CODE> deallocates the argument
-fieldtype, freeing all storage associated with it. <P>
+ <p>The function <code>free_fieldtype()</code> deallocates the
+ argument fieldtype, freeing all storage associated with it.</p>
-Normally, a field validator is called when the user attempts to
-leave the field. Its first argument is a field pointer, from which it
-can get to field buffer 0 and test it. If the function returns TRUE,
-the operation succeeds; if it returns FALSE, the edit cursor stays in
-the field. <P>
+ <p>Normally, a field validator is called when the user attempts
+ to leave the field. Its first argument is a field pointer, from
+ which it can get to field buffer 0 and test it. If the function
+ returns TRUE, the operation succeeds; if it returns FALSE, the
+ edit cursor stays in the field.</p>
-A character validator gets the character passed in as a first argument.
-It too should return TRUE if the character is valid, FALSE otherwise.
+ <p>A character validator gets the character passed in as a first
+ argument. It too should return TRUE if the character is valid,
+ FALSE otherwise.</p>
-<H3><A NAME="fcheckargs">Validation Function Arguments</A></H3>
+ <h3><a name="fcheckargs" id="fcheckargs">Validation Function
+ Arguments</a></h3>
-Your field- and character- validation functions will be passed a
-second argument as well. This second argument is the address of a
-structure (which we'll call a <EM>pile</EM>) built from any of the
-field-type-specific arguments passed to <CODE>set_field_type()</CODE>. If
-no such arguments are defined for the field type, this pile pointer
-argument will be NULL. <P>
+ <p>Your field- and character- validation functions will be passed
+ a second argument as well. This second argument is the address of
+ a structure (which we will call a <em>pile</em>) built from any
+ of the field-type-specific arguments passed to
+ <code>set_field_type()</code>. If no such arguments are defined
+ for the field type, this pile pointer argument will be NULL.</p>
-In order to arrange for such arguments to be passed to your validation
-functions, you must associate a small set of storage-management functions
-with the type. The forms driver will use these to synthesize a pile
-from the trailing arguments of each <CODE>set_field_type()</CODE> argument, and
-a pointer to the pile will be passed to the validation functions. <P>
+ <p>In order to arrange for such arguments to be passed to your
+ validation functions, you must associate a small set of
+ storage-management functions with the type. The forms driver will
+ use these to synthesize a pile from the trailing arguments of
+ each <code>set_field_type()</code> argument, and a pointer to the
+ pile will be passed to the validation functions.</p>
-Here is how you make the association:
+ <p>Here is how you make the association:</p>
-<PRE>
-typedef char *(*PTRHOOK)(); /* pointer to function returning (char *) */
-typedef void (*VOIDHOOK)(); /* pointer to function returning void */
+ <pre>
+typedef char *(*PTRHOOK)(); /* pointer to function returning (char *) */
+typedef void (*VOIDHOOK)(); /* pointer to function returning void */
int set_fieldtype_arg(FIELDTYPE *type, /* type to alter */
PTRHOOK make_str, /* make structure from args */
PTRHOOK copy_str, /* make copy of structure */
VOIDHOOK free_str); /* free structure storage */
-</PRE>
-
-Here is how the storage-management hooks are used:
-
-<DL>
-<DT> <CODE>make_str</CODE>
-<DD> This function is called by <CODE>set_field_type()</CODE>. It gets one
-argument, a <CODE>va_list</CODE> of the type-specific arguments passed to
-<CODE>set_field_type()</CODE>. It is expected to return a pile pointer to a data
-structure that encapsulates those arguments.
-<DT> <CODE>copy_str</CODE>
-<DD> This function is called by form library functions that allocate new
-field instances. It is expected to take a pile pointer, copy the pile
-to allocated storage, and return the address of the pile copy.
-<DT> <CODE>free_str</CODE>
-<DD> This function is called by field- and type-deallocation routines in the
-library. It takes a pile pointer argument, and is expected to free the
-storage of that pile.
-</DL>
-
-The <CODE>make_str</CODE> and <CODE>copy_str</CODE> functions may return NULL to
-signal allocation failure. The library routines will that call them will
-return error indication when this happens. Thus, your validation functions
-should never see a NULL file pointer and need not check specially for it.
-
-<H3><A NAME="fcustorder">Order Functions For Custom Types</A></H3>
-
-Some custom field types are simply ordered in the same well-defined way
-that <CODE>TYPE_ENUM</CODE> is. For such types, it is possible to define
-successor and predecessor functions to support the <CODE>REQ_NEXT_CHOICE</CODE>
-and <CODE>REQ_PREV_CHOICE</CODE> requests. Here's how:
-
-<PRE>
-typedef int (*INTHOOK)(); /* pointer to function returning int */
+</pre>
+
+ <p>Here is how the storage-management hooks are used:</p>
+
+ <dl>
+ <dt><code>make_str</code>
+ </dt>
+
+ <dd>This function is called by <code>set_field_type()</code>.
+ It gets one argument, a <code>va_list</code> of the
+ type-specific arguments passed to
+ <code>set_field_type()</code>. It is expected to return a pile
+ pointer to a data structure that encapsulates those
+ arguments.</dd>
+
+ <dt><code>copy_str</code>
+ </dt>
+
+ <dd>This function is called by form library functions that
+ allocate new field instances. It is expected to take a pile
+ pointer, copy the pile to allocated storage, and return the
+ address of the pile copy.</dd>
+
+ <dt><code>free_str</code>
+ </dt>
+
+ <dd>This function is called by field- and type-deallocation
+ routines in the library. It takes a pile pointer argument, and
+ is expected to free the storage of that pile.</dd>
+ </dl>
+
+ <p>The <code>make_str</code> and <code>copy_str</code> functions
+ may return NULL to signal allocation failure. The library
+ routines will that call them will return error indication when
+ this happens. Thus, your validation functions should never see a
+ NULL file pointer and need not check specially for it.</p>
+
+ <h3><a name="fcustorder" id="fcustorder">Order Functions For
+ Custom Types</a></h3>
+
+ <p>Some custom field types are simply ordered in the same
+ well-defined way that <code>TYPE_ENUM</code> is. For such types,
+ it is possible to define successor and predecessor functions to
+ support the <code>REQ_NEXT_CHOICE</code> and
+ <code>REQ_PREV_CHOICE</code> requests. Here is how:</p>
+
+ <pre>
+typedef int (*INTHOOK)(); /* pointer to function returning int */
int set_fieldtype_arg(FIELDTYPE *type, /* type to alter */
INTHOOK succ, /* get successor value */
INTHOOK pred); /* get predecessor value */
-</PRE>
-
-The successor and predecessor arguments will each be passed two arguments;
-a field pointer, and a pile pointer (as for the validation functions). They
-are expected to use the function <CODE>field_buffer()</CODE> to read the
-current value, and <CODE>set_field_buffer()</CODE> on buffer 0 to set the next
-or previous value. Either hook may return TRUE to indicate success (a
-legal next or previous value was set) or FALSE to indicate failure.
-
-<H3><A NAME="fcustprobs">Avoiding Problems</A></H3>
-
-The interface for defining custom types is complicated and tricky.
-Rather than attempting to create a custom type entirely from scratch,
-you should start by studying the library source code for whichever of
-the pre-defined types seems to be closest to what you want. <P>
-
-Use that code as a model, and evolve it towards what you really want.
-You will avoid many problems and annoyances that way. The code
-in the <CODE>ncurses</CODE> library has been specifically exempted from
-the package copyright to support this. <P>
-
-If your custom type defines order functions, have do something intuitive
-with a blank field. A useful convention is to make the successor of a
-blank field the types minimum value, and its predecessor the maximum.
-</BODY>
-</HTML>
+</pre>
+
+ <p>The successor and predecessor arguments will each be passed
+ two arguments; a field pointer, and a pile pointer (as for the
+ validation functions). They are expected to use the function
+ <code>field_buffer()</code> to read the current value, and
+ <code>set_field_buffer()</code> on buffer 0 to set the next or
+ previous value. Either hook may return TRUE to indicate success
+ (a legal next or previous value was set) or FALSE to indicate
+ failure.</p>
+
+ <h3><a name="fcustprobs" id="fcustprobs">Avoiding Problems</a></h3>
+
+ <p>The interface for defining custom types is complicated and
+ tricky. Rather than attempting to create a custom type entirely
+ from scratch, you should start by studying the library source
+ code for whichever of the pre-defined types seems to be closest
+ to what you want.</p>
+
+ <p>Use that code as a model, and evolve it towards what you
+ really want. You will avoid many problems and annoyances that
+ way. The code in the <code>ncurses</code> library has been
+ specifically exempted from the package copyright to support
+ this.</p>
+
+ <p>If your custom type defines order functions, have do something
+ intuitive with a blank field. A useful convention is to make the
+ successor of a blank field the types minimum value, and its
+ predecessor the maximum.</p>
+</body>
+</html>
diff --git a/doc/ncurses-intro.doc b/doc/ncurses-intro.doc
index b44800503a32..4e752ed0fc54 100644
--- a/doc/ncurses-intro.doc
+++ b/doc/ncurses-intro.doc
@@ -132,20 +132,36 @@
A Brief History of Curses
Historically, the first ancestor of curses was the routines written to
- provide screen-handling for the game rogue; these used the
- already-existing termcap database facility for describing terminal
+ provide screen-handling for the vi editor; these used the termcap
+ database facility (both released in 3BSD) for describing terminal
capabilities. These routines were abstracted into a documented library
- and first released with the early BSD UNIX versions.
-
- System III UNIX from Bell Labs featured a rewritten and much-improved
- curses library. It introduced the terminfo format. Terminfo is based
- on Berkeley's termcap database, but contains a number of improvements
- and extensions. Parameterized capabilities strings were introduced,
- making it possible to describe multiple video attributes, and colors
- and to handle far more unusual terminals than possible with termcap.
- In the later AT&T System V releases, curses evolved to use more
- facilities and offer more capabilities, going far beyond BSD curses in
- power and flexibility.
+ and first released with the early BSD UNIX versions. All of this work
+ was done by students at the University of California (Berkeley
+ campus). The curses library was first published in 4.0BSD, a year
+ after 3BSD (i.e., late 1980).
+
+ After graduation, one of those students went to work at AT&T Bell
+ Labs, and made an improved termcap library called terminfo (i.e.,
+ "libterm"), and adapted the curses library to use this. That was
+ subsequently released in System V Release 2 (early 1984). Thereafter,
+ other developers added to the curses and terminfo libraries. For
+ instance, a student at Cornell University wrote an improved terminfo
+ library as well as a tool (tic) to compile the terminal descriptions.
+ As a general rule, AT&T did not identify the developers in the
+ source-code or documentation; the tic and infocmp programs are the
+ exceptions.
+
+ System V Release 3 (System III UNIX) from Bell Labs featured a
+ rewritten and much-improved curses library, along with the tic program
+ (late 1986).
+
+ To recap, terminfo is based on Berkeley's termcap database, but
+ contains a number of improvements and extensions. Parameterized
+ capabilities strings were introduced, making it possible to describe
+ multiple video attributes, and colors and to handle far more unusual
+ terminals than possible with termcap. In the later AT&T System V
+ releases, curses evolved to use more facilities and offer more
+ capabilities, going far beyond BSD curses in power and flexibility.
Scope of This Document
@@ -153,7 +169,7 @@ Scope of This Document
curses API with some clearly marked extensions. It includes the
following System V curses features:
* Support for multiple screen highlights (BSD curses could only
- handle one `standout' highlight, usually reverse-video).
+ handle one "standout" highlight, usually reverse-video).
* Support for line- and box-drawing using forms characters.
* Recognition of function keys on input.
* Color support.
@@ -164,7 +180,7 @@ Scope of This Document
character features of terminals so equipped, and determines how to
optimally use these features with no help from the programmer. It
allows arbitrary combinations of video attributes to be displayed,
- even on terminals that leave ``magic cookies'' on the screen to mark
+ even on terminals that leave "magic cookies" on the screen to mark
changes in attributes.
The ncurses package can also capture and use event reports from a
@@ -242,8 +258,8 @@ An Overview of Curses
standard screen) is provided by default to make changes on.
A window is a purely internal representation. It is used to build and
- store a potential image of a portion of the terminal. It doesn't bear
- any necessary relation to what is really on the terminal screen; it's
+ store a potential image of a portion of the terminal. It does not bear
+ any necessary relation to what is really on the terminal screen; it is
more like a scratchpad or write buffer.
To make the section of physical screen corresponding to a window
@@ -253,7 +269,7 @@ An Overview of Curses
A given physical screen section may be within the scope of any number
of overlapping windows. Also, changes can be made to windows in any
order, without regard to motion efficiency. Then, at will, the
- programmer can effectively say ``make it look like this,'' and let the
+ programmer can effectively say "make it look like this," and let the
package implementation determine the most efficient way to repaint the
screen.
@@ -269,8 +285,8 @@ An Overview of Curses
Many functions are defined to use stdscr as a default screen. For
example, to add a character to stdscr, one calls addch() with the
desired character as argument. To write to a different window. use the
- routine waddch() (for `w'indow-specific addch()) is provided. This
- convention of prepending function names with a `w' when they are to be
+ routine waddch() (for window-specific addch()) is provided. This
+ convention of prepending function names with a "w" when they are to be
applied to specific windows is consistent. The only routines which do
not follow it are those for which a window must always be specified.
@@ -278,7 +294,7 @@ An Overview of Curses
another, the routines move() and wmove() are provided. However, it is
often desirable to first move and then perform some I/O operation. In
order to avoid clumsiness, most I/O routines can be preceded by the
- prefix 'mv' and the desired (y, x) coordinates prepended to the
+ prefix "mv" and the desired (y, x) coordinates prepended to the
arguments to the function. For example, the calls
move(y, x);
addch(ch);
@@ -310,13 +326,13 @@ An Overview of Curses
general usefulness:
bool
- boolean type, actually a `char' (e.g., bool doneit;)
+ boolean type, actually a "char" (e.g., bool doneit;)
TRUE
- boolean `true' flag (1).
+ boolean "true" flag (1).
FALSE
- boolean `false' flag (0).
+ boolean "false" flag (0).
ERR
error flag returned by routines on a failure (-1).
@@ -332,7 +348,7 @@ Using the Library
function names and parameters as mentioned above.
Here is a sample program to motivate the discussion:
-#include <curses.h>
+#include <stdlib.h>
#include <curses.h>
#include <signal.h>
@@ -381,7 +397,7 @@ main(int argc, char *argv[])
/* process the command keystroke */
}
- finish(0); /* we're done */
+ finish(0); /* we are done */
}
static void finish(int sig)
@@ -411,7 +427,7 @@ static void finish(int sig)
Once the screen windows have been allocated, you can set them up for
your program. If you want to, say, allow a screen to scroll, use
scrollok(). If you want the cursor to be left in place after the last
- change, use leaveok(). If this isn't done, refresh() will move the
+ change, use leaveok(). If this is not done, refresh() will move the
cursor to the window's current (y, x) coordinates after updating it.
You can create new windows of your own using the functions newwin(),
@@ -454,8 +470,8 @@ static void finish(int sig)
set, will call addch() to echo the character. Since the screen package
needs to know what is on the terminal at all times, if characters are
to be echoed, the tty must be in raw or cbreak mode. Since initially
- the terminal has echoing enabled and is in ordinary ``cooked'' mode,
- one or the other has to changed before calling getch(); otherwise, the
+ the terminal has echoing enabled and is in ordinary "cooked" mode, one
+ or the other has to changed before calling getch(); otherwise, the
program's output will be unpredictable.
When you need to accept line-oriented input in a window, the functions
@@ -499,7 +515,7 @@ static void finish(int sig)
of the highlights you want into the character argument of an addch()
call, or any other output call that takes a chtype argument.
- The other is to set the current-highlight value. This is logical-or'ed
+ The other is to set the current-highlight value. This is logical-ORed
with any highlight you specify the first way. You do this with the
functions attron(), attroff(), and attrset(); see the manual pages for
details. Color is a special kind of highlight. The package actually
@@ -510,8 +526,8 @@ static void finish(int sig)
range of eight non-conflicting values could have been used as the
first arguments of the init_pair() values.
- Once you've done an init_pair() that creates color-pair N, you can use
- COLOR_PAIR(N) as a highlight that invokes that particular color
+ Once you have done an init_pair() that creates color-pair N, you can
+ use COLOR_PAIR(N) as a highlight that invokes that particular color
combination. Note that COLOR_PAIR(N), for constant N, is itself a
compile-time constant and can be used in initializers.
@@ -550,11 +566,11 @@ static void finish(int sig)
otherwise another mouse event might come in and make the first one
inaccessible).
- Each call to getmouse() fills a structure (the address of which you'll
- pass it) with mouse event data. The event data includes zero-origin,
- screen-relative character-cell coordinates of the mouse pointer. It
- also includes an event mask. Bits in this mask will be set,
- corresponding to the event type being reported.
+ Each call to getmouse() fills a structure (the address of which you
+ will pass it) with mouse event data. The event data includes
+ zero-origin, screen-relative character-cell coordinates of the mouse
+ pointer. It also includes an event mask. Bits in this mask will be
+ set, corresponding to the event type being reported.
The mouse structure contains two additional fields which may be
significant in the future as ncurses interfaces to new kinds of
@@ -567,7 +583,7 @@ static void finish(int sig)
The class of visible events may be changed at any time via
mousemask(). Events that can be reported include presses, releases,
single-, double- and triple-clicks (you can set the maximum
- button-down time for clicks). If you don't make clicks visible, they
+ button-down time for clicks). If you do not make clicks visible, they
will be reported as press-release pairs. In some environments, the
event mask may include bits reporting the state of shift, alt, and
ctrl keys on the keyboard during the event.
@@ -701,7 +717,7 @@ Function Descriptions
more terminals at once. Setupterm() also stores the names
section of the terminal description in the global character
array ttytype[]. Subsequent calls to setupterm() will overwrite
- this array, so you'll have to save it yourself if need be.
+ this array, so you will have to save it yourself if need be.
Debugging
@@ -710,7 +726,7 @@ Function Descriptions
trace()
This function can be used to explicitly set a trace level. If
the trace level is nonzero, execution of your program will
- generate a file called `trace' in the current working directory
+ generate a file called "trace" in the current working directory
containing a report on the library's actions. Higher trace
levels enable more detailed (and verbose) reporting -- see
comments attached to TRACE_ defines in the curses.h file for
@@ -740,7 +756,7 @@ Hints, Tips, and Tricks
Some Notes of Caution
If you find yourself thinking you need to use noraw() or nocbreak(),
- think again and move carefully. It's probably better design to use
+ think again and move carefully. It is probably better design to use
getstr() or one of its relatives to simulate cooked mode. The noraw()
and nocbreak() functions try to restore cooked mode, but they may end
up clobbering some control bits set before you started your
@@ -748,7 +764,7 @@ Hints, Tips, and Tricks
likely to hurt your application's usability with other curses
libraries.
- Bear in mind that refresh() is a synonym for wrefresh(stdscr). Don't
+ Bear in mind that refresh() is a synonym for wrefresh(stdscr). Do not
try to mix use of stdscr with use of windows declared by newwin(); a
refresh() call will blow them off the screen. The right way to handle
this is to use subwin(), or not touch stdscr at all and tile your
@@ -774,7 +790,7 @@ Hints, Tips, and Tricks
Temporarily Leaving NCURSES Mode
Sometimes you will want to write a program that spends most of its
- time in screen mode, but occasionally returns to ordinary `cooked'
+ time in screen mode, but occasionally returns to ordinary "cooked"
mode. A common reason for this is to support shell-out. This behavior
is simple to arrange in ncurses.
@@ -839,8 +855,8 @@ Hints, Tips, and Tricks
tigetflag(), tigetnum(), and tigetstr() to do your testing.
A particularly useful case of this often comes up when you want to
- test whether a given terminal type should be treated as `smart'
- (cursor-addressable) or `stupid'. The right way to test this is to see
+ test whether a given terminal type should be treated as "smart"
+ (cursor-addressable) or "stupid". The right way to test this is to see
if the return value of tigetstr("cup") is non-NULL. Alternatively, you
can include the term.h file and test the value of the macro
cursor_address.
@@ -848,8 +864,8 @@ Hints, Tips, and Tricks
Tuning for Speed
Use the addchstr() family of functions for fast screen-painting of
- text when you know the text doesn't contain any control characters.
- Try to make attribute changes infrequent on your screens. Don't use
+ text when you know the text does not contain any control characters.
+ Try to make attribute changes infrequent on your screens. Do not use
the immedok() option!
Special Features of NCURSES
@@ -913,7 +929,7 @@ Compatibility with Older Versions
they do change copy or entire copy. We know that System V release 3
curses has logic in it that looks like an attempt to do change copy,
but the surrounding logic and data representations are sufficiently
- complex, and our knowledge sufficiently indirect, that it's hard to
+ complex, and our knowledge sufficiently indirect, that it is hard to
know whether this is reliable. It is not clear what the SVr4
documentation and XSI standard intend. The XSI Curses standard barely
mentions wnoutrefresh(); the SVr4 documents seem to be describing
@@ -997,8 +1013,8 @@ Overview of Panels
in the proper order to resolve overlaps. The standard window, stdscr,
is considered below all panels.
- Details on the panels functions are available in the man pages. We'll
- just hit the highlights here.
+ Details on the panels functions are available in the man pages. We
+ will just hit the highlights here.
You create a panel from a window by calling new_panel() on a window
pointer. It then becomes the top of the deck. The panel's window is
@@ -1009,11 +1025,11 @@ Overview of Panels
This will not deallocate the associated window; you have to do that
yourself. You can replace a panel's window with a different window by
calling replace_window. The new window may be of different size; the
- panel code will re-compute all overlaps. This operation doesn't change
- the panel's position in the deck.
+ panel code will re-compute all overlaps. This operation does not
+ change the panel's position in the deck.
To move a panel's window, use move_panel(). The mvwin() function on
- the panel's window isn't sufficient because it doesn't update the
+ the panel's window is not sufficient because it does not update the
panels library's representation of where the windows are. This
operation leaves the panel's depth, contents, and size unchanged.
@@ -1028,12 +1044,12 @@ Overview of Panels
Typically, you will want to call update_panels() and doupdate() just
before accepting command input, once in each cycle of interaction with
the user. If you call update_panels() after each and every panel
- write, you'll generate a lot of unnecessary refresh activity and
+ write, you will generate a lot of unnecessary refresh activity and
screen flicker.
Panels, Input, and the Standard Screen
- You shouldn't mix wnoutrefresh() or wrefresh() operations with panels
+ You should not mix wnoutrefresh() or wrefresh() operations with panels
code; this will work only if the argument window is either in the top
panel or unobscured by any other panels.
@@ -1051,7 +1067,7 @@ Panels, Input, and the Standard Screen
Hiding Panels
- It's possible to remove a panel from the deck temporarily; use
+ It is possible to remove a panel from the deck temporarily; use
hide_panel for this. Use show_panel() to render it visible again. The
predicate function panel_hidden tests whether or not a panel is
hidden.
@@ -1062,7 +1078,7 @@ Hiding Panels
Miscellaneous Other Facilities
- It's possible to navigate the deck using the functions panel_above()
+ It is possible to navigate the deck using the functions panel_above()
and panel_below. Handed a panel pointer, they return the panel above
or below that panel. Handed NULL, they return the bottom-most or
top-most panel.
@@ -1156,7 +1172,7 @@ Menu Display
The actual menu page may be smaller than the format size. This depends
on the item number and size and whether O_ROWMAJOR is on. This option
- (on by default) causes menu items to be displayed in a `raster-scan'
+ (on by default) causes menu items to be displayed in a "raster-scan"
pattern, so that if more than one item will fit horizontally the first
couple of items are side-by-side in the top row. The alternative is
column-major display, which tries to put the first several items in
@@ -1222,7 +1238,7 @@ Processing Menu Input
REQ_SCR_DPAGE, and REQ_SCR_UPAGE.
The REQ_TOGGLE_ITEM selects or deselects the current item. It is for
- use in multi-valued menus; if you use it with O_ONEVALUE on, you'll
+ use in multi-valued menus; if you use it with O_ONEVALUE on, you will
get an error return (E_REQUEST_DENIED).
Each menu has an associated pattern buffer. The menu_driver() logic
@@ -1326,7 +1342,7 @@ Overview of Forms
obviously designed to resemble that of the menu library wherever
possible.
- In forms programs, however, the `process user requests' is somewhat
+ In forms programs, however, the "process user requests" is somewhat
more complicated than for menus. Besides menu-like navigation
operations, the menu driver loop has to support field editing and data
validation.
@@ -1348,7 +1364,7 @@ FIELD *new_field(int height, int width, /* new field size */
the screen (the third and fourth arguments, which must be zero or
greater). Note that these coordinates are relative to the form
subwindow, which will coincide with stdscr by default but need not be
- stdscr if you've done an explicit set_form_win() call.
+ stdscr if you have done an explicit set_form_win() call.
The fifth argument allows you to specify a number of off-screen rows.
If this is zero, the entire field will always be displayed. If it is
@@ -1593,7 +1609,7 @@ int field_status(FIELD *field); /* fetch mode of field */
Calling field_status() on a field not currently selected for input
will return a correct value. Calling field_status() on a field that is
currently selected for input may not necessarily give a correct field
- status value, because entered data isn't necessarily copied to buffer
+ status value, because entered data is not necessarily copied to buffer
zero before the exit validation check. To guarantee that the returned
status value reflects reality, call field_status() either (1) in the
field's exit validation check routine, (2) from the field's or form's
@@ -1662,7 +1678,7 @@ Field Validation
By default, a field will accept any data that will fit in its input
buffer. However, it is possible to attach a validation type to a
field. If you do this, any attempt to leave the field while it
- contains data that doesn't match the validation type will fail. Some
+ contains data that does not match the validation type will fail. Some
validation types also have a character-validity check for each time a
character is entered in the field.
@@ -1696,10 +1712,10 @@ int set_field_type(FIELD *field, /* field to alter */
TYPE_ALPHA, /* type to associate */
int width); /* maximum width of field */
- The width argument sets a minimum width of data. Typically you'll want
- to set this to the field width; if it's greater than the field width,
- the validation check will always fail. A minimum width of zero makes
- field completion optional.
+ The width argument sets a minimum width of data. Typically you will
+ want to set this to the field width; if it is greater than the field
+ width, the validation check will always fail. A minimum width of zero
+ makes field completion optional.
TYPE_ALNUM
@@ -1711,9 +1727,9 @@ int set_field_type(FIELD *field, /* field to alter */
int width); /* maximum width of field */
The width argument sets a minimum width of data. As with TYPE_ALPHA,
- typically you'll want to set this to the field width; if it's greater
- than the field width, the validation check will always fail. A minimum
- width of zero makes field completion optional.
+ typically you will want to set this to the field width; if it is
+ greater than the field width, the validation check will always fail. A
+ minimum width of zero makes field completion optional.
TYPE_ENUM
@@ -1802,7 +1818,7 @@ char *field_buffer(FIELD *field, /* field to query */
int bufindex); /* number of buffer to query */
Normally, the state of the zero-numbered buffer for each field is set
- by the user's editing actions on that field. It's sometimes useful to
+ by the user's editing actions on that field. It is sometimes useful to
be able to set the value of the zero-numbered (or some other) buffer
from your application:
int set_field_buffer(FIELD *field, /* field to alter */
@@ -1817,7 +1833,7 @@ int set_field_buffer(FIELD *field, /* field to alter */
Calling field_buffer() on a field not currently selected for input
will return a correct value. Calling field_buffer() on a field that is
currently selected for input may not necessarily give a correct field
- buffer value, because entered data isn't necessarily copied to buffer
+ buffer value, because entered data is not necessarily copied to buffer
zero before the exit validation check. To guarantee that the returned
buffer value reflects on-screen reality, call field_buffer() either
(1) in the field's exit validation check routine, (2) from the field's
@@ -1877,7 +1893,7 @@ Control of Form Display
erased at post/unpost time. The inner window or subwindow is where the
current form page is actually displayed.
- In order to declare your own frame window for a form, you'll need to
+ In order to declare your own frame window for a form, you will need to
know the size of the form's bounding rectangle. You can get this
information with:
int scale_form(FORM *form, /* form to query */
@@ -2389,13 +2405,12 @@ FIELD *link_fieldtype(FIELDTYPE *type1,
entered.
* A field-validation function to be applied on exit from the field.
- Here's how you do that:
+ Here is how you do that:
typedef int (*HOOK)(); /* pointer to function returning int */
FIELDTYPE *new_fieldtype(HOOK f_validate, /* field validator */
HOOK c_validate) /* character validator */
-
int free_fieldtype(FIELDTYPE *ftype); /* type to free */
At least one of the arguments of new_fieldtype() must be non-NULL. The
@@ -2419,7 +2434,7 @@ int free_fieldtype(FIELDTYPE *ftype); /* type to free */
Your field- and character- validation functions will be passed a
second argument as well. This second argument is the address of a
- structure (which we'll call a pile) built from any of the
+ structure (which we will call a pile) built from any of the
field-type-specific arguments passed to set_field_type(). If no such
arguments are defined for the field type, this pile pointer argument
will be NULL.
@@ -2469,7 +2484,7 @@ int set_fieldtype_arg(FIELDTYPE *type, /* type to alter */
Some custom field types are simply ordered in the same well-defined
way that TYPE_ENUM is. For such types, it is possible to define
successor and predecessor functions to support the REQ_NEXT_CHOICE and
- REQ_PREV_CHOICE requests. Here's how:
+ REQ_PREV_CHOICE requests. Here is how:
typedef int (*INTHOOK)(); /* pointer to function returning int */
int set_fieldtype_arg(FIELDTYPE *type, /* type to alter */