Base version of ncurses-5.7 library
diff --git a/doc/html/Ada95.html b/doc/html/Ada95.html
new file mode 100644
index 0000000..043b9de
--- /dev/null
+++ b/doc/html/Ada95.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+  $Id: Ada95.html,v 1.6 2004/01/18 00:32:47 tom Exp $
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2004 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: clear.1,v 1.3 2000/07/15 23:59:35 china Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>Ada95 Binding for ncurses</Title>
+</HEAD>
+<BODY>
+<H1>Ada95 Binding for ncurses</H1>
+by J&uuml;rgen Pfeifer.
+
+<HR SIZE=3 NOSHADE>
+<H2>General Remarks</H2>
+<UL>
+<LI>This document describes Version 01.00 of the binding.</LI>
+<LI>The functionality is modeled to be compatible with the ncurses
+package, a clone of the SVr4 curses model.<BR>
+I did the development on an Intel box running the latest stable release of
+<A HREF="http://www.linux.org">Linux</A>, ncurses and the most recent released
+<A HREF="http://www.gnat.com">GNU Ada Translator</A>
+gnat versions. For any older versions of ncurses and gnat
+it is not guaranteed to work.</LI>
+<LI>You must have the m4 macroprocessor to build this package.
+If you don't have this program, you can get the FSF version
+<A HREF="ftp://ftp.gnu.org/pub/gnu/">here</A>.</LI>
+<LI>Ada programs are supposed to be readable. One of my
+favorite methods to make code readable is to use expressive
+names for the identifiers. You can find a list of a mapping
+of the cryptic curses names to the Ada names in this <A HREF="ada/table.html">table</A>.</LI>
+<LI>This is not a typical one-to-one interface mapping. It is
+close to one-to-one on the functional level. Each (n)curses function
+has it's counterpart with a more or less similar formal parameter list
+in the binding. It is not one-to-one with respect to the datatypes.
+I tried to make records out of the flat chtype and similar structures,
+so you don't have to do bit operations to mark an attributed character
+as bold. Just make the boolean member <STRONG>bold</STRONG> of the record
+true. The binding also hides the structures like WINDOW, PANEL, MENU, FORM
+etc. ! It's a pure functional API.</LI>
+<LI>I try to do as much error checking as possible and feasible
+in the binding. I will raise an Ada exception when something
+went wrong in the low-level curses. This has the effect that - at least
+first time in my life - (n)curses programs have now a very rigid error
+checking, but - thanks to Ada - you don't have to code the orgiastic
+error checking style of C.</LI>
+<LI>Support for wide characters is currently not in the binding, as it
+is not really in ncurses at this point in time.</LI>
+</UL>
+
+<H2>Limitations</H2>
+<UL>
+<LI>I provide no SCREEN datatype and functions to set a new screen.
+If you need this (mostly for debugging I guess), write a small
+C routine doing all this and import it into your Ada program.</LI>
+<LI>I provide no functions to switch on/off curses tracing options.
+Same suggestion as above.</LI>
+<LI>Although Ada95 is an OO Language, this binding doesn't provide
+an OO abstraction of the (n)curses functionality. As mentioned above
+it's a thin binding for the (n)curses functions. But without any
+doubt it would be nice to build on top of this an OO abstraction
+of (n)curses functionality.<BR>
+The only exception is the method how fieldtypes are represented in
+this Binding. We provide an abstract tagged type Field_Type from
+which the various fieldtypes are derived.</LI>
+<LI>I currently do not support the link_fieldtype functionality of the
+forms subsystem.</LI>
+<LI>The *_IO packages are currently output only.</LI>
+</UL>
+
+<H2>Hierarchy of packages</H2>
+<UL>
+<LI><A HREF="ada/terminal_interface__ads.htm">Terminal_Interface</A>
+    <UL><LI><A HREF="ada/terminal_interface-curses__ads.htm">Curses</A>
+	<UL><LI><A HREF="ada/terminal_interface-curses-mouse__ads.htm">Mouse</A>
+            <LI><A HREF="ada/terminal_interface-curses-panels__ads.htm">Panels</A>
+            <UL><LI><A HREF="ada/terminal_interface-curses-panels-user_data__ads.htm">User_Data</A>
+            </UL>
+	    <LI><A HREF="ada/terminal_interface-curses-menus__ads.htm">Menus</A>
+	        <UL><LI><A HREF="ada/terminal_interface-curses-menus-menu_user_data__ads.htm">Menu_User_Data</A>
+		    <LI><A HREF="ada/terminal_interface-curses-menus-item_user_data__ads.htm">Item_User_Data</A>
+		</UL>
+	    <LI><A HREF="ada/terminal_interface-curses-forms__ads.htm">Forms</A>
+		<UL><LI><A HREF="ada/terminal_interface-curses-forms-form_user_data__ads.htm">Form_User_Data</A>
+		    <LI><A HREF="ada/terminal_interface-curses-forms-field_user_data__ads.htm">Field_User_Data</A>
+		    <LI><A HREF="ada/terminal_interface-curses-forms-field_types__ads.htm">Field_Types</A>
+		    <UL><LI><A HREF="ada/terminal_interface-curses-forms-field_types-alpha__ads.htm">Alpha</A>
+		        <LI><A HREF="ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm">AlphaNumeric</A>
+		        <LI><A HREF="ada/terminal_interface-curses-forms-field_types-intfield__ads.htm">IntField</A>
+		        <LI><A HREF="ada/terminal_interface-curses-forms-field_types-numeric__ads.htm">Numeric</A>
+		        <LI><A HREF="ada/terminal_interface-curses-forms-field_types-regexp__ads.htm">RegExp</A>
+		        <LI><A HREF="ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm">IPV4_Address</A>
+		        <LI><A HREF="ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm">Enumeration</A>
+		        <UL><LI><A HREF="ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm">Ada</A>
+			</UL>
+			<LI><A HREF="ada/terminal_interface-curses-forms-field_types-user__ads.htm">User</A>
+		        <UL><LI><A HREF="ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm">Choice</A>
+                        </UL>
+                     </UL>
+		</UL>
+	    <LI><A HREF="ada/terminal_interface-curses-text_io__ads.htm">Text_IO</A>
+		<UL><LI><A HREF="ada/terminal_interface-curses-text_io-integer_io__ads.htm">Integer_IO</A>
+		    <LI><A HREF="ada/terminal_interface-curses-text_io-float_io__ads.htm">Float_IO</A>
+		    <LI><A HREF="ada/terminal_interface-curses-text_io-fixed_io__ads.htm">Fixed_IO</A>
+		    <LI><A HREF="ada/terminal_interface-curses-text_io-decimal_io__ads.htm">Decimal_IO</A>
+		    <LI><A HREF="ada/terminal_interface-curses-text_io-modular_io__ads.htm">Modular_IO</A>
+		    <LI><A HREF="ada/terminal_interface-curses-text_io-enumeration_io__ads.htm">Enumeration_IO</A>
+		    <LI><A HREF="ada/terminal_interface-curses-text_io-complex_io__ads.htm">Complex_IO</A>
+		</UL>
+         </UL>
+     </UL>
+</UL>
+If you want to navigate through the html pages of the package specs, click <A HREF="ada/index.htm">here</A>.
+<H2>Implementation Details</H2>
+<H4>Behind the abstraction</H4>
+All the new types like <STRONG>Window</STRONG>, <STRONG>Panel</STRONG>,
+<STRONG>Menu</STRONG>, <STRONG>Form</STRONG> etc. are just
+opaque representations of the pointers to the corresponding
+low level (n)curses structures like
+<STRONG>WINDOW *</STRONG>, <STRONG>PANEL *</STRONG>,
+<STRONG>MENU *</STRONG> or <STRONG>FORM *</STRONG>.
+So you can safely pass them to C routines that expect a pointer
+to one of those structures.
+<H4>Extended ripoffline() usage</H4>
+The official documentation of (n)curses says, that the line parameter
+determines only whether or not exactly <STRONG>one</STRONG> line is
+stolen from the top or bottom of the screen. So essentially only the
+sign of the parameter is evaluated. ncurses has internally implemented
+it in a way, that uses the line parameter also to control the amount of
+lines to steal. This mechanism is used in the <STRONG>Rip_Off_Lines</STRONG>
+routine of the binding.
+<H4><A NAME="userpointer">How user defined field types work</A></H4>
+TBD
+<H4>Enumeration fields handling</H4>
+The (n)curses documentation says, that the String arrays to be passed to
+an TYPE_ENUM fieldtype must not be automatic variables. This is not true
+in this binding, because it is internally arranged to safely copy these
+values.
+<H4><A NAME="compiler">Using other Ada compilers</A></H4>
+This should basically not be a problem.
+<H4>Port to other curses implementations</H4>
+Basically it should not be too hard to make all this run on a regular SVr4
+implementation of curses. The problems are probably these:<BR>
+<UL>
+<LI>ncurses has some additional features which are presented in this binding. You
+have two choices to deal with this:
+<UL>
+<LI>Emulate the feature in this binding</LI>
+<LI>Raise an exception for non implemented features</LI>
+</UL>
+Most likely you will follow a mixed approach. Some features are easy to simulate,
+others will be hard if not impossible.</LI>
+</UL>
+I'm quite sure I forgot something.
+</BODY>
+</HTML>
diff --git a/doc/html/NCURSES-Programming-HOWTO.html b/doc/html/NCURSES-Programming-HOWTO.html
new file mode 100644
index 0000000..3a10106
--- /dev/null
+++ b/doc/html/NCURSES-Programming-HOWTO.html
@@ -0,0 +1,6413 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta name="generator" content=
+"HTML Tidy for Linux/x86 (vers 1st December 2004), see www.w3.org">
+<title>NCURSES Programming HOWTO</title>
+<meta name="GENERATOR" content=
+"Modular DocBook HTML Stylesheet Version 1.7">
+</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">
+<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><em>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></em></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>
+<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>
+</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>
+<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>
+<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>
+<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>
+</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>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">echo "^[[0;31;40mIn Color"</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">echo "^[[0;37;40m"</font>
+</pre></td>
+</tr>
+</table>
+<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 <var class=
+"LITERAL">termcap</var>. 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 <var class="LITERAL">terminfo</var>.
+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><em>Compiling the package</em></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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">    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</font>
+</pre></td>
+</tr>
+</table>
+<p><em>Using the RPM</em></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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    rpm -i &lt;downloaded rpm&gt;</font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">ncurses
+   |
+   |----&gt; JustForFun     -- just for fun programs
+   |----&gt; basics         -- basic programs
+   |----&gt; demo           -- output files go into this directory after make
+   |          |
+   |          |----&gt; exe -- exe files of all example programs
+   |----&gt; forms          -- programs related to form library
+   |----&gt; menus          -- programs related to menus library
+   |----&gt; panels         -- programs related to panels library
+   |----&gt; perl           -- perl equivalents of the examples (contributed
+   |                            by Anuradha Ratnaweera)
+   |----&gt; Makefile       -- the top level Makefile
+   |----&gt; README         -- the top level README file. contains instructions
+   |----&gt; COPYING        -- copyright notice</font>
+</pre></td>
+</tr>
+</table>
+<p>The individual directories contain the following files.</p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">Description of files in each directory
+--------------------------------------
+JustForFun
+    |
+    |----&gt; hanoi.c   -- The Towers of Hanoi Solver
+    |----&gt; life.c    -- The Game of Life demo
+    |----&gt; magic.c   -- An Odd Order Magic Square builder 
+    |----&gt; queens.c  -- The famous N-Queens Solver
+    |----&gt; shuffle.c -- A fun game, if you have time to kill
+    |----&gt; tt.c      -- A very trivial typing tutor
+
+  basics
+    |
+    |----&gt; acs_vars.c            -- ACS_ variables example
+    |----&gt; hello_world.c         -- Simple "Hello World" Program
+    |----&gt; init_func_example.c   -- Initialization functions example
+    |----&gt; key_code.c            -- Shows the scan code of the key pressed
+    |----&gt; mouse_menu.c          -- A menu accessible by mouse
+    |----&gt; other_border.c        -- Shows usage of other border functions apa
+    |                               -- rt from box()
+    |----&gt; printw_example.c      -- A very simple printw() example
+    |----&gt; scanw_example.c       -- A very simple getstr() example
+    |----&gt; simple_attr.c         -- A program that can print a c file with 
+    |                               -- comments in attribute
+    |----&gt; simple_color.c        -- A simple example demonstrating colors
+    |----&gt; simple_key.c          -- A menu accessible with keyboard UP, DOWN 
+    |                               -- arrows
+    |----&gt; temp_leave.c          -- Demonstrates temporarily leaving curses mode
+    |----&gt; win_border.c          -- Shows Creation of windows and borders
+    |----&gt; with_chgat.c          -- chgat() usage example
+
+  forms 
+    |
+    |----&gt; form_attrib.c     -- Usage of field attributes
+    |----&gt; form_options.c    -- Usage of field options
+    |----&gt; form_simple.c     -- A simple form example
+    |----&gt; form_win.c        -- Demo of windows associated with forms
+
+  menus 
+    |
+    |----&gt; menu_attrib.c     -- Usage of menu attributes
+    |----&gt; menu_item_data.c  -- Usage of item_name() etc.. functions
+    |----&gt; menu_multi_column.c    -- Creates multi columnar menus
+    |----&gt; menu_scroll.c     -- Demonstrates scrolling capability of menus
+    |----&gt; menu_simple.c     -- A simple menu accessed by arrow keys
+    |----&gt; menu_toggle.c     -- Creates multi valued menus and explains
+    |                           -- REQ_TOGGLE_ITEM
+    |----&gt; menu_userptr.c    -- Usage of user pointer
+    |----&gt; menu_win.c        -- Demo of windows associated with menus
+
+  panels 
+    |
+    |----&gt; panel_browse.c    -- Panel browsing through tab. Usage of user 
+    |                           -- pointer
+    |----&gt; panel_hide.c      -- Hiding and Un hiding of panels
+    |----&gt; panel_resize.c    -- Moving and resizing of panels
+    |----&gt; panel_simple.c    -- A simple panel example
+
+  perl
+    |----&gt; 01-10.pl          -- Perl equivalents of first ten example programs</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">&#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/
+        NCURSES-HOWTO/ncurses_programs.tar.gz
+
+    Unzip ncurses_programs.tar.gz with
+    tar zxvf ncurses_programs.tar.gz
+
+    Use jade to create various formats. For example if you just want to create
+    the multiple html files, you would use
+        jade -t sgml -i html -d &lt;path to docbook html stylesheet&gt;
+        NCURSES-Programming-HOWTO.sgml
+    to get pdf, first create a single html file of the HOWTO with 
+        jade -t sgml -i html -d &lt;path to docbook html stylesheet&gt; -V nochunks
+        NCURSES-Programming-HOWTO.sgml &gt; NCURSES-ONE-BIG-FILE.html
+    then use htmldoc to get pdf file with
+        htmldoc --size universal -t pdf --firstpage p1 -f &lt;output file name.pdf&gt;
+        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</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    #include &lt;ncurses.h&gt;
+    .
+    .
+    .
+
+    compile and link: gcc &lt;program file&gt; -lncurses</font>
+</pre></td>
+</tr>
+</table>
+<div class="EXAMPLE"><a name="BHW" id="BHW"></a>
+<p><b>Example 1. The Hello World !!! Program</b></p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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></font>
+</pre></td>
+</tr>
+</table>
+</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 <var class=
+"LITERAL">stdscr</var>) 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 <var class="LITERAL">cbreak()</var> 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. <var class="LITERAL">noecho()</var> 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 <var class=
+"LITERAL">noecho()</var> 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 <var class="LITERAL">keypad(stdscr,
+TRUE)</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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></font>
+</pre></td>
+</tr>
+</table>
+</div>
+<p>This program is self-explanatory. But I used functions which
+aren't explained yet. The function <var class=
+"LITERAL">getch()</var> is used to get a character from user. It is
+equivalent to normal <var class="LITERAL">getchar()</var> except
+that we can disable the line buffering to avoid &lt;enter&gt; after
+input. Look for more about <var class="LITERAL">getch()</var>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 <var class="LITERAL">stdscr</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    printw("Hi There !!!");
+    refresh();</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    wprintw(win, "Hi There !!!");
+    wrefresh(win);</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">    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         */</font>
+</pre></td>
+</tr>
+</table>
+<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
+<var class="LITERAL">ncurses.h</var>. For example, you want to
+print a character ch(of type char) bold and underlined, you would
+call addch() as below.</p>
+<table border="0" bgcolor="#E0E0E0" width="90%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    addch(ch | A_BOLD | A_UNDERLINE);</font>
+</pre></td>
+</tr>
+</table>
+</li>
+<li>
+<p>By using functions like <var class=
+"LITERAL">attrset(),attron(),attroff()</var>. 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, <var class="LITERAL">curses</var> 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 <var class=
+"LITERAL">ncurses.h</var>. Try looking for macros beginning with
+<var class="LITERAL">ACS_</var> 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><var class="LITERAL">mvaddch()</var> is used to move the cursor
+to a given point, and then print. Thus, the calls:</p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">    move(row,col);    /* moves the cursor to row<em>th</em> row and col<em>th</em> column */
+    addch(ch);</font>
+</pre></td>
+</tr>
+</table>
+can be replaced by
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    mvaddch(row,col,ch);</font>
+</pre></td>
+</tr>
+</table>
+<p><var class="LITERAL">waddch()</var> is similar to <var class=
+"LITERAL">addch()</var>, except that it adds a character into the
+given window. (Note that <var class="LITERAL">addch()</var> adds a
+character into the window <var class="LITERAL">stdscr</var>.)</p>
+<p>In a similar fashion <var class="LITERAL">mvwaddch()</var>
+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 <var class=
+"LITERAL">addch()</var>. But, if we want to print a string, it
+would be very annoying to print it character by character.
+Fortunately, <var class="LITERAL">ncurses</var> provides
+<var class="LITERAL">printf</var><em>-like</em> or <var class=
+"LITERAL">puts</var><em>-like</em> 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 <var class=
+"LITERAL">printf()</var> 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 <var class=
+"LITERAL">printf()</var>. <var class="LITERAL">mvprintw()</var> 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 <var class=
+"LITERAL">printw()</var> function, use <var class=
+"LITERAL">move()</var> first and then use <var class=
+"LITERAL">printw()</var> though I see no point why one should avoid
+using <var class="LITERAL">mvprintw()</var>, 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.
+vwprintw()</a></h4>
+<p>This function is similar to <var class=
+"LITERAL">vprintf()</var>. 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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 */
+ mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg);
+                                        /* 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();
+ getch();
+ endwin();
+
+ return 0;
+}</span></font>
+</pre></td>
+</tr>
+</table>
+</div>
+<p>Above program demonstrates how easy it is to use <var class=
+"LITERAL">printw</var>. 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 <var class=
+"LITERAL">getmaxyx()</var>, a macro defined in <var class=
+"LITERAL">ncurses.h</var>. It gives the number of columns and the
+number of rows in a given window. <var class=
+"LITERAL">getmaxyx()</var> does this by updating the variables
+given to it. Since <var class="LITERAL">getmaxyx()</var> 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><var class="LITERAL">addstr()</var> is used to put a character
+string into a given window. This function is similar to calling
+<var class="LITERAL">addch()</var> once for each character in a
+given string. This is true for all output functions. There are
+other functions from this family such as <var class=
+"LITERAL">mvaddstr(),mvwaddstr()</var> and <var class=
+"LITERAL">waddstr()</var>, 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 <var class=
+"LITERAL">scanf()</var> 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 <var class=
+"LITERAL">sscanf()</var>, where the line to be scanned is provided
+by <var class="LITERAL">wgetstr()</var> function. That is, these
+functions call to <var class="LITERAL">wgetstr()</var>
+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.
+vwscanw()</a></h4>
+<p>This function is similar to <var class="LITERAL">vscanf()</var>.
+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 <var class="LITERAL">getch()</var> until a
+newline, carriage return, or end-of-file is received. The resulting
+string of characters are pointed to by <var class=
+"LITERAL">str</var>, 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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 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 */
+ mvprintw(row/2,(col-strlen(mesg))/2,"%s",mesg);
+                                /* print the message at the center of the screen */
+ getstr(str);
+ mvprintw(LINES - 2, 0, "You Entered: %s", str);
+ getch();
+ endwin();
+
+ return 0;
+}</span></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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[])
+{ 
+  int ch, prev, row, col;
+  prev = EOF;
+  FILE *fp;
+  int y, x;
+
+  if(argc != 2)
+  {
+    printf("Usage: %s &lt;a c file name&gt;\n", argv[0]);
+    exit(1);
+  }
+  fp = fopen(argv[1], "r");
+  if(fp == NULL)
+  {
+    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 */
+  {
+    getyx(stdscr, y, x);                /* get the current curser position */
+    if(y == (row - 1))                  /* are we are at the end of the screen */
+    {
+      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 */
+    }
+    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 */
+    }
+    else
+      printw("%c", ch);
+    refresh();
+    if(prev == '*' &amp;&amp; ch == '/')
+      attroff(A_BOLD);                  /* Switch it off once we got *
+                                         * and then / */
+    prev = ch;
+  }
+  endwin();                             /* End curses mode */
+  fclose(fp);
+  return 0;
+}</span></font>
+</pre></td>
+</tr>
+</table>
+</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 <var class=
+"LITERAL">attron()</var> . When we get the pattern */ it is
+switched off by <var class="LITERAL">attroff()</var> .</p>
+<p>The above program also introduces us to two useful functions
+<var class="LITERAL">getyx()</var> and <var class=
+"LITERAL">move()</var>. 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
+<var class="LITERAL">move()</var> 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
+<var class="LITERAL">attron(), attroff(), attrset()</var> , and
+their sister functions <var class="LITERAL">attr_get()</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    
+    A_NORMAL        Normal display (no highlight)
+    A_STANDOUT      Best highlighting mode of the terminal.
+    A_UNDERLINE     Underlining
+    A_REVERSE       Reverse video
+    A_BLINK         Blinking
+    A_DIM           Half bright
+    A_BOLD          Extra bright or bold
+    A_PROTECT       Protected mode
+    A_INVIS         Invisible or blank mode
+    A_ALTCHARSET    Alternate character set
+    A_CHARTEXT      Bit-mask to extract a character
+    COLOR_PAIR(n)   Color-pair number n 
+    </font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    attron(A_REVERSE | A_BLINK);</font>
+</pre></td>
+</tr>
+</table>
+</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 <var class=
+"LITERAL">standend()</var> which is equivalent to <var class=
+"LITERAL">attrset(A_NORMAL)</var> which turns off all attributes
+and brings you to normal mode.</p>
+</div>
+<div class="SECT2">
+<hr>
+<h3 class="SECT2"><a name="ATTR_GET" id="ATTR_GET">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="ATTR_FUNCS" id="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 <var class="LITERAL">attr_t</var>.</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    chgat(-1, A_REVERSE, 0, NULL);</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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></font>
+</pre></td>
+</tr>
+</table>
+</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 <var class=
+"LITERAL">newwin()</var>. 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
+<var class="LITERAL">box()</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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 *create_newwin(int height, int width, int starty, int startx)
+{       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                */
+
+        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></font>
+</pre></td>
+</tr>
+</table>
+</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 <var class="LITERAL">create_newwin()</var> function creates
+a window with <var class="LITERAL">newwin()</var> and displays a
+border around it with box. The function <var class=
+"LITERAL">destroy_win()</var> first erases the window from screen
+by painting a border with ' ' character and then calling
+<var class="LITERAL">delwin()</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">    wborder(win, '|', '|', '-', '-', '+', '+', '+', '+');</font>
+</pre></td>
+</tr>
+</table>
+<p>it produces some thing like</p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    +------------+
+    |            |
+    |            |
+    |            |
+    |            |
+    |            |
+    |            |
+    +------------+</font>
+</pre></td>
+</tr>
+</table>
+</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 <var class="LITERAL">getch()</var> 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 <var class="LITERAL">mvhline()</var>
+and <var class="LITERAL">mvvline()</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><span class=
+"INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt;
+
+typedef struct _win_border_struct {
+        chtype  ls, rs, ts, bs, 
+                tl, tr, bl, br;
+}WIN_BORDER;
+
+typedef struct _WIN_struct {
+
+        int startx, starty;
+        int height, width;
+        WIN_BORDER border;
+}WIN;
+
+void init_win_params(WIN *p_win);
+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(&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-&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-&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-&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></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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();
+}
+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();
+}
+</span></font>
+</pre></td>
+</tr>
+</table>
+</div>
+<p>As you can see, to start using color, you should first call the
+function <var class="LITERAL">start_color()</var>. 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 <var class="LITERAL">has_colors()</var> 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 <var class="LITERAL">COLOR_BLACK</var> 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
+<var class="LITERAL">init_pair()</var> 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 <var class=
+"LITERAL">COLOR_PAIR()</var>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 <var class=
+"LITERAL">curses.h</var>. You can use these as parameters for
+various color functions.</p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">        COLOR_BLACK   0
+        COLOR_RED     1
+        COLOR_GREEN   2
+        COLOR_YELLOW  3
+        COLOR_BLUE    4
+        COLOR_MAGENTA 5
+        COLOR_CYAN    6
+        COLOR_WHITE   7</font>
+</pre></td>
+</tr>
+</table>
+</div>
+<div class="SECT2">
+<hr>
+<h3 class="SECT2"><a name="CHANGECOLORDEFS" id=
+"CHANGECOLORDEFS">10.2. Changing Color Definitions</a></h3>
+<p>The function <var class="LITERAL">init_color()</var>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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    init_color(COLOR_RED, 700, 0, 0);
+    /* param 1     : color name
+     * param 2, 3, 4 : rgb content min = 0, max = 1000 */</font>
+</pre></td>
+</tr>
+</table>
+<p>If your terminal cannot change the color definitions, the
+function returns ERR. The function <var class=
+"LITERAL">can_change_color()</var> 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 <var class="LITERAL">color_content()</var> and
+<var class="LITERAL">pair_content()</var> 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 <var class="LITERAL">getch()</var> 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><var class="LITERAL">getch()</var> 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
+<var class="LITERAL">curses.h</var>. 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    int ch;
+
+    ch = getch();</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    if(ch == KEY_LEFT)
+        printw("Left arrow is pressed\n");</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><span class=
+"INLINEMEDIAOBJECT">#include &lt;stdio.h&gt;
+#include &lt;ncurses.h&gt;
+
+#define WIDTH 30
+#define HEIGHT 10 
+
+int startx = 0;
+int starty = 0;
+
+char *choices[] = { 
+                        "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;
+}
+
+
+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 &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></font>
+</pre></td>
+</tr>
+</table>
+</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 <var class="LITERAL">mousemask()</var>.</p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">    mousemask(  mmask_t newmask,    /* The events you want to listen to */
+                mmask_t *oldmask)    /* The old events mask                */</font>
+</pre></td>
+</tr>
+</table>
+<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 <var class="LITERAL">ALL_MOUSE_EVENTS</var> can
+be used to get all the events.</p>
+<p>The following are all the event masks:</p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    Name            Description
+       ---------------------------------------------------------------------
+       BUTTON1_PRESSED          mouse button 1 down
+       BUTTON1_RELEASED         mouse button 1 up
+       BUTTON1_CLICKED          mouse button 1 clicked
+       BUTTON1_DOUBLE_CLICKED   mouse button 1 double clicked
+       BUTTON1_TRIPLE_CLICKED   mouse button 1 triple clicked
+       BUTTON2_PRESSED          mouse button 2 down
+       BUTTON2_RELEASED         mouse button 2 up
+       BUTTON2_CLICKED          mouse button 2 clicked
+       BUTTON2_DOUBLE_CLICKED   mouse button 2 double clicked
+       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
+       BUTTON4_PRESSED          mouse button 4 down
+       BUTTON4_RELEASED         mouse button 4 up
+       BUTTON4_CLICKED          mouse button 4 clicked
+       BUTTON4_DOUBLE_CLICKED   mouse button 4 double clicked
+       BUTTON4_TRIPLE_CLICKED   mouse button 4 triple clicked
+       BUTTON_SHIFT             shift was down during button state change
+       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</font>
+</pre></td>
+</tr>
+</table>
+</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 <var class=
+"LITERAL">getmouse()</var>.</p>
+<p>The code approximately looks like this:</p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    MEVENT event;
+
+    ch = getch();
+    if(ch == KEY_MOUSE)
+        if(getmouse(&amp;event) == OK)
+            .    /* Do some thing with the event */
+            .
+            .</font>
+</pre></td>
+</tr>
+</table>
+<p>getmouse() returns the event into the pointer given to it. It's
+a structure which contains</p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    typedef struct
+    {
+        short id;         /* ID to distinguish multiple devices */
+        int x, y, z;      /* event coordinates */
+        mmask_t bstate;   /* button state bits */
+    }    </font>
+</pre></td>
+</tr>
+</table>
+<p>The <var class="LITERAL">bstate</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    if(event.bstate &amp; BUTTON1_PRESSED)
+        printw("Left Button Pressed");</font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><span class=
+"INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt;
+
+#define WIDTH 30
+#define HEIGHT 10 
+
+int startx = 0;
+int starty = 0;
+
+char *choices[] = {     "Choice 1",
+                        "Choice 2",
+                        "Choice 3",
+                        "Choice 4",
+                        "Exit",
+                  };
+
+int n_choices = sizeof(choices) / sizeof(char *);
+
+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(&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;
+}
+
+
+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 &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 &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></font>
+</pre></td>
+</tr>
+</table>
+</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 <var class="LITERAL">getyx()</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    getyx(win, y, x);
+    /* win: window pointer
+     *   y, x: y, x co-ordinates will be put into this variables 
+     */</font>
+</pre></td>
+</tr>
+</table>
+<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 <var class=
+"LITERAL">putwin()</var> and <var class="LITERAL">getwin()</var>
+can be used. <var class="LITERAL">putwin()</var> puts the present
+window state into a file, which can be later restored by
+<var class="LITERAL">getwin()</var>.</p>
+<p>The function <var class="LITERAL">copywin()</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    0 : invisible      or
+    1 : normal    or
+    2 : very visible.</font>
+</pre></td>
+</tr>
+</table>
+</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 <var class=
+"LITERAL">def_prog_mode()</var> and then call <var class=
+"LITERAL">endwin()</var> to end the curses mode. This will leave
+you in the original tty mode. To get back to curses once you are
+done, call <var class="LITERAL">reset_prog_mode()</var> . This
+function returns the tty to the state stored by <var class=
+"LITERAL">def_prog_mode()</var>. 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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></font>
+</pre></td>
+</tr>
+</table>
+</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 <var class=
+"LITERAL">box()</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><span class=
+"INLINEMEDIAOBJECT">#include &lt;ncurses.h&gt;
+
+int main()
+{
+        initscr();
+
+        printw("Upper left corner           "); addch(ACS_ULCORNER); printw("\n"); 
+        printw("Lower left corner           "); addch(ACS_LLCORNER); printw("\n");
+        printw("Lower right corner          "); addch(ACS_LRCORNER); printw("\n");
+        printw("Tee pointing right          "); addch(ACS_LTEE); printw("\n");
+        printw("Tee pointing left           "); addch(ACS_RTEE); printw("\n");
+        printw("Tee pointing up             "); addch(ACS_BTEE); printw("\n");
+        printw("Tee pointing down           "); addch(ACS_TTEE); printw("\n");
+        printw("Horizontal line             "); addch(ACS_HLINE); printw("\n");
+        printw("Vertical line               "); addch(ACS_VLINE); printw("\n");
+        printw("Large Plus or cross over    "); addch(ACS_PLUS); printw("\n");
+        printw("Scan Line 1                 "); addch(ACS_S1); printw("\n");
+        printw("Scan Line 3                 "); addch(ACS_S3); printw("\n");
+        printw("Scan Line 7                 "); addch(ACS_S7); printw("\n");
+        printw("Scan Line 9                 "); addch(ACS_S9); printw("\n");
+        printw("Diamond                     "); addch(ACS_DIAMOND); printw("\n");
+        printw("Checker board (stipple)     "); addch(ACS_CKBOARD); printw("\n");
+        printw("Degree Symbol               "); addch(ACS_DEGREE); printw("\n");
+        printw("Plus/Minus Symbol           "); addch(ACS_PLMINUS); printw("\n");
+        printw("Bullet                      "); addch(ACS_BULLET); printw("\n");
+        printw("Arrow Pointing Left         "); addch(ACS_LARROW); printw("\n");
+        printw("Arrow Pointing Right        "); addch(ACS_RARROW); printw("\n");
+        printw("Arrow Pointing Down         "); addch(ACS_DARROW); printw("\n");
+        printw("Arrow Pointing Up           "); addch(ACS_UARROW); printw("\n");
+        printw("Board of squares            "); addch(ACS_BOARD); printw("\n");
+        printw("Lantern Symbol              "); addch(ACS_LANTERN); printw("\n");
+        printw("Solid Square Block          "); addch(ACS_BLOCK); printw("\n");
+        printw("Less/Equal sign             "); addch(ACS_LEQUAL); printw("\n");
+        printw("Greater/Equal sign          "); addch(ACS_GEQUAL); printw("\n");
+        printw("Pi                          "); addch(ACS_PI); printw("\n");
+        printw("Not equal                   "); addch(ACS_NEQUAL); printw("\n");
+        printw("UK pound sign               "); addch(ACS_STERLING); printw("\n");
+
+        refresh();
+        getch();
+        endwin();
+
+        return 0;
+}</span></font>
+</pre></td>
+</tr>
+</table>
+</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><em>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.</em></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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    #include &lt;panel.h&gt;
+    .
+    .
+    .
+
+    compile and link: gcc &lt;program file&gt; -lpanel -lncurses</font>
+</pre></td>
+</tr>
+</table>
+<div class="EXAMPLE"><a name="PPASI" id="PPASI"></a>
+<p><b>Example 14. Panel basics</b></p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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 &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></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><span class=
+"INLINEMEDIAOBJECT">#include &lt;panel.h&gt;
+
+#define NLINES 10
+#define NCOLS 40
+
+void init_wins(WINDOW **wins, int n);
+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;
+}
+
+/* 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 &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;
+
+        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));
+}
+
+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></font>
+</pre></td>
+</tr>
+</table>
+</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 <var class="LITERAL">set_panel_userptr()</var>. It can be
+accessed using the function <var class=
+"LITERAL">panel_userptr()</var> 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 <var class="LITERAL">move_panel()</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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;
+}PANEL_DATA;
+
+#define NLINES 10
+#define NCOLS 40
+
+void init_wins(WINDOW **wins, int n);
+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);
+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-&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 &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 &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;
+
+        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));
+}
+
+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></font>
+</pre></td>
+</tr>
+</table>
+</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 <var class="LITERAL">panel_hidden()</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><span class=
+"INLINEMEDIAOBJECT">#include &lt;panel.h&gt;
+
+typedef struct _PANEL_DATA {
+        int hide;       /* TRUE if panel is hidden */
+}PANEL_DATA;
+
+#define NLINES 10
+#define NCOLS 40
+
+void init_wins(WINDOW **wins, int n);
+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], &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 &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;
+
+        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));
+}
+
+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></font>
+</pre></td>
+</tr>
+</table>
+</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 <var class="LITERAL">panel_above()</var> and
+<var class="LITERAL">panel_below()</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    #include &lt;menu.h&gt;
+    .
+    .
+    .
+
+    compile and link: gcc &lt;program file&gt; -lmenu -lncurses</font>
+</pre></td>
+</tr>
+</table>
+<div class="EXAMPLE"><a name="MMESI" id="MMESI"></a>
+<p><b>Example 18. Menu Basics</b></p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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
+
+char *choices[] = {
+                        "Choice 1",
+                        "Choice 2",
+                        "Choice 3",
+                        "Choice 4",
+                        "Exit",
+                  };
+
+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 &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></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">&#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.
+     REQ_SCR_ULINE       Scroll up a line.
+     REQ_SCR_DLINE          Scroll down a line.
+     REQ_SCR_DPAGE          Scroll down a page.
+     REQ_SCR_UPAGE         Scroll up a page.
+     REQ_FIRST_ITEM     Move to the first item.
+     REQ_LAST_ITEM         Move to the last item.
+     REQ_NEXT_ITEM         Move to the next item.
+     REQ_PREV_ITEM         Move to the previous item. 
+     REQ_TOGGLE_ITEM     Select/deselect an item.
+     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;</font>
+</pre></td>
+</tr>
+</table>
+<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><em>REQ_LEFT_ITEM and REQ_RIGHT_ITEM</em></p>
+<p>A Menu can be displayed with multiple columns for more than one
+item. This can be done by using the <var class=
+"LITERAL">menu_format()</var>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><em>REQ_UP_ITEM and REQ_DOWN_ITEM</em></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><em>REQ_SCR_* options</em></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><em>REQ_FIRST_ITEM, REQ_LAST_ITEM, REQ_NEXT_ITEM and
+REQ_PREV_ITEM</em></p>
+<p>These requests are self explanatory.</p>
+</li>
+<li>
+<p><em>REQ_TOGGLE_ITEM</em></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><em>Pattern Requests</em></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><em>Mouse Requests</em></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>
+<table border="0" bgcolor="#E0E0E0" width="90%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000"><em>       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;
+       tion  window)  are handled. If you click above the display
+       region of the menu, a REQ_SCR_ULINE is generated,  if  you
+       doubleclick  a  REQ_SCR_UPAGE  is  generated  and  if  you
+       tripleclick a REQ_FIRST_ITEM is generated.  If  you  click
+       below  the  display region of the menu, a REQ_SCR_DLINE is
+       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.</em></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><span class=
+"INLINEMEDIAOBJECT">#include &lt;menu.h&gt;
+
+#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
+#define CTRLD   4
+
+char *choices[] = {
+                        "Choice 1",
+                        "Choice 2",
+                        "Choice 3",
+                        "Choice 4",
+                        "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;
+        WINDOW *my_menu_win;
+        int n_choices, i;
+        
+        /* Initialize curses */
+        initscr();
+        start_color();
+        cbreak();
+        noecho();
+        keypad(stdscr, TRUE);
+        init_pair(1, COLOR_RED, COLOR_BLACK);
+
+        /* Create items */
+        n_choices = ARRAY_SIZE(choices);
+        my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *));
+        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);
+
+        /* 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_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(my_menu, " * ");
+
+        /* 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();
+        
+        /* 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_menu(my_menu);
+        free_menu(my_menu);
+        for(i = 0; i &lt; n_choices; ++i)
+                free_item(my_items[i]);
+        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></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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
+
+char *choices[] = {
+                        "Choice 1",
+                        "Choice 2",
+                        "Choice 3",
+                        "Choice 4",
+                        "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;
+        WINDOW *my_menu_win;
+        int n_choices, i;
+        
+        /* Initialize curses */
+        initscr();
+        start_color();
+        cbreak();
+        noecho();
+        keypad(stdscr, TRUE);
+        init_pair(1, COLOR_RED, COLOR_BLACK);
+        init_pair(2, COLOR_CYAN, COLOR_BLACK);
+
+        /* Create items */
+        n_choices = ARRAY_SIZE(choices);
+        my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *));
+        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);
+
+        /* 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_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_mark(my_menu, " * ");
+
+        /* 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);
+        
+        /* 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;
+                }
+                wrefresh(my_menu_win);
+        }       
+
+        /* Unpost and free all the memory taken up */
+        unpost_menu(my_menu);
+        free_menu(my_menu);
+        for(i = 0; i &lt; n_choices; ++i)
+                free_item(my_items[i]);
+        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></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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
+
+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",
+                        "Exit",
+                        (char *)NULL,
+                  };
+
+int main()
+{       ITEM **my_items;
+        int c;                          
+        MENU *my_menu;
+        WINDOW *my_menu_win;
+        int n_choices, i;
+        
+        /* Initialize curses */
+        initscr();
+        start_color();
+        cbreak();
+        noecho();
+        keypad(stdscr, TRUE);
+        init_pair(1, COLOR_RED, COLOR_BLACK);
+        init_pair(2, COLOR_CYAN, COLOR_BLACK);
+
+        /* Create items */
+        n_choices = ARRAY_SIZE(choices);
+        my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *));
+        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);
+
+        /* Set menu option not to show the description */
+        menu_opts_off(my_menu, O_SHOWDESC);
+
+        /* 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_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, " * ");
+
+        /* 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;
+                }
+                wrefresh(my_menu_win);
+        }       
+
+        /* Unpost and free all the memory taken up */
+        unpost_menu(my_menu);
+        free_menu(my_menu);
+        for(i = 0; i &lt; n_choices; ++i)
+                free_item(my_items[i]);
+        endwin();
+}</span></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">       O_ONEVALUE
+            Only one item can be selected for this menu.
+
+       O_SHOWDESC
+            Display  the  item  descriptions  when  the  menu  is
+            posted.
+
+       O_ROWMAJOR
+            Display the menu in row-major order.
+
+       O_IGNORECASE
+            Ignore the case when pattern-matching.
+
+       O_SHOWMATCH
+            Move the cursor to within the item  name  while  pat&shy;
+            tern-matching.
+
+       O_NONCYCLIC
+            Don't   wrap   around  next-item  and  previous-item,
+            requests to the other end of the menu.</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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
+
+char *choices[] = {
+                        "Choice 1",
+                        "Choice 2",
+                        "Choice 3",
+                        "Choice 4",
+                        "Choice 5",
+                        "Choice 6",
+                        "Choice 7",
+                        "Exit",
+                  };
+
+int main()
+{       ITEM **my_items;
+        int c;                          
+        MENU *my_menu;
+        int n_choices, i;
+        ITEM *cur_item;
+        
+        /* Initialize curses */ 
+        initscr();
+        cbreak();
+        noecho();
+        keypad(stdscr, TRUE);
+
+        /* Initialize items */
+        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);
+
+        /* 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();
+}
+        </span></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><span class=
+"INLINEMEDIAOBJECT">#include &lt;menu.h&gt;
+
+#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
+#define CTRLD   4
+
+char *choices[] = {
+                        "Choice 1",
+                        "Choice 2",
+                        "Choice 3",
+                        "Choice 4",
+                        "Choice 5",
+                        "Choice 6",
+                        "Choice 7",
+                        "Exit",
+                  };
+
+int main()
+{       ITEM **my_items;
+        int c;                          
+        MENU *my_menu;
+        int n_choices, i;
+        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);
+
+        /* Initialize items */
+        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;
+        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></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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
+
+char *choices[] = {
+                        "Choice 1",
+                        "Choice 2",
+                        "Choice 3",
+                        "Choice 4",
+                        "Choice 5",
+                        "Choice 6",
+                        "Choice 7",
+                        "Exit",
+                  };
+void func(char *name);
+
+int main()
+{       ITEM **my_items;
+        int c;                          
+        MENU *my_menu;
+        int n_choices, i;
+        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);
+
+        /* Initialize items */
+        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]);
+                /* 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></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">    #include &lt;form.h&gt;
+    .
+    .
+    .
+
+    compile and link: gcc &lt;program file&gt; -lform -lncurses</font>
+</pre></td>
+</tr>
+</table>
+<div class="EXAMPLE"><a name="FFOSI" id="FFOSI"></a>
+<p><b>Example 25. Forms Basics</b></p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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></font>
+</pre></td>
+</tr>
+</table>
+</div>
+<p>Above example is pretty straight forward. It creates two fields
+with <var class="LITERAL">new_field()</var>. 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">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 */</font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">int move_field(    FIELD *field,              /* field to alter */
+                   int top, int left);        /* new upper-left corner */</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">    int set_field_just(FIELD *field,          /* field to alter */
+               int justmode);         /* mode to set */
+    int field_just(FIELD *field);          /* fetch justify mode of field */</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">&#13;int set_field_fore(FIELD *field,        /* field to alter */
+                   chtype attr);        /* attribute to set */ 
+
+chtype field_fore(FIELD *field);        /* field to query */
+                                        /* returns foreground attribute */
+
+int set_field_back(FIELD *field,        /* field to alter */
+                   chtype attr);        /* attribute to set */ 
+
+chtype field_back(FIELD *field);        /* field to query */
+                                        /* returns background attribute */
+
+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;</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">int set_field_opts(FIELD *field,          /* field to alter */
+                   int attr);             /* attribute to set */ 
+
+int field_opts_on(FIELD *field,           /* field to alter */
+                  int attr);              /* attributes to turn on */ 
+
+int field_opts_off(FIELD *field,          /* field to alter */
+                  int attr);              /* attributes to turn off */ 
+
+int field_opts(FIELD *field);             /* field to query */ </font>
+</pre></td>
+</tr>
+</table>
+<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 <var class=
+"LITERAL">REQ_PREV_CHOICE</var> and <var class=
+"LITERAL">REQ_NEXT_CHOICE</var>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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><span class=
+"INLINEMEDIAOBJECT">#include &lt;form.h&gt;
+
+#define STARTX 15
+#define STARTY 4
+#define WIDTH 25
+
+#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 &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></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">int set_field_status(FIELD *field,      /* field to alter */
+                   int status);         /* status to set */
+
+int field_status(FIELD *field);         /* fetch status of field */</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">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 */</font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">    field_opts_off(field_pointer, O_STATIC);</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">int set_max_field(FIELD *field,    /* Field on which to operate */
+                  int max_growth); /* maximum growth allowed for the field */</font>
+</pre></td>
+</tr>
+</table>
+<p>The field info for a dynamically growable field can be retrieved
+by</p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">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 */</font>
+</pre></td>
+</tr>
+</table>
+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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000"><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, &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_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 */
+        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;
+}
+
+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></font>
+</pre></td>
+</tr>
+</table>
+</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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">int set_field_type(FIELD *field,          /* field to alter */
+                   FIELDTYPE *ftype,      /* type to associate */
+                   ...);                  /* additional arguments*/</font>
+</pre></td>
+</tr>
+</table>
+Once set, the validation type for a field can be queried with
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">FIELDTYPE *field_type(FIELD *field);      /* field to query */</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">int set_field_type(FIELD *field,          /* field to alter */
+                   TYPE_ALPHA,            /* type to associate */
+                   int width);            /* maximum width of field */</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">int set_field_type(FIELD *field,          /* field to alter */
+                   TYPE_ALNUM,            /* type to associate */
+                   int width);            /* maximum width of field */</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">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? */</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">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 */</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">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 */</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">int set_field_type(FIELD *field,          /* field to alter */
+                   TYPE_REGEXP,           /* type to associate */
+                   char *regexp);         /* expression to match */</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">int form_driver(FORM *form,     /* form on which to operate     */
+                int request)    /* form request code         */</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">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 */</font>
+</pre></td>
+</tr>
+</table>
+<p>The following requests allow you to move to different pages</p>
+<ul>
+<li>
+<p><em>REQ_NEXT_PAGE</em> Move to the next form page.</p>
+</li>
+<li>
+<p><em>REQ_PREV_PAGE</em> Move to the previous form page.</p>
+</li>
+<li>
+<p><em>REQ_FIRST_PAGE</em> Move to the first form page.</p>
+</li>
+<li>
+<p><em>REQ_LAST_PAGE</em> 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><em>REQ_NEXT_FIELD</em> Move to next field.</p>
+</li>
+<li>
+<p><em>REQ_PREV_FIELD</em> Move to previous field.</p>
+</li>
+<li>
+<p><em>REQ_FIRST_FIELD</em> Move to the first field.</p>
+</li>
+<li>
+<p><em>REQ_LAST_FIELD</em> Move to the last field.</p>
+</li>
+<li>
+<p><em>REQ_SNEXT_FIELD</em> Move to sorted next field.</p>
+</li>
+<li>
+<p><em>REQ_SPREV_FIELD</em> Move to sorted previous field.</p>
+</li>
+<li>
+<p><em>REQ_SFIRST_FIELD</em> Move to the sorted first field.</p>
+</li>
+<li>
+<p><em>REQ_SLAST_FIELD</em> Move to the sorted last field.</p>
+</li>
+<li>
+<p><em>REQ_LEFT_FIELD</em> Move left to field.</p>
+</li>
+<li>
+<p><em>REQ_RIGHT_FIELD</em> Move right to field.</p>
+</li>
+<li>
+<p><em>REQ_UP_FIELD</em> Move up to field.</p>
+</li>
+<li>
+<p><em>REQ_DOWN_FIELD</em> 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><em>REQ_NEXT_CHAR</em> Move to next character.</p>
+</li>
+<li>
+<p><em>REQ_PREV_CHAR</em> Move to previous character.</p>
+</li>
+<li>
+<p><em>REQ_NEXT_LINE</em> Move to next line.</p>
+</li>
+<li>
+<p><em>REQ_PREV_LINE</em> Move to previous line.</p>
+</li>
+<li>
+<p><em>REQ_NEXT_WORD</em> Move to next word.</p>
+</li>
+<li>
+<p><em>REQ_PREV_WORD</em> Move to previous word.</p>
+</li>
+<li>
+<p><em>REQ_BEG_FIELD</em> Move to beginning of field.</p>
+</li>
+<li>
+<p><em>REQ_END_FIELD</em> Move to end of field.</p>
+</li>
+<li>
+<p><em>REQ_BEG_LINE</em> Move to beginning of line.</p>
+</li>
+<li>
+<p><em>REQ_END_LINE</em> Move to end of line.</p>
+</li>
+<li>
+<p><em>REQ_LEFT_CHAR</em> Move left in field.</p>
+</li>
+<li>
+<p><em>REQ_RIGHT_CHAR</em> Move right in field.</p>
+</li>
+<li>
+<p><em>REQ_UP_CHAR</em> Move up in field.</p>
+</li>
+<li>
+<p><em>REQ_DOWN_CHAR</em> 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><em>REQ_SCR_FLINE</em> Scroll vertically forward a line.</p>
+</li>
+<li>
+<p><em>REQ_SCR_BLINE</em> Scroll vertically backward a line.</p>
+</li>
+<li>
+<p><em>REQ_SCR_FPAGE</em> Scroll vertically forward a page.</p>
+</li>
+<li>
+<p><em>REQ_SCR_BPAGE</em> Scroll vertically backward a page.</p>
+</li>
+<li>
+<p><em>REQ_SCR_FHPAGE</em> Scroll vertically forward half a
+page.</p>
+</li>
+<li>
+<p><em>REQ_SCR_BHPAGE</em> Scroll vertically backward half a
+page.</p>
+</li>
+<li>
+<p><em>REQ_SCR_FCHAR</em> Scroll horizontally forward a
+character.</p>
+</li>
+<li>
+<p><em>REQ_SCR_BCHAR</em> Scroll horizontally backward a
+character.</p>
+</li>
+<li>
+<p><em>REQ_SCR_HFLINE</em> Scroll horizontally one field width
+forward.</p>
+</li>
+<li>
+<p><em>REQ_SCR_HBLINE</em> Scroll horizontally one field width
+backward.</p>
+</li>
+<li>
+<p><em>REQ_SCR_HFHALF</em> Scroll horizontally one half field width
+forward.</p>
+</li>
+<li>
+<p><em>REQ_SCR_HBHALF</em> 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><em>REQ_INS_MODE</em> Set insertion mode.</p>
+</li>
+<li>
+<p><em>REQ_OVL_MODE</em> Set overlay mode.</p>
+</li>
+<li>
+<p><em>REQ_NEW_LINE</em> New line request (see below for
+explanation).</p>
+</li>
+<li>
+<p><em>REQ_INS_CHAR</em> Insert space at character location.</p>
+</li>
+<li>
+<p><em>REQ_INS_LINE</em> Insert blank line at character
+location.</p>
+</li>
+<li>
+<p><em>REQ_DEL_CHAR</em> Delete character at cursor.</p>
+</li>
+<li>
+<p><em>REQ_DEL_PREV</em> Delete previous word at cursor.</p>
+</li>
+<li>
+<p><em>REQ_DEL_LINE</em> Delete line at cursor.</p>
+</li>
+<li>
+<p><em>REQ_DEL_WORD</em> Delete word at cursor.</p>
+</li>
+<li>
+<p><em>REQ_CLR_EOL</em> Clear to end of line.</p>
+</li>
+<li>
+<p><em>REQ_CLR_EOF</em> Clear to end of field.</p>
+</li>
+<li>
+<p><em>REQ_CLR_FIELD</em> 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><em>REQ_NEXT_CHOICE</em> Place the successor value of the
+current value in the buffer.</p>
+</li>
+<li>
+<p><em>REQ_PREV_CHOICE</em> 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><em>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.</em></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" id="WIDGETLIST">19.1.1.
+Widget List</a></h4>
+<p>The following is the list of widgets provided with cdk and their
+description.</p>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color="#000000">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
+                      few characters of the desired word.
+Buttonbox             This creates a multiple button widget. 
+Calendar              Creates a little simple calendar widget.
+Dialog                Prompts the user with a message, and the user
+                      can pick an answer from the buttons provided.
+Entry                 Allows the user to enter various types of information.
+File Selector         A file selector built from Cdk base widgets. This
+                      example shows how to create more complicated widgets
+                      using the Cdk widget library.
+Graph                 Draws a graph.
+Histogram             Draws a histogram.
+Item List             Creates a pop up field which allows the user to select
+                      one of several choices in a small field. Very useful
+                      for things like days of the week or month names.
+Label                 Displays messages in a pop up box, or the label can be
+                      considered part of the screen.
+Marquee               Displays a message in a scrolling marquee.
+Matrix                Creates a complex matrix with lots of options.
+Menu                  Creates a pull-down menu interface.
+Multiple Line Entry   A multiple line entry field. Very useful
+                      for long fields. (like a description
+                      field)
+Radio List            Creates a radio button list.
+Scale                 Creates a numeric scale. Used for allowing a user to
+                      pick a numeric value and restrict them to a range of 
+                      values.
+Scrolling List        Creates a scrolling list/menu list.
+Scrolling Window      Creates a scrolling log file viewer. Can add 
+                      information into the window while its running. 
+                      A good widget for displaying the progress of
+                      something. (akin to a console window)
+Selection List        Creates a multiple option selection list.
+Slider                Akin to the scale widget, this widget provides a
+                      visual slide bar to represent the numeric value.
+Template              Creates a entry field with character sensitive 
+                      positions. Used for pre-formatted fields like
+                      dates and phone numbers.
+Viewer                This is a file/information viewer. Very useful
+                      when you need to display loads of information.
+===========================================================================</font>
+</pre></td>
+</tr>
+</table>
+<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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000">"&lt;/B/1&gt;This line should have a yellow foreground and a blue
+background.&lt;!1&gt;"</font>
+</pre></td>
+</tr>
+</table>
+<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><em>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</em></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" 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 <var class=
+"LITERAL">perl</var> 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>
+<table border="0" bgcolor="#E0E0E0" width="100%">
+<tr>
+<td>
+<pre class="PROGRAMLISTING">
+<font color=
+"#000000"><em>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.</em></font>
+</pre></td>
+</tr>
+</table>
+<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><em>File Path: JustForFun/life.c</em></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><em>File Path: JustForFun/magic.c</em></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><em>File Path: JustForFun/hanoi.c</em></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><em>File Path: JustForFun/queens.c</em></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><em>File Path: JustForFun/shuffle.c</em></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><em>File Path: JustForFun/tt.c</em></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=
+"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>
diff --git a/doc/html/ada/files.htm b/doc/html/ada/files.htm
new file mode 100644
index 0000000..a3bad64
--- /dev/null
+++ b/doc/html/ada/files.htm
@@ -0,0 +1,6 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE></TITLE></HEAD>
+<BODY>
+<H2 ALIGN=CENTER>Files</H2>
+<A HREF="files/T.htm">[T]</A>
+</BODY></HTML>
diff --git a/doc/html/ada/files/T.htm b/doc/html/ada/files/T.htm
new file mode 100644
index 0000000..d9d6950
--- /dev/null
+++ b/doc/html/ada/files/T.htm
@@ -0,0 +1,78 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>T</TITLE></HEAD>
+<BODY>
+<H2>Files - T</H2>
+<A HREF="../files.htm" TARGET="_self">[index]</A>
+<UL COMPACT TYPE=DISC>
+<LI><A HREF="../terminal_interface-curses-aux__adb.htm" TARGET="main">terminal_interface-curses-aux.adb</A>
+<LI><A HREF="../terminal_interface-curses-aux__ads.htm" TARGET="main">terminal_interface-curses-aux.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-alpha.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-alpha.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-alphanumeric.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-alphanumeric.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-enumeration-ada.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-enumeration-ada.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-enumeration.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-enumeration.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-intfield__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-intfield.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-intfield__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-intfield.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-ipv4_address.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-ipv4_address.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-numeric.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-numeric.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-regexp.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-regexp__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-regexp.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-user-choice.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-user-choice__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-user-choice.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-user__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types-user.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types-user.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm" TARGET="main">terminal_interface-curses-forms-field_types.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types__ads.htm" TARGET="main">terminal_interface-curses-forms-field_types.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_user_data__adb.htm" TARGET="main">terminal_interface-curses-forms-field_user_data.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_user_data__ads.htm" TARGET="main">terminal_interface-curses-forms-field_user_data.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms-form_user_data__adb.htm" TARGET="main">terminal_interface-curses-forms-form_user_data.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms-form_user_data__ads.htm" TARGET="main">terminal_interface-curses-forms-form_user_data.ads</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm" TARGET="main">terminal_interface-curses-forms.adb</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm" TARGET="main">terminal_interface-curses-forms.ads</A>
+<LI><A HREF="../terminal_interface-curses-menus-item_user_data__adb.htm" TARGET="main">terminal_interface-curses-menus-item_user_data.adb</A>
+<LI><A HREF="../terminal_interface-curses-menus-item_user_data__ads.htm" TARGET="main">terminal_interface-curses-menus-item_user_data.ads</A>
+<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__adb.htm" TARGET="main">terminal_interface-curses-menus-menu_user_data.adb</A>
+<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__ads.htm" TARGET="main">terminal_interface-curses-menus-menu_user_data.ads</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm" TARGET="main">terminal_interface-curses-menus.adb</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm" TARGET="main">terminal_interface-curses-menus.ads</A>
+<LI><A HREF="../terminal_interface-curses-mouse__adb.htm" TARGET="main">terminal_interface-curses-mouse.adb</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm" TARGET="main">terminal_interface-curses-mouse.ads</A>
+<LI><A HREF="../terminal_interface-curses-panels-user_data__adb.htm" TARGET="main">terminal_interface-curses-panels-user_data.adb</A>
+<LI><A HREF="../terminal_interface-curses-panels-user_data__ads.htm" TARGET="main">terminal_interface-curses-panels-user_data.ads</A>
+<LI><A HREF="../terminal_interface-curses-panels__adb.htm" TARGET="main">terminal_interface-curses-panels.adb</A>
+<LI><A HREF="../terminal_interface-curses-panels__ads.htm" TARGET="main">terminal_interface-curses-panels.ads</A>
+<LI><A HREF="../terminal_interface-curses-putwin__adb.htm" TARGET="main">terminal_interface-curses-putwin.adb</A>
+<LI><A HREF="../terminal_interface-curses-putwin__ads.htm" TARGET="main">terminal_interface-curses-putwin.ads</A>
+<LI><A HREF="../terminal_interface-curses-termcap__adb.htm" TARGET="main">terminal_interface-curses-termcap.adb</A>
+<LI><A HREF="../terminal_interface-curses-termcap__ads.htm" TARGET="main">terminal_interface-curses-termcap.ads</A>
+<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm" TARGET="main">terminal_interface-curses-terminfo.adb</A>
+<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm" TARGET="main">terminal_interface-curses-terminfo.ads</A>
+<LI><A HREF="../terminal_interface-curses-text_io-aux__adb.htm" TARGET="main">terminal_interface-curses-text_io-aux.adb</A>
+<LI><A HREF="../terminal_interface-curses-text_io-aux__ads.htm" TARGET="main">terminal_interface-curses-text_io-aux.ads</A>
+<LI><A HREF="../terminal_interface-curses-text_io-complex_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-complex_io.adb</A>
+<LI><A HREF="../terminal_interface-curses-text_io-complex_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-complex_io.ads</A>
+<LI><A HREF="../terminal_interface-curses-text_io-decimal_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-decimal_io.adb</A>
+<LI><A HREF="../terminal_interface-curses-text_io-decimal_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-decimal_io.ads</A>
+<LI><A HREF="../terminal_interface-curses-text_io-enumeration_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-enumeration_io.adb</A>
+<LI><A HREF="../terminal_interface-curses-text_io-enumeration_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-enumeration_io.ads</A>
+<LI><A HREF="../terminal_interface-curses-text_io-fixed_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-fixed_io.adb</A>
+<LI><A HREF="../terminal_interface-curses-text_io-fixed_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-fixed_io.ads</A>
+<LI><A HREF="../terminal_interface-curses-text_io-float_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-float_io.adb</A>
+<LI><A HREF="../terminal_interface-curses-text_io-float_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-float_io.ads</A>
+<LI><A HREF="../terminal_interface-curses-text_io-integer_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-integer_io.adb</A>
+<LI><A HREF="../terminal_interface-curses-text_io-integer_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-integer_io.ads</A>
+<LI><A HREF="../terminal_interface-curses-text_io-modular_io__adb.htm" TARGET="main">terminal_interface-curses-text_io-modular_io.adb</A>
+<LI><A HREF="../terminal_interface-curses-text_io-modular_io__ads.htm" TARGET="main">terminal_interface-curses-text_io-modular_io.ads</A>
+<LI><A HREF="../terminal_interface-curses-text_io__adb.htm" TARGET="main">terminal_interface-curses-text_io.adb</A>
+<LI><A HREF="../terminal_interface-curses-text_io__ads.htm" TARGET="main">terminal_interface-curses-text_io.ads</A>
+<LI><A HREF="../terminal_interface-curses-trace__adb.htm" TARGET="main">terminal_interface-curses-trace.adb</A>
+<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__ads.htm" TARGET="main">terminal_interface.ads</A>
+</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs.htm b/doc/html/ada/funcs.htm
new file mode 100644
index 0000000..9a2da61
--- /dev/null
+++ b/doc/html/ada/funcs.htm
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE></TITLE></HEAD>
+<BODY>
+<H2 ALIGN=CENTER>Functions/Procedures</H2>
+<A HREF="funcs/A.htm">[A]</A>
+<A HREF="funcs/B.htm">[B]</A>
+<A HREF="funcs/C.htm">[C]</A>
+<A HREF="funcs/D.htm">[D]</A>
+<A HREF="funcs/E.htm">[E]</A>
+<A HREF="funcs/F.htm">[F]</A>
+<A HREF="funcs/G.htm">[G]</A>
+<A HREF="funcs/H.htm">[H]</A>
+<A HREF="funcs/I.htm">[I]</A>
+<A HREF="funcs/K.htm">[K]</A>
+<A HREF="funcs/L.htm">[L]</A>
+<A HREF="funcs/M.htm">[M]</A>
+<A HREF="funcs/N.htm">[N]</A>
+<A HREF="funcs/O.htm">[O]</A>
+<A HREF="funcs/P.htm">[P]</A>
+<A HREF="funcs/Q.htm">[Q]</A>
+<A HREF="funcs/R.htm">[R]</A>
+<A HREF="funcs/S.htm">[S]</A>
+<A HREF="funcs/T.htm">[T]</A>
+<A HREF="funcs/U.htm">[U]</A>
+<A HREF="funcs/V.htm">[V]</A>
+<A HREF="funcs/W.htm">[W]</A>
+</BODY></HTML>
diff --git a/doc/html/ada/funcs/A.htm b/doc/html/ada/funcs/A.htm
new file mode 100644
index 0000000..9c7069d
--- /dev/null
+++ b/doc/html/ada/funcs/A.htm
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>A</TITLE></HEAD>
+<BODY>
+<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_523_14" TARGET="main">Add -  terminal_interface-curses.ads:523</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_528_14" TARGET="main">Add -  terminal_interface-curses.ads:528</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_534_14" TARGET="main">Add -  terminal_interface-curses.ads:534</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_542_14" TARGET="main">Add -  terminal_interface-curses.ads:542</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_653_14" TARGET="main">Add -  terminal_interface-curses.ads:653</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_662_14" TARGET="main">Add -  terminal_interface-curses.ads:662</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_677_14" TARGET="main">Add -  terminal_interface-curses.ads:677</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_686_14" TARGET="main">Add -  terminal_interface-curses.ads:686</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1307_14" TARGET="main">Add_Character_To_Pad_And_Echo_It -  terminal_interface-curses.ads:1307</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1312_14" TARGET="main">Add_Character_To_Pad_And_Echo_It -  terminal_interface-curses.ads:1312</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_551_14" TARGET="main">Add_With_Immediate_Echo -  terminal_interface-curses.ads:551</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_557_14" TARGET="main">Add_With_Immediate_Echo -  terminal_interface-curses.ads:557</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_959_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_1016_14" TARGET="main">Allow_Scrolling</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1836_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
new file mode 100644
index 0000000..59c5886
--- /dev/null
+++ b/doc/html/ada/funcs/B.htm
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>B</TITLE></HEAD>
+<BODY>
+<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_454_14" TARGET="main">Background -  terminal_interface-curses-forms.ads:454</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_459_14" TARGET="main">Background -  terminal_interface-curses-forms.ads:459</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_451_14" TARGET="main">Background -  terminal_interface-curses-menus.ads:451</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_456_14" TARGET="main">Background -  terminal_interface-curses-menus.ads:456</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_1647_13" TARGET="main">Baudrate</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_870_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_704_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-panels__adb.htm#ref_65_16" TARGET="main">Bottompanel</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_720_14" TARGET="main">Box</A>
+</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/C.htm b/doc/html/ada/funcs/C.htm
new file mode 100644
index 0000000..eba0274
--- /dev/null
+++ b/doc/html/ada/funcs/C.htm
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>C</TITLE></HEAD>
+<BODY>
+<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_1739_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_382_13" TARGET="main">Changed</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_845_14" TARGET="main">Change_Attributes -  terminal_interface-curses.ads:845</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_854_14" TARGET="main">Change_Attributes -  terminal_interface-curses.ads:854</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1116_14" TARGET="main">Change_Background</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1152_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_1080_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_981_14" TARGET="main">Clear_On_Next_Update</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1533_14" TARGET="main">Clear_Soft_Label_Keys</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1094_14" TARGET="main">Clear_To_End_Of_Line</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1087_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_1744_14" TARGET="main">Color_Content</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_415_13" TARGET="main">Columns</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1174_14" TARGET="main">Copy</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1267_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__ads.htm#ref_569_13" TARGET="main">Create -  terminal_interface-curses.ads:569</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_293_13" TARGET="main">Create -  terminal_interface-curses-forms.ads:293</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_623_13" TARGET="main">Create -  terminal_interface-curses-forms.ads:623</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-menus__ads.htm#ref_191_13" TARGET="main">Create -  terminal_interface-curses-menus.ads:191</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_638_13" TARGET="main">Create -  terminal_interface-curses-menus.ads:638</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-forms__ads.htm#ref_729_13" TARGET="main">Current -  terminal_interface-curses-forms.ads:729</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_294_13" TARGET="main">Current -  terminal_interface-curses-menus.ads:294</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_481_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_1859_14" TARGET="main">Curses_Free_All</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1846_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-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>
+</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/D.htm b/doc/html/ada/funcs/D.htm
new file mode 100644
index 0000000..ea42647
--- /dev/null
+++ b/doc/html/ada/funcs/D.htm
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>D</TITLE></HEAD>
+<BODY>
+<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_692_13" TARGET="main">Data_Ahead</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_697_13" TARGET="main">Data_Behind</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_102_13" TARGET="main">Default_Field_Options</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_125_13" TARGET="main">Default_Form_Options</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_168_13" TARGET="main">Default_Item_Options</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_146_13" TARGET="main">Default_Menu_Options</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1596_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_1633_14" TARGET="main">Delay_Output</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_588_14" TARGET="main">Delete -  terminal_interface-curses.ads:588</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_315_14" TARGET="main">Delete -  terminal_interface-curses-forms.ads:315</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_634_14" TARGET="main">Delete -  terminal_interface-curses-forms.ads:634</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_203_14" TARGET="main">Delete -  terminal_interface-curses-menus.ads:203</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_645_14" TARGET="main">Delete -  terminal_interface-curses-menus.ads:645</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_1334_14" TARGET="main">Delete_Character -  terminal_interface-curses.ads:1334</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1339_14" TARGET="main">Delete_Character -  terminal_interface-curses.ads:1339</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1212_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_604_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__ads.htm#ref_274_14" TARGET="main">Description -  terminal_interface-curses-menus.ads:274</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_278_14" TARGET="main">Description -  terminal_interface-curses-menus.ads:278</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_711_13" TARGET="main">Driver -  terminal_interface-curses-forms.ads:711</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_660_13" TARGET="main">Driver -  terminal_interface-curses-menus.ads:660</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__ads.htm#ref_614_13" TARGET="main">Duplicate -  terminal_interface-curses.ads:614</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_321_13" TARGET="main">Duplicate -  terminal_interface-curses-forms.ads:321</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_493_14" TARGET="main">Dynamic_Info</A>
+<LI><A HREF="../terminal_interface-curses-forms__adb.htm#ref_559_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
new file mode 100644
index 0000000..ad3f256
--- /dev/null
+++ b/doc/html/ada/funcs/E.htm
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>E</TITLE></HEAD>
+<BODY>
+<H2>Functions - E</H2>
+<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_1586_14" TARGET="main">Enable_Key</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_154_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_128_14" TARGET="main">End_Mouse</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_497_14" TARGET="main">End_Screen</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_495_14" TARGET="main">End_Windows</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1074_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_1652_13" TARGET="main">Erase_Character</A>
+<LI><A HREF="../terminal_interface-curses-aux__ads.htm#ref_96_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
new file mode 100644
index 0000000..9400d34
--- /dev/null
+++ b/doc/html/ada/funcs/F.htm
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>F</TITLE></HEAD>
+<BODY>
+<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_601_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-field_types__ads.htm#ref_177_13" TARGET="main">Field_Check_Router</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_607_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__adb.htm#ref_761_16" TARGET="main">Flash</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_875_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-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_1638_14" TARGET="main">Flush_Input</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_434_14" TARGET="main">Foreground -  terminal_interface-curses-forms.ads:434</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_439_14" TARGET="main">Foreground -  terminal_interface-curses-forms.ads:439</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_431_14" TARGET="main">Foreground -  terminal_interface-curses-menus.ads:431</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_436_14" TARGET="main">Foreground -  terminal_interface-curses-menus.ads:436</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_551_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_136_14" TARGET="main">Free -  terminal_interface-curses-forms.ads:136</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_180_14" TARGET="main">Free -  terminal_interface-curses-menus.ads:180</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-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_781_13" TARGET="main">Function_Key</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_786_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
new file mode 100644
index 0000000..486c3b0
--- /dev/null
+++ b/doc/html/ada/funcs/G.htm
@@ -0,0 +1,96 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>G</TITLE></HEAD>
+<BODY>
+<H2>Functions - G</H2>
+<A HREF="../funcs.htm" TARGET="_self">[index]</A>
+<UL COMPACT TYPE=DISC>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13" TARGET="main">Generic_Char_Check</A>
+<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_1463_14" TARGET="main">Get -  terminal_interface-curses.ads:1463</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1474_14" TARGET="main">Get -  terminal_interface-curses.ads:1474</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_1350_16" TARGET="main">GetMaxX</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1347_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-putwin__adb.htm#ref_65_16" TARGET="main">getwin</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types__adb.htm#ref_62_13" TARGET="main">Get_Arg</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1125_13" TARGET="main">Get_Background</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_362_14" TARGET="main">Get_Buffer -  terminal_interface-curses-forms.ads:362</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_368_13" TARGET="main">Get_Buffer -  terminal_interface-curses-forms.ads:368</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_826_13" TARGET="main">Get_Character_Attribute -  terminal_interface-curses.ads:826</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_832_13" TARGET="main">Get_Character_Attribute -  terminal_interface-curses.ads:832</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1244_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_137_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-forms-field_types__adb.htm#ref_59_13" TARGET="main">Get_Fieldtype</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_565_13" TARGET="main">Get_Field_Init_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_570_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_575_13" TARGET="main">Get_Form_Init_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_580_13" TARGET="main">Get_Form_Term_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_745_13" TARGET="main">Get_Index -  terminal_interface-curses-forms.ads:745</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_310_13" TARGET="main">Get_Index -  terminal_interface-curses-menus.ads:310</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_589_13" TARGET="main">Get_Item_Init_Hook</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_594_13" TARGET="main">Get_Item_Term_Hook</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_345_13" TARGET="main">Get_Justification</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_915_13" TARGET="main">Get_KeyPad_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_751_13" TARGET="main">Get_Keystroke</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_599_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_604_13" TARGET="main">Get_Menu_Term_Hook</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_133_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_411_14" TARGET="main">Get_Options -  terminal_interface-curses-forms.ads:411</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_416_13" TARGET="main">Get_Options -  terminal_interface-curses-forms.ads:416</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_658_14" TARGET="main">Get_Options -  terminal_interface-curses-forms.ads:658</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_663_13" TARGET="main">Get_Options -  terminal_interface-curses-forms.ads:663</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_251_14" TARGET="main">Get_Options -  terminal_interface-curses-menus.ads:251</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_256_13" TARGET="main">Get_Options -  terminal_interface-curses-menus.ads:256</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_347_14" TARGET="main">Get_Options -  terminal_interface-curses-menus.ads:347</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_352_13" TARGET="main">Get_Options -  terminal_interface-curses-menus.ads:352</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1252_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_1228_14" TARGET="main">Get_Size</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1522_14" TARGET="main">Get_Soft_Label_Key -  terminal_interface-curses.ads:1522</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1527_13" TARGET="main">Get_Soft_Label_Key -  terminal_interface-curses.ads:1527</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1563_13" TARGET="main">Get_Soft_Label_Key_Attributes -  terminal_interface-curses.ads:1563</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1567_13" TARGET="main">Get_Soft_Label_Key_Attributes -  terminal_interface-curses.ads:1567</A>
+<LI><A HREF="../terminal_interface-curses-menus__adb.htm#ref_713_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_522_13" TARGET="main">Get_Sub_Window -  terminal_interface-curses-forms.ads:522</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_378_13" TARGET="main">Get_Sub_Window -  terminal_interface-curses-menus.ads:378</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>
+<LI><A HREF="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_14" TARGET="main">Get_User_Data -  terminal_interface-curses-forms-form_user_data.ads:59</A>
+<LI><A HREF="../terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_13" TARGET="main">Get_User_Data -  terminal_interface-curses-forms-form_user_data.ads:64</A>
+<LI><A HREF="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_14" TARGET="main">Get_User_Data -  terminal_interface-curses-menus-item_user_data.ads:64</A>
+<LI><A HREF="../terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_13" TARGET="main">Get_User_Data -  terminal_interface-curses-menus-item_user_data.ads:69</A>
+<LI><A HREF="../terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_14" TARGET="main">Get_User_Data -  terminal_interface-curses-menus-menu_user_data.ads:59</A>
+<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_511_13" TARGET="main">Get_Window -  terminal_interface-curses-forms.ads:511</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_367_13" TARGET="main">Get_Window -  terminal_interface-curses-menus.ads:367</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-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_1236_14" TARGET="main">Get_Window_Position</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_471_14" TARGET="main">Grey -  terminal_interface-curses-menus.ads:471</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_476_14" TARGET="main">Grey -  terminal_interface-curses-menus.ads:476</A>
+</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/H.htm b/doc/html/ada/funcs/H.htm
new file mode 100644
index 0000000..bf0256e
--- /dev/null
+++ b/doc/html/ada/funcs/H.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>H</TITLE></HEAD>
+<BODY>
+<H2>Functions - H</H2>
+<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_923_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_1726_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_1662_13" TARGET="main">Has_Insert_Character</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1667_13" TARGET="main">Has_Insert_Line</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_767_13" TARGET="main">Has_Key</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_98_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__adb.htm#ref_95_16" TARGET="main">Hidepanel</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_728_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
new file mode 100644
index 0000000..7813c74
--- /dev/null
+++ b/doc/html/ada/funcs/I.htm
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>I</TITLE></HEAD>
+<BODY>
+<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_1009_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_482_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_1731_14" TARGET="main">Init_Color</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1712_14" TARGET="main">Init_Pair</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_486_14" TARGET="main">Init_Screen</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1499_14" TARGET="main">Init_Soft_Label_Keys</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_489_14" TARGET="main">Init_Windows</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1371_14" TARGET="main">Insert -  terminal_interface-curses.ads:1371</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1377_14" TARGET="main">Insert -  terminal_interface-curses.ads:1377</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1389_14" TARGET="main">Insert -  terminal_interface-curses.ads:1389</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1398_14" TARGET="main">Insert -  terminal_interface-curses.ads:1398</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1204_14" TARGET="main">Insert_Delete_Lines</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1218_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_502_13" TARGET="main">Is_End_Window</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_774_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_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_763_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_1160_13" TARGET="main">Is_Touched -  terminal_interface-curses.ads:1160</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1165_13" TARGET="main">Is_Touched -  terminal_interface-curses.ads:1165</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_623_13" TARGET="main">Items</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_629_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>
+</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/K.htm b/doc/html/ada/funcs/K.htm
new file mode 100644
index 0000000..aece950
--- /dev/null
+++ b/doc/html/ada/funcs/K.htm
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>K</TITLE></HEAD>
+<BODY>
+<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_840_16" TARGET="main">Keypad</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1610_14" TARGET="main">Key_Name -  terminal_interface-curses.ads:1610</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1616_13" TARGET="main">Key_Name -  terminal_interface-curses.ads:1616</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_1657_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
new file mode 100644
index 0000000..b7d63dd
--- /dev/null
+++ b/doc/html/ada/funcs/L.htm
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>L</TITLE></HEAD>
+<BODY>
+<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_1002_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-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_412_13" TARGET="main">Lines</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_328_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_1677_14" TARGET="main">Long_Name -  terminal_interface-curses.ads:1677</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1681_13" TARGET="main">Long_Name -  terminal_interface-curses.ads:1681</A>
+</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/M.htm b/doc/html/ada/funcs/M.htm
new file mode 100644
index 0000000..9d095f2
--- /dev/null
+++ b/doc/html/ada/funcs/M.htm
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>M</TITLE></HEAD>
+<BODY>
+<H2>Functions - M</H2>
+<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_409_14" TARGET="main">Mark -  terminal_interface-curses-menus.ads:409</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_413_14" TARGET="main">Mark -  terminal_interface-curses-menus.ads:413</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__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_161_13" TARGET="main">Mouse_Interval</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_612_14" TARGET="main">Move -  terminal_interface-curses-forms.ads:612</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-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_511_14" TARGET="main">Move_Cursor</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_626_14" TARGET="main">Move_Derived_Window</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_619_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_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>
+</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/N.htm b/doc/html/ada/funcs/N.htm
new file mode 100644
index 0000000..df8df67
--- /dev/null
+++ b/doc/html/ada/funcs/N.htm
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>N</TITLE></HEAD>
+<BODY>
+<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_265_14" TARGET="main">Name -  terminal_interface-curses-menus.ads:265</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_268_14" TARGET="main">Name -  terminal_interface-curses-menus.ads:268</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_1806_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-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_1267_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_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_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_421_13" TARGET="main">Number_Of_Colors</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_424_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
new file mode 100644
index 0000000..e624243
--- /dev/null
+++ b/doc/html/ada/funcs/O.htm
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>O</TITLE></HEAD>
+<BODY>
+<H2>Functions - O</H2>
+<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_1194_14" TARGET="main">Overlay -  terminal_interface-curses.ads:1194</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1308_16" TARGET="main">Overlay -  terminal_interface-curses.adb:1308</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1188_14" TARGET="main">Overwrite -  terminal_interface-curses.ads:1188</A>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_1296_16" TARGET="main">Overwrite -  terminal_interface-curses.adb:1296</A>
+</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/P.htm b/doc/html/ada/funcs/P.htm
new file mode 100644
index 0000000..6f057c3
--- /dev/null
+++ b/doc/html/ada/funcs/P.htm
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>P</TITLE></HEAD>
+<BODY>
+<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_472_14" TARGET="main">Pad_Character -  terminal_interface-curses-forms.ads:472</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_490_14" TARGET="main">Pad_Character -  terminal_interface-curses-menus.ads:490</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_740_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_1719_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_527_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_1352_13" TARGET="main">Peek -  terminal_interface-curses.ads:1352</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1358_13" TARGET="main">Peek -  terminal_interface-curses.ads:1358</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1414_14" TARGET="main">Peek -  terminal_interface-curses.ads:1414</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1423_14" TARGET="main">Peek -  terminal_interface-curses.ads:1423</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1438_14" TARGET="main">Peek -  terminal_interface-curses.ads:1438</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1447_14" TARGET="main">Peek -  terminal_interface-curses.ads:1447</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_683_14" TARGET="main">Position_Cursor -  terminal_interface-curses-forms.ads:683</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_394_14" TARGET="main">Position_Cursor -  terminal_interface-curses-menus.ads:394</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_672_14" TARGET="main">Post -  terminal_interface-curses-forms.ads:672</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_322_14" TARGET="main">Post -  terminal_interface-curses-menus.ads:322</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-forms-field_types__ads.htm#ref_201_13" TARGET="main">Prev_Router</A>
+<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_108_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:108</A>
+<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_109_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:109</A>
+<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_115_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:115</A>
+<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_116_14" TARGET="main">Put -  terminal_interface-curses-text_io.ads:116</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>
+<LI><A HREF="../terminal_interface-curses-text_io-decimal_io__ads.htm#ref_50_14" TARGET="main">Put -  terminal_interface-curses-text_io-decimal_io.ads:50</A>
+<LI><A HREF="../terminal_interface-curses-text_io-decimal_io__ads.htm#ref_57_14" TARGET="main">Put -  terminal_interface-curses-text_io-decimal_io.ads:57</A>
+<LI><A HREF="../terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_49_14" TARGET="main">Put -  terminal_interface-curses-text_io-enumeration_io.ads:49</A>
+<LI><A HREF="../terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_55_14" TARGET="main">Put -  terminal_interface-curses-text_io-enumeration_io.ads:55</A>
+<LI><A HREF="../terminal_interface-curses-text_io-fixed_io__ads.htm#ref_50_14" TARGET="main">Put -  terminal_interface-curses-text_io-fixed_io.ads:50</A>
+<LI><A HREF="../terminal_interface-curses-text_io-fixed_io__ads.htm#ref_57_14" TARGET="main">Put -  terminal_interface-curses-text_io-fixed_io.ads:57</A>
+<LI><A HREF="../terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14" TARGET="main">Put -  terminal_interface-curses-text_io-float_io.ads:50</A>
+<LI><A HREF="../terminal_interface-curses-text_io-float_io__ads.htm#ref_57_14" TARGET="main">Put -  terminal_interface-curses-text_io-float_io.ads:57</A>
+<LI><A HREF="../terminal_interface-curses-text_io-integer_io__ads.htm#ref_49_14" TARGET="main">Put -  terminal_interface-curses-text_io-integer_io.ads:49</A>
+<LI><A HREF="../terminal_interface-curses-text_io-integer_io__ads.htm#ref_55_14" TARGET="main">Put -  terminal_interface-curses-text_io-integer_io.ads:55</A>
+<LI><A HREF="../terminal_interface-curses-text_io-modular_io__ads.htm#ref_49_14" TARGET="main">Put -  terminal_interface-curses-text_io-modular_io.ads:49</A>
+<LI><A HREF="../terminal_interface-curses-text_io-modular_io__ads.htm#ref_55_14" TARGET="main">Put -  terminal_interface-curses-text_io-modular_io.ads:55</A>
+<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_143_16" TARGET="main">putp</A>
+<LI><A HREF="../terminal_interface-curses-putwin__adb.htm#ref_53_16" TARGET="main">putwin</A>
+<LI><A HREF="../terminal_interface-curses-text_io-aux__ads.htm#ref_48_14" TARGET="main">Put_Buf</A>
+<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_118_14" TARGET="main">Put_Line -  terminal_interface-curses-text_io.ads:118</A>
+<LI><A HREF="../terminal_interface-curses-text_io__ads.htm#ref_122_14" TARGET="main">Put_Line -  terminal_interface-curses-text_io.ads:122</A>
+<LI><A HREF="../terminal_interface-curses-terminfo__ads.htm#ref_76_14" TARGET="main">Put_String</A>
+<LI><A HREF="../terminal_interface-curses-putwin__ads.htm#ref_45_14" TARGET="main">Put_Window</A>
+</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/Q.htm b/doc/html/ada/funcs/Q.htm
new file mode 100644
index 0000000..d487468
--- /dev/null
+++ b/doc/html/ada/funcs/Q.htm
@@ -0,0 +1,8 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>Q</TITLE></HEAD>
+<BODY>
+<H2>Functions - Q</H2>
+<A HREF="../funcs.htm" TARGET="_self">[index]</A>
+<UL COMPACT TYPE=DISC>
+<LI><A HREF="../terminal_interface-curses__adb.htm#ref_883_17" TARGET="main">Qiflush</A>
+</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/R.htm b/doc/html/ada/funcs/R.htm
new file mode 100644
index 0000000..cd10c6f
--- /dev/null
+++ b/doc/html/ada/funcs/R.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>R</TITLE></HEAD>
+<BODY>
+<H2>Functions - R</H2>
+<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_589_14" TARGET="main">Redefine -  terminal_interface-curses-forms.ads:589</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_613_14" TARGET="main">Redefine -  terminal_interface-curses-menus.ads:613</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1059_14" TARGET="main">Redraw -  terminal_interface-curses.ads:1059</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1063_14" TARGET="main">Redraw -  terminal_interface-curses.ads:1063</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_1045_14" TARGET="main">Refresh -  terminal_interface-curses.ads:1045</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1283_14" TARGET="main">Refresh -  terminal_interface-curses.ads:1283</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1512_14" TARGET="main">Refresh_Soft_Label_Keys</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1517_14" TARGET="main">Refresh_Soft_Label_Keys_Without_Update</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1052_14" TARGET="main">Refresh_Without_Update -  terminal_interface-curses.ads:1052</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1295_14" TARGET="main">Refresh_Without_Update -  terminal_interface-curses.ads:1295</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_101_14" TARGET="main">Register_Reportable_Event</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_110_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__adb.htm#ref_119_16" TARGET="main">Replace_Pan</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_276_14" TARGET="main">Request_Name -  terminal_interface-curses-forms.ads:276</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_279_14" TARGET="main">Request_Name -  terminal_interface-curses-forms.ads:279</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_1765_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_1776_14" TARGET="main">Reset_Terminal_State</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1911_14" TARGET="main">Resize</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1538_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_1789_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
new file mode 100644
index 0000000..9b08e4f
--- /dev/null
+++ b/doc/html/ada/funcs/S.htm
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>S</TITLE></HEAD>
+<BODY>
+<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_1759_14" TARGET="main">Save_Curses_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1771_14" TARGET="main">Save_Terminal_State</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_527_14" TARGET="main">Scale -  terminal_interface-curses-forms.ads:527</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_383_14" TARGET="main">Scale -  terminal_interface-curses-menus.ads:383</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1867_14" TARGET="main">Screen_Dump_To_File</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1875_14" TARGET="main">Screen_Init_From_File</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1871_14" TARGET="main">Screen_Restore_From_File</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1879_14" TARGET="main">Screen_Set_File</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1322_14" TARGET="main">Scroll</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1022_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__ads.htm#ref_1108_14" TARGET="main">Set_Background -  terminal_interface-curses.ads:1108</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_446_14" TARGET="main">Set_Background -  terminal_interface-curses-forms.ads:446</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_443_14" TARGET="main">Set_Background -  terminal_interface-curses-menus.ads:443</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_354_14" TARGET="main">Set_Buffer</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_886_14" TARGET="main">Set_Cbreak_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_817_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_838_14" TARGET="main">Set_Color</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_723_14" TARGET="main">Set_Current -  terminal_interface-curses-forms.ads:723</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_288_14" TARGET="main">Set_Current -  terminal_interface-curses-menus.ads:288</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_1801_14" TARGET="main">Set_Cursor_Visibility</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_898_14" TARGET="main">Set_Echo_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_964_14" TARGET="main">Set_Escape_Timer_Mode</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_595_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_541_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_547_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>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_14" TARGET="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-intfield.ads:51</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_14" TARGET="main">Set_Field_Type -  terminal_interface-curses-forms-field_types-ipv4_address.ads:47</A>
+<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_types__adb.htm#ref_151_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types.adb:151</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_52_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-alpha.adb:52</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_52_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-alphanumeric.adb:52</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-enumeration.adb:97</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-intfield.adb:52</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_52_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-ipv4_address.adb:52</A>
+<LI><A HREF="../terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_16" TARGET="main">Set_Fld_Type -  terminal_interface-curses-forms-field_types-numeric.adb:55</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__ads.htm#ref_928_14" TARGET="main">Set_Flush_On_Interrupt_Mode</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_426_14" TARGET="main">Set_Foreground -  terminal_interface-curses-forms.ads:426</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_423_14" TARGET="main">Set_Foreground -  terminal_interface-curses-menus.ads:423</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_537_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_553_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_559_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_54_16" TARGET="main">Set_Ftyp</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_463_14" TARGET="main">Set_Grey</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_618_14" TARGET="main">Set_Items -  terminal_interface-curses-menus.ads:618</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_565_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_571_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_339_14" TARGET="main">Set_Justification</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_910_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_403_14" TARGET="main">Set_Mark -  terminal_interface-curses-menus.ads:403</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_387_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_577_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_583_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_904_14" TARGET="main">Set_Meta_Mode</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_757_14" TARGET="main">Set_New_Page</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_975_14" TARGET="main">Set_NL_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_943_14" TARGET="main">Set_NoDelay_Mode</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_397_14" TARGET="main">Set_Options -  terminal_interface-curses-forms.ads:397</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_644_14" TARGET="main">Set_Options -  terminal_interface-curses-forms.ads:644</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_236_14" TARGET="main">Set_Options -  terminal_interface-curses-menus.ads:236</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_333_14" TARGET="main">Set_Options -  terminal_interface-curses-menus.ads:333</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_466_14" TARGET="main">Set_Pad_Character -  terminal_interface-curses-forms.ads:466</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_484_14" TARGET="main">Set_Pad_Character -  terminal_interface-curses-menus.ads:484</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_734_14" TARGET="main">Set_Page -  terminal_interface-curses-forms.ads:734</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-panels-user_data__adb.htm#ref_54_16" TARGET="main">Set_Panel_Userptr</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_520_13" TARGET="main">Set_Pattern -  terminal_interface-curses-menus.ads:520</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_935_14" TARGET="main">Set_Queue_Interrupt_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_892_14" TARGET="main">Set_Raw_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1027_14" TARGET="main">Set_Scroll_Region</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1505_14" TARGET="main">Set_Soft_Label_Key</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1556_14" TARGET="main">Set_Soft_Label_Key_Attributes</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1572_14" TARGET="main">Set_Soft_Label_Key_Color</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_500_14" TARGET="main">Set_Spacing -  terminal_interface-curses-menus.ads:500</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_376_14" TARGET="main">Set_Status</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_516_14" TARGET="main">Set_Sub_Window -  terminal_interface-curses-forms.ads:516</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_372_14" TARGET="main">Set_Sub_Window -  terminal_interface-curses-menus.ads:372</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_643_14" TARGET="main">Set_Synch_Mode</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_952_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_299_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_212_14" TARGET="main">Set_Value</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_505_14" TARGET="main">Set_Window -  terminal_interface-curses-forms.ads:505</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_361_14" TARGET="main">Set_Window -  terminal_interface-curses-menus.ads:361</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__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_508_14" TARGET="main">Spacing</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_476_13" TARGET="main">Standard_Window</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_800_14" TARGET="main">Standout</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1707_14" TARGET="main">Start_Color</A>
+<LI><A HREF="../terminal_interface-curses-mouse__ads.htm#ref_123_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_270_16" TARGET="main">Subwin</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1273_13" TARGET="main">Sub_Pad</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_594_13" TARGET="main">Sub_Window</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1672_13" TARGET="main">Supported_Attributes</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_806_14" TARGET="main">Switch_Character_Attribute</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_403_14" TARGET="main">Switch_Options -  terminal_interface-curses-forms.ads:403</A>
+<LI><A HREF="../terminal_interface-curses-forms__ads.htm#ref_650_14" TARGET="main">Switch_Options -  terminal_interface-curses-forms.ads:650</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_242_14" TARGET="main">Switch_Options -  terminal_interface-curses-menus.ads:242</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_339_14" TARGET="main">Switch_Options -  terminal_interface-curses-menus.ads:339</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1548_14" TARGET="main">Switch_Soft_Label_Key_Attributes</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_638_14" TARGET="main">Synchronize_Downwards</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_633_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
new file mode 100644
index 0000000..bb8dea1
--- /dev/null
+++ b/doc/html/ada/funcs/T.htm
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>T</TITLE></HEAD>
+<BODY>
+<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_418_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_1687_14" TARGET="main">Terminal_Name -  terminal_interface-curses.ads:1687</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1691_13" TARGET="main">Terminal_Name -  terminal_interface-curses.ads:1691</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-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-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__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_305_13" TARGET="main">Top_Row</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1141_14" TARGET="main">Touch -  terminal_interface-curses.ads:1141</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1145_14" TARGET="main">Touch -  terminal_interface-curses.ads:1145</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1543_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__ads.htm#ref_102_14" TARGET="main">Trace_On</A>
+<LI><A HREF="../terminal_interface-curses-trace__ads.htm#ref_106_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_1814_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
new file mode 100644
index 0000000..100f90e
--- /dev/null
+++ b/doc/html/ada/funcs/U.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>U</TITLE></HEAD>
+<BODY>
+<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_762_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_149_14" TARGET="main">Unget_Mouse</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1136_14" TARGET="main">Untouch</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1622_14" TARGET="main">Un_Control -  terminal_interface-curses.ads:1622</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1627_13" TARGET="main">Un_Control -  terminal_interface-curses.ads:1627</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_1040_14" TARGET="main">Update_Screen</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1831_14" TARGET="main">Use_Default_Colors</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_1851_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_995_14" TARGET="main">Use_Insert_Delete_Character</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_988_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
new file mode 100644
index 0000000..b926d7c
--- /dev/null
+++ b/doc/html/ada/funcs/V.htm
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>V</TITLE></HEAD>
+<BODY>
+<H2>Functions - V</H2>
+<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_218_13" TARGET="main">Value -  terminal_interface-curses-menus.ads:218</A>
+<LI><A HREF="../terminal_interface-curses__ads.htm#ref_737_14" TARGET="main">Vertical_Line</A>
+<LI><A HREF="../terminal_interface-curses-menus__ads.htm#ref_227_13" TARGET="main">Visible</A>
+</UL></BODY></HTML>
diff --git a/doc/html/ada/funcs/W.htm b/doc/html/ada/funcs/W.htm
new file mode 100644
index 0000000..d27242a
--- /dev/null
+++ b/doc/html/ada/funcs/W.htm
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>W</TITLE></HEAD>
+<BODY>
+<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_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_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__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_1321_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_1233_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-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_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_1246_16" TARGET="main">WWinTouched</A>
+</UL></BODY></HTML>
diff --git a/doc/html/ada/index.htm b/doc/html/ada/index.htm
new file mode 100644
index 0000000..4a13484
--- /dev/null
+++ b/doc/html/ada/index.htm
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
+<HTML>
+<HEAD><TITLE>Source Browser</TITLE></HEAD>
+<FRAMESET COLS="250,*">
+<NOFRAMES>
+<H2 ALIGN=CENTER>Files</H2>
+<A HREF="files/T.htm">[T]</A>
+<HR>
+<H2 ALIGN=CENTER>Functions/Procedures</H2>
+<A HREF="funcs/A.htm">[A]</A>
+<A HREF="funcs/B.htm">[B]</A>
+<A HREF="funcs/C.htm">[C]</A>
+<A HREF="funcs/D.htm">[D]</A>
+<A HREF="funcs/E.htm">[E]</A>
+<A HREF="funcs/F.htm">[F]</A>
+<A HREF="funcs/G.htm">[G]</A>
+<A HREF="funcs/H.htm">[H]</A>
+<A HREF="funcs/I.htm">[I]</A>
+<A HREF="funcs/K.htm">[K]</A>
+<A HREF="funcs/L.htm">[L]</A>
+<A HREF="funcs/M.htm">[M]</A>
+<A HREF="funcs/N.htm">[N]</A>
+<A HREF="funcs/O.htm">[O]</A>
+<A HREF="funcs/P.htm">[P]</A>
+<A HREF="funcs/Q.htm">[Q]</A>
+<A HREF="funcs/R.htm">[R]</A>
+<A HREF="funcs/S.htm">[S]</A>
+<A HREF="funcs/T.htm">[T]</A>
+<A HREF="funcs/U.htm">[U]</A>
+<A HREF="funcs/V.htm">[V]</A>
+<A HREF="funcs/W.htm">[W]</A>
+</NOFRAMES>
+<FRAMESET ROWS="50%,50%">
+<FRAME NAME=files SRC=files.htm>
+<FRAME NAME=funcs SRC=funcs.htm>
+</FRAMESET>
+<FRAME NAME=main SRC=main.htm>
+</FRAMESET>
+</HTML>
diff --git a/doc/html/ada/main.htm b/doc/html/ada/main.htm
new file mode 100644
index 0000000..d850608
--- /dev/null
+++ b/doc/html/ada/main.htm
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE></TITLE></HEAD>
+<BODY>
+<P ALIGN=right><A HREF="main.htm" TARGET="_top">[No frame version is here]</A><P><H2 ALIGN=CENTER>Files</H2>
+<A HREF="files/T.htm">[T]</A>
+<HR><H2 ALIGN=CENTER>Functions/Procedures</H2>
+<A HREF="funcs/A.htm">[A]</A>
+<A HREF="funcs/B.htm">[B]</A>
+<A HREF="funcs/C.htm">[C]</A>
+<A HREF="funcs/D.htm">[D]</A>
+<A HREF="funcs/E.htm">[E]</A>
+<A HREF="funcs/F.htm">[F]</A>
+<A HREF="funcs/G.htm">[G]</A>
+<A HREF="funcs/H.htm">[H]</A>
+<A HREF="funcs/I.htm">[I]</A>
+<A HREF="funcs/K.htm">[K]</A>
+<A HREF="funcs/L.htm">[L]</A>
+<A HREF="funcs/M.htm">[M]</A>
+<A HREF="funcs/N.htm">[N]</A>
+<A HREF="funcs/O.htm">[O]</A>
+<A HREF="funcs/P.htm">[P]</A>
+<A HREF="funcs/Q.htm">[Q]</A>
+<A HREF="funcs/R.htm">[R]</A>
+<A HREF="funcs/S.htm">[S]</A>
+<A HREF="funcs/T.htm">[T]</A>
+<A HREF="funcs/U.htm">[U]</A>
+<A HREF="funcs/V.htm">[V]</A>
+<A HREF="funcs/W.htm">[W]</A>
+<HR>
+You should start your browsing with one of these files:
+<UL>
+<LI><A HREF="terminal_interface__ads.htm">terminal_interface.ads</A>
+<LI><A HREF="terminal_interface-curses__ads.htm">terminal_interface-curses.ads</A>
+<LI><A HREF="terminal_interface-curses-aux__ads.htm">terminal_interface-curses-aux.ads</A>
+<LI><A HREF="terminal_interface-curses-forms__ads.htm">terminal_interface-curses-forms.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types__ads.htm">terminal_interface-curses-forms-field_types.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm">terminal_interface-curses-forms-field_types-alpha.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm">terminal_interface-curses-forms-field_types-alphanumeric.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm">terminal_interface-curses-forms-field_types-enumeration-ada.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm">terminal_interface-curses-forms-field_types-enumeration.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm">terminal_interface-curses-forms-field_types-intfield.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm">terminal_interface-curses-forms-field_types-ipv4_address.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm">terminal_interface-curses-forms-field_types-numeric.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm">terminal_interface-curses-forms-field_types-regexp.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types-user__ads.htm">terminal_interface-curses-forms-field_types-user.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm">terminal_interface-curses-forms-field_types-user-choice.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-field_user_data__ads.htm">terminal_interface-curses-forms-field_user_data.ads</A>
+<LI><A HREF="terminal_interface-curses-forms-form_user_data__ads.htm">terminal_interface-curses-forms-form_user_data.ads</A>
+<LI><A HREF="terminal_interface-curses-menus__ads.htm">terminal_interface-curses-menus.ads</A>
+<LI><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm">terminal_interface-curses-menus-item_user_data.ads</A>
+<LI><A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm">terminal_interface-curses-menus-menu_user_data.ads</A>
+<LI><A HREF="terminal_interface-curses-mouse__ads.htm">terminal_interface-curses-mouse.ads</A>
+<LI><A HREF="terminal_interface-curses-panels__ads.htm">terminal_interface-curses-panels.ads</A>
+<LI><A HREF="terminal_interface-curses-panels-user_data__ads.htm">terminal_interface-curses-panels-user_data.ads</A>
+<LI><A HREF="terminal_interface-curses-putwin__ads.htm">terminal_interface-curses-putwin.ads</A>
+<LI><A HREF="terminal_interface-curses-termcap__ads.htm">terminal_interface-curses-termcap.ads</A>
+<LI><A HREF="terminal_interface-curses-terminfo__ads.htm">terminal_interface-curses-terminfo.ads</A>
+<LI><A HREF="terminal_interface-curses-text_io__ads.htm">terminal_interface-curses-text_io.ads</A>
+<LI><A HREF="terminal_interface-curses-text_io-aux__ads.htm">terminal_interface-curses-text_io-aux.ads</A>
+<LI><A HREF="terminal_interface-curses-text_io-complex_io__ads.htm">terminal_interface-curses-text_io-complex_io.ads</A>
+<LI><A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm">terminal_interface-curses-text_io-decimal_io.ads</A>
+<LI><A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm">terminal_interface-curses-text_io-enumeration_io.ads</A>
+<LI><A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm">terminal_interface-curses-text_io-fixed_io.ads</A>
+<LI><A HREF="terminal_interface-curses-text_io-float_io__ads.htm">terminal_interface-curses-text_io-float_io.ads</A>
+<LI><A HREF="terminal_interface-curses-text_io-integer_io__ads.htm">terminal_interface-curses-text_io-integer_io.ads</A>
+<LI><A HREF="terminal_interface-curses-text_io-modular_io__ads.htm">terminal_interface-curses-text_io-modular_io.ads</A>
+<LI><A HREF="terminal_interface-curses-trace__ads.htm">terminal_interface-curses-trace.ads</A>
+</UL>
+</BODY></HTML>
diff --git a/doc/html/ada/table.html b/doc/html/ada/table.html
new file mode 100644
index 0000000..ff6d0bd
--- /dev/null
+++ b/doc/html/ada/table.html
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML
+PUBLIC "-//IETF//DTD HTML 3.0//EN">
+<HTML>
+<HEAD>
+<TITLE>Correspondence between ncurses C and Ada functions</TITLE>
+</HEAD>
+<BODY>
+<H1>Correspondence between ncurses C and Ada functions</H1>
+<H2>Sorted by C function name</H2>
+<TABLE ALIGN=CENTER BORDER>
+<TR ALIGN=LEFT>
+<TH>C name</TH><TH>Ada name</TH><TH>man page</TH></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>
+<TR><TD>bottom_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_3">Bottom</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>box()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_26">Box</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
+<TR><TD>can_change_color()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_146">Can_Change_Color</A></TD><TD><A HREF="../man/curs_color.3x.html">curs_color.3x</A></TD></TR>
+<TR><TD>cbreak()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_42">Set_Cbreak_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
+<TR><TD>clearok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_54">Clear_On_Next_Update</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
+<TR><TD>color_content()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_147">Color_Content</A></TD><TD><A HREF="../man/curs_color.3x.html">curs_color.3x</A></TD></TR>
+<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>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>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>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>
+<TR><TD>dup_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_4">Duplicate</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
+<TR><TD>dupwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_15">Duplicate</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
+<TR><TD>dynamic_field_info()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_26">Dynamic_Info</A></TD><TD><A HREF="../man/form_field_info.3x.html">form_field_info.3x</A></TD></TR>
+<TR><TD>echo()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_44">Set_Echo_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
+<TR><TD>endwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_5">End_Windows</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
+<TR><TD>erasechar()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_132">Erase_Character</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
+<TR><TD>field_back()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_21">Background</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
+<TR><TD>field_back()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_22">Background</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
+<TR><TD>field_buffer()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_9">Get_Buffer</A></TD><TD><A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></TD></TR>
+<TR><TD>field_count()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_43">Field_Count</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
+<TR><TD>field_fore()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_18">Foreground</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
+<TR><TD>field_fore()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_19">Foreground</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
+<TR><TD>field_index()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_61">Get_Index</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
+<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_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>
+<TR><TD>field_type()</TD><TD><A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#AFU_2">Get_Type</A></TD><TD><A HREF="../man/form_field_validation.3x.html">form_field_validation.3x</A></TD></TR>
+<TR><TD>field_userptr</TD><TD><A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#AFU_2">Get_User_Data</A></TD><TD><A HREF="../man/form_field_userptr.3x.html">form_field_userptr.3x</A></TD></TR>
+<TR><TD>field_userptr</TD><TD><A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#AFU_3">Get_User_Data</A></TD><TD><A HREF="../man/form_field_userptr.3x.html">form_field_userptr.3x</A></TD></TR>
+<TR><TD>flash()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_41">Flash_Screen</A></TD><TD><A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></TD></TR>
+<TR><TD>flushinp()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_130">Flush_Input</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
+<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_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>
+<TR><TD>form_userptr</TD><TD><A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#AFU_2">Get_User_Data</A></TD><TD><A HREF="../man/form_userptr.3x.html">form_userptr.3x</A></TD></TR>
+<TR><TD>form_userptr</TD><TD><A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#AFU_3">Get_User_Data</A></TD><TD><A HREF="../man/form_userptr.3x.html">form_userptr.3x</A></TD></TR>
+<TR><TD>form_win()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_28">Get_Window</A></TD><TD><A HREF="../man/form_win.3x.html">form_win.3x</A></TD></TR>
+<TR><TD>free_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_3">Delete</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
+<TR><TD>free_form()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_47">Delete</A></TD><TD><A HREF="../man/form_new.3x.html">form_new.3x</A></TD></TR>
+<TR><TD>free_item()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_3">Delete</A></TD><TD><A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></TD></TR>
+<TR><TD>free_menu()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_60">Delete</A></TD><TD><A HREF="../man/menu_new.3x.html">menu_new.3x</A></TD></TR>
+<TR><TD>getbegyx()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_86">Get_Window_Position</A></TD><TD><A HREF="../man/curs_getyx.3x.html">curs_getyx.3x</A></TD></TR>
+<TR><TD>getmaxyx()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_85">Get_Size</A></TD><TD><A HREF="../man/curs_getyx.3x.html">curs_getyx.3x</A></TD></TR>
+<TR><TD>getmouse()</TD><TD><A HREF="terminal_interface-curses-mouse__ads.htm#AFU_2">Get_Mouse</A></TD><TD><A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></TD></TR>
+<TR><TD>getparyx()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_88">Get_Origin_Relative_To_Parent</A></TD><TD><A HREF="../man/curs_getyx.3x.html">curs_getyx.3x</A></TD></TR>
+<TR><TD>getyx()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_87">Get_Cursor_Position</A></TD><TD><A HREF="../man/curs_getyx.3x.html">curs_getyx.3x</A></TD></TR>
+<TR><TD>halfdelay()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_47">Half_Delay</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
+<TR><TD>has_colors()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_144">Has_Colors</A></TD><TD><A HREF="../man/curs_color.3x.html">curs_color.3x</A></TD></TR>
+<TR><TD>has_ic()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_134">Has_Insert_Character</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
+<TR><TD>has_il()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_135">Has_Insert_Line</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
+<TR><TD>has_key()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_31">Has_Key</A></TD><TD><A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></TD></TR>
+<TR><TD>hide_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_7">Hide</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>idcok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_56">Use_Insert_Delete_Character</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
+<TR><TD>idlok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_55">Use_Insert_Delete_Line</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
+<TR><TD>immedok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_58">Immediate_Update_Mode</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
+<TR><TD>init_color()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_145">Init_Color</A></TD><TD><A HREF="../man/curs_color.3x.html">curs_color.3x</A></TD></TR>
+<TR><TD>init_pair()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_142">Init_Pair</A></TD><TD><A HREF="../man/curs_color.3x.html">curs_color.3x</A></TD></TR>
+<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>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_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>
+<TR><TD>item_value()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_5">Value</A></TD><TD><A HREF="../man/mitem_value.3x.html">mitem_value.3x</A></TD></TR>
+<TR><TD>item_visible()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_6">Visible</A></TD><TD><A HREF="../man/mitem_visible.3x.html">mitem_visible.3x</A></TD></TR>
+<TR><TD>keyname()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_125">Key_Name</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
+<TR><TD>keyname()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_126">Key_Name</A></TD><TD><A HREF="../man/curs_util.3x.html">curs_util.3x</A></TD></TR>
+<TR><TD>keyok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_123">Enable_Key</A></TD><TD><A HREF="../man/keyok.3x.html">keyok.3x</A></TD></TR>
+<TR><TD>keypad()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_46">Set_KeyPad_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
+<TR><TD>killchar()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_133">Kill_Character</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
+<TR><TD>leaveok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_57">Leave_Cursor_After_Update</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
+<TR><TD>link_field()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_5">Link</A></TD><TD><A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></TD></TR>
+<TR><TD>longname()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_137">Long_Name</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
+<TR><TD>longname()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_138">Long_Name</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
+<TR><TD>menu_back()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_35">Background</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
+<TR><TD>menu_back()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_36">Background</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
+<TR><TD>menu_driver()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_61">Driver</A></TD><TD><A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></TD></TR>
+<TR><TD>menu_fore()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_32">Foreground</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
+<TR><TD>menu_fore()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_33">Foreground</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
+<TR><TD>menu_format()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_47">Format</A></TD><TD><A HREF="../man/menu_format.3x.html">menu_format.3x</A></TD></TR>
+<TR><TD>menu_grey()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_38">Grey</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
+<TR><TD>menu_grey()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_39">Grey</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
+<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_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>
+<TR><TD>menu_spacing()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_43">Spacing</A></TD><TD><A HREF="../man/menu_spacing.3x.html">menu_spacing.3x</A></TD></TR>
+<TR><TD>menu_sub()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_26">Get_Sub_Window</A></TD><TD><A HREF="../man/menu_win.3x.html">menu_win.3x</A></TD></TR>
+<TR><TD>menu_term()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_55">Get_Menu_Term_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
+<TR><TD>menu_userptr</TD><TD><A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#AFU_2">Get_User_Data</A></TD><TD><A HREF="../man/menu_userptr.3x.html">menu_userptr.3x</A></TD></TR>
+<TR><TD>menu_userptr</TD><TD><A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#AFU_3">Get_User_Data</A></TD><TD><A HREF="../man/menu_userptr.3x.html">menu_userptr.3x</A></TD></TR>
+<TR><TD>menu_win()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_24">Get_Window</A></TD><TD><A HREF="../man/menu_win.3x.html">menu_win.3x</A></TD></TR>
+<TR><TD>meta()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_45">Set_Meta_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
+<TR><TD>mouseinterval()</TD><TD><A HREF="terminal_interface-curses-mouse__ads.htm#AFU_5">Mouse_Interval</A></TD><TD><A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></TD></TR>
+<TR><TD>mousemask()</TD><TD><A HREF="terminal_interface-curses-mouse__ads.htm#AFU_1">Start_Mouse</A></TD><TD><A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></TD></TR>
+<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>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>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>
+<TR><TD>new_form()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_46">New_Form</A></TD><TD><A HREF="../man/form_new.3x.html">form_new.3x</A></TD></TR>
+<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>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>
+<TR><TD>notimeout()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_52">Set_Escape_Time_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
+<TR><TD>overlay()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_81">Overlay</A></TD><TD><A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></TD></TR>
+<TR><TD>overwrite()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_80">Overwrite</A></TD><TD><A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></TD></TR>
+<TR><TD>pair_content()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_143">Pair_Content</A></TD><TD><A HREF="../man/curs_color.3x.html">curs_color.3x</A></TD></TR>
+<TR><TD>panel_above()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_13">Above</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>panel_below()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_14">Below</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>panel_hidden()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_12">Is_Hidden</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>panel_userptr</TD><TD><A HREF="terminal_interface-curses-panels-user_data__ads.htm#AFU_2">Get_User_Data</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>panel_userptr</TD><TD><A HREF="terminal_interface-curses-panels-user_data__ads.htm#AFU_3">Get_User_Data</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>panel_window()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_8">Get_Window</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>panel_window()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_9">Panel_Window</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>pechochar()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_93">Add_Character_To_Pad_And_Echo_It</A></TD><TD><A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></TD></TR>
+<TR><TD>pnoutrefresh()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_92">Refresh_Without_Update</A></TD><TD><A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></TD></TR>
+<TR><TD>pos_form_cursor()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_53">Position_Cursor</A></TD><TD><A HREF="../man/form_cursor.3x.html">form_cursor.3x</A></TD></TR>
+<TR><TD>pos_menu_cursor()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_28">Position_Cursor</A></TD><TD><A HREF="../man/menu_cursor.3x.html">menu_cursor.3x</A></TD></TR>
+<TR><TD>post_form()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_52">Post</A></TD><TD><A HREF="../man/form_post.3x.html">form_post.3x</A></TD></TR>
+<TR><TD>post_menu()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_18">Post</A></TD><TD><A HREF="../man/menu_post.3x.html">menu_post.3x</A></TD></TR>
+<TR><TD>prefresh()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_91">Refresh</A></TD><TD><A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></TD></TR>
+<TR><TD>qiflush()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_49">Set_Queue_Interrupt_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
+<TR><TD>raw()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_43">Set_Raw_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
+<TR><TD>redrawwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_64">Redraw</A></TD><TD><A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></TD></TR>
+<TR><TD>replace_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_10">Replace</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<TR><TD>reset_prog_mode()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_149">Reset_Curses_Mode</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
+<TR><TD>resetty();</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_151">Reset_Terminal_State</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
+<TR><TD>ripoffline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_152">Rip_Off_Lines</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
+<TR><TD>savetty()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_150">Save_Terminal_State</A></TD><TD><A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></TD></TR>
+<TR><TD>scale_form()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_31">Scale</A></TD><TD><A HREF="../man/form_win.3x.html">form_win.3x</A></TD></TR>
+<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>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>
+<TR><TD>set_field_buffer()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_8">Set_Buffer</A></TD><TD><A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></TD></TR>
+<TR><TD>set_field_fore()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_17">Set_Foreground</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
+<TR><TD>set_field_init()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_32">Set_Field_Init_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
+<TR><TD>set_field_just()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_6">Set_Justification</A></TD><TD><A HREF="../man/form_field_just.3x.html">form_field_just.3x</A></TD></TR>
+<TR><TD>set_field_max()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_12">Set_Maximum_Size</A></TD><TD><A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></TD></TR>
+<TR><TD>set_field_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_13">Set_Options</A></TD><TD><A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></TD></TR>
+<TR><TD>set_field_pad()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_23">Set_Pad_Character</A></TD><TD><A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></TD></TR>
+<TR><TD>set_field_status()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_10">Set_Status</A></TD><TD><A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></TD></TR>
+<TR><TD>set_field_term()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_33">Set_Field_Term_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
+<TR><TD>set_field_type()</TD><TD><A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#AFU_1">Set_Type</A></TD><TD><A HREF="../man/form_fieldtype.3x.html">form_fieldtype.3x</A></TD></TR>
+<TR><TD>set_field_userptr</TD><TD><A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#AFU_1">Set_User_Data</A></TD><TD><A HREF="../man/form_field_userptr.3x.html">form_field_userptr.3x</A></TD></TR>
+<TR><TD>set_form_fields()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_40">Redefine</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
+<TR><TD>set_form_fields()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_41">Set_Fields</A></TD><TD><A HREF="../man/form_field.3x.html">form_field.3x</A></TD></TR>
+<TR><TD>set_form_init()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_34">Set_Form_Init_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
+<TR><TD>set_form_opts()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_48">Set_Options</A></TD><TD><A HREF="../man/form_opts.3x.html">form_opts.3x</A></TD></TR>
+<TR><TD>set_form_page()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_59">Set_Page</A></TD><TD><A HREF="../man/form_page.3x.html">form_page.3x</A></TD></TR>
+<TR><TD>set_form_sub()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_29">Set_Sub_Window</A></TD><TD><A HREF="../man/form_win.3x.html">form_win.3x</A></TD></TR>
+<TR><TD>set_form_term()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_35">Set_Form_Term_Hook</A></TD><TD><A HREF="../man/form_hook.3x.html">form_hook.3x</A></TD></TR>
+<TR><TD>set_form_userptr</TD><TD><A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#AFU_1">Set_User_Data</A></TD><TD><A HREF="../man/form_userptr.3x.html">form_userptr.3x</A></TD></TR>
+<TR><TD>set_form_win()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_27">Set_Window</A></TD><TD><A HREF="../man/form_win.3x.html">form_win.3x</A></TD></TR>
+<TR><TD>set_item_init()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_48">Set_Item_Init_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
+<TR><TD>set_item_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_7">Set_Options</A></TD><TD><A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></TD></TR>
+<TR><TD>set_item_term()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_49">Set_Item_Term_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
+<TR><TD>set_item_userptr</TD><TD><A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#AFU_1">Set_User_Data</A></TD><TD><A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></TD></TR>
+<TR><TD>set_item_value()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_4">Set_Value</A></TD><TD><A HREF="../man/mitem_value.3x.html">mitem_value.3x</A></TD></TR>
+<TR><TD>set_menu_back()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_34">Set_Background</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
+<TR><TD>set_menu_fore()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_31">Set_Foreground</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
+<TR><TD>set_menu_format()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_46">Set_Format</A></TD><TD><A HREF="../man/menu_format.3x.html">menu_format.3x</A></TD></TR>
+<TR><TD>set_menu_grey()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_37">Set_Grey</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
+<TR><TD>set_menu_init()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_50">Set_Menu_Init_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
+<TR><TD>set_menu_items()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_56">Redefine</A></TD><TD><A HREF="../man/menu_items.3x.html">menu_items.3x</A></TD></TR>
+<TR><TD>set_menu_mark()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_29">Set_Mark</A></TD><TD><A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></TD></TR>
+<TR><TD>set_menu_opts()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_19">Set_Options</A></TD><TD><A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></TD></TR>
+<TR><TD>set_menu_pad()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_40">Set_Pad_Character</A></TD><TD><A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></TD></TR>
+<TR><TD>set_menu_pattern()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_44">Set_Pattern</A></TD><TD><A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></TD></TR>
+<TR><TD>set_menu_spacing()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_42">Set_Spacing</A></TD><TD><A HREF="../man/menu_spacing.3x.html">menu_spacing.3x</A></TD></TR>
+<TR><TD>set_menu_sub()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_25">Set_Sub_Window</A></TD><TD><A HREF="../man/menu_win.3x.html">menu_win.3x</A></TD></TR>
+<TR><TD>set_menu_term()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_51">Set_Menu_Term_Hook</A></TD><TD><A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></TD></TR>
+<TR><TD>set_menu_userptr</TD><TD><A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#AFU_1">Set_User_Data</A></TD><TD><A HREF="../man/menu_userptr.3x.html">menu_userptr.3x</A></TD></TR>
+<TR><TD>set_menu_win()</TD><TD><A HREF="terminal_interface-curses-menus__ads.htm#AFU_23">Set_Window</A></TD><TD><A HREF="../man/menu_win.3x.html">menu_win.3x</A></TD></TR>
+<TR><TD>set_new_page()</TD><TD><A HREF="terminal_interface-curses-forms__ads.htm#AFU_62">Set_New_Page</A></TD><TD><A HREF="../man/form_new_page.3x.html">form_new_page.3x</A></TD></TR>
+<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_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>
+<TR><TD>slk_label()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_113">Get_Soft_Label_Key</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_label()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_114">Get_Soft_Label_Key</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_noutrefresh()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_112">Refresh_Soft_Label_Keys_Without_Update</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_refresh()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_111">Refresh_Soft_Label_Key</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_restore()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_116">Restore_Soft_Label_Keys</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_110">Set_Soft_Label_Key</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>slk_touch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_117">Touch_Soft_Label_Keys</A></TD><TD><A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></TD></TR>
+<TR><TD>standout()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_32">Standout</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
+<TR><TD>start_color()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_141">Start_Color</A></TD><TD><A HREF="../man/curs_color.3x.html">curs_color.3x</A></TD></TR>
+<TR><TD>stdscr</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_1">Standard_Window</A></TD><TD><A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></TD></TR>
+<TR><TD>subpad()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_90">Sub_Pad</A></TD><TD><A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></TD></TR>
+<TR><TD>subwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_13">Sub_Window</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
+<TR><TD>syncok()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_20">Set_Synch_Mode</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
+<TR><TD>termattrs()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_136">Supported_Attributes</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
+<TR><TD>termname()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_139">Terminal_Name</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
+<TR><TD>termname()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_140">Terminal_Name</A></TD><TD><A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></TD></TR>
+<TR><TD>top_panel()</TD><TD><A HREF="terminal_interface-curses-panels__ads.htm#AFU_4">Top</A></TD><TD><A HREF="../man/panel.3x.html">panel.3x</A></TD></TR>
+<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>
+<TR><TD>ungetch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_30">Undo_Keystroke</A></TD><TD><A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></TD></TR>
+<TR><TD>ungetmouse()</TD><TD><A HREF="terminal_interface-curses-mouse__ads.htm#AFU_3">Unget_Mouse</A></TD><TD><A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></TD></TR>
+<TR><TD>untouchwin()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_73">Untouch</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
+<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>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>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>
+<TR><TD>wclrtobot()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_68">Clear_To_End_Of_Screen</A></TD><TD><A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></TD></TR>
+<TR><TD>wclrtoeol()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_69">Clear_To_End_Of_Line</A></TD><TD><A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></TD></TR>
+<TR><TD>wcolor_set()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_37">Set_Color</A></TD><TD><A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></TD></TR>
+<TR><TD>wdelch()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_95">Delete_Character</A></TD><TD><A HREF="../man/curs_delch.3x.html">curs_delch.3x</A></TD></TR>
+<TR><TD>wdeleteln()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_83">Delete_Line</A></TD><TD><A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></TD></TR>
+<TR><TD>wechochar()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_10">Add_With_Immediate_Echo</A></TD><TD><A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></TD></TR>
+<TR><TD>wenclose()</TD><TD><A HREF="terminal_interface-curses-mouse__ads.htm#AFU_4">Enclosed_In_Window</A></TD><TD><A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></TD></TR>
+<TR><TD>werase()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_66">Erase</A></TD><TD><A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></TD></TR>
+<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>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>
+<TR><TD>winsertln()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_84">Insert_Line</A></TD><TD><A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></TD></TR>
+<TR><TD>winsnstr()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_101">Insert</A></TD><TD><A HREF="../man/curs_insstr.3x.html">curs_insstr.3x</A></TD></TR>
+<TR><TD>wmove()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_7">Move_Cursor</A></TD><TD><A HREF="../man/curs_move.3x.html">curs_move.3x</A></TD></TR>
+<TR><TD>wnoutrefresh()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_63">Refresh_Without_Update</A></TD><TD><A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></TD></TR>
+<TR><TD>wredrawln()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_65">Redraw</A></TD><TD><A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></TD></TR>
+<TR><TD>wrefresh()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_62">Refresh</A></TD><TD><A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></TD></TR>
+<TR><TD>wresize()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_164">Resize</A></TD><TD><A HREF="../man/wresize.3x.html">wresize.3x</A></TD></TR>
+<TR><TD>wscrl()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_94">Scroll</A></TD><TD><A HREF="../man/curs_scroll.3x.html">curs_scroll.3x</A></TD></TR>
+<TR><TD>wsetscrreg()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_60">Set_Scroll_Region</A></TD><TD><A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></TD></TR>
+<TR><TD>wsyncdown()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_19">Synchronize_Downwards</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
+<TR><TD>wsyncup()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_18">Synchronize_Upwards</A></TD><TD><A HREF="../man/curs_window.3x.html">curs_window.3x</A></TD></TR>
+<TR><TD>wtimeout()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_51">Set_Timeout_Mode</A></TD><TD><A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></TD></TR>
+<TR><TD>wtouchln()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_76">Change_Line_Status</A></TD><TD><A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></TD></TR>
+<TR><TD>wvline()</TD><TD><A HREF="terminal_interface-curses__ads.htm#AFU_28">Vertical_Line</A></TD><TD><A HREF="../man/curs_border.3x.html">curs_border.3x</A></TD></TR>
+</TABLE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses-aux__adb.htm b/doc/html/ada/terminal_interface-curses-aux__adb.htm
new file mode 100644
index 0000000..6b22ff8
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-aux__adb.htm
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-aux.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-aux.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                      Terminal_Interface.Curses.Aux                       --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.10 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_41_40" HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A></FONT> <b>is</b>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=green><EM>--  Some helpers</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_44_14" HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A></FONT> (<FONT COLOR=red><A NAME="ref_44_27" HREF="terminal_interface-curses-aux__ads.htm#ref_116_27">Cp</A></FONT>  : <b>in</b>  chars_ptr;
+                          <FONT COLOR=red><A NAME="ref_45_27" HREF="terminal_interface-curses-aux__ads.htm#ref_117_27">Str</A></FONT> : <b>out</b> String)
+   <b>is</b>
+      <FONT COLOR=green><EM>--  Fill the string with the characters referenced by the</EM></FONT>
+      <FONT COLOR=green><EM>--  chars_ptr.</EM></FONT>
+      <FONT COLOR=green><EM>--</EM></FONT>
+      <FONT COLOR=red><A NAME="ref_50_7">Len</A></FONT> : 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>raise</b> Constraint_Error;
+         <b>end</b> <b>if</b>;
+         <b>declare</b>
+            <FONT COLOR=red><A NAME="ref_58_13">S</A></FONT> : 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>);
+         <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>end</b> <b>if</b>;
+
+   <b>end</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_73_13" HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A></FONT> (<FONT COLOR=red><A NAME="ref_73_26" HREF="terminal_interface-curses-aux__ads.htm#ref_121_26">Cp</A></FONT> : chars_ptr) <b>return</b> String
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_75_7">Len</A></FONT> : 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__adb.htm#ref_75_7">Len</A> = 0 <b>then</b>
+            <b>return</b> "";
+         <b>else</b>
+            <b>declare</b>
+               <FONT COLOR=red><A NAME="ref_83_16">S</A></FONT> : 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>);
+               <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>procedure</b> <FONT COLOR=red><A NAME="ref_94_14" HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A></FONT> (<FONT COLOR=red><A NAME="ref_94_29" HREF="terminal_interface-curses-aux__ads.htm#ref_96_29">Code</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">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_389_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_390_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_391_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_392_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_393_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_394_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_395_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_396_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_397_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_398_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_399_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_400_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_401_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_402_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__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>;
+</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
new file mode 100644
index 0000000..f2160cd
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-aux__ads.htm
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-aux.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-aux.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                       Terminal_Interface.Curses.Aux                      --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.16 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  curses binding.</EM></FONT>
+<FONT COLOR=green><EM>--  This module is generated. Please don't change it manually!</EM></FONT>
+<FONT COLOR=green><EM>--  Run the generator instead.</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<b>with</b> System;
+<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>with</b> <A HREF="unchconv__ads.htm#ref_20_10">Unchecked_Conversion</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>.<FONT COLOR=red><A NAME="ref_50_35" HREF="terminal_interface-curses-aux__adb.htm#ref_41_40">Aux</A></FONT> <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>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_55_12">C_Int</A></FONT>      <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_56_12">C_Short</A></FONT>    <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short;
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_57_12">C_Long_Int</A></FONT> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.long;
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_58_12">C_Size_T</A></FONT>   <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.size_t;
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_59_12">C_UInt</A></FONT>     <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.unsigned;
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_60_12">C_ULong</A></FONT>    <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.unsigned_long;
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_61_12">C_Char_Ptr</A></FONT> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.Strings.chars_ptr;
+   <b>type</b>    <FONT COLOR=red><A NAME="ref_62_12">C_Void_Ptr</A></FONT> <b>is</b> <b>new</b> System.Address;
+   <b>type</b>    <FONT COLOR=red><A NAME="ref_63_12">C_Chtype</A></FONT>   <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_60_12">C_ULong</A>;
+   <b>type</b>    <FONT COLOR=red><A NAME="ref_64_12">C_AttrType</A></FONT> <b>is</b> <b>new</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_60_12">C_ULong</A>;
+
+   <FONT COLOR=green><EM>--  This is how those constants are defined in ncurses. I see them also</EM></FONT>
+   <FONT COLOR=green><EM>--  exactly like this in all ETI implementations I ever tested. So it</EM></FONT>
+   <FONT COLOR=green><EM>--  could be that this is quite general, but please check with your curses.</EM></FONT>
+   <FONT COLOR=green><EM>--  This is critical, because curses sometime mixes boolean returns with</EM></FONT>
+   <FONT COLOR=green><EM>--  returning an error status.</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_71_4">Curses_Ok</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := 0;
+   <FONT COLOR=red><A NAME="ref_72_4">Curses_Err</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := -1;
+
+   <FONT COLOR=red><A NAME="ref_74_4">Curses_True</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := 1;
+   <FONT COLOR=red><A NAME="ref_75_4">Curses_False</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := 0;
+
+   <FONT COLOR=green><EM>--  Eti_Error: type for error codes returned by the menu and form subsystem</EM></FONT>
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_78_12">Eti_Error</A></FONT> <b>is</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> <b>range</b> -14 .. 0;
+
+   <FONT COLOR=red><A NAME="ref_80_4">E_Ok</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := 0;
+   <FONT COLOR=red><A NAME="ref_81_4">E_System_Error</A></FONT>     : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -1;
+   <FONT COLOR=red><A NAME="ref_82_4">E_Bad_Argument</A></FONT>     : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -2;
+   <FONT COLOR=red><A NAME="ref_83_4">E_Posted</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -3;
+   <FONT COLOR=red><A NAME="ref_84_4">E_Connected</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -4;
+   <FONT COLOR=red><A NAME="ref_85_4">E_Bad_State</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -5;
+   <FONT COLOR=red><A NAME="ref_86_4">E_No_Room</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -6;
+   <FONT COLOR=red><A NAME="ref_87_4">E_Not_Posted</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -7;
+   <FONT COLOR=red><A NAME="ref_88_4">E_Unknown_Command</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -8;
+   <FONT COLOR=red><A NAME="ref_89_4">E_No_Match</A></FONT>         : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -9;
+   <FONT COLOR=red><A NAME="ref_90_4">E_Not_Selectable</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -10;
+   <FONT COLOR=red><A NAME="ref_91_4">E_Not_Connected</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -11;
+   <FONT COLOR=red><A NAME="ref_92_4">E_Request_Denied</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -12;
+   <FONT COLOR=red><A NAME="ref_93_4">E_Invalid_Field</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -13;
+   <FONT COLOR=red><A NAME="ref_94_4">E_Current</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := -14;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_96_14" HREF="terminal_interface-curses-aux__adb.htm#ref_94_14">Eti_Exception</A></FONT> (<FONT COLOR=red><A NAME="ref_96_29" HREF="terminal_interface-curses-aux__adb.htm#ref_94_29">Code</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>);
+   <FONT COLOR=green><EM>--  Dispatch the error code and raise the appropriate exception</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=green><EM>--  Some helpers</EM></FONT>
+   <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_352_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_352_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_352_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>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_352_9">Attributed_Character</A>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_116_14" HREF="terminal_interface-curses-aux__adb.htm#ref_44_14">Fill_String</A></FONT> (<FONT COLOR=red><A NAME="ref_116_27" HREF="terminal_interface-curses-aux__adb.htm#ref_44_27">Cp</A></FONT>  : <b>in</b>  chars_ptr;
+                          <FONT COLOR=red><A NAME="ref_117_27" HREF="terminal_interface-curses-aux__adb.htm#ref_45_27">Str</A></FONT> : <b>out</b> String);
+   <FONT COLOR=green><EM>--  Fill the Str parameter with the string denoted by the chars_ptr</EM></FONT>
+   <FONT COLOR=green><EM>--  C-Style string.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_121_13" HREF="terminal_interface-curses-aux__adb.htm#ref_73_13">Fill_String</A></FONT> (<FONT COLOR=red><A NAME="ref_121_26" HREF="terminal_interface-curses-aux__adb.htm#ref_73_26">Cp</A></FONT> : chars_ptr) <b>return</b> String;
+   <FONT COLOR=green><EM>--  Same but as function.</EM></FONT>
+
+<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>;
+</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
new file mode 100644
index 0000000..dfb50a9
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__adb.htm
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-alpha.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-alpha.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--              Terminal_Interface.Curses.Forms.Field_Types.Alpha           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2008 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:50:25 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_41_53">Alpha</A></FONT> <b>is</b>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_49_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_50_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-alpha__ads.htm#ref_44_9">Alpha_Field</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_49_7">C_Alpha_Field_Type</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+      <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_49_7">C_Alpha_Field_Type</A>, "TYPE_ALPHA");
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_52_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_52_16">F</A></FONT>    : <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>;
+                             <FONT COLOR=red><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_52_16">Cft</A></FONT>  : <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-alpha__adb.htm#ref_49_7">C_Alpha_Field_Type</A>;
+                             <FONT COLOR=red><A NAME="ref_54_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_52_16">Arg1</A></FONT> : <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>pragma</b> Import (C, Set_Fld_Type, "set_field_type");
+
+      <FONT COLOR=red><A NAME="ref_57_7">Res</A></FONT> : <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_57_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_52_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_54_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_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-alpha__adb.htm#ref_57_7">Res</A>);
+      <b>end</b> <b>if</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-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>;
+</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
new file mode 100644
index 0000000..911a24c
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alpha__ads.htm
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-alpha.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-alpha.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--              Terminal_Interface.Curses.Forms.Field_Types.Alpha           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_44_58">Alpha</A></FONT> <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>type</b> <FONT COLOR=red><A NAME="ref_44_9">Alpha_Field</A></FONT> <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>
+        <FONT COLOR=red><A NAME="ref_46_9">Minimum_Field_Width</A></FONT> : Natural := 0;
+     <b>end</b> <b>record</b>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_49_14" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_46_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_49_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_46_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alpha__adb.htm#ref_47_30">Typ</A></FONT> : <b>in</b> <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>;
+</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
new file mode 100644
index 0000000..6d9ff0d
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__adb.htm
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-alphanumeric.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-alphanumeric.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--          Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2008 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:50:15 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_41_53">AlphaNumeric</A></FONT> <b>is</b>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_50_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_51_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__ads.htm#ref_45_9">AlphaNumeric_Field</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_49_7">C_AlphaNumeric_Field_Type</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+      <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_49_7">C_AlphaNumeric_Field_Type</A>, "TYPE_ALNUM");
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_52_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_52_16">F</A></FONT>    : <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>;
+                             <FONT COLOR=red><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_52_16">Cft</A></FONT>  : <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-alphanumeric__adb.htm#ref_49_7">C_AlphaNumeric_Field_Type</A>;
+                             <FONT COLOR=red><A NAME="ref_54_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_52_16">Arg1</A></FONT> : <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>pragma</b> Import (C, Set_Fld_Type, "set_field_type");
+
+      <FONT COLOR=red><A NAME="ref_57_7">Res</A></FONT> : <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_57_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_52_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_54_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_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-alphanumeric__adb.htm#ref_57_7">Res</A>);
+      <b>end</b> <b>if</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-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>;
+</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
new file mode 100644
index 0000000..596eef2
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-alphanumeric__ads.htm
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-alphanumeric.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-alphanumeric.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--          Terminal_Interface.Curses.Forms.Field_Types.AlphaNumeric        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_44_58">AlphaNumeric</A></FONT> <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>);
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_45_9">AlphaNumeric_Field</A></FONT> <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>
+        <FONT COLOR=red><A NAME="ref_47_9">Minimum_Field_Width</A></FONT> : Natural := 0;
+     <b>end</b> <b>record</b>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_50_14" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_46_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_46_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-alphanumeric__adb.htm#ref_47_30">Typ</A></FONT> : <b>in</b> <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>;
+</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
new file mode 100644
index 0000000..587c393
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-enumeration-ada.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-enumeration-ada.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--         Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada      --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.10 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2004/08/21 21:37:00 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_44_70" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">Ada</A></FONT> <b>is</b>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_46_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_46_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_48_21">Set</A></FONT>            : <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>;
+                    <FONT COLOR=red><A NAME="ref_47_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_49_21">Case_Sensitive</A></FONT> : Boolean  := False;
+                    <FONT COLOR=red><A NAME="ref_48_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_50_21">Must_Be_Unique</A></FONT> : Boolean  := False)
+                    <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_51_7">I</A></FONT> : <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);
+      <FONT COLOR=red><A NAME="ref_52_7">J</A></FONT> : 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>;
+
+      <b>for</b> <FONT COLOR=red><A NAME="ref_57_11">E</A></FONT> <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>));
+         <FONT COLOR=green><EM>--  The Image attribute defaults to upper case, so we have to handle</EM></FONT>
+         <FONT COLOR=green><EM>--  only the other ones...</EM></FONT>
+         <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>);
+            <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>)(<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>)(<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));
+            <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;
+      <b>end</b> <b>loop</b>;
+
+      <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> <FONT COLOR=red><A NAME="ref_74_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_13">Value</A></FONT> (<FONT COLOR=red><A NAME="ref_74_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_53_20">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                   <FONT COLOR=red><A NAME="ref_75_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_54_20">Buf</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_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_368_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>;
+</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
new file mode 100644
index 0000000..cd2b4d6
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-enumeration-ada.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-enumeration-ada.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--         Terminal_Interface.Curses.Forms.Field_Types.Enumeration.Ada      --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.10 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>generic</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_42_9" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__ads.htm#ref_44_65">T</A></FONT> <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>.<FONT COLOR=red><A NAME="ref_44_65" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_44_70">Ada</A></FONT> <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>);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_48_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_46_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_48_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_46_21">Set</A></FONT>            : <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>;
+                    <FONT COLOR=red><A NAME="ref_49_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_47_21">Case_Sensitive</A></FONT> : Boolean  := False;
+                    <FONT COLOR=red><A NAME="ref_50_21" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_48_21">Must_Be_Unique</A></FONT> : 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> <FONT COLOR=red><A NAME="ref_53_13" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_74_13">Value</A></FONT> (<FONT COLOR=red><A NAME="ref_53_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_74_20">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                   <FONT COLOR=red><A NAME="ref_54_20" HREF="terminal_interface-curses-forms-field_types-enumeration-ada__adb.htm#ref_75_20">Buf</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_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>;
+   <FONT COLOR=green><EM>--  Translate the content of the fields buffer - indicated by the</EM></FONT>
+   <FONT COLOR=green><EM>--  buffer number - into an enumeration value. If the buffer is empty</EM></FONT>
+   <FONT COLOR=green><EM>--  or the content is invalid, a Constraint_Error is raises.</EM></FONT>
+
+<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>;
+</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
new file mode 100644
index 0000000..948aa3a
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__adb.htm
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-enumeration.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-enumeration.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--          Terminal_Interface.Curses.Forms.Field_Types.Enumeration         --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.7 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>with</b> Ada.Unchecked_Deallocation;
+<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_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>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>.<FONT COLOR=red><A NAME="ref_46_58" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_43_53">Enumeration</A></FONT> <b>is</b>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_48_13" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_48_21" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_21">Info</A></FONT>               : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">Enumeration_Info</A>;
+                    <FONT COLOR=red><A NAME="ref_49_21" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_65_21">Auto_Release_Names</A></FONT> : Boolean := False)
+                    <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>
+   <b>is</b>
+      <b>procedure</b> Release_String <b>is</b>
+        <b>new</b> Ada.Unchecked_Deallocation (String,
+                                        <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_47_9">String_Access</A>);
+      <FONT COLOR=red><A NAME="ref_55_7">E</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>;
+      <FONT COLOR=red><A NAME="ref_56_7">L</A></FONT> : <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>);
+      <FONT COLOR=red><A NAME="ref_57_7">S</A></FONT> : <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_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> <FONT COLOR=red><A NAME="ref_62_11">I</A></FONT> <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_286_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__adb.htm#ref_55_7">Arr</A> (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>);
+         <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>);
+            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>;
+      <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__adb.htm#ref_55_7">Arr</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_56_7">L</A>) := Null_Ptr;
+      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_55_7">E</A>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13">Create</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_76_14" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_14">Release</A></FONT> (<FONT COLOR=red><A NAME="ref_76_23" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_77_23">Enum</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_78_7">I</A></FONT> : size_t := 0;
+      <FONT COLOR=red><A NAME="ref_79_7">P</A></FONT> : chars_ptr;
+   <b>begin</b>
+      <b>loop</b>
+         <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">P</A> := <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> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_78_7">I</A>);
+         <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">P</A> = Null_Ptr;
+         Free (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_79_7">P</A>);
+         <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> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_78_7">I</A>) := Null_Ptr;
+         <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_78_7">I</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_78_7">I</A> + 1;
+      <b>end</b> <b>loop</b>;
+      <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> <FONT COLOR=red><A NAME="ref_91_14" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_91_30" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_84_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_92_30" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_85_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_94_7">C_Enum_Type</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+      <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_94_7">C_Enum_Type</A>, "TYPE_ENUM");
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_97_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_97_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_16">F</A></FONT>    : <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>;
+                             <FONT COLOR=red><A NAME="ref_98_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_16">Cft</A></FONT>  : <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-enumeration__adb.htm#ref_94_7">C_Enum_Type</A>;
+                             <FONT COLOR=red><A NAME="ref_99_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_16">Arg1</A></FONT> : chars_ptr_array;
+                             <FONT COLOR=red><A NAME="ref_100_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_16">Arg2</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+                             <FONT COLOR=red><A NAME="ref_101_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_16">Arg3</A></FONT> : <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>pragma</b> Import (C, Set_Fld_Type, "set_field_type");
+
+      <FONT COLOR=red><A NAME="ref_104_7">Res</A></FONT> : <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_286_4">Form_Exception</A>;
+      <b>end</b> <b>if</b>;
+      <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_104_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_97_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_99_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_100_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_101_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_104_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_104_7">Res</A>);
+      <b>end</b> <b>if</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-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>;
+</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
new file mode 100644
index 0000000..1322bfe
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-enumeration__ads.htm
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-enumeration.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-enumeration.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--           Terminal_Interface.Curses.Forms.Field_Types.Enumeration        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_43_53" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_46_58">Enumeration</A></FONT> <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>);
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_47_9">String_Access</A></FONT> <b>is</b> <b>access</b> String;
+
+   <FONT COLOR=green><EM>--  Type_Set is used by the child package Ada</EM></FONT>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_50_9">Type_Set</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_50_22">Lower_Case</A></FONT>, <FONT COLOR=red><A NAME="ref_50_34">Upper_Case</A></FONT>, <FONT COLOR=red><A NAME="ref_50_46">Mixed_Case</A></FONT>);
+
+   <b>type</b> Enum_Array <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;)
+     <b>of</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_47_9">String_Access</A>;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_55_9">Enumeration_Info</A></FONT> (<FONT COLOR=red><A NAME="ref_55_27" HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">C</A></FONT> : Positive) <b>is</b>
+      <b>record</b>
+         <FONT COLOR=red><A NAME="ref_57_10">Names</A></FONT>                : Enum_Array (1 .. <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_27">C</A>);
+         <FONT COLOR=red><A NAME="ref_58_10">Case_Sensitive</A></FONT>       : Boolean := False;
+         <FONT COLOR=red><A NAME="ref_59_10">Match_Must_Be_Unique</A></FONT> : Boolean := False;
+      <b>end</b> <b>record</b>;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_62_9">Enumeration_Field</A></FONT> <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>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_64_13" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_48_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_64_21" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_48_21">Info</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">Enumeration_Info</A>;
+                    <FONT COLOR=red><A NAME="ref_65_21" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_49_21">Auto_Release_Names</A></FONT> : Boolean := False)
+                    <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>;
+   <FONT COLOR=green><EM>--  Make an fieldtype from the info. Enumerations are special, because</EM></FONT>
+   <FONT COLOR=green><EM>--  they normally don't copy the enum values into a private store, so</EM></FONT>
+   <FONT COLOR=green><EM>--  we have to care for the lifetime of the info we provide.</EM></FONT>
+   <FONT COLOR=green><EM>--  The Auto_Release_Names flag may be used to automatically releases</EM></FONT>
+   <FONT COLOR=green><EM>--  the strings in the Names array of the Enumeration_Info.</EM></FONT>
+
+   <b>function</b> Make_Enumeration_Type (<FONT COLOR=red><A NAME="ref_73_36">Info</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_55_9">Enumeration_Info</A>;
+                                   <FONT COLOR=red><A NAME="ref_74_36">Auto_Release_Names</A></FONT> : Boolean := False)
+                                   <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A> <b>renames</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_64_13">Create</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_77_14" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_76_14">Release</A></FONT> (<FONT COLOR=red><A NAME="ref_77_23" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_76_23">Enum</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms-field_types-enumeration__ads.htm#ref_62_9">Enumeration_Field</A>);
+   <FONT COLOR=green><EM>--  But we may want to release the field to release the memory allocated</EM></FONT>
+   <FONT COLOR=green><EM>--  by it internally. After that the Enumeration field is no longer usable.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  The next type defintions are all ncurses extensions. They are typically</EM></FONT>
+   <FONT COLOR=green><EM>--  not available in other curses implementations.</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_84_14" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_91_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_84_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_91_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_85_30" HREF="terminal_interface-curses-forms-field_types-enumeration__adb.htm#ref_92_30">Typ</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_89_9">CPA_Access</A></FONT> <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>
+         <FONT COLOR=red><A NAME="ref_93_10">Case_Sensitive</A></FONT>       : Boolean := False;
+         <FONT COLOR=red><A NAME="ref_94_10">Match_Must_Be_Unique</A></FONT> : Boolean := False;
+         <FONT COLOR=red><A NAME="ref_95_10">Arr</A></FONT>                  : <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>;
+</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
new file mode 100644
index 0000000..6bae149
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__adb.htm
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-intfield.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-intfield.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--            Terminal_Interface.Curses.Forms.Field_Types.IntField          --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2008 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:50:06 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_41_53">IntField</A></FONT> <b>is</b>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_51_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_52_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-intfield__ads.htm#ref_44_9">Integer_Field</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_49_7">C_Integer_Field_Type</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+      <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_49_7">C_Integer_Field_Type</A>, "TYPE_INTEGER");
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_52_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_16">F</A></FONT>    : <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>;
+                             <FONT COLOR=red><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_16">Cft</A></FONT>  : <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-intfield__adb.htm#ref_49_7">C_Integer_Field_Type</A>;
+                             <FONT COLOR=red><A NAME="ref_54_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_16">Arg1</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+                             <FONT COLOR=red><A NAME="ref_55_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_16">Arg2</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_57_12">C_Long_Int</A>;
+                             <FONT COLOR=red><A NAME="ref_56_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_16">Arg3</A></FONT> : <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>;
+      <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type");
+
+      <FONT COLOR=red><A NAME="ref_59_7">Res</A></FONT> : <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_59_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_52_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_54_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_55_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_56_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_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-intfield__adb.htm#ref_59_7">Res</A>);
+      <b>end</b> <b>if</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-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>;
+</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
new file mode 100644
index 0000000..7db8a14
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-intfield__ads.htm
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-intfield.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-intfield.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--            Terminal_Interface.Curses.Forms.Field_Types.IntField          --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_44_58">IntField</A></FONT> <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>type</b> <FONT COLOR=red><A NAME="ref_44_9">Integer_Field</A></FONT> <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>
+         <FONT COLOR=red><A NAME="ref_46_10">Precision</A></FONT>   : Natural;
+         <FONT COLOR=red><A NAME="ref_47_10">Lower_Limit</A></FONT> : Integer;
+         <FONT COLOR=red><A NAME="ref_48_10">Upper_Limit</A></FONT> : Integer;
+      <b>end</b> <b>record</b>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_46_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_46_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-intfield__adb.htm#ref_47_30">Typ</A></FONT> : <b>in</b> <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>;
+</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
new file mode 100644
index 0000000..e684676
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__adb.htm
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-ipv4_address.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-ipv4_address.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--          Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2008 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.9 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:49:47 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_41_53">IPV4_Address</A></FONT> <b>is</b>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_47_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_48_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__ads.htm#ref_45_9">Internet_V4_Address_Field</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_49_7">C_IPV4_Field_Type</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+      <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_49_7">C_IPV4_Field_Type</A>, "TYPE_IPV4");
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_52_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_52_16">F</A></FONT>    : <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>;
+                             <FONT COLOR=red><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_52_16">Cft</A></FONT>  : <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-ipv4_address__adb.htm#ref_49_7">C_IPV4_Field_Type</A>)
+                             <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+      <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type");
+
+      <FONT COLOR=red><A NAME="ref_57_7">Res</A></FONT> : <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_57_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_52_16">Set_Fld_Type</A>;
+      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-ipv4_address__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-ipv4_address__adb.htm#ref_57_7">Res</A>);
+      <b>end</b> <b>if</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-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>;
+</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
new file mode 100644
index 0000000..57bae18
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-ipv4_address__ads.htm
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-ipv4_address.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-ipv4_address.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--          Terminal_Interface.Curses.Forms.Field_Types.IPV4_Address        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_44_58">IPV4_Address</A></FONT> <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>);
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_45_9">Internet_V4_Address_Field</A></FONT> <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> <FONT COLOR=red><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_46_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_46_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-ipv4_address__adb.htm#ref_47_30">Typ</A></FONT> : <b>in</b> <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>;
+</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
new file mode 100644
index 0000000..115638f
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__adb.htm
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-numeric.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-numeric.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--            Terminal_Interface.Curses.Forms.Field_Types.Numeric           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2008 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.10 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:49:57 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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_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>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>.<FONT COLOR=red><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_41_53">Numeric</A></FONT> <b>is</b>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_51_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_52_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-numeric__ads.htm#ref_44_9">Numeric_Field</A>)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_50_12">Double</A></FONT> <b>is</b> <b>new</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.double;
+
+      <FONT COLOR=red><A NAME="ref_52_7">C_Numeric_Field_Type</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+      <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_52_7">C_Numeric_Field_Type</A>, "TYPE_NUMERIC");
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_55_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_55_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_16">F</A></FONT>    : <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>;
+                             <FONT COLOR=red><A NAME="ref_56_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_16">Cft</A></FONT>  : <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-numeric__adb.htm#ref_52_7">C_Numeric_Field_Type</A>;
+                             <FONT COLOR=red><A NAME="ref_57_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_16">Arg1</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+                             <FONT COLOR=red><A NAME="ref_58_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_16">Arg2</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_50_12">Double</A>;
+                             <FONT COLOR=red><A NAME="ref_59_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_16">Arg3</A></FONT> : <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>;
+      <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type");
+
+      <FONT COLOR=red><A NAME="ref_62_7">Res</A></FONT> : <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_62_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_55_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_57_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_58_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_59_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_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-field_types-numeric__adb.htm#ref_62_7">Res</A>);
+      <b>end</b> <b>if</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-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>;
+</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
new file mode 100644
index 0000000..f261073
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-numeric__ads.htm
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-numeric.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-numeric.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--             Terminal_Interface.Curses.Forms.Field_Types.Numeric          --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_45_58">Numeric</A></FONT> <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>type</b> <FONT COLOR=red><A NAME="ref_44_9">Numeric_Field</A></FONT> <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>
+         <FONT COLOR=red><A NAME="ref_46_10">Precision</A></FONT>   : Natural;
+         <FONT COLOR=red><A NAME="ref_47_10">Lower_Limit</A></FONT> : Float;
+         <FONT COLOR=red><A NAME="ref_48_10">Upper_Limit</A></FONT> : Float;
+      <b>end</b> <b>record</b>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_47_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_47_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-numeric__adb.htm#ref_48_30">Typ</A></FONT> : <b>in</b> <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>;
+</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
new file mode 100644
index 0000000..96269a7
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__adb.htm
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-regexp.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-regexp.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--             Terminal_Interface.Curses.Forms.Field_Types.RegExp           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.8 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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_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>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>.<FONT COLOR=red><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_41_53">RegExp</A></FONT> <b>is</b>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_46_14" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_46_30" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_51_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_52_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__ads.htm#ref_46_9">Regular_Expression_Field</A>)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_49_12">Char_Ptr</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char;
+
+      <FONT COLOR=red><A NAME="ref_51_7">C_Regexp_Field_Type</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+      <b>pragma</b> Import (C, <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_51_7">C_Regexp_Field_Type</A>, "TYPE_REGEXP");
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_54_16">Set_Ftyp</A></FONT> (<FONT COLOR=red><A NAME="ref_54_26" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_54_16">F</A></FONT>    : <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>;
+                         <FONT COLOR=red><A NAME="ref_55_26" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_54_16">Cft</A></FONT>  : <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-regexp__adb.htm#ref_51_7">C_Regexp_Field_Type</A>;
+                         <FONT COLOR=red><A NAME="ref_56_26" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_54_16">Arg1</A></FONT> : <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>pragma</b> Import (C, Set_Ftyp, "set_field_type");
+
+      <FONT COLOR=red><A NAME="ref_59_7">Txt</A></FONT> : 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);
+      <FONT COLOR=red><A NAME="ref_60_7">Len</A></FONT> : size_t;
+      <FONT COLOR=red><A NAME="ref_61_7">Res</A></FONT> : <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_59_7">Txt</A>, <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_60_7">Len</A>);
+      <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_61_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_54_16">Set_Ftyp</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_56_26">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_59_7">Txt</A> (<A HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_59_7">Txt</A>'First)'<b>Access</b>);
+      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types-regexp__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_types-regexp__adb.htm#ref_61_7">Res</A>);
+      <b>end</b> <b>if</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>;
+</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
new file mode 100644
index 0000000..e54cb8c
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-regexp__ads.htm
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-regexp.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-regexp.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--              Terminal_Interface.Curses.Forms.Field_Types.RegExp          --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_41_53" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_44_58">RegExp</A></FONT> <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>type</b> <FONT COLOR=red><A NAME="ref_44_9">String_Access</A></FONT> <b>is</b> <b>access</b> String;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_46_9">Regular_Expression_Field</A></FONT> <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>
+         <FONT COLOR=red><A NAME="ref_48_10">Regular_Expression</A></FONT> : <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> <FONT COLOR=red><A NAME="ref_51_14" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_46_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_51_30" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_46_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_52_30" HREF="terminal_interface-curses-forms-field_types-regexp__adb.htm#ref_47_30">Typ</A></FONT> : <b>in</b> <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>;
+</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
new file mode 100644
index 0000000..170de3c
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__adb.htm
@@ -0,0 +1,116 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-user-choice.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-user-choice.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--          Terminal_Interface.Curses.Forms.Field_Types.User.Choice         --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998-2006,2008 Free Software Foundation, Inc.              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.15 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:48:58 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>with</b> Ada.Unchecked_Conversion;
+<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>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>.<FONT COLOR=red><A NAME="ref_45_63" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_44_58">Choice</A></FONT> <b>is</b>
+
+   <b>pragma</b> Warnings (Off);
+   <b>function</b> To_Argument_Access <b>is</b> <b>new</b> Ada.Unchecked_Conversion
+     (System.Address, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>);
+   <b>pragma</b> Warnings (On);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_52_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13">Generic_Next</A></FONT> (<FONT COLOR=red><A NAME="ref_52_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_27">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                          <FONT COLOR=red><A NAME="ref_53_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_81_27">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_48_12">C_Int</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_55_7">Result</A></FONT> : Boolean;
+      <FONT COLOR=red><A NAME="ref_56_7">Udf</A></FONT>    : <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>
+        (To_Argument_Access (<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>);
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_55_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_56_7">Udf</A>.<b>all</b>);
+      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_48_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_55_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> <FONT COLOR=red><A NAME="ref_64_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13">Generic_Prev</A></FONT> (<FONT COLOR=red><A NAME="ref_64_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_27">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                          <FONT COLOR=red><A NAME="ref_65_27" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_88_27">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_48_12">C_Int</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_67_7">Result</A></FONT> : Boolean;
+      <FONT COLOR=red><A NAME="ref_68_7">Udf</A></FONT>    : <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>
+        (To_Argument_Access (<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>);
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_67_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_68_7">Udf</A>.<b>all</b>);
+      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_48_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_67_7">Result</A>));
+   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13">Generic_Prev</A>;
+
+   <FONT COLOR=green><EM>--  -----------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_78_13" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_78_13">C_Generic_Choice</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_80_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+      <FONT COLOR=red><A NAME="ref_81_7">T</A></FONT>   : <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_81_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_81_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_286_4">Form_Exception</A>;
+         <b>else</b>
+            <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_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_81_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_80_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_80_7">Res</A>);
+            <b>end</b> <b>if</b>;
+
+            <A HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_80_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_81_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_80_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_80_7">Res</A>);
+            <b>end</b> <b>if</b>;
+         <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_81_7">T</A>;
+      <b>end</b> <b>if</b>;
+      <b>pragma</b> Assert (<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>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>;
+</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
new file mode 100644
index 0000000..7f39ab4
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user-choice__ads.htm
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-user-choice.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-user-choice.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--           Terminal_Interface.Curses.Forms.Field_Types.User.Choice        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2008 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.12 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:49:20 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_44_58" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_45_63">Choice</A></FONT> <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>);
+
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_48_12">C_Int</A></FONT> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_50_9">User_Defined_Field_Type_With_Choice</A></FONT> <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>;
+   <FONT COLOR=green><EM>--  This is the root of the mechanism we use to create field types in</EM></FONT>
+   <FONT COLOR=green><EM>--  Ada95 that allow the prev/next mechanism. You should your own type</EM></FONT>
+   <FONT COLOR=green><EM>--  derive from this one and implement the Field_Check, Character_Check</EM></FONT>
+   <FONT COLOR=green><EM>--  Next and Previous functions for your own type.</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_57_9">User_Defined_Field_Type_With_Choice_Access</A></FONT> <b>is</b> <b>access</b> <b>all</b>
+     <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> <FONT COLOR=red><A NAME="ref_60_13">Next</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_61_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_60_13">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_62_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_60_13">Typ</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  If True is returned, the function successfully generated a next</EM></FONT>
+   <FONT COLOR=green><EM>--  value into the fields buffer.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_67_13">Previous</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_68_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_67_13">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_69_7" HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_67_13">Typ</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  If True is returned, the function successfully generated a previous</EM></FONT>
+   <FONT COLOR=green><EM>--  value into the fields buffer.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  +----------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  | Private Part.</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+<b>private</b>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_78_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_78_13">C_Generic_Choice</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_80_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_52_13">Generic_Next</A></FONT> (<FONT COLOR=red><A NAME="ref_80_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_52_27">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                          <FONT COLOR=red><A NAME="ref_81_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_53_27">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_48_12">C_Int</A>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_80_13">Generic_Next</A>);
+   <FONT COLOR=green><EM>--  This is the generic next Choice_Function for the low-level fieldtype</EM></FONT>
+   <FONT COLOR=green><EM>--  representing all the User_Defined_Field_Type derivates. It routes</EM></FONT>
+   <FONT COLOR=green><EM>--  the call to the Next implementation for the type.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_87_13" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_64_13">Generic_Prev</A></FONT> (<FONT COLOR=red><A NAME="ref_87_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_64_27">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                          <FONT COLOR=red><A NAME="ref_88_27" HREF="terminal_interface-curses-forms-field_types-user-choice__adb.htm#ref_65_27">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_48_12">C_Int</A>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user-choice__ads.htm#ref_87_13">Generic_Prev</A>);
+   <FONT COLOR=green><EM>--  This is the generic prev Choice_Function for the low-level fieldtype</EM></FONT>
+   <FONT COLOR=green><EM>--  representing all the User_Defined_Field_Type derivates. It routes</EM></FONT>
+   <FONT COLOR=green><EM>--  the call to the Previous implementation for the type.</EM></FONT>
+
+<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>;
+</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
new file mode 100644
index 0000000..994307c
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user__adb.htm
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-user.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-user.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--              Terminal_Interface.Curses.Forms.Field_Types.User            --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998-2006,2008 Free Software Foundation, Inc.              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.15 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:49:28 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>with</b> Ada.Unchecked_Conversion;
+<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>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>.<FONT COLOR=red><A NAME="ref_45_58" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_44_53">User</A></FONT> <b>is</b>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_47_14" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_47_30" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_48_30" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_71_30">Typ</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_50_16" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_61_16">Allocate_Arg</A></FONT> (<FONT COLOR=red><A NAME="ref_50_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_61_30">T</A></FONT> : <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> <FONT COLOR=red><A NAME="ref_53_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_53_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">F</A></FONT>    : <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>;
+                             <FONT COLOR=red><A NAME="ref_54_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">Cft</A></FONT>  : <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>;
+                             <FONT COLOR=red><A NAME="ref_55_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_53_16">Arg1</A></FONT> : <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>pragma</b> Import (C, Set_Fld_Type, "set_field_type");
+
+      <FONT COLOR=red><A NAME="ref_59_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_61_16" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_16">Allocate_Arg</A></FONT> (<FONT COLOR=red><A NAME="ref_61_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_50_30">T</A></FONT> : <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>
+         <FONT COLOR=red><A NAME="ref_64_10">Ptr</A></FONT> : <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_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>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_70_14">Set_Field_Type</A>;
+
+   <b>pragma</b> Warnings (Off);
+   <b>function</b> To_Argument_Access <b>is</b> <b>new</b> Ada.Unchecked_Conversion
+     (System.Address, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>);
+   <b>pragma</b> Warnings (On);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_84_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A></FONT> (<FONT COLOR=red><A NAME="ref_84_34" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_34">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                                 <FONT COLOR=red><A NAME="ref_85_34" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_87_7">Result</A></FONT> : Boolean;
+      <FONT COLOR=red><A NAME="ref_88_7">Udf</A></FONT>    : <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> (To_Argument_Access (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_82_34">Usr</A>).<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_87_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_88_7">Udf</A>.<b>all</b>);
+      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_87_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> <FONT COLOR=red><A NAME="ref_95_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A></FONT> (<FONT COLOR=red><A NAME="ref_95_33" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_33">Ch</A></FONT>  : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>;
+                                <FONT COLOR=red><A NAME="ref_96_33" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_98_7">Result</A></FONT> : Boolean;
+      <FONT COLOR=red><A NAME="ref_99_7">Udf</A></FONT>    : <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> (To_Argument_Access (<A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_89_33">Usr</A>).<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_98_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_99_7">Udf</A>.<b>all</b>);
+      <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_98_7">Result</A>));
+   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A>;
+
+   <FONT COLOR=green><EM>--  -----------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_108_13" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_79_13">C_Generic_Type</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_110_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+      <FONT COLOR=red><A NAME="ref_111_7">T</A></FONT>   : <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__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_286_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__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>;
+         <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>;
+      <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>;
+</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
new file mode 100644
index 0000000..faa2fc9
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types-user__ads.htm
@@ -0,0 +1,101 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types-user.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types-user.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Forms.Field_Types.User           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2008 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.12 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:49:38 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_44_53" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_45_58">User</A></FONT> <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> <FONT COLOR=red><A NAME="ref_46_12">C_Int</A></FONT> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_48_9">User_Defined_Field_Type</A></FONT> <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>;
+   <FONT COLOR=green><EM>--  This is the root of the mechanism we use to create field types in</EM></FONT>
+   <FONT COLOR=green><EM>--  Ada95. You should your own type derive from this one and implement</EM></FONT>
+   <FONT COLOR=green><EM>--  the Field_Check and Character_Check functions for your own type.</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_53_9">User_Defined_Field_Type_Access</A></FONT> <b>is</b> <b>access</b> <b>all</b>
+     <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>'Class;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_56_13">Field_Check</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_57_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_56_13">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_58_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_56_13">Typ</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  If True is returned, the field is considered valid, otherwise it is</EM></FONT>
+   <FONT COLOR=green><EM>--  invalid.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_63_13">Character_Check</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_64_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_63_13">Ch</A></FONT>  : Character;
+      <FONT COLOR=red><A NAME="ref_65_7" HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_63_13">Typ</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  If True is returned, the character is considered as valid for the</EM></FONT>
+   <FONT COLOR=green><EM>--  field, otherwise as invalid.</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_70_14" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_47_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_70_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_47_30">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_71_30" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_48_30">Typ</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_48_9">User_Defined_Field_Type</A>);
+   <FONT COLOR=green><EM>--  This should work for all types derived from User_Defined_Field_Type.</EM></FONT>
+   <FONT COLOR=green><EM>--  No need to reimplement it for your derived type.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  +----------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  | Private Part.</EM></FONT>
+   <FONT COLOR=green><EM>--  | Used by the Choice child package.</EM></FONT>
+<b>private</b>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_79_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_108_13">C_Generic_Type</A></FONT>   <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_81_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_84_13">Generic_Field_Check</A></FONT> (<FONT COLOR=red><A NAME="ref_81_34" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_84_34">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                                 <FONT COLOR=red><A NAME="ref_82_34" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_85_34">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_81_13">Generic_Field_Check</A>);
+   <FONT COLOR=green><EM>--  This is the generic Field_Check_Function for the low-level fieldtype</EM></FONT>
+   <FONT COLOR=green><EM>--  representing all the User_Defined_Field_Type derivates. It routes</EM></FONT>
+   <FONT COLOR=green><EM>--  the call to the Field_Check implementation for the type.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_88_13" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_95_13">Generic_Char_Check</A></FONT> (<FONT COLOR=red><A NAME="ref_88_33" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_95_33">Ch</A></FONT>  : <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>;
+                                <FONT COLOR=red><A NAME="ref_89_33" HREF="terminal_interface-curses-forms-field_types-user__adb.htm#ref_96_33">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_46_12">C_Int</A>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types-user__ads.htm#ref_88_13">Generic_Char_Check</A>);
+   <FONT COLOR=green><EM>--  This is the generic Char_Check_Function for the low-level fieldtype</EM></FONT>
+   <FONT COLOR=green><EM>--  representing all the User_Defined_Field_Type derivates. It routes</EM></FONT>
+   <FONT COLOR=green><EM>--  the call to the Character_Check implementation for the type.</EM></FONT>
+
+<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>;
+</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
new file mode 100644
index 0000000..4af3ca4
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types__adb.htm
@@ -0,0 +1,302 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                 Terminal_Interface.Curses.Forms.Field_Types              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998-2006,2008 Free Software Foundation, Inc.              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.20 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:50:33 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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_Deallocation;
+<b>with</b> Ada.Unchecked_Conversion;
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+<FONT COLOR=green><EM>--  | man page form_fieldtype.3x</EM></FONT>
+<FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_50_46" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_43_41">Field_Types</A></FONT> <b>is</b>
+
+   <b>use</b> <b>type</b> System.Address;
+
+   <b>pragma</b> Warnings (Off);
+   <b>function</b> To_Argument_Access <b>is</b> <b>new</b> Ada.Unchecked_Conversion
+     (System.Address, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>);
+   <b>pragma</b> Warnings (On);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_59_13">Get_Fieldtype</A></FONT> (<FONT COLOR=red><A NAME="ref_59_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_59_13">F</A></FONT> : <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>pragma</b> Import (C, Get_Fieldtype, "field_type");
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_62_13">Get_Arg</A></FONT> (<FONT COLOR=red><A NAME="ref_62_22" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_62_13">F</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> System.Address;
+   <b>pragma</b> Import (C, Get_Arg, "field_arg");
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_field_validation.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_71_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_79_13">Get_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_71_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_79_23">Fld</A></FONT> : <b>in</b> <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>is</b>
+      <FONT COLOR=red><A NAME="ref_73_7">Low_Level</A></FONT> : <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_59_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_79_23">Fld</A>);
+      <FONT COLOR=red><A NAME="ref_74_7">Arg</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_7">Low_Level</A> = <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_134_4">Null_Field_Type</A> <b>then</b>
+         <b>return</b> <b>null</b>;
+      <b>else</b>
+         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_73_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_73_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_73_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_73_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_74_7">Arg</A> := To_Argument_Access (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_62_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_74_7">Arg</A> = <b>null</b> <b>then</b>
+               <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_286_4">Form_Exception</A>;
+            <b>else</b>
+               <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_74_7">Arg</A>.<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_286_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> <FONT COLOR=red><A NAME="ref_95_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_13">Make_Arg</A></FONT> (<FONT COLOR=red><A NAME="ref_95_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_23">Args</A></FONT> : System.Address) <b>return</b> System.Address
+   <b>is</b>
+      <FONT COLOR=green><EM>--  Actually args is a double indirected pointer to the arguments</EM></FONT>
+      <FONT COLOR=green><EM>--  of a C variable argument list. In theory it is now quite</EM></FONT>
+      <FONT COLOR=green><EM>--  complicated to write portable routine that reads the arguments,</EM></FONT>
+      <FONT COLOR=green><EM>--  because one has to know the growth direction of the stack and</EM></FONT>
+      <FONT COLOR=green><EM>--  the sizes of the individual arguments.</EM></FONT>
+      <FONT COLOR=green><EM>--  Fortunately we are only interested in the first argument (#0),</EM></FONT>
+      <FONT COLOR=green><EM>--  we know its size and for the first arg we don't care about</EM></FONT>
+      <FONT COLOR=green><EM>--  into which stack direction we have to proceed. We simply</EM></FONT>
+      <FONT COLOR=green><EM>--  resolve the double indirection and thats it.</EM></FONT>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_106_12">V</A></FONT> <b>is</b> <b>access</b> <b>all</b> System.Address;
+      <b>function</b> To_Access <b>is</b> <b>new</b> Ada.Unchecked_Conversion (System.Address,
+                                                          <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_106_12">V</A>);
+   <b>begin</b>
+      <b>return</b> To_Access (To_Access (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_23">Args</A>).<b>all</b>).<b>all</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_13">Make_Arg</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_113_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_13">Copy_Arg</A></FONT> (<FONT COLOR=red><A NAME="ref_113_23" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_167_23">Usr</A></FONT> : 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> <FONT COLOR=red><A NAME="ref_119_14" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A></FONT> (<FONT COLOR=red><A NAME="ref_119_24" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_24">Usr</A></FONT> : <b>in</b> 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>);
+
+      <FONT COLOR=red><A NAME="ref_126_7">To_Be_Free</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> := To_Argument_Access (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_24">Usr</A>);
+      <FONT COLOR=red><A NAME="ref_127_7">Low_Level</A></FONT>  : <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_126_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_126_7">To_Be_Free</A>.<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_127_7">Low_Level</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_126_7">To_Be_Free</A>.<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_127_7">Low_Level</A>.<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_127_7">Low_Level</A>.<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_127_7">Freearg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_126_7">To_Be_Free</A>.<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_126_7">To_Be_Free</A>.<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_126_7">To_Be_Free</A>.<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_126_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> <FONT COLOR=red><A NAME="ref_143_14" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_14">Wrap_Builtin</A></FONT> (<FONT COLOR=red><A NAME="ref_143_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                           <FONT COLOR=red><A NAME="ref_144_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_152_28">Typ</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>'Class;
+                           <FONT COLOR=red><A NAME="ref_145_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_153_28">Cft</A></FONT> : <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>
+      <FONT COLOR=red><A NAME="ref_147_7">Usr_Arg</A></FONT>   : <b>constant</b> System.Address := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_62_13">Get_Arg</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_28">Fld</A>);
+      <FONT COLOR=red><A NAME="ref_148_7">Low_Level</A></FONT> : <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_59_13">Get_Fieldtype</A> (<A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_151_28">Fld</A>);
+      <FONT COLOR=red><A NAME="ref_149_7">Arg</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A>;
+      <FONT COLOR=red><A NAME="ref_150_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+      <b>function</b> <FONT COLOR=red><A NAME="ref_151_16">Set_Fld_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_151_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_151_16">F</A></FONT>    : <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>;
+                             <FONT COLOR=red><A NAME="ref_152_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_151_16">Cf</A></FONT>   : <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>;
+                             <FONT COLOR=red><A NAME="ref_153_30" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_151_16">Arg1</A></FONT> : <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>;
+      <b>pragma</b> Import (C, Set_Fld_Type, "set_field_type");
+
+   <b>begin</b>
+      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_148_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_286_4">Form_Exception</A>;
+      <b>else</b>
+         <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_149_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_59_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_147_7">Usr_Arg</A> /= System.Null_Address <b>then</b>
+            <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_148_7">Low_Level</A>.<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_149_7">Arg</A>.<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_148_7">Low_Level</A>.<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_148_7">Copyarg</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_147_7">Usr_Arg</A>);
+            <b>else</b>
+               <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_149_7">Arg</A>.<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_147_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_150_7">Res</A> := <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_151_16">Set_Fld_Type</A> (<A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_153_30">Arg1</A> =&gt; <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_149_7">Arg</A>);
+         <b>if</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_150_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_150_7">Res</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_151_14">Wrap_Builtin</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_179_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_13">Field_Check_Router</A></FONT> (<FONT COLOR=red><A NAME="ref_179_33" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_33">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                                <FONT COLOR=red><A NAME="ref_180_33" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_178_33">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_182_7">Arg</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> := To_Argument_Access (<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_182_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_182_7">Arg</A>.<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_182_7">Arg</A>.<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_182_7">Arg</A>.<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_127_10">Fcheck</A> /= <b>null</b> <b>then</b>
+         <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_182_7">Arg</A>.<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_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_182_7">Arg</A>.<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> <FONT COLOR=red><A NAME="ref_193_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_13">Char_Check_Router</A></FONT> (<FONT COLOR=red><A NAME="ref_193_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_32">Ch</A></FONT>  : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+                               <FONT COLOR=red><A NAME="ref_194_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_186_32">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_196_7">Arg</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> := To_Argument_Access (<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_196_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_196_7">Arg</A>.<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_196_7">Arg</A>.<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_196_7">Arg</A>.<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_128_10">Ccheck</A> /= <b>null</b> <b>then</b>
+         <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_196_7">Arg</A>.<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_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_196_7">Arg</A>.<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> <FONT COLOR=red><A NAME="ref_207_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_13">Next_Router</A></FONT> (<FONT COLOR=red><A NAME="ref_207_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_26">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_208_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_194_26">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_210_7">Arg</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_216_9">Argument_Access</A> := To_Argument_Access (<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_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>.<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>.<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>.<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_129_10">Next</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>.<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_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_210_7">Arg</A>.<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> <FONT COLOR=red><A NAME="ref_221_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_201_13">Prev_Router</A></FONT> (<FONT COLOR=red><A NAME="ref_221_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_201_26">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_222_26" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_202_26">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_224_7">Arg</A></FONT>  : <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_235_41">To_Argument_Access</A> (<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_224_7">Arg</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">Arg</A>.<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_224_7">Arg</A>.<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_224_7">Arg</A>.<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_129_16">Prev</A> /= <b>null</b> <b>then</b>
+         <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_224_7">Arg</A>.<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_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_224_7">Arg</A>.<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_201_13">Prev_Router</A>;
+
+   <FONT COLOR=green><EM>--  -----------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_237_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_148_13">C_Builtin_Router</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_239_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+      <FONT COLOR=red><A NAME="ref_240_7">T</A></FONT>   : <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_240_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_240_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_286_4">Form_Exception</A>;
+         <b>else</b>
+            <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_239_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_240_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_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-field_types__adb.htm#ref_239_7">Res</A>);
+            <b>end</b> <b>if</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_240_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>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_148_13">C_Builtin_Router</A>;
+
+   <FONT COLOR=green><EM>--  -----------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_264_13" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_149_13">C_Choice_Router</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_266_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+      <FONT COLOR=red><A NAME="ref_267_7">T</A></FONT>   : <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_267_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_267_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_286_4">Form_Exception</A>;
+         <b>else</b>
+            <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_266_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_267_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_266_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_266_7">Res</A>);
+            <b>end</b> <b>if</b>;
+
+            <A HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_266_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_267_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_266_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_266_7">Res</A>);
+            <b>end</b> <b>if</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_267_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>;
+</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
new file mode 100644
index 0000000..03220c5
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_types__ads.htm
@@ -0,0 +1,245 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_types.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_types.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                 Terminal_Interface.Curses.Forms.Field_Types              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.14 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_43_41" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_50_46">Field_Types</A></FONT> <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_38_9">Interfaces</A>.C.int;
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_46_12">C_Int</A></FONT> <b>is</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_fieldtype.3x.html">form_fieldtype.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_52_9">Field_Type</A></FONT> <b>is</b> <b>abstract</b> <b>tagged</b> <b>null</b> <b>record</b>;
+   <FONT COLOR=green><EM>--  Abstract base type for all field types. A concrete field type</EM></FONT>
+   <FONT COLOR=green><EM>--  is an extension that adds some data elements describing formats or</EM></FONT>
+   <FONT COLOR=green><EM>--  boundary values for the type and validation routines.</EM></FONT>
+   <FONT COLOR=green><EM>--  For the builtin low-level fieldtypes, the validation routines are</EM></FONT>
+   <FONT COLOR=green><EM>--  already defined by the low-level C library.</EM></FONT>
+   <FONT COLOR=green><EM>--  The builtin types like Alpha or AlphaNumeric etc. are defined in</EM></FONT>
+   <FONT COLOR=green><EM>--  child packages of this package. You may use one of them as example</EM></FONT>
+   <FONT COLOR=green><EM>--  how to create you own child packages for low-level field types that</EM></FONT>
+   <FONT COLOR=green><EM>--  you may have already written in C.</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_63_9">Field_Type_Access</A></FONT> <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;
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_66_14">Set_Field_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_66_30" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_66_14">Fld</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_67_30" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_66_14">Fld_Type</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>) <b>is</b> <b>abstract</b>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_fieldtype.3x.html">set_field_type()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  But: we hide the vararg mechanism of the C interface. You always</EM></FONT>
+   <FONT COLOR=green><EM>--       have to pass a single Field_Type parameter.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  ---------------------------------------------------------------------</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_field_validation.3x.html">form_field_validation.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_79_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_71_13">Get_Type</A></FONT> (<FONT COLOR=red><A NAME="ref_79_23" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_71_23">Fld</A></FONT> : <b>in</b> <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_validation.3x.html">field_type()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: field_arg()</EM></FONT>
+   <FONT COLOR=green><EM>--  In Ada95 we can combine these. If you try to retrieve the field type</EM></FONT>
+   <FONT COLOR=green><EM>--  that is not defined as extension of the abstract tagged type above,</EM></FONT>
+   <FONT COLOR=green><EM>--  you will raise a Form_Exception.</EM></FONT>
+   <FONT COLOR=green><EM>--  This is not inlined</EM></FONT>
+
+   <FONT COLOR=green><EM>--  +----------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  | Private Part.</EM></FONT>
+   <FONT COLOR=green><EM>--  | Most of this is used by the implementations of the child packages.</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+<b>private</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_92_9">Makearg_Function</A></FONT> <b>is</b> <b>access</b>
+     <b>function</b> (<FONT COLOR=red><A NAME="ref_93_16">Args</A></FONT> : 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> <FONT COLOR=red><A NAME="ref_96_9">Copyarg_Function</A></FONT> <b>is</b> <b>access</b>
+     <b>function</b> (<FONT COLOR=red><A NAME="ref_97_16">Usr</A></FONT> : 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> <FONT COLOR=red><A NAME="ref_100_9">Freearg_Function</A></FONT> <b>is</b> <b>access</b>
+     <b>procedure</b> (<FONT COLOR=red><A NAME="ref_101_17">Usr</A></FONT> : 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> <FONT COLOR=red><A NAME="ref_104_9">Field_Check_Function</A></FONT> <b>is</b> <b>access</b>
+     <b>function</b> (<FONT COLOR=red><A NAME="ref_105_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>; <FONT COLOR=red><A NAME="ref_105_29">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</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> <FONT COLOR=red><A NAME="ref_108_9">Char_Check_Function</A></FONT> <b>is</b> <b>access</b>
+     <b>function</b> (<FONT COLOR=red><A NAME="ref_109_16">Ch</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_109_28">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</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> <FONT COLOR=red><A NAME="ref_112_9">Choice_Function</A></FONT> <b>is</b> <b>access</b>
+     <b>function</b> (<FONT COLOR=red><A NAME="ref_113_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>; <FONT COLOR=red><A NAME="ref_113_29">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_112_9">Choice_Function</A>);
+
+   <FONT COLOR=green><EM>--  +----------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  | This must be in sync with the FIELDTYPE structure in form.h</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_119_9">Low_Level_Field_Type</A></FONT> <b>is</b>
+      <b>record</b>
+         <FONT COLOR=red><A NAME="ref_121_10">Status</A></FONT> :              <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short;
+         <FONT COLOR=red><A NAME="ref_122_10">Ref_Count</A></FONT> :           <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.long;
+         <FONT COLOR=red><A NAME="ref_123_10">Left</A></FONT>, <FONT COLOR=red><A NAME="ref_123_16">Right</A></FONT> :         System.Address;
+         <FONT COLOR=red><A NAME="ref_124_10">Makearg</A></FONT> :             <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_92_9">Makearg_Function</A>;
+         <FONT COLOR=red><A NAME="ref_125_10">Copyarg</A></FONT> :             <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_96_9">Copyarg_Function</A>;
+         <FONT COLOR=red><A NAME="ref_126_10">Freearg</A></FONT> :             <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_100_9">Freearg_Function</A>;
+         <FONT COLOR=red><A NAME="ref_127_10">Fcheck</A></FONT> :              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_104_9">Field_Check_Function</A>;
+         <FONT COLOR=red><A NAME="ref_128_10">Ccheck</A></FONT> :              <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_108_9">Char_Check_Function</A>;
+         <FONT COLOR=red><A NAME="ref_129_10">Next</A></FONT>, <FONT COLOR=red><A NAME="ref_129_16">Prev</A></FONT> :          <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_112_9">Choice_Function</A>;
+      <b>end</b> <b>record</b>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_119_9">Low_Level_Field_Type</A>);
+   <b>type</b> <FONT COLOR=red><A NAME="ref_132_9">C_Field_Type</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_119_9">Low_Level_Field_Type</A>;
+
+   <FONT COLOR=red><A NAME="ref_134_4">Null_Field_Type</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <b>null</b>;
+
+   <FONT COLOR=green><EM>--  +----------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  | This four low-level fieldtypes are the ones associated with</EM></FONT>
+   <FONT COLOR=green><EM>--  | fieldtypes handled by this binding. Any other low-level fieldtype</EM></FONT>
+   <FONT COLOR=green><EM>--  | will result in a Form_Exception is function Get_Type.</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_141_4">M_Generic_Type</A></FONT>   : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <b>null</b>;
+   <FONT COLOR=red><A NAME="ref_142_4">M_Generic_Choice</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <b>null</b>;
+   <FONT COLOR=red><A NAME="ref_143_4">M_Builtin_Router</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <b>null</b>;
+   <FONT COLOR=red><A NAME="ref_144_4">M_Choice_Router</A></FONT>  : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A> := <b>null</b>;
+
+   <FONT COLOR=green><EM>--  Two wrapper functions to access those low-level fieldtypes defined</EM></FONT>
+   <FONT COLOR=green><EM>--  in this package.</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_148_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_237_13">C_Builtin_Router</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+   <b>function</b> <FONT COLOR=red><A NAME="ref_149_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_264_13">C_Choice_Router</A></FONT>  <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_151_14" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_143_14">Wrap_Builtin</A></FONT> (<FONT COLOR=red><A NAME="ref_151_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_143_28">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                           <FONT COLOR=red><A NAME="ref_152_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_144_28">Typ</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_52_9">Field_Type</A>'Class;
+                           <FONT COLOR=red><A NAME="ref_153_28" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_145_28">Cft</A></FONT> : <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>);
+   <FONT COLOR=green><EM>--  This procedure has to be called by the Set_Field_Type implementation</EM></FONT>
+   <FONT COLOR=green><EM>--  for builtin low-level fieldtypes to replace it by an Ada95</EM></FONT>
+   <FONT COLOR=green><EM>--  conformant Field_Type object.</EM></FONT>
+   <FONT COLOR=green><EM>--  The parameter Cft must be C_Builtin_Router for regular low-level</EM></FONT>
+   <FONT COLOR=green><EM>--  fieldtypes (like TYP_ALPHA or TYP_ALNUM) and C_Choice_Router for</EM></FONT>
+   <FONT COLOR=green><EM>--  low-level fieldtypes witch choice functions (like TYP_ENUM).</EM></FONT>
+   <FONT COLOR=green><EM>--  Any other value will raise a Form_Exception.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_162_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_95_13">Make_Arg</A></FONT> (<FONT COLOR=red><A NAME="ref_162_23" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_95_23">Args</A></FONT> : System.Address) <b>return</b> System.Address;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_162_13">Make_Arg</A>);
+   <FONT COLOR=green><EM>--  This is the Makearg_Function for the internal low-level types</EM></FONT>
+   <FONT COLOR=green><EM>--  introduced by this binding.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_167_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_113_13">Copy_Arg</A></FONT> (<FONT COLOR=red><A NAME="ref_167_23" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_113_23">Usr</A></FONT> : 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>);
+   <FONT COLOR=green><EM>--  This is the Copyarg_Function for the internal low-level types</EM></FONT>
+   <FONT COLOR=green><EM>--  introduced by this binding.</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_172_14" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_119_14">Free_Arg</A></FONT> (<FONT COLOR=red><A NAME="ref_172_24" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_119_24">Usr</A></FONT> : System.Address);
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_172_14">Free_Arg</A>);
+   <FONT COLOR=green><EM>--  This is the Freearg_Function for the internal low-level types</EM></FONT>
+   <FONT COLOR=green><EM>--  introduced by this binding.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_177_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_179_13">Field_Check_Router</A></FONT> (<FONT COLOR=red><A NAME="ref_177_33" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_179_33">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                                <FONT COLOR=red><A NAME="ref_178_33" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_180_33">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_177_13">Field_Check_Router</A>);
+   <FONT COLOR=green><EM>--  This is the Field_Check_Function for the internal low-level types</EM></FONT>
+   <FONT COLOR=green><EM>--  introduced to wrap the low-level types by a Field_Type derived</EM></FONT>
+   <FONT COLOR=green><EM>--  type. It routes the call to the corresponding low-level validation</EM></FONT>
+   <FONT COLOR=green><EM>--  function.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_185_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_193_13">Char_Check_Router</A></FONT> (<FONT COLOR=red><A NAME="ref_185_32" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_193_32">Ch</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+                               <FONT COLOR=red><A NAME="ref_186_32" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_194_32">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_185_13">Char_Check_Router</A>);
+   <FONT COLOR=green><EM>--  This is the Char_Check_Function for the internal low-level types</EM></FONT>
+   <FONT COLOR=green><EM>--  introduced to wrap the low-level types by a Field_Type derived</EM></FONT>
+   <FONT COLOR=green><EM>--  type. It routes the call to the corresponding low-level validation</EM></FONT>
+   <FONT COLOR=green><EM>--  function.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_193_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_13">Next_Router</A></FONT> (<FONT COLOR=red><A NAME="ref_193_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_207_26">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_194_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_208_26">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_193_13">Next_Router</A>);
+   <FONT COLOR=green><EM>--  This is the Choice_Function for the internal low-level types</EM></FONT>
+   <FONT COLOR=green><EM>--  introduced to wrap the low-level types by a Field_Type derived</EM></FONT>
+   <FONT COLOR=green><EM>--  type. It routes the call to the corresponding low-level next_choice</EM></FONT>
+   <FONT COLOR=green><EM>--  function.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_201_13" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_221_13">Prev_Router</A></FONT> (<FONT COLOR=red><A NAME="ref_201_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_221_26">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_202_26" HREF="terminal_interface-curses-forms-field_types__adb.htm#ref_222_26">Usr</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_46_12">C_Int</A>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_201_13">Prev_Router</A>);
+   <FONT COLOR=green><EM>--  This is the Choice_Function for the internal low-level types</EM></FONT>
+   <FONT COLOR=green><EM>--  introduced to wrap the low-level types by a Field_Type derived</EM></FONT>
+   <FONT COLOR=green><EM>--  type. It routes the call to the corresponding low-level prev_choice</EM></FONT>
+   <FONT COLOR=green><EM>--  function.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  This is the Argument structure maintained by all low-level field types</EM></FONT>
+   <FONT COLOR=green><EM>--  introduced by this binding.</EM></FONT>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_211_9">Argument</A></FONT> <b>is</b> <b>record</b>
+      <FONT COLOR=red><A NAME="ref_212_7">Typ</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_63_9">Field_Type_Access</A>;   <FONT COLOR=green><EM>--  the Field_Type creating this record</EM></FONT>
+      <FONT COLOR=red><A NAME="ref_213_7">Usr</A></FONT> : System.Address;      <FONT COLOR=green><EM>--  original arg for builtin low-level types</EM></FONT>
+      <FONT COLOR=red><A NAME="ref_214_7">Cft</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;        <FONT COLOR=green><EM>--  the original low-level type</EM></FONT>
+   <b>end</b> <b>record</b>;
+   <b>type</b> <FONT COLOR=red><A NAME="ref_216_9">Argument_Access</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_211_9">Argument</A>;
+
+   <FONT COLOR=green><EM>--  +----------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  | Some Imports of libform routines to deal with low-level fieldtypes.</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_222_13">New_Fieldtype</A></FONT> (<FONT COLOR=red><A NAME="ref_222_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_222_13">Fcheck</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_104_9">Field_Check_Function</A>;
+                           <FONT COLOR=red><A NAME="ref_223_28" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_222_13">Ccheck</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_108_9">Char_Check_Function</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, New_Fieldtype, "new_fieldtype");
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_227_13">Set_Fieldtype_Arg</A></FONT> (<FONT COLOR=red><A NAME="ref_227_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Cft</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+                               <FONT COLOR=red><A NAME="ref_228_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Mak</A></FONT> : <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>;
+                               <FONT COLOR=red><A NAME="ref_229_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Cop</A></FONT> : <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>;
+                               <FONT COLOR=red><A NAME="ref_230_32" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_227_13">Fre</A></FONT> : <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>pragma</b> Import (C, Set_Fieldtype_Arg, "set_fieldtype_arg");
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_234_13">Set_Fieldtype_Choice</A></FONT> (<FONT COLOR=red><A NAME="ref_234_35" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_234_13">Cft</A></FONT> : <A HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_132_9">C_Field_Type</A>;
+                                  <FONT COLOR=red><A NAME="ref_235_35" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_234_13">Next</A></FONT>, <FONT COLOR=red><A NAME="ref_235_41" HREF="terminal_interface-curses-forms-field_types__ads.htm#ref_234_13">Prev</A></FONT> : <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>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>;
+</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
new file mode 100644
index 0000000..6bf72eb
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_user_data__adb.htm
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_user_data.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_user_data.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Forms.Field_User_Data            --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.12 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>;
+
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+<FONT COLOR=green><EM>--  | man page form_field_userptr.3x</EM></FONT>
+<FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_48_46" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">Field_User_Data</A></FONT> <b>is</b>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_54_14" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_14">Set_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_29">Fld</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                            <FONT COLOR=red><A NAME="ref_55_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_54_29">Data</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_57_16">Set_Field_Userptr</A></FONT> (<FONT COLOR=red><A NAME="ref_57_35" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_57_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                                  <FONT COLOR=red><A NAME="ref_58_35" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_57_16">Usr</A></FONT> : <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>pragma</b> Import (C, Set_Field_Userptr, "set_field_userptr");
+
+      <FONT COLOR=red><A NAME="ref_61_7">Res</A></FONT> : <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>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_14">Set_User_Data</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_70_13" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_13">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_70_28" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_28">Fld</A></FONT>  : <b>in</b>  <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_72_16">Field_Userptr</A></FONT> (<FONT COLOR=red><A NAME="ref_72_31" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_72_16">Fld</A></FONT> : <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>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>end</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_64_13">Get_User_Data</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_78_14" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_14">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_78_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_59_29">Fld</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                            <FONT COLOR=red><A NAME="ref_79_29" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_60_29">Data</A></FONT> : <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>;
+</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
new file mode 100644
index 0000000..16f8851
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-field_user_data__ads.htm
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-field_user_data.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-field_user_data.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Forms.Field_User_Data            --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.15 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+<b>generic</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_43_9" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
+   <b>type</b> <FONT COLOR=red><A NAME="ref_44_9" HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_45_41">User_Access</A></FONT> <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>.<FONT COLOR=red><A NAME="ref_45_41" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_48_46">Field_User_Data</A></FONT> <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>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_field_userptr.3x.html">form_field_userptr.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_53_14" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_54_14">Set_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_53_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_54_29">Fld</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                            <FONT COLOR=red><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_55_29">Data</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_userptr.3x.html">set_field_userptr</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_53_14">Set_User_Data</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_59_14" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_78_14">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_59_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_78_29">Fld</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                            <FONT COLOR=red><A NAME="ref_60_29" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_79_29">Data</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-forms-field_user_data__ads.htm#ref_44_9">User_Access</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_userptr.3x.html">field_userptr</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_3"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_64_13" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_70_13">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_64_28" HREF="terminal_interface-curses-forms-field_user_data__adb.htm#ref_70_28">Fld</A></FONT>  : <b>in</b>  <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_userptr.3x.html">field_userptr</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Sama as function</EM></FONT>
+   <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>;
+</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
new file mode 100644
index 0000000..51b7288
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-form_user_data__adb.htm
@@ -0,0 +1,92 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-form_user_data.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-form_user_data.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                Terminal_Interface.Curses.Forms.Form_User_Data            --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.12 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+<FONT COLOR=green><EM>--  | man page form__userptr.3x</EM></FONT>
+<FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_48_46" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">Form_User_Data</A></FONT> <b>is</b>
+
+   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_55_14" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_14">Set_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_55_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_29">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                            <FONT COLOR=red><A NAME="ref_56_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_54_29">Data</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_58_16">Set_Form_Userptr</A></FONT> (<FONT COLOR=red><A NAME="ref_58_34" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_58_16">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                                 <FONT COLOR=red><A NAME="ref_59_34" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_58_16">Data</A></FONT> : <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>pragma</b> Import (C, Set_Form_Userptr, "set_form_userptr");
+
+      <FONT COLOR=red><A NAME="ref_62_7">Res</A></FONT> : <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>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_14">Set_User_Data</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_71_13" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_13">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_71_28" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_28">Frm</A></FONT>  : <b>in</b>  <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_73_16">Form_Userptr</A></FONT> (<FONT COLOR=red><A NAME="ref_73_30" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_73_16">Frm</A></FONT> : <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>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>end</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_64_13">Get_User_Data</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_79_14" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_14">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_79_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_59_29">Frm</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                            <FONT COLOR=red><A NAME="ref_80_29" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_60_29">Data</A></FONT> : <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>;
+</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
new file mode 100644
index 0000000..89b3220
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms-form_user_data__ads.htm
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms-form_user_data.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms-form_user_data.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                Terminal_Interface.Curses.Forms.Form_User_Data            --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.14 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+<b>generic</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_43_9" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
+   <b>type</b> <FONT COLOR=red><A NAME="ref_44_9" HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_45_41">User_Access</A></FONT> <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>.<FONT COLOR=red><A NAME="ref_45_41" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_48_46">Form_User_Data</A></FONT> <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>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_userptr.3x.html">form_userptr.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_53_14" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_55_14">Set_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_53_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_55_29">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                            <FONT COLOR=red><A NAME="ref_54_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_56_29">Data</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_userptr.3x.html">set_form_userptr</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_53_14">Set_User_Data</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_59_14" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_79_14">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_59_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_79_29">Frm</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                            <FONT COLOR=red><A NAME="ref_60_29" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_80_29">Data</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-forms-form_user_data__ads.htm#ref_44_9">User_Access</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_userptr.3x.html">form_userptr</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_3"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_64_13" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_71_13">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_64_28" HREF="terminal_interface-curses-forms-form_user_data__adb.htm#ref_71_28">Frm</A></FONT>  : <b>in</b>  <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_userptr.3x.html">form_userptr</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Same as function</EM></FONT>
+   <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>;
+</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
new file mode 100644
index 0000000..39f6467
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms__adb.htm
@@ -0,0 +1,1167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                      Terminal_Interface.Curses.Forms                     --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998-2004,2008 Free Software Foundation, Inc.              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.26 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:50:44 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>with</b> Ada.Unchecked_Deallocation;
+<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>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>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>.<FONT COLOR=red><A NAME="ref_51_40" HREF="terminal_interface-curses-forms__ads.htm#ref_49_35">Forms</A></FONT> <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>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>package</b> F_Array <b>is</b> <b>new</b>
+     <A HREF="interfac__ads.htm#ref_38_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>);
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  subtype chars_ptr is Interfaces.C.Strings.chars_ptr;</EM></FONT>
+
+   <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_107_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_107_9">Form_Option_Set</A>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_81_14" HREF="terminal_interface-curses-forms__ads.htm#ref_276_14">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_81_28" HREF="terminal_interface-curses-forms__ads.htm#ref_276_28">Key</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A>;
+                                <FONT COLOR=red><A NAME="ref_82_33" HREF="terminal_interface-curses-forms__ads.htm#ref_277_28">Name</A></FONT> : <b>out</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_84_16">Form_Request_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_84_35" HREF="terminal_interface-curses-forms__adb.htm#ref_84_16">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_276_28">Key</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#ref_277_28">Name</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_276_14">Request_Name</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_90_13" HREF="terminal_interface-curses-forms__ads.htm#ref_279_14">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_90_27" HREF="terminal_interface-curses-forms__ads.htm#ref_279_28">Key</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A>) <b>return</b> String
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_92_16">Form_Request_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_92_35" HREF="terminal_interface-curses-forms__adb.htm#ref_92_16">Key</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_279_28">Key</A>)));
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_279_14">Request_Name</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_field_new.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_108_13" HREF="terminal_interface-curses-forms__ads.htm#ref_293_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_108_21" HREF="terminal_interface-curses-forms__ads.htm#ref_293_21">Height</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                    <FONT COLOR=red><A NAME="ref_109_21" HREF="terminal_interface-curses-forms__ads.htm#ref_294_21">Width</A></FONT>        : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+                    <FONT COLOR=red><A NAME="ref_110_21" HREF="terminal_interface-curses-forms__ads.htm#ref_295_21">Top</A></FONT>          : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                    <FONT COLOR=red><A NAME="ref_111_21" HREF="terminal_interface-curses-forms__ads.htm#ref_296_21">Left</A></FONT>         : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                    <FONT COLOR=red><A NAME="ref_112_21" HREF="terminal_interface-curses-forms__ads.htm#ref_297_21">Off_Screen</A></FONT>   : Natural := 0;
+                    <FONT COLOR=red><A NAME="ref_113_21" HREF="terminal_interface-curses-forms__ads.htm#ref_298_21">More_Buffers</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A>'First)
+                    <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_116_16">Newfield</A></FONT> (<FONT COLOR=red><A NAME="ref_116_26" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">H</A></FONT>, <FONT COLOR=red><A NAME="ref_116_29" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">W</A></FONT>, <FONT COLOR=red><A NAME="ref_116_32" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">T</A></FONT>, <FONT COLOR=red><A NAME="ref_116_35" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">L</A></FONT>, <FONT COLOR=red><A NAME="ref_116_38" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">O</A></FONT>, <FONT COLOR=red><A NAME="ref_116_41" HREF="terminal_interface-curses-forms__adb.htm#ref_116_16">M</A></FONT> : <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>pragma</b> Import (C, Newfield, "new_field");
+      <FONT COLOR=red><A NAME="ref_118_7">Fld</A></FONT> : <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_293_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_294_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_295_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_296_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_297_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_298_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_286_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_293_13">Create</A>;
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_131_14" HREF="terminal_interface-curses-forms__ads.htm#ref_315_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_131_22" HREF="terminal_interface-curses-forms__ads.htm#ref_315_22">Fld</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_133_16">Free_Field</A></FONT> (<FONT COLOR=red><A NAME="ref_133_28" HREF="terminal_interface-curses-forms__adb.htm#ref_133_16">Fld</A></FONT> : <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>pragma</b> Import (C, Free_Field, "free_field");
+
+      <FONT COLOR=red><A NAME="ref_136_7">Res</A></FONT> : <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_315_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_315_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_315_14">Delete</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_147_13" HREF="terminal_interface-curses-forms__ads.htm#ref_321_13">Duplicate</A></FONT> (<FONT COLOR=red><A NAME="ref_147_24" HREF="terminal_interface-curses-forms__ads.htm#ref_321_24">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                       <FONT COLOR=red><A NAME="ref_148_24" HREF="terminal_interface-curses-forms__ads.htm#ref_322_24">Top</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                       <FONT COLOR=red><A NAME="ref_149_24" HREF="terminal_interface-curses-forms__ads.htm#ref_323_24">Left</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_151_16">Dup_Field</A></FONT> (<FONT COLOR=red><A NAME="ref_151_27" HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                          <FONT COLOR=red><A NAME="ref_152_27" HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Top</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                          <FONT COLOR=red><A NAME="ref_153_27" HREF="terminal_interface-curses-forms__adb.htm#ref_151_16">Left</A></FONT> : <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>pragma</b> Import (C, Dup_Field, "dup_field");
+
+      <FONT COLOR=red><A NAME="ref_156_7">F</A></FONT> : <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_321_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_322_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_323_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_286_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_321_13">Duplicate</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_168_13" HREF="terminal_interface-curses-forms__ads.htm#ref_328_13">Link</A></FONT> (<FONT COLOR=red><A NAME="ref_168_19" HREF="terminal_interface-curses-forms__ads.htm#ref_328_19">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                  <FONT COLOR=red><A NAME="ref_169_19" HREF="terminal_interface-curses-forms__ads.htm#ref_329_19">Top</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                  <FONT COLOR=red><A NAME="ref_170_19" HREF="terminal_interface-curses-forms__ads.htm#ref_330_19">Left</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_172_16">Lnk_Field</A></FONT> (<FONT COLOR=red><A NAME="ref_172_27" HREF="terminal_interface-curses-forms__adb.htm#ref_172_16">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                          <FONT COLOR=red><A NAME="ref_173_27" HREF="terminal_interface-curses-forms__adb.htm#ref_172_16">Top</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                          <FONT COLOR=red><A NAME="ref_174_27" HREF="terminal_interface-curses-forms__adb.htm#ref_172_16">Left</A></FONT> : <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>pragma</b> Import (C, Lnk_Field, "link_field");
+
+      <FONT COLOR=red><A NAME="ref_177_7">F</A></FONT> : <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_328_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_329_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_330_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_286_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_328_13">Link</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_field_just.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_193_14" HREF="terminal_interface-curses-forms__ads.htm#ref_339_14">Set_Justification</A></FONT> (<FONT COLOR=red><A NAME="ref_193_33" HREF="terminal_interface-curses-forms__ads.htm#ref_339_33">Fld</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                                <FONT COLOR=red><A NAME="ref_194_33" HREF="terminal_interface-curses-forms__ads.htm#ref_340_33">Just</A></FONT> : <b>in</b> <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_196_16">Set_Field_Just</A></FONT> (<FONT COLOR=red><A NAME="ref_196_32" HREF="terminal_interface-curses-forms__adb.htm#ref_196_16">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                               <FONT COLOR=red><A NAME="ref_197_32" HREF="terminal_interface-curses-forms__adb.htm#ref_196_16">Just</A></FONT> : <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>pragma</b> Import (C, Set_Field_Just, "set_field_just");
+
+      <FONT COLOR=red><A NAME="ref_200_7">Res</A></FONT> : <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_339_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_340_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_339_14">Set_Justification</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_211_13" HREF="terminal_interface-curses-forms__ads.htm#ref_345_13">Get_Justification</A></FONT> (<FONT COLOR=red><A NAME="ref_211_32" HREF="terminal_interface-curses-forms__ads.htm#ref_345_32">Fld</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_213_16">Field_Just</A></FONT> (<FONT COLOR=red><A NAME="ref_213_28" HREF="terminal_interface-curses-forms__adb.htm#ref_213_16">Fld</A></FONT> : <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>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_345_32">Fld</A>));
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_345_13">Get_Justification</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_field_buffer.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_225_14" HREF="terminal_interface-curses-forms__ads.htm#ref_354_14">Set_Buffer</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_226_7" HREF="terminal_interface-curses-forms__ads.htm#ref_355_7">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_227_7" HREF="terminal_interface-curses-forms__ads.htm#ref_356_7">Buffer</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A>'First;
+      <FONT COLOR=red><A NAME="ref_228_7" HREF="terminal_interface-curses-forms__ads.htm#ref_357_7">Str</A></FONT>    : <b>in</b> String)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_230_12">Char_Ptr</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char;
+      <b>function</b> <FONT COLOR=red><A NAME="ref_231_16">Set_Fld_Buffer</A></FONT> (<FONT COLOR=red><A NAME="ref_231_32" HREF="terminal_interface-curses-forms__adb.htm#ref_231_16">Fld</A></FONT>    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                                 <FONT COLOR=red><A NAME="ref_232_34" HREF="terminal_interface-curses-forms__adb.htm#ref_231_16">Bufnum</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                                 <FONT COLOR=red><A NAME="ref_233_34" HREF="terminal_interface-curses-forms__adb.htm#ref_231_16">S</A></FONT>      : <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>pragma</b> Import (C, Set_Fld_Buffer, "set_field_buffer");
+
+      <FONT COLOR=red><A NAME="ref_237_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses-forms__ads.htm#ref_357_7">Str</A>'Length);
+      <FONT COLOR=red><A NAME="ref_238_7">Len</A></FONT> : size_t;
+      <FONT COLOR=red><A NAME="ref_239_7">Res</A></FONT> : <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_357_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_355_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_356_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_354_14">Set_Buffer</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_250_14" HREF="terminal_interface-curses-forms__ads.htm#ref_362_14">Get_Buffer</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_251_7" HREF="terminal_interface-curses-forms__ads.htm#ref_363_7">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_252_7" HREF="terminal_interface-curses-forms__ads.htm#ref_364_7">Buffer</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A>'First;
+      <FONT COLOR=red><A NAME="ref_253_7" HREF="terminal_interface-curses-forms__ads.htm#ref_365_7">Str</A></FONT>    : <b>out</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_255_16">Field_Buffer</A></FONT> (<FONT COLOR=red><A NAME="ref_255_30" HREF="terminal_interface-curses-forms__adb.htm#ref_255_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_256_30" HREF="terminal_interface-curses-forms__adb.htm#ref_255_16">B</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_363_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_364_7">Buffer</A>)), <A HREF="terminal_interface-curses-forms__ads.htm#ref_365_7">Str</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_362_14">Get_Buffer</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_262_13" HREF="terminal_interface-curses-forms__ads.htm#ref_368_13">Get_Buffer</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_263_7" HREF="terminal_interface-curses-forms__ads.htm#ref_369_7">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_264_7" HREF="terminal_interface-curses-forms__ads.htm#ref_370_7">Buffer</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A>'First) <b>return</b> String
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_266_16">Field_Buffer</A></FONT> (<FONT COLOR=red><A NAME="ref_266_30" HREF="terminal_interface-curses-forms__adb.htm#ref_266_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_267_30" HREF="terminal_interface-curses-forms__adb.htm#ref_266_16">B</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_369_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_370_7">Buffer</A>)));
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_368_13">Get_Buffer</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_275_14" HREF="terminal_interface-curses-forms__ads.htm#ref_376_14">Set_Status</A></FONT> (<FONT COLOR=red><A NAME="ref_275_26" HREF="terminal_interface-curses-forms__ads.htm#ref_376_26">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_276_26" HREF="terminal_interface-curses-forms__ads.htm#ref_377_26">Status</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_278_16">Set_Fld_Status</A></FONT> (<FONT COLOR=red><A NAME="ref_278_32" HREF="terminal_interface-curses-forms__adb.htm#ref_278_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                               <FONT COLOR=red><A NAME="ref_279_32" HREF="terminal_interface-curses-forms__adb.htm#ref_278_16">St</A></FONT>  : <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>pragma</b> Import (C, Set_Fld_Status, "set_field_status");
+
+      <FONT COLOR=red><A NAME="ref_282_7">Res</A></FONT> : <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_376_26">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_377_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_286_4">Form_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_376_14">Set_Status</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_291_13" HREF="terminal_interface-curses-forms__ads.htm#ref_382_13">Changed</A></FONT> (<FONT COLOR=red><A NAME="ref_291_22" HREF="terminal_interface-curses-forms__ads.htm#ref_382_22">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_293_16">Field_Status</A></FONT> (<FONT COLOR=red><A NAME="ref_293_30" HREF="terminal_interface-curses-forms__adb.htm#ref_293_16">Fld</A></FONT> : <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>pragma</b> Import (C, Field_Status, "field_status");
+
+      <FONT COLOR=red><A NAME="ref_296_7">Res</A></FONT> : <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_382_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>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_382_13">Changed</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_307_14" HREF="terminal_interface-curses-forms__ads.htm#ref_387_14">Set_Maximum_Size</A></FONT> (<FONT COLOR=red><A NAME="ref_307_32" HREF="terminal_interface-curses-forms__ads.htm#ref_387_32">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                               <FONT COLOR=red><A NAME="ref_308_32" HREF="terminal_interface-curses-forms__ads.htm#ref_388_32">Max</A></FONT> : <b>in</b> Natural := 0)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_310_16">Set_Field_Max</A></FONT> (<FONT COLOR=red><A NAME="ref_310_31" HREF="terminal_interface-curses-forms__adb.htm#ref_310_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                              <FONT COLOR=red><A NAME="ref_311_31" HREF="terminal_interface-curses-forms__adb.htm#ref_310_16">M</A></FONT>   : <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>pragma</b> Import (C, Set_Field_Max, "set_max_field");
+
+      <FONT COLOR=red><A NAME="ref_314_7">Res</A></FONT> : <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_387_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_388_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_387_14">Set_Maximum_Size</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_field_opts.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_327_14" HREF="terminal_interface-curses-forms__ads.htm#ref_397_14">Set_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_327_27" HREF="terminal_interface-curses-forms__ads.htm#ref_397_27">Fld</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                          <FONT COLOR=red><A NAME="ref_328_27" HREF="terminal_interface-curses-forms__ads.htm#ref_398_27">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_330_16">Set_Field_Opts</A></FONT> (<FONT COLOR=red><A NAME="ref_330_32" HREF="terminal_interface-curses-forms__adb.htm#ref_330_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                               <FONT COLOR=red><A NAME="ref_331_32" HREF="terminal_interface-curses-forms__adb.htm#ref_330_16">Opt</A></FONT> : <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>pragma</b> Import (C, Set_Field_Opts, "set_field_opts");
+
+      <FONT COLOR=red><A NAME="ref_334_7">Opt</A></FONT> : <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_398_27">Options</A>);
+      <FONT COLOR=red><A NAME="ref_335_7">Res</A></FONT> : <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_397_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_397_14">Set_Options</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_345_14" HREF="terminal_interface-curses-forms__ads.htm#ref_403_14">Switch_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_345_30" HREF="terminal_interface-curses-forms__ads.htm#ref_403_30">Fld</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_346_30" HREF="terminal_interface-curses-forms__ads.htm#ref_404_30">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>;
+                             <FONT COLOR=red><A NAME="ref_347_30" HREF="terminal_interface-curses-forms__ads.htm#ref_405_30">On</A></FONT>      : Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_349_16">Field_Opts_On</A></FONT> (<FONT COLOR=red><A NAME="ref_349_31" HREF="terminal_interface-curses-forms__adb.htm#ref_349_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                              <FONT COLOR=red><A NAME="ref_350_31" HREF="terminal_interface-curses-forms__adb.htm#ref_349_16">Opt</A></FONT> : <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>pragma</b> Import (C, Field_Opts_On, "field_opts_on");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_352_16">Field_Opts_Off</A></FONT> (<FONT COLOR=red><A NAME="ref_352_32" HREF="terminal_interface-curses-forms__adb.htm#ref_352_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                               <FONT COLOR=red><A NAME="ref_353_32" HREF="terminal_interface-curses-forms__adb.htm#ref_352_16">Opt</A></FONT> : <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>pragma</b> Import (C, Field_Opts_Off, "field_opts_off");
+
+      <FONT COLOR=red><A NAME="ref_356_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+      <FONT COLOR=red><A NAME="ref_357_7">Opt</A></FONT> : <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_404_30">Options</A>);
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_405_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_403_30">Fld</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_357_7">Opt</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_403_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>);
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_403_14">Switch_Options</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_371_14" HREF="terminal_interface-curses-forms__ads.htm#ref_411_14">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_371_27" HREF="terminal_interface-curses-forms__ads.htm#ref_411_27">Fld</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                          <FONT COLOR=red><A NAME="ref_372_27" HREF="terminal_interface-curses-forms__ads.htm#ref_412_27">Options</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_374_16">Field_Opts</A></FONT> (<FONT COLOR=red><A NAME="ref_374_28" HREF="terminal_interface-curses-forms__adb.htm#ref_374_16">Fld</A></FONT> : <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>pragma</b> Import (C, Field_Opts, "field_opts");
+
+      <FONT COLOR=red><A NAME="ref_377_7">Res</A></FONT> : <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_411_27">Fld</A>);
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-forms__ads.htm#ref_412_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_411_14">Get_Options</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_384_13" HREF="terminal_interface-curses-forms__ads.htm#ref_416_13">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_384_26" HREF="terminal_interface-curses-forms__ads.htm#ref_416_26">Fld</A></FONT> : <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>is</b>
+      <FONT COLOR=red><A NAME="ref_387_7">Fos</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>;
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-forms__ads.htm#ref_411_14">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_416_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_416_13">Get_Options</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_field_attributes.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_399_14" HREF="terminal_interface-curses-forms__ads.htm#ref_426_14">Set_Foreground</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_400_7" HREF="terminal_interface-curses-forms__ads.htm#ref_427_7">Fld</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_401_7" HREF="terminal_interface-curses-forms__ads.htm#ref_428_7">Fore</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_402_7" HREF="terminal_interface-curses-forms__ads.htm#ref_429_7">Color</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_404_16">Set_Field_Fore</A></FONT> (<FONT COLOR=red><A NAME="ref_404_32" HREF="terminal_interface-curses-forms__adb.htm#ref_404_16">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                               <FONT COLOR=red><A NAME="ref_405_32" HREF="terminal_interface-curses-forms__adb.htm#ref_404_16">Attr</A></FONT> : <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>pragma</b> Import (C, Set_Field_Fore, "set_field_fore");
+
+      <FONT COLOR=red><A NAME="ref_408_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; Character'First,
+                                             <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A> =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_429_7">Color</A>,
+                                             <A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_428_7">Fore</A>);
+      <FONT COLOR=red><A NAME="ref_411_7">Res</A></FONT> : <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_427_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_426_14">Set_Foreground</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_421_14" HREF="terminal_interface-curses-forms__ads.htm#ref_434_14">Foreground</A></FONT> (<FONT COLOR=red><A NAME="ref_421_26" HREF="terminal_interface-curses-forms__ads.htm#ref_434_26">Fld</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_422_26" HREF="terminal_interface-curses-forms__ads.htm#ref_435_26">Fore</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_424_16">Field_Fore</A></FONT> (<FONT COLOR=red><A NAME="ref_424_28" HREF="terminal_interface-curses-forms__adb.htm#ref_424_16">Fld</A></FONT> : <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>pragma</b> Import (C, Field_Fore, "field_fore");
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-forms__ads.htm#ref_435_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_434_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_434_14">Foreground</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_430_14" HREF="terminal_interface-curses-forms__ads.htm#ref_439_14">Foreground</A></FONT> (<FONT COLOR=red><A NAME="ref_430_26" HREF="terminal_interface-curses-forms__ads.htm#ref_439_26">Fld</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_431_26" HREF="terminal_interface-curses-forms__ads.htm#ref_440_26">Fore</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+                         <FONT COLOR=red><A NAME="ref_432_26" HREF="terminal_interface-curses-forms__ads.htm#ref_441_26">Color</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_434_16">Field_Fore</A></FONT> (<FONT COLOR=red><A NAME="ref_434_28" HREF="terminal_interface-curses-forms__adb.htm#ref_434_16">Fld</A></FONT> : <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>pragma</b> Import (C, Field_Fore, "field_fore");
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-forms__ads.htm#ref_440_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_439_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#ref_441_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_439_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_439_14">Foreground</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_443_14" HREF="terminal_interface-curses-forms__ads.htm#ref_446_14">Set_Background</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_444_7" HREF="terminal_interface-curses-forms__ads.htm#ref_447_7">Fld</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_445_7" HREF="terminal_interface-curses-forms__ads.htm#ref_448_7">Back</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_446_7" HREF="terminal_interface-curses-forms__ads.htm#ref_449_7">Color</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_448_16">Set_Field_Back</A></FONT> (<FONT COLOR=red><A NAME="ref_448_32" HREF="terminal_interface-curses-forms__adb.htm#ref_448_16">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                               <FONT COLOR=red><A NAME="ref_449_32" HREF="terminal_interface-curses-forms__adb.htm#ref_448_16">Attr</A></FONT> : <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>pragma</b> Import (C, Set_Field_Back, "set_field_back");
+
+      <FONT COLOR=red><A NAME="ref_452_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; Character'First,
+                                             <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A> =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_449_7">Color</A>,
+                                             <A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_448_7">Back</A>);
+      <FONT COLOR=red><A NAME="ref_455_7">Res</A></FONT> : <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_447_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_446_14">Set_Background</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_465_14" HREF="terminal_interface-curses-forms__ads.htm#ref_454_14">Background</A></FONT> (<FONT COLOR=red><A NAME="ref_465_26" HREF="terminal_interface-curses-forms__ads.htm#ref_454_26">Fld</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_466_26" HREF="terminal_interface-curses-forms__ads.htm#ref_455_26">Back</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_468_16">Field_Back</A></FONT> (<FONT COLOR=red><A NAME="ref_468_28" HREF="terminal_interface-curses-forms__adb.htm#ref_468_16">Fld</A></FONT> : <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>pragma</b> Import (C, Field_Back, "field_back");
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-forms__ads.htm#ref_455_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_454_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_454_14">Background</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_474_14" HREF="terminal_interface-curses-forms__ads.htm#ref_459_14">Background</A></FONT> (<FONT COLOR=red><A NAME="ref_474_26" HREF="terminal_interface-curses-forms__ads.htm#ref_459_26">Fld</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_475_26" HREF="terminal_interface-curses-forms__ads.htm#ref_460_26">Back</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+                         <FONT COLOR=red><A NAME="ref_476_26" HREF="terminal_interface-curses-forms__ads.htm#ref_461_26">Color</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_478_16">Field_Back</A></FONT> (<FONT COLOR=red><A NAME="ref_478_28" HREF="terminal_interface-curses-forms__adb.htm#ref_478_16">Fld</A></FONT> : <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>pragma</b> Import (C, Field_Back, "field_back");
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-forms__ads.htm#ref_460_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_459_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>;
+      <A HREF="terminal_interface-curses-forms__ads.htm#ref_461_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_459_26">Fld</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_459_14">Background</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_487_14" HREF="terminal_interface-curses-forms__ads.htm#ref_466_14">Set_Pad_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_487_33" HREF="terminal_interface-curses-forms__ads.htm#ref_466_33">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                                <FONT COLOR=red><A NAME="ref_488_33" HREF="terminal_interface-curses-forms__ads.htm#ref_467_33">Pad</A></FONT> : <b>in</b> Character := Space)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_490_16">Set_Field_Pad</A></FONT> (<FONT COLOR=red><A NAME="ref_490_31" HREF="terminal_interface-curses-forms__adb.htm#ref_490_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                              <FONT COLOR=red><A NAME="ref_491_31" HREF="terminal_interface-curses-forms__adb.htm#ref_490_16">Ch</A></FONT>  : <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>pragma</b> Import (C, Set_Field_Pad, "set_field_pad");
+
+      <FONT COLOR=red><A NAME="ref_494_7">Res</A></FONT> : <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_466_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_467_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_466_14">Set_Pad_Character</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_504_14" HREF="terminal_interface-curses-forms__ads.htm#ref_472_14">Pad_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_504_29" HREF="terminal_interface-curses-forms__ads.htm#ref_472_29">Fld</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                            <FONT COLOR=red><A NAME="ref_505_29" HREF="terminal_interface-curses-forms__ads.htm#ref_473_29">Pad</A></FONT> : <b>out</b> Character)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_507_16">Field_Pad</A></FONT> (<FONT COLOR=red><A NAME="ref_507_27" HREF="terminal_interface-curses-forms__adb.htm#ref_507_16">Fld</A></FONT> : <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>pragma</b> Import (C, Field_Pad, "field_pad");
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-forms__ads.htm#ref_473_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_472_29">Fld</A>));
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_472_14">Pad_Character</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_field_info.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_519_14" HREF="terminal_interface-curses-forms__ads.htm#ref_482_14">Info</A></FONT> (<FONT COLOR=red><A NAME="ref_519_20" HREF="terminal_interface-curses-forms__ads.htm#ref_482_20">Fld</A></FONT>                : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                   <FONT COLOR=red><A NAME="ref_520_20" HREF="terminal_interface-curses-forms__ads.htm#ref_483_20">Lines</A></FONT>              : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                   <FONT COLOR=red><A NAME="ref_521_20" HREF="terminal_interface-curses-forms__ads.htm#ref_484_20">Columns</A></FONT>            : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+                   <FONT COLOR=red><A NAME="ref_522_20" HREF="terminal_interface-curses-forms__ads.htm#ref_485_20">First_Row</A></FONT>          : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_523_20" HREF="terminal_interface-curses-forms__ads.htm#ref_486_20">First_Column</A></FONT>       : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_524_20" HREF="terminal_interface-curses-forms__ads.htm#ref_487_20">Off_Screen</A></FONT>         : <b>out</b> Natural;
+                   <FONT COLOR=red><A NAME="ref_525_20" HREF="terminal_interface-curses-forms__ads.htm#ref_488_20">Additional_Buffers</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A>)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_527_12">C_Int_Access</A></FONT> <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> <FONT COLOR=red><A NAME="ref_528_16">Fld_Info</A></FONT> (<FONT COLOR=red><A NAME="ref_528_26" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_529_26" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">L</A></FONT>, <FONT COLOR=red><A NAME="ref_529_29" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">C</A></FONT>, <FONT COLOR=red><A NAME="ref_529_32" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Fr</A></FONT>, <FONT COLOR=red><A NAME="ref_529_36" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Fc</A></FONT>, <FONT COLOR=red><A NAME="ref_529_40" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Os</A></FONT>, <FONT COLOR=red><A NAME="ref_529_44" HREF="terminal_interface-curses-forms__adb.htm#ref_528_16">Ab</A></FONT> : <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>pragma</b> Import (C, Fld_Info, "field_info");
+
+      <FONT COLOR=red><A NAME="ref_533_7">L</A></FONT>, <FONT COLOR=red><A NAME="ref_533_10">C</A></FONT>, <FONT COLOR=red><A NAME="ref_533_13">Fr</A></FONT>, <FONT COLOR=red><A NAME="ref_533_17">Fc</A></FONT>, <FONT COLOR=red><A NAME="ref_533_21">Os</A></FONT>, <FONT COLOR=red><A NAME="ref_533_25">Ab</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <FONT COLOR=red><A NAME="ref_534_7">Res</A></FONT> : <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_482_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>);
+   <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_483_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_484_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_485_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_486_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_487_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_488_20">Additional_Buffers</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_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_482_14">Info</A>;
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_553_14" HREF="terminal_interface-curses-forms__ads.htm#ref_493_14">Dynamic_Info</A></FONT> (<FONT COLOR=red><A NAME="ref_553_28" HREF="terminal_interface-curses-forms__ads.htm#ref_493_28">Fld</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                           <FONT COLOR=red><A NAME="ref_554_28" HREF="terminal_interface-curses-forms__ads.htm#ref_494_28">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                           <FONT COLOR=red><A NAME="ref_555_28" HREF="terminal_interface-curses-forms__ads.htm#ref_495_28">Columns</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+                           <FONT COLOR=red><A NAME="ref_556_28" HREF="terminal_interface-curses-forms__ads.htm#ref_496_28">Max</A></FONT>     : <b>out</b> Natural)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_558_12">C_Int_Access</A></FONT> <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> <FONT COLOR=red><A NAME="ref_559_16">Dyn_Info</A></FONT> (<FONT COLOR=red><A NAME="ref_559_26" HREF="terminal_interface-curses-forms__adb.htm#ref_559_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>; <FONT COLOR=red><A NAME="ref_559_39" HREF="terminal_interface-curses-forms__adb.htm#ref_559_16">L</A></FONT>, <FONT COLOR=red><A NAME="ref_559_42" HREF="terminal_interface-curses-forms__adb.htm#ref_559_16">C</A></FONT>, <FONT COLOR=red><A NAME="ref_559_45" HREF="terminal_interface-curses-forms__adb.htm#ref_559_16">M</A></FONT> : <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>pragma</b> Import (C, Dyn_Info, "dynamic_field_info");
+
+      <FONT COLOR=red><A NAME="ref_562_7">L</A></FONT>, <FONT COLOR=red><A NAME="ref_562_10">C</A></FONT>, <FONT COLOR=red><A NAME="ref_562_13">M</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <FONT COLOR=red><A NAME="ref_563_7">Res</A></FONT> : <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_493_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>);
+   <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_494_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_495_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_496_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_493_14">Dynamic_Info</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_win.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_582_14" HREF="terminal_interface-curses-forms__ads.htm#ref_505_14">Set_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_582_26" HREF="terminal_interface-curses-forms__ads.htm#ref_505_26">Frm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                         <FONT COLOR=red><A NAME="ref_583_26" HREF="terminal_interface-curses-forms__ads.htm#ref_506_26">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_585_16">Set_Form_Win</A></FONT> (<FONT COLOR=red><A NAME="ref_585_30" HREF="terminal_interface-curses-forms__adb.htm#ref_585_16">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                             <FONT COLOR=red><A NAME="ref_586_30" HREF="terminal_interface-curses-forms__adb.htm#ref_585_16">Win</A></FONT> : <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>pragma</b> Import (C, Set_Form_Win, "set_form_win");
+
+      <FONT COLOR=red><A NAME="ref_589_7">Res</A></FONT> : <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_505_26">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_506_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_505_14">Set_Window</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_598_13" HREF="terminal_interface-curses-forms__ads.htm#ref_511_13">Get_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_598_25" HREF="terminal_interface-curses-forms__ads.htm#ref_511_25">Frm</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_600_16">Form_Win</A></FONT> (<FONT COLOR=red><A NAME="ref_600_26" HREF="terminal_interface-curses-forms__adb.htm#ref_600_16">Frm</A></FONT> : <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>pragma</b> Import (C, Form_Win, "form_win");
+
+      <FONT COLOR=red><A NAME="ref_603_7">W</A></FONT> : <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_511_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_511_13">Get_Window</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_610_14" HREF="terminal_interface-curses-forms__ads.htm#ref_516_14">Set_Sub_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_610_30" HREF="terminal_interface-curses-forms__ads.htm#ref_516_30">Frm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                             <FONT COLOR=red><A NAME="ref_611_30" HREF="terminal_interface-curses-forms__ads.htm#ref_517_30">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_613_16">Set_Form_Sub</A></FONT> (<FONT COLOR=red><A NAME="ref_613_30" HREF="terminal_interface-curses-forms__adb.htm#ref_613_16">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                             <FONT COLOR=red><A NAME="ref_614_30" HREF="terminal_interface-curses-forms__adb.htm#ref_613_16">Win</A></FONT> : <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>pragma</b> Import (C, Set_Form_Sub, "set_form_sub");
+
+      <FONT COLOR=red><A NAME="ref_617_7">Res</A></FONT> : <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_516_30">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_517_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_516_14">Set_Sub_Window</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_626_13" HREF="terminal_interface-curses-forms__ads.htm#ref_522_13">Get_Sub_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_626_29" HREF="terminal_interface-curses-forms__ads.htm#ref_522_29">Frm</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_628_16">Form_Sub</A></FONT> (<FONT COLOR=red><A NAME="ref_628_26" HREF="terminal_interface-curses-forms__adb.htm#ref_628_16">Frm</A></FONT> : <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>pragma</b> Import (C, Form_Sub, "form_sub");
+
+      <FONT COLOR=red><A NAME="ref_631_7">W</A></FONT> : <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_522_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_522_13">Get_Sub_Window</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_638_14" HREF="terminal_interface-curses-forms__ads.htm#ref_527_14">Scale</A></FONT> (<FONT COLOR=red><A NAME="ref_638_21" HREF="terminal_interface-curses-forms__ads.htm#ref_527_21">Frm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                    <FONT COLOR=red><A NAME="ref_639_21" HREF="terminal_interface-curses-forms__ads.htm#ref_528_21">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                    <FONT COLOR=red><A NAME="ref_640_21" HREF="terminal_interface-curses-forms__ads.htm#ref_529_21">Columns</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_642_12">C_Int_Access</A></FONT> <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> <FONT COLOR=red><A NAME="ref_643_16">M_Scale</A></FONT> (<FONT COLOR=red><A NAME="ref_643_25" HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>; <FONT COLOR=red><A NAME="ref_643_37" HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">Yp</A></FONT>, <FONT COLOR=red><A NAME="ref_643_41" HREF="terminal_interface-curses-forms__adb.htm#ref_643_16">Xp</A></FONT> : <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>pragma</b> Import (C, M_Scale, "scale_form");
+
+      <FONT COLOR=red><A NAME="ref_646_7">X</A></FONT>, <FONT COLOR=red><A NAME="ref_646_10">Y</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <FONT COLOR=red><A NAME="ref_647_7">Res</A></FONT>  : <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_527_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>);
+   <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_528_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_529_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_527_14">Scale</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page menu_hook.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_662_14" HREF="terminal_interface-curses-forms__ads.htm#ref_541_14">Set_Field_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_662_35" HREF="terminal_interface-curses-forms__ads.htm#ref_541_35">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                                  <FONT COLOR=red><A NAME="ref_663_35" HREF="terminal_interface-curses-forms__ads.htm#ref_542_35">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_537_9">Form_Hook_Function</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_665_16">Set_Field_Init</A></FONT> (<FONT COLOR=red><A NAME="ref_665_32" HREF="terminal_interface-curses-forms__adb.htm#ref_665_16">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                               <FONT COLOR=red><A NAME="ref_666_32" HREF="terminal_interface-curses-forms__adb.htm#ref_665_16">Proc</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_537_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Set_Field_Init, "set_field_init");
+
+      <FONT COLOR=red><A NAME="ref_669_7">Res</A></FONT> : <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_541_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_542_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_541_14">Set_Field_Init_Hook</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_678_14" HREF="terminal_interface-curses-forms__ads.htm#ref_547_14">Set_Field_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_678_35" HREF="terminal_interface-curses-forms__ads.htm#ref_547_35">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                                  <FONT COLOR=red><A NAME="ref_679_35" HREF="terminal_interface-curses-forms__ads.htm#ref_548_35">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_537_9">Form_Hook_Function</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_681_16">Set_Field_Term</A></FONT> (<FONT COLOR=red><A NAME="ref_681_32" HREF="terminal_interface-curses-forms__adb.htm#ref_681_16">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                               <FONT COLOR=red><A NAME="ref_682_32" HREF="terminal_interface-curses-forms__adb.htm#ref_681_16">Proc</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_537_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Set_Field_Term, "set_field_term");
+
+      <FONT COLOR=red><A NAME="ref_685_7">Res</A></FONT> : <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_547_35">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_548_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_547_14">Set_Field_Term_Hook</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_694_14" HREF="terminal_interface-curses-forms__ads.htm#ref_553_14">Set_Form_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_694_34" HREF="terminal_interface-curses-forms__ads.htm#ref_553_34">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                                 <FONT COLOR=red><A NAME="ref_695_34" HREF="terminal_interface-curses-forms__ads.htm#ref_554_34">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_537_9">Form_Hook_Function</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_697_16">Set_Form_Init</A></FONT> (<FONT COLOR=red><A NAME="ref_697_31" HREF="terminal_interface-curses-forms__adb.htm#ref_697_16">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                              <FONT COLOR=red><A NAME="ref_698_31" HREF="terminal_interface-curses-forms__adb.htm#ref_697_16">Proc</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_537_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Set_Form_Init, "set_form_init");
+
+      <FONT COLOR=red><A NAME="ref_701_7">Res</A></FONT> : <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_553_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_554_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_553_14">Set_Form_Init_Hook</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_710_14" HREF="terminal_interface-curses-forms__ads.htm#ref_559_14">Set_Form_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_710_34" HREF="terminal_interface-curses-forms__ads.htm#ref_559_34">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                                 <FONT COLOR=red><A NAME="ref_711_34" HREF="terminal_interface-curses-forms__ads.htm#ref_560_34">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_537_9">Form_Hook_Function</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_713_16">Set_Form_Term</A></FONT> (<FONT COLOR=red><A NAME="ref_713_31" HREF="terminal_interface-curses-forms__adb.htm#ref_713_16">Frm</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                              <FONT COLOR=red><A NAME="ref_714_31" HREF="terminal_interface-curses-forms__adb.htm#ref_713_16">Proc</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_537_9">Form_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Set_Form_Term, "set_form_term");
+
+      <FONT COLOR=red><A NAME="ref_717_7">Res</A></FONT> : <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_559_34">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_560_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_559_14">Set_Form_Term_Hook</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_fields.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_730_14" HREF="terminal_interface-curses-forms__ads.htm#ref_589_14">Redefine</A></FONT> (<FONT COLOR=red><A NAME="ref_730_24" HREF="terminal_interface-curses-forms__ads.htm#ref_589_24">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                       <FONT COLOR=red><A NAME="ref_731_24" HREF="terminal_interface-curses-forms__ads.htm#ref_590_24">Flds</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_134_9">Field_Array_Access</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_733_16">Set_Frm_Fields</A></FONT> (<FONT COLOR=red><A NAME="ref_733_32" HREF="terminal_interface-curses-forms__adb.htm#ref_733_16">Frm</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                               <FONT COLOR=red><A NAME="ref_734_32" HREF="terminal_interface-curses-forms__adb.htm#ref_733_16">Items</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Set_Frm_Fields, "set_form_fields");
+
+      <FONT COLOR=red><A NAME="ref_737_7">Res</A></FONT> : <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_590_24">Flds</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_590_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_590_24">Flds</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_590_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_286_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_589_24">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_590_24">Flds</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_590_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>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_589_14">Redefine</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_752_13" HREF="terminal_interface-curses-forms__ads.htm#ref_601_13">Fields</A></FONT> (<FONT COLOR=red><A NAME="ref_752_21" HREF="terminal_interface-curses-forms__ads.htm#ref_601_21">Frm</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                    <FONT COLOR=red><A NAME="ref_753_21" HREF="terminal_interface-curses-forms__ads.htm#ref_602_21">Index</A></FONT> : Positive) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>
+   <b>is</b>
+      <b>use</b> F_Array;
+
+      <b>function</b> C_Fields (<FONT COLOR=red><A NAME="ref_757_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_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_601_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_602_21">Index</A> &gt; <A HREF="terminal_interface-curses-forms__ads.htm#ref_607_13">Field_Count</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_601_21">Frm</A>) <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_286_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_602_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_601_13">Fields</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_772_13" HREF="terminal_interface-curses-forms__ads.htm#ref_607_13">Field_Count</A></FONT> (<FONT COLOR=red><A NAME="ref_772_26" HREF="terminal_interface-curses-forms__ads.htm#ref_607_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Natural
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_774_16">Count</A></FONT> (<FONT COLOR=red><A NAME="ref_774_23" HREF="terminal_interface-curses-forms__adb.htm#ref_774_16">Frm</A></FONT> : <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>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_607_26">Frm</A>));
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_607_13">Field_Count</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_782_14" HREF="terminal_interface-curses-forms__ads.htm#ref_612_14">Move</A></FONT> (<FONT COLOR=red><A NAME="ref_782_20" HREF="terminal_interface-curses-forms__ads.htm#ref_612_20">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                   <FONT COLOR=red><A NAME="ref_783_20" HREF="terminal_interface-curses-forms__ads.htm#ref_613_20">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_784_20" HREF="terminal_interface-curses-forms__ads.htm#ref_614_20">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_786_16">Move</A></FONT> (<FONT COLOR=red><A NAME="ref_786_22" HREF="terminal_interface-curses-forms__adb.htm#ref_786_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>; <FONT COLOR=red><A NAME="ref_786_35" HREF="terminal_interface-curses-forms__adb.htm#ref_786_16">L</A></FONT>, <FONT COLOR=red><A NAME="ref_786_38" HREF="terminal_interface-curses-forms__adb.htm#ref_786_16">C</A></FONT> : <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>pragma</b> Import (C, Move, "move_field");
+
+      <FONT COLOR=red><A NAME="ref_789_7">Res</A></FONT> : <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_612_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_613_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_614_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_612_14">Move</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_new.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_802_13" HREF="terminal_interface-curses-forms__ads.htm#ref_623_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_802_21" HREF="terminal_interface-curses-forms__ads.htm#ref_623_21">Fields</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_134_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_804_16">NewForm</A></FONT> (<FONT COLOR=red><A NAME="ref_804_25" HREF="terminal_interface-curses-forms__adb.htm#ref_804_16">Fields</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+      <b>pragma</b> Import (C, NewForm, "new_form");
+
+      <FONT COLOR=red><A NAME="ref_807_7">M</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+   <b>begin</b>
+      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-forms__ads.htm#ref_623_21">Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_623_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_623_21">Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_623_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_286_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_623_21">Fields</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_623_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_286_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>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_623_13">Create</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_823_14" HREF="terminal_interface-curses-forms__ads.htm#ref_634_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_823_22" HREF="terminal_interface-curses-forms__ads.htm#ref_634_22">Frm</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_825_16">Free</A></FONT> (<FONT COLOR=red><A NAME="ref_825_22" HREF="terminal_interface-curses-forms__adb.htm#ref_825_16">Frm</A></FONT> : <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>pragma</b> Import (C, Free, "free_form");
+
+      <FONT COLOR=red><A NAME="ref_828_7">Res</A></FONT> : <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_634_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_634_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_634_14">Delete</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_opts.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_842_14" HREF="terminal_interface-curses-forms__ads.htm#ref_644_14">Set_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_842_27" HREF="terminal_interface-curses-forms__ads.htm#ref_644_27">Frm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                          <FONT COLOR=red><A NAME="ref_843_27" HREF="terminal_interface-curses-forms__ads.htm#ref_645_27">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_107_9">Form_Option_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_845_16">Set_Form_Opts</A></FONT> (<FONT COLOR=red><A NAME="ref_845_31" HREF="terminal_interface-curses-forms__adb.htm#ref_845_16">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                              <FONT COLOR=red><A NAME="ref_846_31" HREF="terminal_interface-curses-forms__adb.htm#ref_845_16">Opt</A></FONT> : <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>pragma</b> Import (C, Set_Form_Opts, "set_form_opts");
+
+      <FONT COLOR=red><A NAME="ref_849_7">Opt</A></FONT> : <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_645_27">Options</A>);
+      <FONT COLOR=red><A NAME="ref_850_7">Res</A></FONT> : <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_644_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_644_14">Set_Options</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_860_14" HREF="terminal_interface-curses-forms__ads.htm#ref_650_14">Switch_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_860_30" HREF="terminal_interface-curses-forms__ads.htm#ref_650_30">Frm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                             <FONT COLOR=red><A NAME="ref_861_30" HREF="terminal_interface-curses-forms__ads.htm#ref_651_30">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_107_9">Form_Option_Set</A>;
+                             <FONT COLOR=red><A NAME="ref_862_30" HREF="terminal_interface-curses-forms__ads.htm#ref_652_30">On</A></FONT>      : Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_864_16">Form_Opts_On</A></FONT> (<FONT COLOR=red><A NAME="ref_864_30" HREF="terminal_interface-curses-forms__adb.htm#ref_864_16">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                             <FONT COLOR=red><A NAME="ref_865_30" HREF="terminal_interface-curses-forms__adb.htm#ref_864_16">Opt</A></FONT> : <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>pragma</b> Import (C, Form_Opts_On, "form_opts_on");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_867_16">Form_Opts_Off</A></FONT> (<FONT COLOR=red><A NAME="ref_867_31" HREF="terminal_interface-curses-forms__adb.htm#ref_867_16">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                              <FONT COLOR=red><A NAME="ref_868_31" HREF="terminal_interface-curses-forms__adb.htm#ref_867_16">Opt</A></FONT> : <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>pragma</b> Import (C, Form_Opts_Off, "form_opts_off");
+
+      <FONT COLOR=red><A NAME="ref_871_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+      <FONT COLOR=red><A NAME="ref_872_7">Opt</A></FONT> : <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_651_30">Options</A>);
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_652_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_650_30">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_872_7">Opt</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_650_30">Frm</A>, <A HREF="terminal_interface-curses-forms__adb.htm#ref_872_7">Opt</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_650_14">Switch_Options</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_886_14" HREF="terminal_interface-curses-forms__ads.htm#ref_658_14">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_886_27" HREF="terminal_interface-curses-forms__ads.htm#ref_658_27">Frm</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                          <FONT COLOR=red><A NAME="ref_887_27" HREF="terminal_interface-curses-forms__ads.htm#ref_659_27">Options</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_107_9">Form_Option_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_889_16">Form_Opts</A></FONT> (<FONT COLOR=red><A NAME="ref_889_27" HREF="terminal_interface-curses-forms__adb.htm#ref_889_16">Frm</A></FONT> : <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>pragma</b> Import (C, Form_Opts, "form_opts");
+
+      <FONT COLOR=red><A NAME="ref_892_7">Res</A></FONT> : <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_658_27">Frm</A>);
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-forms__ads.htm#ref_659_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_658_14">Get_Options</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_899_13" HREF="terminal_interface-curses-forms__ads.htm#ref_663_13">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_899_26" HREF="terminal_interface-curses-forms__ads.htm#ref_663_26">Frm</A></FONT> : <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_107_9">Form_Option_Set</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_901_7">Fos</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_107_9">Form_Option_Set</A>;
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-forms__ads.htm#ref_658_14">Get_Options</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_663_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_663_13">Get_Options</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_post.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_913_14" HREF="terminal_interface-curses-forms__ads.htm#ref_672_14">Post</A></FONT> (<FONT COLOR=red><A NAME="ref_913_20" HREF="terminal_interface-curses-forms__ads.htm#ref_672_20">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                   <FONT COLOR=red><A NAME="ref_914_20" HREF="terminal_interface-curses-forms__ads.htm#ref_673_20">Post</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_916_16">M_Post</A></FONT> (<FONT COLOR=red><A NAME="ref_916_24" HREF="terminal_interface-curses-forms__adb.htm#ref_916_16">Frm</A></FONT> : <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>pragma</b> Import (C, M_Post, "post_form");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_918_16">M_Unpost</A></FONT> (<FONT COLOR=red><A NAME="ref_918_26" HREF="terminal_interface-curses-forms__adb.htm#ref_918_16">Frm</A></FONT> : <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>pragma</b> Import (C, M_Unpost, "unpost_form");
+
+      <FONT COLOR=red><A NAME="ref_921_7">Res</A></FONT> : <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_673_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_672_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_672_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>);
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_672_14">Post</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_cursor.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_939_14" HREF="terminal_interface-curses-forms__ads.htm#ref_683_14">Position_Cursor</A></FONT> (<FONT COLOR=red><A NAME="ref_939_31" HREF="terminal_interface-curses-forms__ads.htm#ref_683_31">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_941_16">Pos_Form_Cursor</A></FONT> (<FONT COLOR=red><A NAME="ref_941_33" HREF="terminal_interface-curses-forms__adb.htm#ref_941_16">Frm</A></FONT> : <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>pragma</b> Import (C, Pos_Form_Cursor, "pos_form_cursor");
+
+      <FONT COLOR=red><A NAME="ref_944_7">Res</A></FONT> : <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_683_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_683_14">Position_Cursor</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_data.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_957_13" HREF="terminal_interface-curses-forms__ads.htm#ref_692_13">Data_Ahead</A></FONT> (<FONT COLOR=red><A NAME="ref_957_25" HREF="terminal_interface-curses-forms__ads.htm#ref_692_25">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_959_16">Ahead</A></FONT> (<FONT COLOR=red><A NAME="ref_959_23" HREF="terminal_interface-curses-forms__adb.htm#ref_959_16">Frm</A></FONT> : <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>pragma</b> Import (C, Ahead, "data_ahead");
+
+      <FONT COLOR=red><A NAME="ref_962_7">Res</A></FONT> : <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_692_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>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_692_13">Data_Ahead</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_973_13" HREF="terminal_interface-curses-forms__ads.htm#ref_697_13">Data_Behind</A></FONT> (<FONT COLOR=red><A NAME="ref_973_26" HREF="terminal_interface-curses-forms__ads.htm#ref_697_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_975_16">Behind</A></FONT> (<FONT COLOR=red><A NAME="ref_975_24" HREF="terminal_interface-curses-forms__adb.htm#ref_975_16">Frm</A></FONT> : <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>pragma</b> Import (C, Behind, "data_behind");
+
+      <FONT COLOR=red><A NAME="ref_978_7">Res</A></FONT> : <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_697_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>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_697_13">Data_Behind</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_driver.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_993_13" HREF="terminal_interface-curses-forms__ads.htm#ref_711_13">Driver</A></FONT> (<FONT COLOR=red><A NAME="ref_993_21" HREF="terminal_interface-curses-forms__ads.htm#ref_711_21">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                    <FONT COLOR=red><A NAME="ref_994_21" HREF="terminal_interface-curses-forms__ads.htm#ref_712_21">Key</A></FONT> : <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_705_9">Driver_Result</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_996_16">Frm_Driver</A></FONT> (<FONT COLOR=red><A NAME="ref_996_28" HREF="terminal_interface-curses-forms__adb.htm#ref_996_16">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>; <FONT COLOR=red><A NAME="ref_996_40" HREF="terminal_interface-curses-forms__adb.htm#ref_996_16">Key</A></FONT> : <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>pragma</b> Import (C, Frm_Driver, "form_driver");
+
+      <FONT COLOR=red><A NAME="ref_999_7">R</A></FONT> : <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_711_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_712_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_707_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_708_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_706_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_705_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_705_27">Form_Ok</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_711_13">Driver</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_page.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1023_14" HREF="terminal_interface-curses-forms__ads.htm#ref_723_14">Set_Current</A></FONT> (<FONT COLOR=red><A NAME="ref_1023_27" HREF="terminal_interface-curses-forms__ads.htm#ref_723_27">Frm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                          <FONT COLOR=red><A NAME="ref_1024_27" HREF="terminal_interface-curses-forms__ads.htm#ref_724_27">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1026_16">Set_Current_Fld</A></FONT> (<FONT COLOR=red><A NAME="ref_1026_33" HREF="terminal_interface-curses-forms__adb.htm#ref_1026_16">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>; <FONT COLOR=red><A NAME="ref_1026_45" HREF="terminal_interface-curses-forms__adb.htm#ref_1026_16">Fld</A></FONT> : <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>pragma</b> Import (C, Set_Current_Fld, "set_current_field");
+
+      <FONT COLOR=red><A NAME="ref_1029_7">Res</A></FONT> : <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_723_27">Frm</A>, <A HREF="terminal_interface-curses-forms__ads.htm#ref_724_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_723_14">Set_Current</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1038_13" HREF="terminal_interface-curses-forms__ads.htm#ref_729_13">Current</A></FONT> (<FONT COLOR=red><A NAME="ref_1038_22" HREF="terminal_interface-curses-forms__ads.htm#ref_729_22">Frm</A></FONT> : <b>in</b> <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1040_16">Current_Fld</A></FONT> (<FONT COLOR=red><A NAME="ref_1040_29" HREF="terminal_interface-curses-forms__adb.htm#ref_1040_16">Frm</A></FONT> : <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>pragma</b> Import (C, Current_Fld, "current_field");
+
+      <FONT COLOR=red><A NAME="ref_1043_7">Fld</A></FONT> : <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_729_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_286_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_729_13">Current</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1053_14" HREF="terminal_interface-curses-forms__ads.htm#ref_734_14">Set_Page</A></FONT> (<FONT COLOR=red><A NAME="ref_1053_24" HREF="terminal_interface-curses-forms__ads.htm#ref_734_24">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                       <FONT COLOR=red><A NAME="ref_1054_24" HREF="terminal_interface-curses-forms__ads.htm#ref_735_24">Page</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_720_9">Page_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_720_9">Page_Number</A>'First)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1056_16">Set_Frm_Page</A></FONT> (<FONT COLOR=red><A NAME="ref_1056_30" HREF="terminal_interface-curses-forms__adb.htm#ref_1056_16">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>; <FONT COLOR=red><A NAME="ref_1056_42" HREF="terminal_interface-curses-forms__adb.htm#ref_1056_16">Pg</A></FONT> : <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>pragma</b> Import (C, Set_Frm_Page, "set_form_page");
+
+      <FONT COLOR=red><A NAME="ref_1059_7">Res</A></FONT> : <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_734_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_735_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_734_14">Set_Page</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1068_13" HREF="terminal_interface-curses-forms__ads.htm#ref_740_13">Page</A></FONT> (<FONT COLOR=red><A NAME="ref_1068_19" HREF="terminal_interface-curses-forms__ads.htm#ref_740_19">Frm</A></FONT> : <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_720_9">Page_Number</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1070_16">Get_Page</A></FONT> (<FONT COLOR=red><A NAME="ref_1070_26" HREF="terminal_interface-curses-forms__adb.htm#ref_1070_16">Frm</A></FONT> : <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>pragma</b> Import (C, Get_Page, "form_page");
+
+      <FONT COLOR=red><A NAME="ref_1073_7">P</A></FONT> : <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_740_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_286_4">Form_Exception</A>;
+      <b>else</b>
+         <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_720_9">Page_Number</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1073_7">P</A>);
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_740_13">Page</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1082_13" HREF="terminal_interface-curses-forms__ads.htm#ref_745_13">Get_Index</A></FONT> (<FONT COLOR=red><A NAME="ref_1082_24" HREF="terminal_interface-curses-forms__ads.htm#ref_745_24">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> Positive
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1084_16">Get_Fieldindex</A></FONT> (<FONT COLOR=red><A NAME="ref_1084_32" HREF="terminal_interface-curses-forms__adb.htm#ref_1084_16">Fld</A></FONT> : <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>pragma</b> Import (C, Get_Fieldindex, "field_index");
+
+      <FONT COLOR=red><A NAME="ref_1087_7">Res</A></FONT> : <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_745_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_286_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_745_13">Get_Index</A>;
+
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | man page form_new_page.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1102_14" HREF="terminal_interface-curses-forms__ads.htm#ref_757_14">Set_New_Page</A></FONT> (<FONT COLOR=red><A NAME="ref_1102_28" HREF="terminal_interface-curses-forms__ads.htm#ref_757_28">Fld</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                           <FONT COLOR=red><A NAME="ref_1103_28" HREF="terminal_interface-curses-forms__ads.htm#ref_758_28">New_Page</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1105_16">Set_Page</A></FONT> (<FONT COLOR=red><A NAME="ref_1105_26" HREF="terminal_interface-curses-forms__adb.htm#ref_1105_16">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>; <FONT COLOR=red><A NAME="ref_1105_39" HREF="terminal_interface-curses-forms__adb.htm#ref_1105_16">Flg</A></FONT> : <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>pragma</b> Import (C, Set_Page, "set_new_page");
+
+      <FONT COLOR=red><A NAME="ref_1108_7">Res</A></FONT> : <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_757_28">Fld</A>, Boolean'Pos (<A HREF="terminal_interface-curses-forms__ads.htm#ref_758_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_757_14">Set_New_Page</A>;
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1117_13" HREF="terminal_interface-curses-forms__ads.htm#ref_763_13">Is_New_Page</A></FONT> (<FONT COLOR=red><A NAME="ref_1117_26" HREF="terminal_interface-curses-forms__ads.htm#ref_763_26">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1119_16">Is_New</A></FONT> (<FONT COLOR=red><A NAME="ref_1119_24" HREF="terminal_interface-curses-forms__adb.htm#ref_1119_16">Fld</A></FONT> : <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>pragma</b> Import (C, Is_New, "new_page");
+
+      <FONT COLOR=red><A NAME="ref_1122_7">Res</A></FONT> : <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_763_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>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_763_13">Is_New_Page</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1131_14" HREF="terminal_interface-curses-forms__ads.htm#ref_136_14">Free</A></FONT> (<FONT COLOR=red><A NAME="ref_1131_20" HREF="terminal_interface-curses-forms__ads.htm#ref_136_20">FA</A></FONT>          : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_134_9">Field_Array_Access</A>;
+                   <FONT COLOR=red><A NAME="ref_1132_20" HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">Free_Fields</A></FONT> : <b>in</b> 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_134_9">Field_Array_Access</A>);
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_20">FA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_137_20">Free_Fields</A> <b>then</b>
+         <b>for</b> <FONT COLOR=red><A NAME="ref_1138_14">I</A></FONT> <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_20">FA</A>'First .. (<A HREF="terminal_interface-curses-forms__ads.htm#ref_136_20">FA</A>'Last - 1) <b>loop</b>
+            <b>if</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_20">FA</A> (<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_315_14">Delete</A> (<A HREF="terminal_interface-curses-forms__ads.htm#ref_136_20">FA</A> (<A HREF="terminal_interface-curses-forms__adb.htm#ref_1138_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_136_20">FA</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_136_14">Free</A>;
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1149_13" HREF="terminal_interface-curses-forms__ads.htm#ref_102_13">Default_Field_Options</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>
+   <b>is</b>
+   <b>begin</b>
+      <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_416_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_102_13">Default_Field_Options</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1155_13" HREF="terminal_interface-curses-forms__ads.htm#ref_125_13">Default_Form_Options</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_107_9">Form_Option_Set</A>
+   <b>is</b>
+   <b>begin</b>
+      <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_663_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_125_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>;
+</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
new file mode 100644
index 0000000..2a9a5b2
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-forms__ads.htm
@@ -0,0 +1,786 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-forms.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-forms.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                      Terminal_Interface.Curses.Form                      --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2006 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.29 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2006/06/25 14:30:21 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  form binding.</EM></FONT>
+<FONT COLOR=green><EM>--  This module is generated. Please don't change it manually!</EM></FONT>
+<FONT COLOR=green><EM>--  Run the generator instead.</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_49_35" HREF="terminal_interface-curses-forms__adb.htm#ref_51_40">Forms</A></FONT> <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 ("-lformw");
+   <b>pragma</b> Linker_Options ("-lncursesw");
+
+   Space : Character <b>renames</b> Ada.Characters.Latin_1.Space;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_56_9">Field</A></FONT>        <b>is</b> <b>private</b>;
+   <b>type</b> <FONT COLOR=red><A NAME="ref_57_9">Form</A></FONT>         <b>is</b> <b>private</b>;
+
+   <FONT COLOR=red><A NAME="ref_59_4">Null_Field</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+   <FONT COLOR=red><A NAME="ref_60_4">Null_Form</A></FONT>         : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_62_9">Field_Justification</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_62_33">None</A></FONT>,
+                                <FONT COLOR=red><A NAME="ref_63_33">Left</A></FONT>,
+                                <FONT COLOR=red><A NAME="ref_64_33">Center</A></FONT>,
+                                <FONT COLOR=red><A NAME="ref_65_33">Right</A></FONT>);
+
+   <b>pragma</b> Warnings (Off);
+   <b>type</b> <FONT COLOR=red><A NAME="ref_68_9">Field_Option_Set</A></FONT> <b>is</b>
+      <b>record</b>
+         <FONT COLOR=red><A NAME="ref_70_10">Visible</A></FONT>     : Boolean;
+         <FONT COLOR=red><A NAME="ref_71_10">Active</A></FONT>      : Boolean;
+         <FONT COLOR=red><A NAME="ref_72_10">Public</A></FONT>      : Boolean;
+         <FONT COLOR=red><A NAME="ref_73_10">Edit</A></FONT>        : Boolean;
+         <FONT COLOR=red><A NAME="ref_74_10">Wrap</A></FONT>        : Boolean;
+         <FONT COLOR=red><A NAME="ref_75_10">Blank</A></FONT>       : Boolean;
+         <FONT COLOR=red><A NAME="ref_76_10">Auto_Skip</A></FONT>   : Boolean;
+         <FONT COLOR=red><A NAME="ref_77_10">Null_Ok</A></FONT>     : Boolean;
+         <FONT COLOR=red><A NAME="ref_78_10">Pass_Ok</A></FONT>     : Boolean;
+         <FONT COLOR=red><A NAME="ref_79_10">Static</A></FONT>      : 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>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_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;
+      <b>end</b> <b>record</b>;
+   <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>'Size <b>use</b> 32;
+   <FONT COLOR=green><EM>--  Please note: this rep. clause is generated and may be</EM></FONT>
+   <FONT COLOR=green><EM>--               different on your system.Dnl</EM></FONT>
+
+   <b>pragma</b> Warnings (On);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_102_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1149_13">Default_Field_Options</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>;
+   <FONT COLOR=green><EM>--  The initial defaults for the field options.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_102_13">Default_Field_Options</A>);
+
+   <b>pragma</b> Warnings (Off);
+   <b>type</b> <FONT COLOR=red><A NAME="ref_107_9">Form_Option_Set</A></FONT> <b>is</b>
+      <b>record</b>
+         <FONT COLOR=red><A NAME="ref_109_10">NL_Overload</A></FONT> : Boolean;
+         <FONT COLOR=red><A NAME="ref_110_10">BS_Overload</A></FONT> : Boolean;
+      <b>end</b> <b>record</b>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-forms__ads.htm#ref_107_9">Form_Option_Set</A>);
+
+   <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_107_9">Form_Option_Set</A> <b>use</b>
+      <b>record</b>
+         <A HREF="terminal_interface-curses-forms__ads.htm#ref_109_10">NL_Overload</A> <b>at</b> 0 <b>range</b>  0 ..  0;
+         <A HREF="terminal_interface-curses-forms__ads.htm#ref_110_10">BS_Overload</A> <b>at</b> 0 <b>range</b>  1 ..  1;
+      <b>end</b> <b>record</b>;
+   <b>for</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_107_9">Form_Option_Set</A>'Size <b>use</b> 32;
+   <FONT COLOR=green><EM>--  Please note: this rep. clause is generated and may be</EM></FONT>
+   <FONT COLOR=green><EM>--               different on your system.Dnl</EM></FONT>
+
+   <b>pragma</b> Warnings (On);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_125_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1155_13">Default_Form_Options</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_107_9">Form_Option_Set</A>;
+   <FONT COLOR=green><EM>--  The initial defaults for the form options.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_125_13">Default_Form_Options</A>);
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_129_9">Buffer_Number</A></FONT> <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>pragma</b> Convention (C, Field_Array);
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_134_9">Field_Array_Access</A></FONT> <b>is</b> <b>access</b> Field_Array;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_136_14" HREF="terminal_interface-curses-forms__adb.htm#ref_1131_14">Free</A></FONT> (<FONT COLOR=red><A NAME="ref_136_20" HREF="terminal_interface-curses-forms__adb.htm#ref_1131_20">FA</A></FONT>          : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_134_9">Field_Array_Access</A>;
+                   <FONT COLOR=red><A NAME="ref_137_20" HREF="terminal_interface-curses-forms__adb.htm#ref_1132_20">Free_Fields</A></FONT> : <b>in</b> Boolean := False);
+   <FONT COLOR=green><EM>--  Release the memory for an allocated field array</EM></FONT>
+   <FONT COLOR=green><EM>--  If Free_Fields is True, call Delete() for all the fields in</EM></FONT>
+   <FONT COLOR=green><EM>--  the array.</EM></FONT>
+
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_142_12">Form_Request_Code</A></FONT> <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);
+
+   <FONT COLOR=green><EM>--  The prefix F_ stands for "Form Request"</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_145_4">F_Next_Page</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 1;
+   <FONT COLOR=red><A NAME="ref_146_4">F_Previous_Page</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 2;
+   <FONT COLOR=red><A NAME="ref_147_4">F_First_Page</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 3;
+   <FONT COLOR=red><A NAME="ref_148_4">F_Last_Page</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 4;
+
+   <FONT COLOR=red><A NAME="ref_150_4">F_Next_Field</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 5;
+   <FONT COLOR=red><A NAME="ref_151_4">F_Previous_Field</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 6;
+   <FONT COLOR=red><A NAME="ref_152_4">F_First_Field</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 7;
+   <FONT COLOR=red><A NAME="ref_153_4">F_Last_Field</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 8;
+   <FONT COLOR=red><A NAME="ref_154_4">F_Sorted_Next_Field</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 9;
+   <FONT COLOR=red><A NAME="ref_155_4">F_Sorted_Previous_Field</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 10;
+   <FONT COLOR=red><A NAME="ref_156_4">F_Sorted_First_Field</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 11;
+   <FONT COLOR=red><A NAME="ref_157_4">F_Sorted_Last_Field</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 12;
+   <FONT COLOR=red><A NAME="ref_158_4">F_Left_Field</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 13;
+   <FONT COLOR=red><A NAME="ref_159_4">F_Right_Field</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 14;
+   <FONT COLOR=red><A NAME="ref_160_4">F_Up_Field</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 15;
+   <FONT COLOR=red><A NAME="ref_161_4">F_Down_Field</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 16;
+
+   <FONT COLOR=red><A NAME="ref_163_4">F_Next_Char</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 17;
+   <FONT COLOR=red><A NAME="ref_164_4">F_Previous_Char</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 18;
+   <FONT COLOR=red><A NAME="ref_165_4">F_Next_Line</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 19;
+   <FONT COLOR=red><A NAME="ref_166_4">F_Previous_Line</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 20;
+   <FONT COLOR=red><A NAME="ref_167_4">F_Next_Word</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 21;
+   <FONT COLOR=red><A NAME="ref_168_4">F_Previous_Word</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 22;
+   <FONT COLOR=red><A NAME="ref_169_4">F_Begin_Field</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 23;
+   <FONT COLOR=red><A NAME="ref_170_4">F_End_Field</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 24;
+   <FONT COLOR=red><A NAME="ref_171_4">F_Begin_Line</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 25;
+   <FONT COLOR=red><A NAME="ref_172_4">F_End_Line</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 26;
+   <FONT COLOR=red><A NAME="ref_173_4">F_Left_Char</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 27;
+   <FONT COLOR=red><A NAME="ref_174_4">F_Right_Char</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 28;
+   <FONT COLOR=red><A NAME="ref_175_4">F_Up_Char</A></FONT>                  : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 29;
+   <FONT COLOR=red><A NAME="ref_176_4">F_Down_Char</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 30;
+
+   <FONT COLOR=red><A NAME="ref_178_4">F_New_Line</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 31;
+   <FONT COLOR=red><A NAME="ref_179_4">F_Insert_Char</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 32;
+   <FONT COLOR=red><A NAME="ref_180_4">F_Insert_Line</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 33;
+   <FONT COLOR=red><A NAME="ref_181_4">F_Delete_Char</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 34;
+   <FONT COLOR=red><A NAME="ref_182_4">F_Delete_Previous</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 35;
+   <FONT COLOR=red><A NAME="ref_183_4">F_Delete_Line</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 36;
+   <FONT COLOR=red><A NAME="ref_184_4">F_Delete_Word</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 37;
+   <FONT COLOR=red><A NAME="ref_185_4">F_Clear_EOL</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 38;
+   <FONT COLOR=red><A NAME="ref_186_4">F_Clear_EOF</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 39;
+   <FONT COLOR=red><A NAME="ref_187_4">F_Clear_Field</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 40;
+   <FONT COLOR=red><A NAME="ref_188_4">F_Overlay_Mode</A></FONT>             : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 41;
+   <FONT COLOR=red><A NAME="ref_189_4">F_Insert_Mode</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 42;
+
+   <FONT COLOR=green><EM>--  Vertical Scrolling</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_192_4">F_ScrollForward_Line</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 43;
+   <FONT COLOR=red><A NAME="ref_193_4">F_ScrollBackward_Line</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 44;
+   <FONT COLOR=red><A NAME="ref_194_4">F_ScrollForward_Page</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 45;
+   <FONT COLOR=red><A NAME="ref_195_4">F_ScrollBackward_Page</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 46;
+   <FONT COLOR=red><A NAME="ref_196_4">F_ScrollForward_HalfPage</A></FONT>   : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 47;
+   <FONT COLOR=red><A NAME="ref_197_4">F_ScrollBackward_HalfPage</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 48;
+
+   <FONT COLOR=green><EM>--  Horizontal Scrolling</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_200_4">F_HScrollForward_Char</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 49;
+   <FONT COLOR=red><A NAME="ref_201_4">F_HScrollBackward_Char</A></FONT>     : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 50;
+   <FONT COLOR=red><A NAME="ref_202_4">F_HScrollForward_Line</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 51;
+   <FONT COLOR=red><A NAME="ref_203_4">F_HScrollBackward_Line</A></FONT>     : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 52;
+   <FONT COLOR=red><A NAME="ref_204_4">F_HScrollForward_HalfLine</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 53;
+   <FONT COLOR=red><A NAME="ref_205_4">F_HScrollBackward_HalfLine</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 54;
+
+   <FONT COLOR=red><A NAME="ref_207_4">F_Validate_Field</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 55;
+   <FONT COLOR=red><A NAME="ref_208_4">F_Next_Choice</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 56;
+   <FONT COLOR=red><A NAME="ref_209_4">F_Previous_Choice</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> := <A HREF="terminal_interface-curses__ads.htm#ref_207_4">Key_Max</A> + 57;
+
+   <FONT COLOR=green><EM>--  For those who like the old 'C' style request names</EM></FONT>
+   REQ_NEXT_PAGE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_145_4">F_Next_Page</A>;
+   REQ_PREV_PAGE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_146_4">F_Previous_Page</A>;
+   REQ_FIRST_PAGE   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_147_4">F_First_Page</A>;
+   REQ_LAST_PAGE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_148_4">F_Last_Page</A>;
+
+   REQ_NEXT_FIELD   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_150_4">F_Next_Field</A>;
+   REQ_PREV_FIELD   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_151_4">F_Previous_Field</A>;
+   REQ_FIRST_FIELD  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_152_4">F_First_Field</A>;
+   REQ_LAST_FIELD   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_153_4">F_Last_Field</A>;
+   REQ_SNEXT_FIELD  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_154_4">F_Sorted_Next_Field</A>;
+   REQ_SPREV_FIELD  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_155_4">F_Sorted_Previous_Field</A>;
+   REQ_SFIRST_FIELD : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_156_4">F_Sorted_First_Field</A>;
+   REQ_SLAST_FIELD  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_157_4">F_Sorted_Last_Field</A>;
+   REQ_LEFT_FIELD   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_158_4">F_Left_Field</A>;
+   REQ_RIGHT_FIELD  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_159_4">F_Right_Field</A>;
+   REQ_UP_FIELD     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_160_4">F_Up_Field</A>;
+   REQ_DOWN_FIELD   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_161_4">F_Down_Field</A>;
+
+   REQ_NEXT_CHAR    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_163_4">F_Next_Char</A>;
+   REQ_PREV_CHAR    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_164_4">F_Previous_Char</A>;
+   REQ_NEXT_LINE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_165_4">F_Next_Line</A>;
+   REQ_PREV_LINE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_166_4">F_Previous_Line</A>;
+   REQ_NEXT_WORD    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_167_4">F_Next_Word</A>;
+   REQ_PREV_WORD    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_168_4">F_Previous_Word</A>;
+   REQ_BEG_FIELD    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_169_4">F_Begin_Field</A>;
+   REQ_END_FIELD    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_170_4">F_End_Field</A>;
+   REQ_BEG_LINE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_171_4">F_Begin_Line</A>;
+   REQ_END_LINE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_172_4">F_End_Line</A>;
+   REQ_LEFT_CHAR    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_173_4">F_Left_Char</A>;
+   REQ_RIGHT_CHAR   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_174_4">F_Right_Char</A>;
+   REQ_UP_CHAR      : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_175_4">F_Up_Char</A>;
+   REQ_DOWN_CHAR    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_176_4">F_Down_Char</A>;
+
+   REQ_NEW_LINE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_178_4">F_New_Line</A>;
+   REQ_INS_CHAR     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_179_4">F_Insert_Char</A>;
+   REQ_INS_LINE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_180_4">F_Insert_Line</A>;
+   REQ_DEL_CHAR     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_181_4">F_Delete_Char</A>;
+   REQ_DEL_PREV     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_182_4">F_Delete_Previous</A>;
+   REQ_DEL_LINE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_183_4">F_Delete_Line</A>;
+   REQ_DEL_WORD     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_184_4">F_Delete_Word</A>;
+   REQ_CLR_EOL      : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_185_4">F_Clear_EOL</A>;
+   REQ_CLR_EOF      : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_186_4">F_Clear_EOF</A>;
+   REQ_CLR_FIELD    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_187_4">F_Clear_Field</A>;
+   REQ_OVL_MODE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_188_4">F_Overlay_Mode</A>;
+   REQ_INS_MODE     : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_189_4">F_Insert_Mode</A>;
+
+   REQ_SCR_FLINE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_192_4">F_ScrollForward_Line</A>;
+   REQ_SCR_BLINE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_193_4">F_ScrollBackward_Line</A>;
+   REQ_SCR_FPAGE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_194_4">F_ScrollForward_Page</A>;
+   REQ_SCR_BPAGE    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_195_4">F_ScrollBackward_Page</A>;
+   REQ_SCR_FHPAGE   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_196_4">F_ScrollForward_HalfPage</A>;
+   REQ_SCR_BHPAGE   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_197_4">F_ScrollBackward_HalfPage</A>;
+
+   REQ_SCR_FCHAR    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_200_4">F_HScrollForward_Char</A>;
+   REQ_SCR_BCHAR    : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_201_4">F_HScrollBackward_Char</A>;
+   REQ_SCR_HFLINE   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_202_4">F_HScrollForward_Line</A>;
+   REQ_SCR_HBLINE   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_203_4">F_HScrollBackward_Line</A>;
+   REQ_SCR_HFHALF   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_204_4">F_HScrollForward_HalfLine</A>;
+   REQ_SCR_HBHALF   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_205_4">F_HScrollBackward_HalfLine</A>;
+
+   REQ_VALIDATION   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_207_4">F_Validate_Field</A>;
+   REQ_NEXT_CHOICE  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_208_4">F_Next_Choice</A>;
+   REQ_PREV_CHOICE  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A> <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_209_4">F_Previous_Choice</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_276_14" HREF="terminal_interface-curses-forms__adb.htm#ref_81_14">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_276_28" HREF="terminal_interface-curses-forms__adb.htm#ref_81_28">Key</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A>;
+                           <FONT COLOR=red><A NAME="ref_277_28" HREF="terminal_interface-curses-forms__adb.htm#ref_82_33">Name</A></FONT> : <b>out</b> String);
+
+   <b>function</b>  <FONT COLOR=red><A NAME="ref_279_14" HREF="terminal_interface-curses-forms__adb.htm#ref_90_13">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_279_28" HREF="terminal_interface-curses-forms__adb.htm#ref_90_27">Key</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_142_12">Form_Request_Code</A>) <b>return</b> String;
+   <FONT COLOR=green><EM>--  Same as function</EM></FONT>
+   <b>pragma</b> Inline (Request_Name);
+
+   <FONT COLOR=green><EM>------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  Exceptions  --</EM></FONT>
+   <FONT COLOR=green><EM>------------------</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_286_4">Form_Exception</A></FONT> : <b>exception</b>;
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_field_new.3x.html">form_field_new.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_293_13" HREF="terminal_interface-curses-forms__adb.htm#ref_108_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_293_21" HREF="terminal_interface-curses-forms__adb.htm#ref_108_21">Height</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                    <FONT COLOR=red><A NAME="ref_294_21" HREF="terminal_interface-curses-forms__adb.htm#ref_109_21">Width</A></FONT>        : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+                    <FONT COLOR=red><A NAME="ref_295_21" HREF="terminal_interface-curses-forms__adb.htm#ref_110_21">Top</A></FONT>          : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                    <FONT COLOR=red><A NAME="ref_296_21" HREF="terminal_interface-curses-forms__adb.htm#ref_111_21">Left</A></FONT>         : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                    <FONT COLOR=red><A NAME="ref_297_21" HREF="terminal_interface-curses-forms__adb.htm#ref_112_21">Off_Screen</A></FONT>   : Natural := 0;
+                    <FONT COLOR=red><A NAME="ref_298_21" HREF="terminal_interface-curses-forms__adb.htm#ref_113_21">More_Buffers</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A>'First)
+                    <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  An overloaded Create is defined later. Pragma Inline appears there.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
+   <b>function</b> New_Field (<FONT COLOR=red><A NAME="ref_304_24">Height</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                       <FONT COLOR=red><A NAME="ref_305_24">Width</A></FONT>        : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+                       <FONT COLOR=red><A NAME="ref_306_24">Top</A></FONT>          : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                       <FONT COLOR=red><A NAME="ref_307_24">Left</A></FONT>         : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                       <FONT COLOR=red><A NAME="ref_308_24">Off_Screen</A></FONT>   : Natural := 0;
+                       <FONT COLOR=red><A NAME="ref_309_24">More_Buffers</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_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_293_13">Create</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">new_field()</A></EM></FONT>
+   <b>pragma</b> Inline (New_Field);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_3"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_315_14" HREF="terminal_interface-curses-forms__adb.htm#ref_131_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_315_22" HREF="terminal_interface-curses-forms__adb.htm#ref_131_22">Fld</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">free_field()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Reset Fld to Null_Field</EM></FONT>
+   <FONT COLOR=green><EM>--  An overloaded Delete is defined later. Pragma Inline appears there.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_4"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_321_13" HREF="terminal_interface-curses-forms__adb.htm#ref_147_13">Duplicate</A></FONT> (<FONT COLOR=red><A NAME="ref_321_24" HREF="terminal_interface-curses-forms__adb.htm#ref_147_24">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                       <FONT COLOR=red><A NAME="ref_322_24" HREF="terminal_interface-curses-forms__adb.htm#ref_148_24">Top</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                       <FONT COLOR=red><A NAME="ref_323_24" HREF="terminal_interface-curses-forms__adb.htm#ref_149_24">Left</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">dup_field()</A></EM></FONT>
+   <b>pragma</b> Inline (Duplicate);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_5"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_328_13" HREF="terminal_interface-curses-forms__adb.htm#ref_168_13">Link</A></FONT> (<FONT COLOR=red><A NAME="ref_328_19" HREF="terminal_interface-curses-forms__adb.htm#ref_168_19">Fld</A></FONT>  : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                  <FONT COLOR=red><A NAME="ref_329_19" HREF="terminal_interface-curses-forms__adb.htm#ref_169_19">Top</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                  <FONT COLOR=red><A NAME="ref_330_19" HREF="terminal_interface-curses-forms__adb.htm#ref_170_19">Left</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_new.3x.html">link_field()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_328_13">Link</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_field_just.3x.html">form_field_just.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_6"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_339_14" HREF="terminal_interface-curses-forms__adb.htm#ref_193_14">Set_Justification</A></FONT> (<FONT COLOR=red><A NAME="ref_339_33" HREF="terminal_interface-curses-forms__adb.htm#ref_193_33">Fld</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                                <FONT COLOR=red><A NAME="ref_340_33" HREF="terminal_interface-curses-forms__adb.htm#ref_194_33">Just</A></FONT> : <b>in</b> <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>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_just.3x.html">set_field_just()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_339_14">Set_Justification</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_7"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_345_13" HREF="terminal_interface-curses-forms__adb.htm#ref_211_13">Get_Justification</A></FONT> (<FONT COLOR=red><A NAME="ref_345_32" HREF="terminal_interface-curses-forms__adb.htm#ref_211_32">Fld</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_just.3x.html">field_just()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_345_13">Get_Justification</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_field_buffer.3x.html">form_field_buffer.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_8"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_354_14" HREF="terminal_interface-curses-forms__adb.htm#ref_225_14">Set_Buffer</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_355_7" HREF="terminal_interface-curses-forms__adb.htm#ref_226_7">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_356_7" HREF="terminal_interface-curses-forms__adb.htm#ref_227_7">Buffer</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A>'First;
+      <FONT COLOR=red><A NAME="ref_357_7" HREF="terminal_interface-curses-forms__adb.htm#ref_228_7">Str</A></FONT>    : <b>in</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_buffer()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Not inlined</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_9"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_362_14" HREF="terminal_interface-curses-forms__adb.htm#ref_250_14">Get_Buffer</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_363_7" HREF="terminal_interface-curses-forms__adb.htm#ref_251_7">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_364_7" HREF="terminal_interface-curses-forms__adb.htm#ref_252_7">Buffer</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A>'First;
+      <FONT COLOR=red><A NAME="ref_365_7" HREF="terminal_interface-curses-forms__adb.htm#ref_253_7">Str</A></FONT>    : <b>out</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_368_13" HREF="terminal_interface-curses-forms__adb.htm#ref_262_13">Get_Buffer</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_369_7" HREF="terminal_interface-curses-forms__adb.htm#ref_263_7">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_370_7" HREF="terminal_interface-curses-forms__adb.htm#ref_264_7">Buffer</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A>'First) <b>return</b> String;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_buffer()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Same but as function</EM></FONT>
+   <b>pragma</b> Inline (Get_Buffer);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_10"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_376_14" HREF="terminal_interface-curses-forms__adb.htm#ref_275_14">Set_Status</A></FONT> (<FONT COLOR=red><A NAME="ref_376_26" HREF="terminal_interface-curses-forms__adb.htm#ref_275_26">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_377_26" HREF="terminal_interface-curses-forms__adb.htm#ref_276_26">Status</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_status()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_376_14">Set_Status</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_11"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_382_13" HREF="terminal_interface-curses-forms__adb.htm#ref_291_13">Changed</A></FONT> (<FONT COLOR=red><A NAME="ref_382_22" HREF="terminal_interface-curses-forms__adb.htm#ref_291_22">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">field_status()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_382_13">Changed</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_12"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_387_14" HREF="terminal_interface-curses-forms__adb.htm#ref_307_14">Set_Maximum_Size</A></FONT> (<FONT COLOR=red><A NAME="ref_387_32" HREF="terminal_interface-curses-forms__adb.htm#ref_307_32">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                               <FONT COLOR=red><A NAME="ref_388_32" HREF="terminal_interface-curses-forms__adb.htm#ref_308_32">Max</A></FONT> : <b>in</b> Natural := 0);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_buffer.3x.html">set_field_max()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_387_14">Set_Maximum_Size</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_field_opts.3x.html">form_field_opts.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_13"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_397_14" HREF="terminal_interface-curses-forms__adb.htm#ref_327_14">Set_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_397_27" HREF="terminal_interface-curses-forms__adb.htm#ref_327_27">Fld</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                          <FONT COLOR=red><A NAME="ref_398_27" HREF="terminal_interface-curses-forms__adb.htm#ref_328_27">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">set_field_opts()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  An overloaded version is defined later. Pragma Inline appears there</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_14"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_403_14" HREF="terminal_interface-curses-forms__adb.htm#ref_345_14">Switch_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_403_30" HREF="terminal_interface-curses-forms__adb.htm#ref_345_30">Fld</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                             <FONT COLOR=red><A NAME="ref_404_30" HREF="terminal_interface-curses-forms__adb.htm#ref_346_30">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>;
+                             <FONT COLOR=red><A NAME="ref_405_30" HREF="terminal_interface-curses-forms__adb.htm#ref_347_30">On</A></FONT>      : Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts_on()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: field_opts_off()</EM></FONT>
+   <FONT COLOR=green><EM>--  An overloaded version is defined later. Pragma Inline appears there</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_15"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_411_14" HREF="terminal_interface-curses-forms__adb.htm#ref_371_14">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_411_27" HREF="terminal_interface-curses-forms__adb.htm#ref_371_27">Fld</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                          <FONT COLOR=red><A NAME="ref_412_27" HREF="terminal_interface-curses-forms__adb.htm#ref_372_27">Options</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_68_9">Field_Option_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_16"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_416_13" HREF="terminal_interface-curses-forms__adb.htm#ref_384_13">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_416_26" HREF="terminal_interface-curses-forms__adb.htm#ref_384_26">Fld</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_opts.3x.html">field_opts()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  An overloaded version is defined later. Pragma Inline appears there</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_field_attributes.3x.html">form_field_attributes.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_17"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_426_14" HREF="terminal_interface-curses-forms__adb.htm#ref_399_14">Set_Foreground</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_427_7" HREF="terminal_interface-curses-forms__adb.htm#ref_400_7">Fld</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_428_7" HREF="terminal_interface-curses-forms__adb.htm#ref_401_7">Fore</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_429_7" HREF="terminal_interface-curses-forms__adb.htm#ref_402_7">Color</A></FONT> : <b>in</b> <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);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_fore()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_426_14">Set_Foreground</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_18"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_434_14" HREF="terminal_interface-curses-forms__adb.htm#ref_421_14">Foreground</A></FONT> (<FONT COLOR=red><A NAME="ref_434_26" HREF="terminal_interface-curses-forms__adb.htm#ref_421_26">Fld</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_435_26" HREF="terminal_interface-curses-forms__adb.htm#ref_422_26">Fore</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_19"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_439_14" HREF="terminal_interface-curses-forms__adb.htm#ref_430_14">Foreground</A></FONT> (<FONT COLOR=red><A NAME="ref_439_26" HREF="terminal_interface-curses-forms__adb.htm#ref_430_26">Fld</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_440_26" HREF="terminal_interface-curses-forms__adb.htm#ref_431_26">Fore</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+                         <FONT COLOR=red><A NAME="ref_441_26" HREF="terminal_interface-curses-forms__adb.htm#ref_432_26">Color</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_fore()</A></EM></FONT>
+   <b>pragma</b> Inline (Foreground);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_20"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_446_14" HREF="terminal_interface-curses-forms__adb.htm#ref_443_14">Set_Background</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_447_7" HREF="terminal_interface-curses-forms__adb.htm#ref_444_7">Fld</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+      <FONT COLOR=red><A NAME="ref_448_7" HREF="terminal_interface-curses-forms__adb.htm#ref_445_7">Back</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_449_7" HREF="terminal_interface-curses-forms__adb.htm#ref_446_7">Color</A></FONT> : <b>in</b> <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);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_back()</A></EM></FONT>
+   <b>pragma</b> Inline (Set_Background);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_21"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_454_14" HREF="terminal_interface-curses-forms__adb.htm#ref_465_14">Background</A></FONT> (<FONT COLOR=red><A NAME="ref_454_26" HREF="terminal_interface-curses-forms__adb.htm#ref_465_26">Fld</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_455_26" HREF="terminal_interface-curses-forms__adb.htm#ref_466_26">Back</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_22"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_459_14" HREF="terminal_interface-curses-forms__adb.htm#ref_474_14">Background</A></FONT> (<FONT COLOR=red><A NAME="ref_459_26" HREF="terminal_interface-curses-forms__adb.htm#ref_474_26">Fld</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                         <FONT COLOR=red><A NAME="ref_460_26" HREF="terminal_interface-curses-forms__adb.htm#ref_475_26">Back</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+                         <FONT COLOR=red><A NAME="ref_461_26" HREF="terminal_interface-curses-forms__adb.htm#ref_476_26">Color</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_back()</A></EM></FONT>
+   <b>pragma</b> Inline (Background);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_23"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_466_14" HREF="terminal_interface-curses-forms__adb.htm#ref_487_14">Set_Pad_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_466_33" HREF="terminal_interface-curses-forms__adb.htm#ref_487_33">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                                <FONT COLOR=red><A NAME="ref_467_33" HREF="terminal_interface-curses-forms__adb.htm#ref_488_33">Pad</A></FONT> : <b>in</b> Character := Space);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">set_field_pad()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_466_14">Set_Pad_Character</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_24"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_472_14" HREF="terminal_interface-curses-forms__adb.htm#ref_504_14">Pad_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_472_29" HREF="terminal_interface-curses-forms__adb.htm#ref_504_29">Fld</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                            <FONT COLOR=red><A NAME="ref_473_29" HREF="terminal_interface-curses-forms__adb.htm#ref_505_29">Pad</A></FONT> : <b>out</b> Character);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_attributes.3x.html">field_pad()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_472_14">Pad_Character</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_field_info.3x.html">form_field_info.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_25"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_482_14" HREF="terminal_interface-curses-forms__adb.htm#ref_519_14">Info</A></FONT> (<FONT COLOR=red><A NAME="ref_482_20" HREF="terminal_interface-curses-forms__adb.htm#ref_519_20">Fld</A></FONT>                : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                   <FONT COLOR=red><A NAME="ref_483_20" HREF="terminal_interface-curses-forms__adb.htm#ref_520_20">Lines</A></FONT>              : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                   <FONT COLOR=red><A NAME="ref_484_20" HREF="terminal_interface-curses-forms__adb.htm#ref_521_20">Columns</A></FONT>            : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+                   <FONT COLOR=red><A NAME="ref_485_20" HREF="terminal_interface-curses-forms__adb.htm#ref_522_20">First_Row</A></FONT>          : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_486_20" HREF="terminal_interface-curses-forms__adb.htm#ref_523_20">First_Column</A></FONT>       : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_487_20" HREF="terminal_interface-curses-forms__adb.htm#ref_524_20">Off_Screen</A></FONT>         : <b>out</b> Natural;
+                   <FONT COLOR=red><A NAME="ref_488_20" HREF="terminal_interface-curses-forms__adb.htm#ref_525_20">Additional_Buffers</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_129_9">Buffer_Number</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_info.3x.html">field_info()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_482_14">Info</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_26"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_493_14" HREF="terminal_interface-curses-forms__adb.htm#ref_553_14">Dynamic_Info</A></FONT> (<FONT COLOR=red><A NAME="ref_493_28" HREF="terminal_interface-curses-forms__adb.htm#ref_553_28">Fld</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                           <FONT COLOR=red><A NAME="ref_494_28" HREF="terminal_interface-curses-forms__adb.htm#ref_554_28">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                           <FONT COLOR=red><A NAME="ref_495_28" HREF="terminal_interface-curses-forms__adb.htm#ref_555_28">Columns</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+                           <FONT COLOR=red><A NAME="ref_496_28" HREF="terminal_interface-curses-forms__adb.htm#ref_556_28">Max</A></FONT>     : <b>out</b> Natural);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field_info.3x.html">dynamic_field_info()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_493_14">Dynamic_Info</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_win.3x.html">form_win.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_27"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_505_14" HREF="terminal_interface-curses-forms__adb.htm#ref_582_14">Set_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_505_26" HREF="terminal_interface-curses-forms__adb.htm#ref_582_26">Frm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                         <FONT COLOR=red><A NAME="ref_506_26" HREF="terminal_interface-curses-forms__adb.htm#ref_583_26">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_win.3x.html">set_form_win()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_505_14">Set_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_28"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_511_13" HREF="terminal_interface-curses-forms__adb.htm#ref_598_13">Get_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_511_25" HREF="terminal_interface-curses-forms__adb.htm#ref_598_25">Frm</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_win.3x.html">form_win()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_511_13">Get_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_29"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_516_14" HREF="terminal_interface-curses-forms__adb.htm#ref_610_14">Set_Sub_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_516_30" HREF="terminal_interface-curses-forms__adb.htm#ref_610_30">Frm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                             <FONT COLOR=red><A NAME="ref_517_30" HREF="terminal_interface-curses-forms__adb.htm#ref_611_30">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_win.3x.html">set_form_sub()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_516_14">Set_Sub_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_30"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_522_13" HREF="terminal_interface-curses-forms__adb.htm#ref_626_13">Get_Sub_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_522_29" HREF="terminal_interface-curses-forms__adb.htm#ref_626_29">Frm</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_win.3x.html">form_sub()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_522_13">Get_Sub_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_31"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_527_14" HREF="terminal_interface-curses-forms__adb.htm#ref_638_14">Scale</A></FONT> (<FONT COLOR=red><A NAME="ref_527_21" HREF="terminal_interface-curses-forms__adb.htm#ref_638_21">Frm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                    <FONT COLOR=red><A NAME="ref_528_21" HREF="terminal_interface-curses-forms__adb.htm#ref_639_21">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                    <FONT COLOR=red><A NAME="ref_529_21" HREF="terminal_interface-curses-forms__adb.htm#ref_640_21">Columns</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_win.3x.html">scale_form()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_527_14">Scale</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_hook.3x.html">form_hook.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_537_9">Form_Hook_Function</A></FONT> <b>is</b> <b>access</b> <b>procedure</b> (<FONT COLOR=red><A NAME="ref_537_49">Frm</A></FONT> : <b>in</b> <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_537_9">Form_Hook_Function</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_32"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_541_14" HREF="terminal_interface-curses-forms__adb.htm#ref_662_14">Set_Field_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_541_35" HREF="terminal_interface-curses-forms__adb.htm#ref_662_35">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                                  <FONT COLOR=red><A NAME="ref_542_35" HREF="terminal_interface-curses-forms__adb.htm#ref_663_35">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_537_9">Form_Hook_Function</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_field_init()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_541_14">Set_Field_Init_Hook</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_33"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_547_14" HREF="terminal_interface-curses-forms__adb.htm#ref_678_14">Set_Field_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_547_35" HREF="terminal_interface-curses-forms__adb.htm#ref_678_35">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                                  <FONT COLOR=red><A NAME="ref_548_35" HREF="terminal_interface-curses-forms__adb.htm#ref_679_35">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_537_9">Form_Hook_Function</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_field_term()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_547_14">Set_Field_Term_Hook</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_34"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_553_14" HREF="terminal_interface-curses-forms__adb.htm#ref_694_14">Set_Form_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_553_34" HREF="terminal_interface-curses-forms__adb.htm#ref_694_34">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                                 <FONT COLOR=red><A NAME="ref_554_34" HREF="terminal_interface-curses-forms__adb.htm#ref_695_34">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_537_9">Form_Hook_Function</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_form_init()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_553_14">Set_Form_Init_Hook</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_35"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_559_14" HREF="terminal_interface-curses-forms__adb.htm#ref_710_14">Set_Form_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_559_34" HREF="terminal_interface-curses-forms__adb.htm#ref_710_34">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                                 <FONT COLOR=red><A NAME="ref_560_34" HREF="terminal_interface-curses-forms__adb.htm#ref_711_34">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_537_9">Form_Hook_Function</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">set_form_term()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_559_14">Set_Form_Term_Hook</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_36"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_565_13">Get_Field_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_565_34" HREF="terminal_interface-curses-forms__ads.htm#ref_565_13">Frm</A></FONT> : <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_537_9">Form_Hook_Function</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">field_init()</A></EM></FONT>
+   <b>pragma</b> Import (C, Get_Field_Init_Hook, "field_init");
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_37"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_570_13">Get_Field_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_570_34" HREF="terminal_interface-curses-forms__ads.htm#ref_570_13">Frm</A></FONT> : <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_537_9">Form_Hook_Function</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">field_term()</A></EM></FONT>
+   <b>pragma</b> Import (C, Get_Field_Term_Hook, "field_term");
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_38"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_575_13">Get_Form_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_575_33" HREF="terminal_interface-curses-forms__ads.htm#ref_575_13">Frm</A></FONT> : <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_537_9">Form_Hook_Function</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">form_init()</A></EM></FONT>
+   <b>pragma</b> Import (C, Get_Form_Init_Hook, "form_init");
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_39"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_580_13">Get_Form_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_580_33" HREF="terminal_interface-curses-forms__ads.htm#ref_580_13">Frm</A></FONT> : <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_537_9">Form_Hook_Function</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_hook.3x.html">form_term()</A></EM></FONT>
+   <b>pragma</b> Import (C, Get_Form_Term_Hook, "form_term");
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_field.3x.html">form_field.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_40"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_589_14" HREF="terminal_interface-curses-forms__adb.htm#ref_730_14">Redefine</A></FONT> (<FONT COLOR=red><A NAME="ref_589_24" HREF="terminal_interface-curses-forms__adb.htm#ref_730_24">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                       <FONT COLOR=red><A NAME="ref_590_24" HREF="terminal_interface-curses-forms__adb.htm#ref_731_24">Flds</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_134_9">Field_Array_Access</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_589_14">Redefine</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_41"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_595_14">Set_Fields</A></FONT> (<FONT COLOR=red><A NAME="ref_595_26">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                         <FONT COLOR=red><A NAME="ref_596_26">Flds</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_134_9">Field_Array_Access</A>) <b>renames</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_589_14">Redefine</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">set_form_fields()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  pragma Inline (Set_Fields);</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_42"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_601_13" HREF="terminal_interface-curses-forms__adb.htm#ref_752_13">Fields</A></FONT> (<FONT COLOR=red><A NAME="ref_601_21" HREF="terminal_interface-curses-forms__adb.htm#ref_752_21">Frm</A></FONT>   : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                    <FONT COLOR=red><A NAME="ref_602_21" HREF="terminal_interface-curses-forms__adb.htm#ref_753_21">Index</A></FONT> : Positive) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">form_fields()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_601_13">Fields</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_43"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_607_13" HREF="terminal_interface-curses-forms__adb.htm#ref_772_13">Field_Count</A></FONT> (<FONT COLOR=red><A NAME="ref_607_26" HREF="terminal_interface-curses-forms__adb.htm#ref_772_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Natural;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">field_count()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_607_13">Field_Count</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_44"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_612_14" HREF="terminal_interface-curses-forms__adb.htm#ref_782_14">Move</A></FONT> (<FONT COLOR=red><A NAME="ref_612_20" HREF="terminal_interface-curses-forms__adb.htm#ref_782_20">Fld</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                   <FONT COLOR=red><A NAME="ref_613_20" HREF="terminal_interface-curses-forms__adb.htm#ref_783_20">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_614_20" HREF="terminal_interface-curses-forms__adb.htm#ref_784_20">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_field.3x.html">move_field()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_612_14">Move</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_new.3x.html">form_new.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_45"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_623_13" HREF="terminal_interface-curses-forms__adb.htm#ref_802_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_623_21" HREF="terminal_interface-curses-forms__adb.htm#ref_802_21">Fields</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_134_9">Field_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_new.3x.html">new_form()</A></EM></FONT>
+   <b>pragma</b> Inline (Create);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_46"#2|</EM></FONT>
+   <b>function</b> New_Form (<FONT COLOR=red><A NAME="ref_628_23">Fields</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_134_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_623_13">Create</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_new.3x.html">new_form()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  pragma Inline (New_Form);</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_47"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_634_14" HREF="terminal_interface-curses-forms__adb.htm#ref_823_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_634_22" HREF="terminal_interface-curses-forms__adb.htm#ref_823_22">Frm</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_new.3x.html">free_form()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Reset Frm to Null_Form</EM></FONT>
+   <b>pragma</b> Inline (Delete);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_opts.3x.html">form_opts.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_48"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_644_14" HREF="terminal_interface-curses-forms__adb.htm#ref_842_14">Set_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_644_27" HREF="terminal_interface-curses-forms__adb.htm#ref_842_27">Frm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                          <FONT COLOR=red><A NAME="ref_645_27" HREF="terminal_interface-curses-forms__adb.htm#ref_843_27">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_107_9">Form_Option_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_opts.3x.html">set_form_opts()</A></EM></FONT>
+   <b>pragma</b> Inline (Set_Options);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_49"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_650_14" HREF="terminal_interface-curses-forms__adb.htm#ref_860_14">Switch_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_650_30" HREF="terminal_interface-curses-forms__adb.htm#ref_860_30">Frm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                             <FONT COLOR=red><A NAME="ref_651_30" HREF="terminal_interface-curses-forms__adb.htm#ref_861_30">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_107_9">Form_Option_Set</A>;
+                             <FONT COLOR=red><A NAME="ref_652_30" HREF="terminal_interface-curses-forms__adb.htm#ref_862_30">On</A></FONT>      : Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts_on()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: form_opts_off()</EM></FONT>
+   <b>pragma</b> Inline (Switch_Options);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_50"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_658_14" HREF="terminal_interface-curses-forms__adb.htm#ref_886_14">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_658_27" HREF="terminal_interface-curses-forms__adb.htm#ref_886_27">Frm</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                          <FONT COLOR=red><A NAME="ref_659_27" HREF="terminal_interface-curses-forms__adb.htm#ref_887_27">Options</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_107_9">Form_Option_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_51"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_663_13" HREF="terminal_interface-curses-forms__adb.htm#ref_899_13">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_663_26" HREF="terminal_interface-curses-forms__adb.htm#ref_899_26">Frm</A></FONT> : <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_107_9">Form_Option_Set</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_opts.3x.html">form_opts()</A></EM></FONT>
+   <b>pragma</b> Inline (Get_Options);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_post.3x.html">form_post.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_52"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_672_14" HREF="terminal_interface-curses-forms__adb.htm#ref_913_14">Post</A></FONT> (<FONT COLOR=red><A NAME="ref_672_20" HREF="terminal_interface-curses-forms__adb.htm#ref_913_20">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                   <FONT COLOR=red><A NAME="ref_673_20" HREF="terminal_interface-curses-forms__adb.htm#ref_914_20">Post</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_post.3x.html">post_form()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: unpost_form()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_672_14">Post</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_cursor.3x.html">form_cursor.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_53"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_683_14" HREF="terminal_interface-curses-forms__adb.htm#ref_939_14">Position_Cursor</A></FONT> (<FONT COLOR=red><A NAME="ref_683_31" HREF="terminal_interface-curses-forms__adb.htm#ref_939_31">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_cursor.3x.html">pos_form_cursor()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_683_14">Position_Cursor</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_data.3x.html">form_data.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_54"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_692_13" HREF="terminal_interface-curses-forms__adb.htm#ref_957_13">Data_Ahead</A></FONT> (<FONT COLOR=red><A NAME="ref_692_25" HREF="terminal_interface-curses-forms__adb.htm#ref_957_25">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_data.3x.html">data_ahead()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_692_13">Data_Ahead</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_55"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_697_13" HREF="terminal_interface-curses-forms__adb.htm#ref_973_13">Data_Behind</A></FONT> (<FONT COLOR=red><A NAME="ref_697_26" HREF="terminal_interface-curses-forms__adb.htm#ref_973_26">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_data.3x.html">data_behind()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_697_13">Data_Behind</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_driver.3x.html">form_driver.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_705_9">Driver_Result</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_705_27">Form_Ok</A></FONT>,
+                          <FONT COLOR=red><A NAME="ref_706_27">Request_Denied</A></FONT>,
+                          <FONT COLOR=red><A NAME="ref_707_27">Unknown_Request</A></FONT>,
+                          <FONT COLOR=red><A NAME="ref_708_27">Invalid_Field</A></FONT>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_56"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_711_13" HREF="terminal_interface-curses-forms__adb.htm#ref_993_13">Driver</A></FONT> (<FONT COLOR=red><A NAME="ref_711_21" HREF="terminal_interface-curses-forms__adb.htm#ref_993_21">Frm</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                    <FONT COLOR=red><A NAME="ref_712_21" HREF="terminal_interface-curses-forms__adb.htm#ref_994_21">Key</A></FONT> : <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_705_9">Driver_Result</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_driver.3x.html">form_driver()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Driver not inlined</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_page.3x.html">form_page.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_720_9">Page_Number</A></FONT> <b>is</b> <b>new</b> Natural;
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_57"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_723_14" HREF="terminal_interface-curses-forms__adb.htm#ref_1023_14">Set_Current</A></FONT> (<FONT COLOR=red><A NAME="ref_723_27" HREF="terminal_interface-curses-forms__adb.htm#ref_1023_27">Frm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                          <FONT COLOR=red><A NAME="ref_724_27" HREF="terminal_interface-curses-forms__adb.htm#ref_1024_27">Fld</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_page.3x.html">set_current_field()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_723_14">Set_Current</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_58"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_729_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1038_13">Current</A></FONT> (<FONT COLOR=red><A NAME="ref_729_22" HREF="terminal_interface-curses-forms__adb.htm#ref_1038_22">Frm</A></FONT> : <b>in</b> <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_page.3x.html">current_field()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_729_13">Current</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_59"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_734_14" HREF="terminal_interface-curses-forms__adb.htm#ref_1053_14">Set_Page</A></FONT> (<FONT COLOR=red><A NAME="ref_734_24" HREF="terminal_interface-curses-forms__adb.htm#ref_1053_24">Frm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_57_9">Form</A>;
+                       <FONT COLOR=red><A NAME="ref_735_24" HREF="terminal_interface-curses-forms__adb.htm#ref_1054_24">Page</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_720_9">Page_Number</A> := <A HREF="terminal_interface-curses-forms__ads.htm#ref_720_9">Page_Number</A>'First);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_page.3x.html">set_form_page()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_734_14">Set_Page</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_60"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_740_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1068_13">Page</A></FONT> (<FONT COLOR=red><A NAME="ref_740_19" HREF="terminal_interface-curses-forms__adb.htm#ref_1068_19">Frm</A></FONT> : <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_720_9">Page_Number</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_page.3x.html">form_page()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_740_13">Page</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_61"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_745_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1082_13">Get_Index</A></FONT> (<FONT COLOR=red><A NAME="ref_745_24" HREF="terminal_interface-curses-forms__adb.htm#ref_1082_24">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> Positive;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_page.3x.html">field_index()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Please note that in this binding we start the numbering of fields</EM></FONT>
+   <FONT COLOR=green><EM>--  with 1. So this is number is one more than you get from the low</EM></FONT>
+   <FONT COLOR=green><EM>--  level call.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_745_13">Get_Index</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_new_page.3x.html">form_new_page.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_62"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_757_14" HREF="terminal_interface-curses-forms__adb.htm#ref_1102_14">Set_New_Page</A></FONT> (<FONT COLOR=red><A NAME="ref_757_28" HREF="terminal_interface-curses-forms__adb.htm#ref_1102_28">Fld</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>;
+                           <FONT COLOR=red><A NAME="ref_758_28" HREF="terminal_interface-curses-forms__adb.htm#ref_1103_28">New_Page</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_new_page.3x.html">set_new_page()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_757_14">Set_New_Page</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_63"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_763_13" HREF="terminal_interface-curses-forms__adb.htm#ref_1117_13">Is_New_Page</A></FONT> (<FONT COLOR=red><A NAME="ref_763_26" HREF="terminal_interface-curses-forms__adb.htm#ref_1117_26">Fld</A></FONT> : <A HREF="terminal_interface-curses-forms__ads.htm#ref_56_9">Field</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/form_new_page.3x.html">new_page()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-forms__ads.htm#ref_763_13">Is_New_Page</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/form_requestname.3x.html">form_requestname.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  Not Implemented: form_request_name, form_request_by_name</EM></FONT>
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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;
+
+   <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;
+
+<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>;
+</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
new file mode 100644
index 0000000..b4d3b02
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-menus-item_user_data__adb.htm
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-menus-item_user_data.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-menus-item_user_data.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Menus.Item_User_Data             --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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_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>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>.<FONT COLOR=red><A NAME="ref_44_46" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">Item_User_Data</A></FONT> <b>is</b>
+
+   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_48_14" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_14">Set_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_48_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_29">Itm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                            <FONT COLOR=red><A NAME="ref_49_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_59_29">Data</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_51_16">Set_Item_Userptr</A></FONT> (<FONT COLOR=red><A NAME="ref_51_34" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_51_16">Itm</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                                 <FONT COLOR=red><A NAME="ref_52_34" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_51_16">Addr</A></FONT> : <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>pragma</b> Import (C, Set_Item_Userptr, "set_item_userptr");
+
+      <FONT COLOR=red><A NAME="ref_55_7">Res</A></FONT> : <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>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_14">Set_User_Data</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_62_13" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_13">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_62_28" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_28">Itm</A></FONT>  : <b>in</b>  <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_64_16">Item_Userptr</A></FONT> (<FONT COLOR=red><A NAME="ref_64_30" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_64_16">Itm</A></FONT> : <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>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>end</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_69_13">Get_User_Data</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_70_14" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_14">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_70_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_64_29">Itm</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                            <FONT COLOR=red><A NAME="ref_71_29" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_65_29">Data</A></FONT> : <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>;
+</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
new file mode 100644
index 0000000..f5a067f
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-menus-item_user_data__ads.htm
@@ -0,0 +1,80 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-menus-item_user_data.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-menus-item_user_data.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Menus.Item_User_Data             --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2006 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.16 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2006/06/25 14:30:22 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+<b>generic</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_44_9" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
+   <b>type</b> <FONT COLOR=red><A NAME="ref_45_9" HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_46_41">User_Access</A></FONT> <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>.<FONT COLOR=red><A NAME="ref_46_41" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_44_46">Item_User_Data</A></FONT> <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>);
+
+   <FONT COLOR=green><EM>--  The binding uses the same user pointer for menu items</EM></FONT>
+   <FONT COLOR=green><EM>--  as the low level C implementation. So you can safely</EM></FONT>
+   <FONT COLOR=green><EM>--  read or write the user pointer also with the C routines</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/mitem_userptr.3x.html">mitem_userptr.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_58_14" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_48_14">Set_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_58_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_48_29">Itm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                            <FONT COLOR=red><A NAME="ref_59_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_49_29">Data</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_userptr.3x.html">set_item_userptr</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_58_14">Set_User_Data</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_64_14" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_70_14">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_64_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_70_29">Itm</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                            <FONT COLOR=red><A NAME="ref_65_29" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_71_29">Data</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-menus-item_user_data__ads.htm#ref_45_9">User_Access</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_userptr.3x.html">item_userptr</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_3"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_69_13" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_62_13">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_69_28" HREF="terminal_interface-curses-menus-item_user_data__adb.htm#ref_62_28">Itm</A></FONT>  : <b>in</b>  <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_userptr.3x.html">item_userptr</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Same as function</EM></FONT>
+   <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>;
+</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
new file mode 100644
index 0000000..67d6e94
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__adb.htm
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-menus-menu_user_data.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-menus-menu_user_data.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Menus.Menu_User_Data             --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.12 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_43_46" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">Menu_User_Data</A></FONT> <b>is</b>
+
+   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_47_14" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_14">Set_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_47_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_29">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                            <FONT COLOR=red><A NAME="ref_48_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_54_29">Data</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_50_16">Set_Menu_Userptr</A></FONT> (<FONT COLOR=red><A NAME="ref_50_34" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_50_16">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                                 <FONT COLOR=red><A NAME="ref_51_34" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_50_16">Data</A></FONT> : <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>pragma</b> Import (C, Set_Menu_Userptr, "set_menu_userptr");
+
+      <FONT COLOR=red><A NAME="ref_54_7">Res</A></FONT> : <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>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_14">Set_User_Data</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_61_13" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_13">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_61_28" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_28">Men</A></FONT>  : <b>in</b>  <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_63_16">Menu_Userptr</A></FONT> (<FONT COLOR=red><A NAME="ref_63_30" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_63_16">Men</A></FONT> : <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>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>end</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_64_13">Get_User_Data</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_69_14" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_14">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_69_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_59_29">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                            <FONT COLOR=red><A NAME="ref_70_29" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_60_29">Data</A></FONT> : <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>;
+</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
new file mode 100644
index 0000000..2113355
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-menus-menu_user_data__ads.htm
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-menus-menu_user_data.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-menus-menu_user_data.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Menus.Menu_User_Data             --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.14 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+<b>generic</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_43_9" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
+   <b>type</b> <FONT COLOR=red><A NAME="ref_44_9" HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_45_41">User_Access</A></FONT> <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>.<FONT COLOR=red><A NAME="ref_45_41" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_43_46">Menu_User_Data</A></FONT> <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>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_userptr.3x.html">menu_userptr.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_53_14" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_47_14">Set_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_53_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_47_29">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                            <FONT COLOR=red><A NAME="ref_54_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_48_29">Data</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_userptr.3x.html">set_menu_userptr</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_53_14">Set_User_Data</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_59_14" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_69_14">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_59_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_69_29">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                            <FONT COLOR=red><A NAME="ref_60_29" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_70_29">Data</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-menus-menu_user_data__ads.htm#ref_44_9">User_Access</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_userptr.3x.html">menu_userptr</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_3"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_64_13" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_61_13">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_64_28" HREF="terminal_interface-curses-menus-menu_user_data__adb.htm#ref_61_28">Men</A></FONT>  : <b>in</b>  <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_userptr.3x.html">menu_userptr</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Same as function</EM></FONT>
+   <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>;
+</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
new file mode 100644
index 0000000..216210a
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-menus__adb.htm
@@ -0,0 +1,1028 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-menus.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-menus.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                      Terminal_Interface.Curses.Menus                     --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998-2004,2008 Free Software Foundation, Inc.              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.26 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:50:58 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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="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_49_28">Curses</A>.<FONT COLOR=red><A NAME="ref_51_40" HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A></FONT> <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>package</b> I_Array <b>is</b> <b>new</b>
+     <A HREF="interfac__ads.htm#ref_38_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> <FONT COLOR=red><A NAME="ref_58_12">chars_ptr</A></FONT> <b>is</b> <A HREF="interfac__ads.htm#ref_38_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>);
+
+   <b>function</b> IOS_2_CInt <b>is</b> <b>new</b>
+     Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-menus__ads.htm#ref_153_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_153_9">Item_Option_Set</A>);
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_77_14" HREF="terminal_interface-curses-menus__ads.htm#ref_106_14">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_77_28" HREF="terminal_interface-curses-menus__ads.htm#ref_106_28">Key</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A>;
+                           <FONT COLOR=red><A NAME="ref_78_28" HREF="terminal_interface-curses-menus__ads.htm#ref_107_28">Name</A></FONT> : <b>out</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_80_16">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_80_30" HREF="terminal_interface-curses-menus__adb.htm#ref_80_16">Key</A></FONT> : <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>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>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_86_13" HREF="terminal_interface-curses-menus__ads.htm#ref_109_14">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_86_27" HREF="terminal_interface-curses-menus__ads.htm#ref_109_28">Key</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A>) <b>return</b> String
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_88_16">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_88_30" HREF="terminal_interface-curses-menus__adb.htm#ref_88_16">Key</A></FONT> : <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>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>function</b> <FONT COLOR=red><A NAME="ref_94_13" HREF="terminal_interface-curses-menus__ads.htm#ref_191_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_94_21" HREF="terminal_interface-curses-menus__ads.htm#ref_191_21">Name</A></FONT>        : String;
+                    <FONT COLOR=red><A NAME="ref_95_21" HREF="terminal_interface-curses-menus__ads.htm#ref_192_21">Description</A></FONT> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_97_12">Char_Ptr</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char;
+      <b>function</b> <FONT COLOR=red><A NAME="ref_98_16">Newitem</A></FONT> (<FONT COLOR=red><A NAME="ref_98_25" HREF="terminal_interface-curses-menus__adb.htm#ref_98_16">Name</A></FONT>, <FONT COLOR=red><A NAME="ref_98_31" HREF="terminal_interface-curses-menus__adb.htm#ref_98_16">Desc</A></FONT> : <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>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_191_21">Name</A>'Length);
+      <b>type</b> <FONT COLOR=red><A NAME="ref_102_12">Name_String_Ptr</A></FONT> <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_192_21">Description</A>'Length);
+      <b>type</b> <FONT COLOR=red><A NAME="ref_106_12">Desc_String_Ptr</A></FONT> <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>);
+
+      <FONT COLOR=red><A NAME="ref_109_7">Name_Str</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_102_12">Name_String_Ptr</A> := <b>new</b> Name_String;
+      <FONT COLOR=red><A NAME="ref_110_7">Desc_Str</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_106_12">Desc_String_Ptr</A> := <b>new</b> Desc_String;
+      <FONT COLOR=red><A NAME="ref_111_7">Name_Len</A></FONT>, <FONT COLOR=red><A NAME="ref_111_17">Desc_Len</A></FONT> : size_t;
+      <FONT COLOR=red><A NAME="ref_112_7">Result</A></FONT> : <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_191_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_192_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_389_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_191_13">Create</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_124_14" HREF="terminal_interface-curses-menus__ads.htm#ref_203_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_124_22" HREF="terminal_interface-curses-menus__ads.htm#ref_203_22">Itm</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_126_16">Descname</A></FONT> (<FONT COLOR=red><A NAME="ref_126_26" HREF="terminal_interface-curses-menus__adb.htm#ref_126_16">Itm</A></FONT>  : <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>pragma</b> Import (C, Descname, "item_description");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_128_16">Itemname</A></FONT> (<FONT COLOR=red><A NAME="ref_128_26" HREF="terminal_interface-curses-menus__adb.htm#ref_128_16">Itm</A></FONT>  : <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>pragma</b> Import (C, Itemname, "item_name");
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_131_16">Freeitem</A></FONT> (<FONT COLOR=red><A NAME="ref_131_26" HREF="terminal_interface-curses-menus__adb.htm#ref_131_16">Itm</A></FONT> : <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>pragma</b> Import (C, Freeitem, "free_item");
+
+      <FONT COLOR=red><A NAME="ref_134_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+      <FONT COLOR=red><A NAME="ref_135_7">Ptr</A></FONT> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_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_203_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_38_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_203_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_38_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_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_203_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>);
+      <b>end</b> <b>if</b>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_203_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_203_14">Delete</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_152_14" HREF="terminal_interface-curses-menus__ads.htm#ref_212_14">Set_Value</A></FONT> (<FONT COLOR=red><A NAME="ref_152_25" HREF="terminal_interface-curses-menus__ads.htm#ref_212_25">Itm</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                        <FONT COLOR=red><A NAME="ref_153_25" HREF="terminal_interface-curses-menus__ads.htm#ref_213_25">Value</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_155_16">Set_Item_Val</A></FONT> (<FONT COLOR=red><A NAME="ref_155_30" HREF="terminal_interface-curses-menus__adb.htm#ref_155_16">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                             <FONT COLOR=red><A NAME="ref_156_30" HREF="terminal_interface-curses-menus__adb.htm#ref_155_16">Val</A></FONT> : <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>pragma</b> Import (C, Set_Item_Val, "set_item_value");
+
+      <FONT COLOR=red><A NAME="ref_159_7">Res</A></FONT> : <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_212_25">Itm</A>, Boolean'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_213_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_212_14">Set_Value</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_166_13" HREF="terminal_interface-curses-menus__ads.htm#ref_218_13">Value</A></FONT> (<FONT COLOR=red><A NAME="ref_166_20" HREF="terminal_interface-curses-menus__ads.htm#ref_218_20">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_168_16">Item_Val</A></FONT> (<FONT COLOR=red><A NAME="ref_168_26" HREF="terminal_interface-curses-menus__adb.htm#ref_168_16">Itm</A></FONT> : <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>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_218_20">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_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_218_13">Value</A>;
+
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_179_13" HREF="terminal_interface-curses-menus__ads.htm#ref_227_13">Visible</A></FONT> (<FONT COLOR=red><A NAME="ref_179_22" HREF="terminal_interface-curses-menus__ads.htm#ref_227_22">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_181_16">Item_Vis</A></FONT> (<FONT COLOR=red><A NAME="ref_181_26" HREF="terminal_interface-curses-menus__adb.htm#ref_181_16">Itm</A></FONT> : <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>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_227_22">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_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_227_13">Visible</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_191_14" HREF="terminal_interface-curses-menus__ads.htm#ref_236_14">Set_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_191_27" HREF="terminal_interface-curses-menus__ads.htm#ref_236_27">Itm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                          <FONT COLOR=red><A NAME="ref_192_27" HREF="terminal_interface-curses-menus__ads.htm#ref_237_27">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_9">Item_Option_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_194_16">Set_Item_Opts</A></FONT> (<FONT COLOR=red><A NAME="ref_194_31" HREF="terminal_interface-curses-menus__adb.htm#ref_194_16">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                              <FONT COLOR=red><A NAME="ref_195_31" HREF="terminal_interface-curses-menus__adb.htm#ref_194_16">Opt</A></FONT> : <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>pragma</b> Import (C, Set_Item_Opts, "set_item_opts");
+
+      <FONT COLOR=red><A NAME="ref_198_7">Opt</A></FONT> : <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_237_27">Options</A>);
+      <FONT COLOR=red><A NAME="ref_199_7">Res</A></FONT> : <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_236_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_236_14">Set_Options</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_207_14" HREF="terminal_interface-curses-menus__ads.htm#ref_242_14">Switch_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_207_30" HREF="terminal_interface-curses-menus__ads.htm#ref_242_30">Itm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                             <FONT COLOR=red><A NAME="ref_208_30" HREF="terminal_interface-curses-menus__ads.htm#ref_243_30">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_9">Item_Option_Set</A>;
+                             <FONT COLOR=red><A NAME="ref_209_30" HREF="terminal_interface-curses-menus__ads.htm#ref_244_30">On</A></FONT>      : Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_211_16">Item_Opts_On</A></FONT> (<FONT COLOR=red><A NAME="ref_211_30" HREF="terminal_interface-curses-menus__adb.htm#ref_211_16">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                             <FONT COLOR=red><A NAME="ref_212_30" HREF="terminal_interface-curses-menus__adb.htm#ref_211_16">Opt</A></FONT> : <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>pragma</b> Import (C, Item_Opts_On, "item_opts_on");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_214_16">Item_Opts_Off</A></FONT> (<FONT COLOR=red><A NAME="ref_214_31" HREF="terminal_interface-curses-menus__adb.htm#ref_214_16">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                              <FONT COLOR=red><A NAME="ref_215_31" HREF="terminal_interface-curses-menus__adb.htm#ref_214_16">Opt</A></FONT> : <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>pragma</b> Import (C, Item_Opts_Off, "item_opts_off");
+
+      <FONT COLOR=red><A NAME="ref_218_7">Opt</A></FONT> : <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_243_30">Options</A>);
+      <FONT COLOR=red><A NAME="ref_219_7">Err</A></FONT> : <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_244_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_242_30">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_218_7">Opt</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_242_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>);
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_242_14">Switch_Options</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_231_14" HREF="terminal_interface-curses-menus__ads.htm#ref_251_14">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_231_27" HREF="terminal_interface-curses-menus__ads.htm#ref_251_27">Itm</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                          <FONT COLOR=red><A NAME="ref_232_27" HREF="terminal_interface-curses-menus__ads.htm#ref_252_27">Options</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_9">Item_Option_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_234_16">Item_Opts</A></FONT> (<FONT COLOR=red><A NAME="ref_234_27" HREF="terminal_interface-curses-menus__adb.htm#ref_234_16">Itm</A></FONT> : <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>pragma</b> Import (C, Item_Opts, "item_opts");
+
+      <FONT COLOR=red><A NAME="ref_237_7">Res</A></FONT> : <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_251_27">Itm</A>);
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_252_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_251_14">Get_Options</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_242_13" HREF="terminal_interface-curses-menus__ads.htm#ref_256_13">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_242_26" HREF="terminal_interface-curses-menus__ads.htm#ref_256_26">Itm</A></FONT> : <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_153_9">Item_Option_Set</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_244_7">Ios</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_9">Item_Option_Set</A>;
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_251_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_256_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_256_13">Get_Options</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_250_14" HREF="terminal_interface-curses-menus__ads.htm#ref_265_14">Name</A></FONT> (<FONT COLOR=red><A NAME="ref_250_20" HREF="terminal_interface-curses-menus__ads.htm#ref_265_20">Itm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                   <FONT COLOR=red><A NAME="ref_251_20" HREF="terminal_interface-curses-menus__ads.htm#ref_266_20">Name</A></FONT> : <b>out</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_253_16">Itemname</A></FONT> (<FONT COLOR=red><A NAME="ref_253_26" HREF="terminal_interface-curses-menus__adb.htm#ref_253_16">Itm</A></FONT> : <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>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_265_20">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_266_20">Name</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_265_14">Name</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_259_13" HREF="terminal_interface-curses-menus__ads.htm#ref_268_14">Name</A></FONT> (<FONT COLOR=red><A NAME="ref_259_19" HREF="terminal_interface-curses-menus__ads.htm#ref_268_20">Itm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> String
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_261_16">Itemname</A></FONT> (<FONT COLOR=red><A NAME="ref_261_26" HREF="terminal_interface-curses-menus__adb.htm#ref_261_16">Itm</A></FONT> : <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>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_268_20">Itm</A>));
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_268_14">Name</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_267_14" HREF="terminal_interface-curses-menus__ads.htm#ref_274_14">Description</A></FONT> (<FONT COLOR=red><A NAME="ref_267_27" HREF="terminal_interface-curses-menus__ads.htm#ref_274_27">Itm</A></FONT>         : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                          <FONT COLOR=red><A NAME="ref_268_27" HREF="terminal_interface-curses-menus__ads.htm#ref_275_27">Description</A></FONT> : <b>out</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_270_16">Descname</A></FONT> (<FONT COLOR=red><A NAME="ref_270_26" HREF="terminal_interface-curses-menus__adb.htm#ref_270_16">Itm</A></FONT>  : <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>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_274_27">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_275_27">Description</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_274_14">Description</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_276_13" HREF="terminal_interface-curses-menus__ads.htm#ref_278_14">Description</A></FONT> (<FONT COLOR=red><A NAME="ref_276_26" HREF="terminal_interface-curses-menus__ads.htm#ref_278_27">Itm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> String
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_278_16">Descname</A></FONT> (<FONT COLOR=red><A NAME="ref_278_26" HREF="terminal_interface-curses-menus__adb.htm#ref_278_16">Itm</A></FONT>  : <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>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_278_27">Itm</A>));
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_278_14">Description</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_284_14" HREF="terminal_interface-curses-menus__ads.htm#ref_288_14">Set_Current</A></FONT> (<FONT COLOR=red><A NAME="ref_284_27" HREF="terminal_interface-curses-menus__ads.htm#ref_288_27">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                          <FONT COLOR=red><A NAME="ref_285_27" HREF="terminal_interface-curses-menus__ads.htm#ref_289_27">Itm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_287_16">Set_Curr_Item</A></FONT> (<FONT COLOR=red><A NAME="ref_287_31" HREF="terminal_interface-curses-menus__adb.htm#ref_287_16">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="ref_288_31" HREF="terminal_interface-curses-menus__adb.htm#ref_287_16">Itm</A></FONT> : <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>pragma</b> Import (C, Set_Curr_Item, "set_current_item");
+
+      <FONT COLOR=red><A NAME="ref_291_7">Res</A></FONT> : <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_288_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_289_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_288_14">Set_Current</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_298_13" HREF="terminal_interface-curses-menus__ads.htm#ref_294_13">Current</A></FONT> (<FONT COLOR=red><A NAME="ref_298_22" HREF="terminal_interface-curses-menus__ads.htm#ref_294_22">Men</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_300_16">Curr_Item</A></FONT> (<FONT COLOR=red><A NAME="ref_300_27" HREF="terminal_interface-curses-menus__adb.htm#ref_300_16">Men</A></FONT> : <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>pragma</b> Import (C, Curr_Item, "current_item");
+
+      <FONT COLOR=red><A NAME="ref_303_7">Res</A></FONT> : <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_294_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>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_294_13">Current</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_311_14" HREF="terminal_interface-curses-menus__ads.htm#ref_299_14">Set_Top_Row</A></FONT> (<FONT COLOR=red><A NAME="ref_311_27" HREF="terminal_interface-curses-menus__ads.htm#ref_299_27">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                          <FONT COLOR=red><A NAME="ref_312_27" HREF="terminal_interface-curses-menus__ads.htm#ref_300_27">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_314_16">Set_Toprow</A></FONT> (<FONT COLOR=red><A NAME="ref_314_28" HREF="terminal_interface-curses-menus__adb.htm#ref_314_16">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                           <FONT COLOR=red><A NAME="ref_315_28" HREF="terminal_interface-curses-menus__adb.htm#ref_314_16">Line</A></FONT> : <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>pragma</b> Import (C, Set_Toprow, "set_top_row");
+
+      <FONT COLOR=red><A NAME="ref_318_7">Res</A></FONT> : <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_299_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_300_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_299_14">Set_Top_Row</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_325_13" HREF="terminal_interface-curses-menus__ads.htm#ref_305_13">Top_Row</A></FONT> (<FONT COLOR=red><A NAME="ref_325_22" HREF="terminal_interface-curses-menus__ads.htm#ref_305_22">Men</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_327_16">Toprow</A></FONT> (<FONT COLOR=red><A NAME="ref_327_24" HREF="terminal_interface-curses-menus__adb.htm#ref_327_16">Men</A></FONT> : <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>pragma</b> Import (C, Toprow, "top_row");
+
+      <FONT COLOR=red><A NAME="ref_330_7">Res</A></FONT> : <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_305_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>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_305_13">Top_Row</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_338_13" HREF="terminal_interface-curses-menus__ads.htm#ref_310_13">Get_Index</A></FONT> (<FONT COLOR=red><A NAME="ref_338_24" HREF="terminal_interface-curses-menus__ads.htm#ref_310_24">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Positive
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_340_16">Get_Itemindex</A></FONT> (<FONT COLOR=red><A NAME="ref_340_31" HREF="terminal_interface-curses-menus__adb.htm#ref_340_16">Itm</A></FONT> : <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>pragma</b> Import (C, Get_Itemindex, "item_index");
+
+      <FONT COLOR=red><A NAME="ref_343_7">Res</A></FONT> : <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_310_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>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_310_13">Get_Index</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_351_14" HREF="terminal_interface-curses-menus__ads.htm#ref_322_14">Post</A></FONT> (<FONT COLOR=red><A NAME="ref_351_20" HREF="terminal_interface-curses-menus__ads.htm#ref_322_20">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                   <FONT COLOR=red><A NAME="ref_352_20" HREF="terminal_interface-curses-menus__ads.htm#ref_323_20">Post</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_354_16">M_Post</A></FONT> (<FONT COLOR=red><A NAME="ref_354_24" HREF="terminal_interface-curses-menus__adb.htm#ref_354_16">Men</A></FONT> : <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>pragma</b> Import (C, M_Post, "post_menu");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_356_16">M_Unpost</A></FONT> (<FONT COLOR=red><A NAME="ref_356_26" HREF="terminal_interface-curses-menus__adb.htm#ref_356_16">Men</A></FONT> : <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>pragma</b> Import (C, M_Unpost, "unpost_menu");
+
+      <FONT COLOR=red><A NAME="ref_359_7">Res</A></FONT> : <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_323_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_322_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_322_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_322_14">Post</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_371_14" HREF="terminal_interface-curses-menus__ads.htm#ref_333_14">Set_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_371_27" HREF="terminal_interface-curses-menus__ads.htm#ref_333_27">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                          <FONT COLOR=red><A NAME="ref_372_27" HREF="terminal_interface-curses-menus__ads.htm#ref_334_27">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_374_16">Set_Menu_Opts</A></FONT> (<FONT COLOR=red><A NAME="ref_374_31" HREF="terminal_interface-curses-menus__adb.htm#ref_374_16">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="ref_375_31" HREF="terminal_interface-curses-menus__adb.htm#ref_374_16">Opt</A></FONT> : <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>pragma</b> Import (C, Set_Menu_Opts, "set_menu_opts");
+
+      <FONT COLOR=red><A NAME="ref_378_7">Opt</A></FONT> : <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_334_27">Options</A>);
+      <FONT COLOR=red><A NAME="ref_379_7">Res</A></FONT> : <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_333_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_333_14">Set_Options</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_387_14" HREF="terminal_interface-curses-menus__ads.htm#ref_339_14">Switch_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_387_30" HREF="terminal_interface-curses-menus__ads.htm#ref_339_30">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                             <FONT COLOR=red><A NAME="ref_388_30" HREF="terminal_interface-curses-menus__ads.htm#ref_340_30">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>;
+                             <FONT COLOR=red><A NAME="ref_389_30" HREF="terminal_interface-curses-menus__ads.htm#ref_341_30">On</A></FONT>      : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_391_16">Menu_Opts_On</A></FONT> (<FONT COLOR=red><A NAME="ref_391_30" HREF="terminal_interface-curses-menus__adb.htm#ref_391_16">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                             <FONT COLOR=red><A NAME="ref_392_30" HREF="terminal_interface-curses-menus__adb.htm#ref_391_16">Opt</A></FONT> : <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>pragma</b> Import (C, Menu_Opts_On, "menu_opts_on");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_394_16">Menu_Opts_Off</A></FONT> (<FONT COLOR=red><A NAME="ref_394_31" HREF="terminal_interface-curses-menus__adb.htm#ref_394_16">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="ref_395_31" HREF="terminal_interface-curses-menus__adb.htm#ref_394_16">Opt</A></FONT> : <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>pragma</b> Import (C, Menu_Opts_Off, "menu_opts_off");
+
+      <FONT COLOR=red><A NAME="ref_398_7">Opt</A></FONT> : <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_340_30">Options</A>);
+      <FONT COLOR=red><A NAME="ref_399_7">Err</A></FONT> : <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_341_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_339_30">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_398_7">Opt</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_339_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>);
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_339_14">Switch_Options</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_411_14" HREF="terminal_interface-curses-menus__ads.htm#ref_347_14">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_411_27" HREF="terminal_interface-curses-menus__ads.htm#ref_347_27">Men</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                               <FONT COLOR=red><A NAME="ref_412_32" HREF="terminal_interface-curses-menus__ads.htm#ref_348_27">Options</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_414_16">Menu_Opts</A></FONT> (<FONT COLOR=red><A NAME="ref_414_27" HREF="terminal_interface-curses-menus__adb.htm#ref_414_16">Men</A></FONT> : <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>pragma</b> Import (C, Menu_Opts, "menu_opts");
+
+      <FONT COLOR=red><A NAME="ref_417_7">Res</A></FONT> : <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_347_27">Men</A>);
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_348_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_347_14">Get_Options</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_422_13" HREF="terminal_interface-curses-menus__ads.htm#ref_352_13">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_422_26" HREF="terminal_interface-curses-menus__ads.htm#ref_352_26">Men</A></FONT> : <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>is</b>
+      <FONT COLOR=red><A NAME="ref_424_7">Mos</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>;
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_347_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_352_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_352_13">Get_Options</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_430_14" HREF="terminal_interface-curses-menus__ads.htm#ref_361_14">Set_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_430_26" HREF="terminal_interface-curses-menus__ads.htm#ref_361_26">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_431_26" HREF="terminal_interface-curses-menus__ads.htm#ref_362_26">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_433_16">Set_Menu_Win</A></FONT> (<FONT COLOR=red><A NAME="ref_433_30" HREF="terminal_interface-curses-menus__adb.htm#ref_433_16">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                             <FONT COLOR=red><A NAME="ref_434_30" HREF="terminal_interface-curses-menus__adb.htm#ref_433_16">Win</A></FONT> : <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>pragma</b> Import (C, Set_Menu_Win, "set_menu_win");
+
+      <FONT COLOR=red><A NAME="ref_437_7">Res</A></FONT> : <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_361_26">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_362_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_361_14">Set_Window</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_444_13" HREF="terminal_interface-curses-menus__ads.htm#ref_367_13">Get_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_444_25" HREF="terminal_interface-curses-menus__ads.htm#ref_367_25">Men</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_446_16">Menu_Win</A></FONT> (<FONT COLOR=red><A NAME="ref_446_26" HREF="terminal_interface-curses-menus__adb.htm#ref_446_16">Men</A></FONT> : <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>pragma</b> Import (C, Menu_Win, "menu_win");
+
+      <FONT COLOR=red><A NAME="ref_449_7">W</A></FONT> : <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_367_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_367_13">Get_Window</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_454_14" HREF="terminal_interface-curses-menus__ads.htm#ref_372_14">Set_Sub_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_454_30" HREF="terminal_interface-curses-menus__ads.htm#ref_372_30">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                             <FONT COLOR=red><A NAME="ref_455_30" HREF="terminal_interface-curses-menus__ads.htm#ref_373_30">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_457_16">Set_Menu_Sub</A></FONT> (<FONT COLOR=red><A NAME="ref_457_30" HREF="terminal_interface-curses-menus__adb.htm#ref_457_16">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                             <FONT COLOR=red><A NAME="ref_458_30" HREF="terminal_interface-curses-menus__adb.htm#ref_457_16">Win</A></FONT> : <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>pragma</b> Import (C, Set_Menu_Sub, "set_menu_sub");
+
+      <FONT COLOR=red><A NAME="ref_461_7">Res</A></FONT> : <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_372_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_373_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_372_14">Set_Sub_Window</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_468_13" HREF="terminal_interface-curses-menus__ads.htm#ref_378_13">Get_Sub_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_468_29" HREF="terminal_interface-curses-menus__ads.htm#ref_378_29">Men</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_470_16">Menu_Sub</A></FONT> (<FONT COLOR=red><A NAME="ref_470_26" HREF="terminal_interface-curses-menus__adb.htm#ref_470_16">Men</A></FONT> : <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>pragma</b> Import (C, Menu_Sub, "menu_sub");
+
+      <FONT COLOR=red><A NAME="ref_473_7">W</A></FONT> : <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_378_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_378_13">Get_Sub_Window</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_478_14" HREF="terminal_interface-curses-menus__ads.htm#ref_383_14">Scale</A></FONT> (<FONT COLOR=red><A NAME="ref_478_21" HREF="terminal_interface-curses-menus__ads.htm#ref_383_21">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                    <FONT COLOR=red><A NAME="ref_479_21" HREF="terminal_interface-curses-menus__ads.htm#ref_384_21">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                    <FONT COLOR=red><A NAME="ref_480_21" HREF="terminal_interface-curses-menus__ads.htm#ref_385_21">Columns</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_482_12">C_Int_Access</A></FONT> <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> <FONT COLOR=red><A NAME="ref_483_16">M_Scale</A></FONT> (<FONT COLOR=red><A NAME="ref_483_25" HREF="terminal_interface-curses-menus__adb.htm#ref_483_16">Men</A></FONT>    : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                        <FONT COLOR=red><A NAME="ref_484_25" HREF="terminal_interface-curses-menus__adb.htm#ref_483_16">Yp</A></FONT>, <FONT COLOR=red><A NAME="ref_484_29" HREF="terminal_interface-curses-menus__adb.htm#ref_483_16">Xp</A></FONT> : <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>pragma</b> Import (C, M_Scale, "scale_menu");
+
+      <FONT COLOR=red><A NAME="ref_487_7">X</A></FONT>, <FONT COLOR=red><A NAME="ref_487_10">Y</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <FONT COLOR=red><A NAME="ref_488_7">Res</A></FONT>  : <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_383_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>);
+   <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_384_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_385_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_383_14">Scale</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_497_14" HREF="terminal_interface-curses-menus__ads.htm#ref_394_14">Position_Cursor</A></FONT> (<FONT COLOR=red><A NAME="ref_497_31" HREF="terminal_interface-curses-menus__ads.htm#ref_394_31">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_499_16">Pos_Menu_Cursor</A></FONT> (<FONT COLOR=red><A NAME="ref_499_33" HREF="terminal_interface-curses-menus__adb.htm#ref_499_16">Men</A></FONT> : <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>pragma</b> Import (C, Pos_Menu_Cursor, "pos_menu_cursor");
+
+      <FONT COLOR=red><A NAME="ref_502_7">Res</A></FONT> : <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_394_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_394_14">Position_Cursor</A>;
+
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_510_14" HREF="terminal_interface-curses-menus__ads.htm#ref_403_14">Set_Mark</A></FONT> (<FONT COLOR=red><A NAME="ref_510_24" HREF="terminal_interface-curses-menus__ads.htm#ref_403_24">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                       <FONT COLOR=red><A NAME="ref_511_24" HREF="terminal_interface-curses-menus__ads.htm#ref_404_24">Mark</A></FONT> : <b>in</b> String)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_513_12">Char_Ptr</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char;
+      <b>function</b> <FONT COLOR=red><A NAME="ref_514_16">Set_Mark</A></FONT> (<FONT COLOR=red><A NAME="ref_514_26" HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_515_26" HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Mark</A></FONT> : <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>pragma</b> Import (C, Set_Mark, "set_menu_mark");
+
+      <FONT COLOR=red><A NAME="ref_518_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_404_24">Mark</A>'Length);
+      <FONT COLOR=red><A NAME="ref_519_7">Len</A></FONT> : size_t;
+      <FONT COLOR=red><A NAME="ref_520_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_404_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_403_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_403_14">Set_Mark</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_529_14" HREF="terminal_interface-curses-menus__ads.htm#ref_409_14">Mark</A></FONT> (<FONT COLOR=red><A NAME="ref_529_20" HREF="terminal_interface-curses-menus__ads.htm#ref_409_20">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                   <FONT COLOR=red><A NAME="ref_530_20" HREF="terminal_interface-curses-menus__ads.htm#ref_410_20">Mark</A></FONT> : <b>out</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_532_16">Get_Menu_Mark</A></FONT> (<FONT COLOR=red><A NAME="ref_532_31" HREF="terminal_interface-curses-menus__adb.htm#ref_532_16">Men</A></FONT> : <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>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_409_20">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_410_20">Mark</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_409_14">Mark</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_538_13" HREF="terminal_interface-curses-menus__ads.htm#ref_413_14">Mark</A></FONT> (<FONT COLOR=red><A NAME="ref_538_19" HREF="terminal_interface-curses-menus__ads.htm#ref_413_20">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> String
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_540_16">Get_Menu_Mark</A></FONT> (<FONT COLOR=red><A NAME="ref_540_31" HREF="terminal_interface-curses-menus__adb.htm#ref_540_16">Men</A></FONT> : <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>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_413_20">Men</A>));
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_413_14">Mark</A>;
+
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_547_14" HREF="terminal_interface-curses-menus__ads.htm#ref_423_14">Set_Foreground</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_548_7" HREF="terminal_interface-curses-menus__ads.htm#ref_424_7">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+      <FONT COLOR=red><A NAME="ref_549_7" HREF="terminal_interface-curses-menus__ads.htm#ref_425_7">Fore</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_550_7" HREF="terminal_interface-curses-menus__ads.htm#ref_426_7">Color</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_552_16">Set_Menu_Fore</A></FONT> (<FONT COLOR=red><A NAME="ref_552_31" HREF="terminal_interface-curses-menus__adb.htm#ref_552_16">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="ref_553_31" HREF="terminal_interface-curses-menus__adb.htm#ref_552_16">Attr</A></FONT> : <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>pragma</b> Import (C, Set_Menu_Fore, "set_menu_fore");
+
+      <FONT COLOR=red><A NAME="ref_556_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; Character'First,
+                                             <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_426_7">Color</A>,
+                                             <A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_425_7">Fore</A>);
+      <FONT COLOR=red><A NAME="ref_559_7">Res</A></FONT> : <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_424_7">Men</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses-menus__adb.htm#ref_556_7">Ch</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_423_14">Set_Foreground</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_566_14" HREF="terminal_interface-curses-menus__ads.htm#ref_431_14">Foreground</A></FONT> (<FONT COLOR=red><A NAME="ref_566_26" HREF="terminal_interface-curses-menus__ads.htm#ref_431_26">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_567_26" HREF="terminal_interface-curses-menus__ads.htm#ref_432_26">Fore</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_569_16">Menu_Fore</A></FONT> (<FONT COLOR=red><A NAME="ref_569_27" HREF="terminal_interface-curses-menus__adb.htm#ref_569_16">Men</A></FONT> : <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>pragma</b> Import (C, Menu_Fore, "menu_fore");
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_432_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_431_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_431_14">Foreground</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_575_14" HREF="terminal_interface-curses-menus__ads.htm#ref_436_14">Foreground</A></FONT> (<FONT COLOR=red><A NAME="ref_575_26" HREF="terminal_interface-curses-menus__ads.htm#ref_436_26">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_576_26" HREF="terminal_interface-curses-menus__ads.htm#ref_437_26">Fore</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+                         <FONT COLOR=red><A NAME="ref_577_26" HREF="terminal_interface-curses-menus__ads.htm#ref_438_26">Color</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_579_16">Menu_Fore</A></FONT> (<FONT COLOR=red><A NAME="ref_579_27" HREF="terminal_interface-curses-menus__adb.htm#ref_579_16">Men</A></FONT> : <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>pragma</b> Import (C, Menu_Fore, "menu_fore");
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_437_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_436_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_438_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_436_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_436_14">Foreground</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_586_14" HREF="terminal_interface-curses-menus__ads.htm#ref_443_14">Set_Background</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_587_7" HREF="terminal_interface-curses-menus__ads.htm#ref_444_7">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+      <FONT COLOR=red><A NAME="ref_588_7" HREF="terminal_interface-curses-menus__ads.htm#ref_445_7">Back</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_589_7" HREF="terminal_interface-curses-menus__ads.htm#ref_446_7">Color</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_591_16">Set_Menu_Back</A></FONT> (<FONT COLOR=red><A NAME="ref_591_31" HREF="terminal_interface-curses-menus__adb.htm#ref_591_16">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="ref_592_31" HREF="terminal_interface-curses-menus__adb.htm#ref_591_16">Attr</A></FONT> : <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>pragma</b> Import (C, Set_Menu_Back, "set_menu_back");
+
+      <FONT COLOR=red><A NAME="ref_595_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; Character'First,
+                                             <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_446_7">Color</A>,
+                                             <A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_445_7">Back</A>);
+      <FONT COLOR=red><A NAME="ref_598_7">Res</A></FONT> : <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_444_7">Men</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses-menus__adb.htm#ref_595_7">Ch</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_443_14">Set_Background</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_605_14" HREF="terminal_interface-curses-menus__ads.htm#ref_451_14">Background</A></FONT> (<FONT COLOR=red><A NAME="ref_605_26" HREF="terminal_interface-curses-menus__ads.htm#ref_451_26">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_606_26" HREF="terminal_interface-curses-menus__ads.htm#ref_452_26">Back</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_608_16">Menu_Back</A></FONT> (<FONT COLOR=red><A NAME="ref_608_27" HREF="terminal_interface-curses-menus__adb.htm#ref_608_16">Men</A></FONT> : <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>pragma</b> Import (C, Menu_Back, "menu_back");
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_452_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_451_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_451_14">Background</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_614_14" HREF="terminal_interface-curses-menus__ads.htm#ref_456_14">Background</A></FONT> (<FONT COLOR=red><A NAME="ref_614_26" HREF="terminal_interface-curses-menus__ads.htm#ref_456_26">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_615_26" HREF="terminal_interface-curses-menus__ads.htm#ref_457_26">Back</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+                         <FONT COLOR=red><A NAME="ref_616_26" HREF="terminal_interface-curses-menus__ads.htm#ref_458_26">Color</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_618_16">Menu_Back</A></FONT> (<FONT COLOR=red><A NAME="ref_618_27" HREF="terminal_interface-curses-menus__adb.htm#ref_618_16">Men</A></FONT> : <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>pragma</b> Import (C, Menu_Back, "menu_back");
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_457_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_456_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_458_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_456_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_456_14">Background</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_625_14" HREF="terminal_interface-curses-menus__ads.htm#ref_463_14">Set_Grey</A></FONT> (<FONT COLOR=red><A NAME="ref_625_24" HREF="terminal_interface-curses-menus__ads.htm#ref_464_7">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                       <FONT COLOR=red><A NAME="ref_626_24" HREF="terminal_interface-curses-menus__ads.htm#ref_465_7">Grey</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+                       <FONT COLOR=red><A NAME="ref_627_24" HREF="terminal_interface-curses-menus__ads.htm#ref_466_7">Color</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_629_16">Set_Menu_Grey</A></FONT> (<FONT COLOR=red><A NAME="ref_629_31" HREF="terminal_interface-curses-menus__adb.htm#ref_629_16">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="ref_630_31" HREF="terminal_interface-curses-menus__adb.htm#ref_629_16">Attr</A></FONT> : <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>pragma</b> Import (C, Set_Menu_Grey, "set_menu_grey");
+
+      <FONT COLOR=red><A NAME="ref_633_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; Character'First,
+                                             <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_466_7">Color</A>,
+                                             <A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_465_7">Grey</A>);
+
+      <FONT COLOR=red><A NAME="ref_637_7">Res</A></FONT> : <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_464_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_463_14">Set_Grey</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_644_14" HREF="terminal_interface-curses-menus__ads.htm#ref_471_14">Grey</A></FONT> (<FONT COLOR=red><A NAME="ref_644_20" HREF="terminal_interface-curses-menus__ads.htm#ref_471_20">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                   <FONT COLOR=red><A NAME="ref_645_20" HREF="terminal_interface-curses-menus__ads.htm#ref_472_20">Grey</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_647_16">Menu_Grey</A></FONT> (<FONT COLOR=red><A NAME="ref_647_27" HREF="terminal_interface-curses-menus__adb.htm#ref_647_16">Men</A></FONT> : <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>pragma</b> Import (C, Menu_Grey, "menu_grey");
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_472_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_471_20">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_471_14">Grey</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_653_14" HREF="terminal_interface-curses-menus__ads.htm#ref_476_14">Grey</A></FONT> (<FONT COLOR=red><A NAME="ref_653_20" HREF="terminal_interface-curses-menus__ads.htm#ref_477_7">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                   <FONT COLOR=red><A NAME="ref_654_20" HREF="terminal_interface-curses-menus__ads.htm#ref_478_7">Grey</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+                   <FONT COLOR=red><A NAME="ref_655_20" HREF="terminal_interface-curses-menus__ads.htm#ref_479_7">Color</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_657_16">Menu_Grey</A></FONT> (<FONT COLOR=red><A NAME="ref_657_27" HREF="terminal_interface-curses-menus__adb.htm#ref_657_16">Men</A></FONT> : <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>pragma</b> Import (C, Menu_Grey, "menu_grey");
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_478_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_477_7">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>;
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_479_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_477_7">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_476_14">Grey</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_664_14" HREF="terminal_interface-curses-menus__ads.htm#ref_484_14">Set_Pad_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_664_33" HREF="terminal_interface-curses-menus__ads.htm#ref_484_33">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                                <FONT COLOR=red><A NAME="ref_665_33" HREF="terminal_interface-curses-menus__ads.htm#ref_485_33">Pad</A></FONT> : <b>in</b> Character := Space)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_667_16">Set_Menu_Pad</A></FONT> (<FONT COLOR=red><A NAME="ref_667_30" HREF="terminal_interface-curses-menus__adb.htm#ref_667_16">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                             <FONT COLOR=red><A NAME="ref_668_30" HREF="terminal_interface-curses-menus__adb.htm#ref_667_16">Ch</A></FONT>  : <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>pragma</b> Import (C, Set_Menu_Pad, "set_menu_pad");
+
+      <FONT COLOR=red><A NAME="ref_671_7">Res</A></FONT> : <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_484_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_485_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_484_14">Set_Pad_Character</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_679_14" HREF="terminal_interface-curses-menus__ads.htm#ref_490_14">Pad_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_679_29" HREF="terminal_interface-curses-menus__ads.htm#ref_490_29">Men</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                            <FONT COLOR=red><A NAME="ref_680_29" HREF="terminal_interface-curses-menus__ads.htm#ref_491_29">Pad</A></FONT> : <b>out</b> Character)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_682_16">Menu_Pad</A></FONT> (<FONT COLOR=red><A NAME="ref_682_26" HREF="terminal_interface-curses-menus__adb.htm#ref_682_16">Men</A></FONT> : <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>pragma</b> Import (C, Menu_Pad, "menu_pad");
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-menus__ads.htm#ref_491_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_490_29">Men</A>));
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_490_14">Pad_Character</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_688_14" HREF="terminal_interface-curses-menus__ads.htm#ref_500_14">Set_Spacing</A></FONT> (<FONT COLOR=red><A NAME="ref_688_27" HREF="terminal_interface-curses-menus__ads.htm#ref_500_27">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                          <FONT COLOR=red><A NAME="ref_689_27" HREF="terminal_interface-curses-menus__ads.htm#ref_501_27">Descr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := 0;
+                          <FONT COLOR=red><A NAME="ref_690_27" HREF="terminal_interface-curses-menus__ads.htm#ref_502_27">Row</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>   := 0;
+                          <FONT COLOR=red><A NAME="ref_691_27" HREF="terminal_interface-curses-menus__ads.htm#ref_503_27">Col</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := 0)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_693_16">Set_Spacing</A></FONT> (<FONT COLOR=red><A NAME="ref_693_29" HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">Men</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                            <FONT COLOR=red><A NAME="ref_694_29" HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">D</A></FONT>, <FONT COLOR=red><A NAME="ref_694_32" HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">R</A></FONT>, <FONT COLOR=red><A NAME="ref_694_35" HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">C</A></FONT> : <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>pragma</b> Import (C, Set_Spacing, "set_menu_spacing");
+
+      <FONT COLOR=red><A NAME="ref_697_7">Res</A></FONT> : <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_500_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_501_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_502_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_503_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_500_14">Set_Spacing</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_707_14" HREF="terminal_interface-curses-menus__ads.htm#ref_508_14">Spacing</A></FONT> (<FONT COLOR=red><A NAME="ref_707_23" HREF="terminal_interface-curses-menus__ads.htm#ref_508_23">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                      <FONT COLOR=red><A NAME="ref_708_23" HREF="terminal_interface-curses-menus__ads.htm#ref_509_23">Descr</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                      <FONT COLOR=red><A NAME="ref_709_23" HREF="terminal_interface-curses-menus__ads.htm#ref_510_23">Row</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                      <FONT COLOR=red><A NAME="ref_710_23" HREF="terminal_interface-curses-menus__ads.htm#ref_511_23">Col</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_712_12">C_Int_Access</A></FONT> <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> <FONT COLOR=red><A NAME="ref_713_16">Get_Spacing</A></FONT> (<FONT COLOR=red><A NAME="ref_713_29" HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">Men</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                            <FONT COLOR=red><A NAME="ref_714_29" HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">D</A></FONT>, <FONT COLOR=red><A NAME="ref_714_32" HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">R</A></FONT>, <FONT COLOR=red><A NAME="ref_714_35" HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">C</A></FONT> : <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>pragma</b> Import (C, Get_Spacing, "menu_spacing");
+
+      <FONT COLOR=red><A NAME="ref_717_7">D</A></FONT>, <FONT COLOR=red><A NAME="ref_717_10">R</A></FONT>, <FONT COLOR=red><A NAME="ref_717_13">C</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <FONT COLOR=red><A NAME="ref_718_7">Res</A></FONT> : <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_508_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>);
+   <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_509_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_510_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_511_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_508_14">Spacing</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_732_13" HREF="terminal_interface-curses-menus__ads.htm#ref_520_13">Set_Pattern</A></FONT> (<FONT COLOR=red><A NAME="ref_732_26" HREF="terminal_interface-curses-menus__ads.htm#ref_520_26">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_733_26" HREF="terminal_interface-curses-menus__ads.htm#ref_521_26">Text</A></FONT> : String) <b>return</b> Boolean
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_735_12">Char_Ptr</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char;
+      <b>function</b> <FONT COLOR=red><A NAME="ref_736_16">Set_Pattern</A></FONT> (<FONT COLOR=red><A NAME="ref_736_29" HREF="terminal_interface-curses-menus__adb.htm#ref_736_16">Men</A></FONT>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                            <FONT COLOR=red><A NAME="ref_737_29" HREF="terminal_interface-curses-menus__adb.htm#ref_736_16">Pattern</A></FONT> : <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>pragma</b> Import (C, Set_Pattern, "set_menu_pattern");
+
+      <FONT COLOR=red><A NAME="ref_740_7">S</A></FONT>   : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_521_26">Text</A>'Length);
+      <FONT COLOR=red><A NAME="ref_741_7">L</A></FONT>   : size_t;
+      <FONT COLOR=red><A NAME="ref_742_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_521_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_520_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>);
+            <b>return</b> False;
+      <b>end</b> <b>case</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_520_13">Set_Pattern</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_755_14" HREF="terminal_interface-curses-menus__ads.htm#ref_527_14">Pattern</A></FONT> (<FONT COLOR=red><A NAME="ref_755_23" HREF="terminal_interface-curses-menus__ads.htm#ref_527_23">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                      <FONT COLOR=red><A NAME="ref_756_23" HREF="terminal_interface-curses-menus__ads.htm#ref_528_23">Text</A></FONT> : <b>out</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_758_16">Get_Pattern</A></FONT> (<FONT COLOR=red><A NAME="ref_758_29" HREF="terminal_interface-curses-menus__adb.htm#ref_758_16">Men</A></FONT> : <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>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_527_23">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_528_23">Text</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_527_14">Pattern</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_764_14" HREF="terminal_interface-curses-menus__ads.htm#ref_537_14">Set_Format</A></FONT> (<FONT COLOR=red><A NAME="ref_764_26" HREF="terminal_interface-curses-menus__ads.htm#ref_537_26">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_765_26" HREF="terminal_interface-curses-menus__ads.htm#ref_538_26">Lines</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                         <FONT COLOR=red><A NAME="ref_766_26" HREF="terminal_interface-curses-menus__ads.htm#ref_539_26">Columns</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_768_16">Set_Menu_Fmt</A></FONT> (<FONT COLOR=red><A NAME="ref_768_30" HREF="terminal_interface-curses-menus__adb.htm#ref_768_16">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                             <FONT COLOR=red><A NAME="ref_769_30" HREF="terminal_interface-curses-menus__adb.htm#ref_768_16">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                             <FONT COLOR=red><A NAME="ref_770_30" HREF="terminal_interface-curses-menus__adb.htm#ref_768_16">Col</A></FONT> : <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>pragma</b> Import (C, Set_Menu_Fmt, "set_menu_format");
+
+      <FONT COLOR=red><A NAME="ref_773_7">Res</A></FONT> : <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_537_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_538_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_539_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_537_14">Set_Format</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_782_14" HREF="terminal_interface-curses-menus__ads.htm#ref_551_14">Format</A></FONT> (<FONT COLOR=red><A NAME="ref_782_22" HREF="terminal_interface-curses-menus__ads.htm#ref_551_22">Men</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                     <FONT COLOR=red><A NAME="ref_783_22" HREF="terminal_interface-curses-menus__ads.htm#ref_552_22">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                     <FONT COLOR=red><A NAME="ref_784_22" HREF="terminal_interface-curses-menus__ads.htm#ref_553_22">Columns</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_786_12">C_Int_Access</A></FONT> <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> <FONT COLOR=red><A NAME="ref_787_16">Menu_Fmt</A></FONT> (<FONT COLOR=red><A NAME="ref_787_26" HREF="terminal_interface-curses-menus__adb.htm#ref_787_16">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_788_26" HREF="terminal_interface-curses-menus__adb.htm#ref_787_16">Y</A></FONT>, <FONT COLOR=red><A NAME="ref_788_29" HREF="terminal_interface-curses-menus__adb.htm#ref_787_16">X</A></FONT> : <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>pragma</b> Import (C, Menu_Fmt, "menu_format");
+
+      <FONT COLOR=red><A NAME="ref_791_7">L</A></FONT>, <FONT COLOR=red><A NAME="ref_791_10">C</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <FONT COLOR=red><A NAME="ref_792_7">Res</A></FONT>  : <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_551_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>);
+   <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_552_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_553_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_551_14">Format</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_802_14" HREF="terminal_interface-curses-menus__ads.htm#ref_565_14">Set_Item_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_802_34" HREF="terminal_interface-curses-menus__ads.htm#ref_565_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                                 <FONT COLOR=red><A NAME="ref_803_34" HREF="terminal_interface-curses-menus__ads.htm#ref_566_34">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_561_9">Menu_Hook_Function</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_805_16">Set_Item_Init</A></FONT> (<FONT COLOR=red><A NAME="ref_805_31" HREF="terminal_interface-curses-menus__adb.htm#ref_805_16">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="ref_806_31" HREF="terminal_interface-curses-menus__adb.htm#ref_805_16">Proc</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_561_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Set_Item_Init, "set_item_init");
+
+      <FONT COLOR=red><A NAME="ref_809_7">Res</A></FONT> : <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_565_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_566_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_565_14">Set_Item_Init_Hook</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_816_14" HREF="terminal_interface-curses-menus__ads.htm#ref_571_14">Set_Item_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_816_34" HREF="terminal_interface-curses-menus__ads.htm#ref_571_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                                 <FONT COLOR=red><A NAME="ref_817_34" HREF="terminal_interface-curses-menus__ads.htm#ref_572_34">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_561_9">Menu_Hook_Function</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_819_16">Set_Item_Term</A></FONT> (<FONT COLOR=red><A NAME="ref_819_31" HREF="terminal_interface-curses-menus__adb.htm#ref_819_16">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="ref_820_31" HREF="terminal_interface-curses-menus__adb.htm#ref_819_16">Proc</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_561_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Set_Item_Term, "set_item_term");
+
+      <FONT COLOR=red><A NAME="ref_823_7">Res</A></FONT> : <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_571_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_572_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_571_14">Set_Item_Term_Hook</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_830_14" HREF="terminal_interface-curses-menus__ads.htm#ref_577_14">Set_Menu_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_830_34" HREF="terminal_interface-curses-menus__ads.htm#ref_577_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                                 <FONT COLOR=red><A NAME="ref_831_34" HREF="terminal_interface-curses-menus__ads.htm#ref_578_34">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_561_9">Menu_Hook_Function</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_833_16">Set_Menu_Init</A></FONT> (<FONT COLOR=red><A NAME="ref_833_31" HREF="terminal_interface-curses-menus__adb.htm#ref_833_16">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="ref_834_31" HREF="terminal_interface-curses-menus__adb.htm#ref_833_16">Proc</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_561_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Set_Menu_Init, "set_menu_init");
+
+      <FONT COLOR=red><A NAME="ref_837_7">Res</A></FONT> : <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_577_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_578_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_577_14">Set_Menu_Init_Hook</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_844_14" HREF="terminal_interface-curses-menus__ads.htm#ref_583_14">Set_Menu_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_844_34" HREF="terminal_interface-curses-menus__ads.htm#ref_583_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                                 <FONT COLOR=red><A NAME="ref_845_34" HREF="terminal_interface-curses-menus__ads.htm#ref_584_34">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_561_9">Menu_Hook_Function</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_847_16">Set_Menu_Term</A></FONT> (<FONT COLOR=red><A NAME="ref_847_31" HREF="terminal_interface-curses-menus__adb.htm#ref_847_16">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                              <FONT COLOR=red><A NAME="ref_848_31" HREF="terminal_interface-curses-menus__adb.htm#ref_847_16">Proc</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_561_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Set_Menu_Term, "set_menu_term");
+
+      <FONT COLOR=red><A NAME="ref_851_7">Res</A></FONT> : <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_583_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_584_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_583_14">Set_Menu_Term_Hook</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_858_13" HREF="terminal_interface-curses-menus__ads.htm#ref_589_13">Get_Item_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_858_33" HREF="terminal_interface-curses-menus__ads.htm#ref_589_33">Men</A></FONT> : <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_561_9">Menu_Hook_Function</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_860_16">Item_Init</A></FONT> (<FONT COLOR=red><A NAME="ref_860_27" HREF="terminal_interface-curses-menus__adb.htm#ref_860_16">Men</A></FONT> : <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_561_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_589_33">Men</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_589_13">Get_Item_Init_Hook</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_866_13" HREF="terminal_interface-curses-menus__ads.htm#ref_594_13">Get_Item_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_866_33" HREF="terminal_interface-curses-menus__ads.htm#ref_594_33">Men</A></FONT> : <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_561_9">Menu_Hook_Function</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_868_16">Item_Term</A></FONT> (<FONT COLOR=red><A NAME="ref_868_27" HREF="terminal_interface-curses-menus__adb.htm#ref_868_16">Men</A></FONT> : <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_561_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_594_33">Men</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_594_13">Get_Item_Term_Hook</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_874_13" HREF="terminal_interface-curses-menus__ads.htm#ref_599_13">Get_Menu_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_874_33" HREF="terminal_interface-curses-menus__ads.htm#ref_599_33">Men</A></FONT> : <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_561_9">Menu_Hook_Function</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_876_16">Menu_Init</A></FONT> (<FONT COLOR=red><A NAME="ref_876_27" HREF="terminal_interface-curses-menus__adb.htm#ref_876_16">Men</A></FONT> : <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_561_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_599_33">Men</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_599_13">Get_Menu_Init_Hook</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_882_13" HREF="terminal_interface-curses-menus__ads.htm#ref_604_13">Get_Menu_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_882_33" HREF="terminal_interface-curses-menus__ads.htm#ref_604_33">Men</A></FONT> : <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_561_9">Menu_Hook_Function</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_884_16">Menu_Term</A></FONT> (<FONT COLOR=red><A NAME="ref_884_27" HREF="terminal_interface-curses-menus__adb.htm#ref_884_16">Men</A></FONT> : <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_561_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_604_33">Men</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_604_13">Get_Menu_Term_Hook</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_890_14" HREF="terminal_interface-curses-menus__ads.htm#ref_613_14">Redefine</A></FONT> (<FONT COLOR=red><A NAME="ref_890_24" HREF="terminal_interface-curses-menus__ads.htm#ref_613_24">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                       <FONT COLOR=red><A NAME="ref_891_24" HREF="terminal_interface-curses-menus__ads.htm#ref_614_24">Items</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_9">Item_Array_Access</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_893_16">Set_Items</A></FONT> (<FONT COLOR=red><A NAME="ref_893_27" HREF="terminal_interface-curses-menus__adb.htm#ref_893_16">Men</A></FONT>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                          <FONT COLOR=red><A NAME="ref_894_27" HREF="terminal_interface-curses-menus__adb.htm#ref_893_16">Items</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Set_Items, "set_menu_items");
+
+      <FONT COLOR=red><A NAME="ref_897_7">Res</A></FONT> : <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_614_24">Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_614_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_614_24">Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_614_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>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_613_24">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_614_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>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_613_14">Redefine</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_910_13" HREF="terminal_interface-curses-menus__ads.htm#ref_629_13">Item_Count</A></FONT> (<FONT COLOR=red><A NAME="ref_910_25" HREF="terminal_interface-curses-menus__ads.htm#ref_629_25">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> Natural
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_912_16">Count</A></FONT> (<FONT COLOR=red><A NAME="ref_912_23" HREF="terminal_interface-curses-menus__adb.htm#ref_912_16">Men</A></FONT> : <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>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_629_25">Men</A>));
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_629_13">Item_Count</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_918_13" HREF="terminal_interface-curses-menus__ads.htm#ref_623_13">Items</A></FONT> (<FONT COLOR=red><A NAME="ref_918_20" HREF="terminal_interface-curses-menus__ads.htm#ref_623_20">Men</A></FONT>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                   <FONT COLOR=red><A NAME="ref_919_20" HREF="terminal_interface-curses-menus__ads.htm#ref_624_20">Index</A></FONT> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>
+   <b>is</b>
+      <b>use</b> I_Array;
+
+      <b>function</b> C_Mitems (<FONT COLOR=red><A NAME="ref_923_26">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_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_623_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_624_20">Index</A> &gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_629_13">Item_Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_623_20">Men</A>) <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_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_624_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_623_13">Items</A>;
+
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_937_13" HREF="terminal_interface-curses-menus__ads.htm#ref_638_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_937_21" HREF="terminal_interface-curses-menus__ads.htm#ref_638_21">Items</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_939_16">Newmenu</A></FONT> (<FONT COLOR=red><A NAME="ref_939_25" HREF="terminal_interface-curses-menus__adb.htm#ref_939_16">Items</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+      <b>pragma</b> Import (C, Newmenu, "new_menu");
+
+      <FONT COLOR=red><A NAME="ref_942_7">M</A></FONT>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+   <b>begin</b>
+      <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_638_21">Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_638_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_638_21">Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_638_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>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_638_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>;
+         <b>end</b> <b>if</b>;
+         <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_942_7">M</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_638_13">Create</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_956_14" HREF="terminal_interface-curses-menus__ads.htm#ref_645_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_956_22" HREF="terminal_interface-curses-menus__ads.htm#ref_645_22">Men</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_958_16">Free</A></FONT> (<FONT COLOR=red><A NAME="ref_958_22" HREF="terminal_interface-curses-menus__adb.htm#ref_958_16">Men</A></FONT> : <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>pragma</b> Import (C, Free, "free_menu");
+
+      <FONT COLOR=red><A NAME="ref_961_7">Res</A></FONT> : <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_645_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_645_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_645_14">Delete</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_970_13" HREF="terminal_interface-curses-menus__ads.htm#ref_660_13">Driver</A></FONT> (<FONT COLOR=red><A NAME="ref_970_21" HREF="terminal_interface-curses-menus__ads.htm#ref_660_21">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                    <FONT COLOR=red><A NAME="ref_971_21" HREF="terminal_interface-curses-menus__ads.htm#ref_661_21">Key</A></FONT> : <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_654_9">Driver_Result</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_973_16">Driver</A></FONT> (<FONT COLOR=red><A NAME="ref_973_24" HREF="terminal_interface-curses-menus__adb.htm#ref_973_16">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                       <FONT COLOR=red><A NAME="ref_974_24" HREF="terminal_interface-curses-menus__adb.htm#ref_973_16">Key</A></FONT> : <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>pragma</b> Import (C, Driver, "menu_driver");
+
+      <FONT COLOR=red><A NAME="ref_977_7">R</A></FONT> : <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_660_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_661_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_656_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_657_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_655_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_654_27">Menu_Ok</A>;
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_660_13">Driver</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_992_14" HREF="terminal_interface-curses-menus__ads.htm#ref_180_14">Free</A></FONT> (<FONT COLOR=red><A NAME="ref_992_20" HREF="terminal_interface-curses-menus__ads.htm#ref_180_20">IA</A></FONT>         : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_9">Item_Array_Access</A>;
+                   <FONT COLOR=red><A NAME="ref_993_20" HREF="terminal_interface-curses-menus__ads.htm#ref_181_20">Free_Items</A></FONT> : <b>in</b> 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_178_9">Item_Array_Access</A>);
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_20">IA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_181_20">Free_Items</A> <b>then</b>
+         <b>for</b> <FONT COLOR=red><A NAME="ref_999_14">I</A></FONT> <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_20">IA</A>'First .. (<A HREF="terminal_interface-curses-menus__ads.htm#ref_180_20">IA</A>'Last - 1) <b>loop</b>
+            <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_20">IA</A> (<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_203_14">Delete</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_180_20">IA</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_999_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_180_20">IA</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_14">Free</A>;
+
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1009_13" HREF="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>
+   <b>is</b>
+   <b>begin</b>
+      <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_352_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_146_13">Default_Menu_Options</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1015_13" HREF="terminal_interface-curses-menus__ads.htm#ref_168_13">Default_Item_Options</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_9">Item_Option_Set</A>
+   <b>is</b>
+   <b>begin</b>
+      <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_256_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_168_13">Default_Item_Options</A>;
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+
+<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>;
+</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
new file mode 100644
index 0000000..62780fb
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-menus__ads.htm
@@ -0,0 +1,681 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-menus.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-menus.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                      Terminal_Interface.Curses.Menu                      --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2006 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.27 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2007/05/05 20:20:52 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  menu binding.</EM></FONT>
+<FONT COLOR=green><EM>--  This module is generated. Please don't change it manually!</EM></FONT>
+<FONT COLOR=green><EM>--  Run the generator instead.</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_49_35" HREF="terminal_interface-curses-menus__adb.htm#ref_51_40">Menus</A></FONT> <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 ("-lmenuw");
+   <b>pragma</b> Linker_Options ("-lncursesw");
+
+   Space : Character <b>renames</b> Ada.Characters.Latin_1.Space;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_56_9">Item</A></FONT> <b>is</b> <b>private</b>;
+   <b>type</b> <FONT COLOR=red><A NAME="ref_57_9">Menu</A></FONT> <b>is</b> <b>private</b>;
+
+   <FONT COLOR=green><EM>---------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  Interface constants  --</EM></FONT>
+   <FONT COLOR=green><EM>---------------------------</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_62_4">Null_Item</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+   <FONT COLOR=red><A NAME="ref_63_4">Null_Menu</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_65_12">Menu_Request_Code</A></FONT> <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);
+
+   <FONT COLOR=green><EM>--  The prefix M_ stands for "Menu Request"</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_69_4">M_Left_Item</A></FONT>       : <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;
+   <FONT COLOR=red><A NAME="ref_70_4">M_Right_Item</A></FONT>      : <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;
+   <FONT COLOR=red><A NAME="ref_71_4">M_Up_Item</A></FONT>         : <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;
+   <FONT COLOR=red><A NAME="ref_72_4">M_Down_Item</A></FONT>       : <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;
+   <FONT COLOR=red><A NAME="ref_73_4">M_ScrollUp_Line</A></FONT>   : <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;
+   <FONT COLOR=red><A NAME="ref_74_4">M_ScrollDown_Line</A></FONT> : <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;
+   <FONT COLOR=red><A NAME="ref_75_4">M_ScrollDown_Page</A></FONT> : <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;
+   <FONT COLOR=red><A NAME="ref_76_4">M_ScrollUp_Page</A></FONT>   : <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;
+   <FONT COLOR=red><A NAME="ref_77_4">M_First_Item</A></FONT>      : <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;
+   <FONT COLOR=red><A NAME="ref_78_4">M_Last_Item</A></FONT>       : <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;
+   <FONT COLOR=red><A NAME="ref_79_4">M_Next_Item</A></FONT>       : <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;
+   <FONT COLOR=red><A NAME="ref_80_4">M_Previous_Item</A></FONT>   : <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;
+   <FONT COLOR=red><A NAME="ref_81_4">M_Toggle_Item</A></FONT>     : <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;
+   <FONT COLOR=red><A NAME="ref_82_4">M_Clear_Pattern</A></FONT>   : <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;
+   <FONT COLOR=red><A NAME="ref_83_4">M_Back_Pattern</A></FONT>    : <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;
+   <FONT COLOR=red><A NAME="ref_84_4">M_Next_Match</A></FONT>      : <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;
+   <FONT COLOR=red><A NAME="ref_85_4">M_Previous_Match</A></FONT>  : <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;
+
+   <FONT COLOR=green><EM>--  For those who like the old 'C' names for the request codes</EM></FONT>
+   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> <FONT COLOR=red><A NAME="ref_106_14" HREF="terminal_interface-curses-menus__adb.htm#ref_77_14">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_106_28" HREF="terminal_interface-curses-menus__adb.htm#ref_77_28">Key</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A>;
+                           <FONT COLOR=red><A NAME="ref_107_28" HREF="terminal_interface-curses-menus__adb.htm#ref_78_28">Name</A></FONT> : <b>out</b> String);
+
+   <b>function</b>  <FONT COLOR=red><A NAME="ref_109_14" HREF="terminal_interface-curses-menus__adb.htm#ref_86_13">Request_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_109_28" HREF="terminal_interface-curses-menus__adb.htm#ref_86_27">Key</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A>) <b>return</b> String;
+   <FONT COLOR=green><EM>--  Same as function</EM></FONT>
+
+   <FONT COLOR=green><EM>------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  Exceptions  --</EM></FONT>
+   <FONT COLOR=green><EM>------------------</EM></FONT>
+
+   <FONT COLOR=red><A NAME="ref_116_4">Menu_Exception</A></FONT> : <b>exception</b>;
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=green><EM>--  Menu options</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <b>pragma</b> Warnings (Off);
+   <b>type</b> <FONT COLOR=red><A NAME="ref_121_9">Menu_Option_Set</A></FONT> <b>is</b>
+      <b>record</b>
+         <FONT COLOR=red><A NAME="ref_123_10">One_Valued</A></FONT>        : Boolean;
+         <FONT COLOR=red><A NAME="ref_124_10">Show_Descriptions</A></FONT> : Boolean;
+         <FONT COLOR=red><A NAME="ref_125_10">Row_Major_Order</A></FONT>   : Boolean;
+         <FONT COLOR=red><A NAME="ref_126_10">Ignore_Case</A></FONT>       : Boolean;
+         <FONT COLOR=red><A NAME="ref_127_10">Show_Matches</A></FONT>      : Boolean;
+         <FONT COLOR=red><A NAME="ref_128_10">Non_Cyclic</A></FONT>        : 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>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_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;
+      <b>end</b> <b>record</b>;
+   <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>'Size <b>use</b> 32;
+   <FONT COLOR=green><EM>--  Please note: this rep. clause is generated and may be</EM></FONT>
+   <FONT COLOR=green><EM>--               different on your system.</EM></FONT>
+   <b>pragma</b> Warnings (On);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_146_13" HREF="terminal_interface-curses-menus__adb.htm#ref_1009_13">Default_Menu_Options</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>;
+   <FONT COLOR=green><EM>--  Initial default options for a menu.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</A>);
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=green><EM>--  Item options</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <b>pragma</b> Warnings (Off);
+   <b>type</b> <FONT COLOR=red><A NAME="ref_153_9">Item_Option_Set</A></FONT> <b>is</b>
+      <b>record</b>
+         <FONT COLOR=red><A NAME="ref_155_10">Selectable</A></FONT>  : Boolean;
+      <b>end</b> <b>record</b>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_9">Item_Option_Set</A>);
+
+   <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_9">Item_Option_Set</A> <b>use</b>
+      <b>record</b>
+         <A HREF="terminal_interface-curses-menus__ads.htm#ref_155_10">Selectable</A>  <b>at</b> 0 <b>range</b>  0 ..  0;
+      <b>end</b> <b>record</b>;
+   <b>for</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_9">Item_Option_Set</A>'Size <b>use</b> 32;
+   <FONT COLOR=green><EM>--  Please note: this rep. clause is generated and may be</EM></FONT>
+   <FONT COLOR=green><EM>--               different on your system.</EM></FONT>
+   <b>pragma</b> Warnings (On);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_168_13" HREF="terminal_interface-curses-menus__adb.htm#ref_1015_13">Default_Item_Options</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_9">Item_Option_Set</A>;
+   <FONT COLOR=green><EM>--  Initial default options for an item.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_168_13">Default_Item_Options</A>);
+
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=green><EM>--  Item Array</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <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>pragma</b> Convention (C, Item_Array);
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_178_9">Item_Array_Access</A></FONT> <b>is</b> <b>access</b> Item_Array;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_180_14" HREF="terminal_interface-curses-menus__adb.htm#ref_992_14">Free</A></FONT> (<FONT COLOR=red><A NAME="ref_180_20" HREF="terminal_interface-curses-menus__adb.htm#ref_992_20">IA</A></FONT>         : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_9">Item_Array_Access</A>;
+                   <FONT COLOR=red><A NAME="ref_181_20" HREF="terminal_interface-curses-menus__adb.htm#ref_993_20">Free_Items</A></FONT> : Boolean := False);
+   <FONT COLOR=green><EM>--  Release the memory for an allocated item array</EM></FONT>
+   <FONT COLOR=green><EM>--  If Free_Items is True, call Delete() for all the items in</EM></FONT>
+   <FONT COLOR=green><EM>--  the array.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_191_13" HREF="terminal_interface-curses-menus__adb.htm#ref_94_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_191_21" HREF="terminal_interface-curses-menus__adb.htm#ref_94_21">Name</A></FONT>        : String;
+                    <FONT COLOR=red><A NAME="ref_192_21" HREF="terminal_interface-curses-menus__adb.htm#ref_95_21">Description</A></FONT> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Not inlined.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
+   <b>function</b> New_Item (<FONT COLOR=red><A NAME="ref_197_23">Name</A></FONT>        : String;
+                      <FONT COLOR=red><A NAME="ref_198_23">Description</A></FONT> : 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_191_13">Create</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_3"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_203_14" HREF="terminal_interface-curses-menus__adb.htm#ref_124_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_203_22" HREF="terminal_interface-curses-menus__adb.htm#ref_124_22">Itm</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_new.3x.html">free_item()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Resets Itm to Null_Item</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/mitem_value.3x.html">mitem_value.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_4"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_212_14" HREF="terminal_interface-curses-menus__adb.htm#ref_152_14">Set_Value</A></FONT> (<FONT COLOR=red><A NAME="ref_212_25" HREF="terminal_interface-curses-menus__adb.htm#ref_152_25">Itm</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                        <FONT COLOR=red><A NAME="ref_213_25" HREF="terminal_interface-curses-menus__adb.htm#ref_153_25">Value</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_value.3x.html">set_item_value()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_212_14">Set_Value</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_5"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_218_13" HREF="terminal_interface-curses-menus__adb.htm#ref_166_13">Value</A></FONT> (<FONT COLOR=red><A NAME="ref_218_20" HREF="terminal_interface-curses-menus__adb.htm#ref_166_20">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_value.3x.html">item_value()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_218_13">Value</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/mitem_visible.3x.html">mitem_visible.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_6"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_227_13" HREF="terminal_interface-curses-menus__adb.htm#ref_179_13">Visible</A></FONT> (<FONT COLOR=red><A NAME="ref_227_22" HREF="terminal_interface-curses-menus__adb.htm#ref_179_22">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_visible.3x.html">item_visible()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_227_13">Visible</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_7"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_236_14" HREF="terminal_interface-curses-menus__adb.htm#ref_191_14">Set_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_236_27" HREF="terminal_interface-curses-menus__adb.htm#ref_191_27">Itm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                          <FONT COLOR=red><A NAME="ref_237_27" HREF="terminal_interface-curses-menus__adb.htm#ref_192_27">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_9">Item_Option_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">set_item_opts()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  An overloaded Set_Options is defined later. Pragma Inline appears there</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_8"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_242_14" HREF="terminal_interface-curses-menus__adb.htm#ref_207_14">Switch_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_242_30" HREF="terminal_interface-curses-menus__adb.htm#ref_207_30">Itm</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                             <FONT COLOR=red><A NAME="ref_243_30" HREF="terminal_interface-curses-menus__adb.htm#ref_208_30">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_9">Item_Option_Set</A>;
+                             <FONT COLOR=red><A NAME="ref_244_30" HREF="terminal_interface-curses-menus__adb.htm#ref_209_30">On</A></FONT>      : Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts_on()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: item_opts_off()</EM></FONT>
+   <FONT COLOR=green><EM>--  An overloaded Switch_Options is defined later.</EM></FONT>
+   <FONT COLOR=green><EM>--  Pragma Inline appears there</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_9"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_251_14" HREF="terminal_interface-curses-menus__adb.htm#ref_231_14">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_251_27" HREF="terminal_interface-curses-menus__adb.htm#ref_231_27">Itm</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                          <FONT COLOR=red><A NAME="ref_252_27" HREF="terminal_interface-curses-menus__adb.htm#ref_232_27">Options</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_153_9">Item_Option_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_10"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_256_13" HREF="terminal_interface-curses-menus__adb.htm#ref_242_13">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_256_26" HREF="terminal_interface-curses-menus__adb.htm#ref_242_26">Itm</A></FONT> : <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_153_9">Item_Option_Set</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  An overloaded Get_Options is defined later. Pragma Inline appears there</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_11"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_265_14" HREF="terminal_interface-curses-menus__adb.htm#ref_250_14">Name</A></FONT> (<FONT COLOR=red><A NAME="ref_265_20" HREF="terminal_interface-curses-menus__adb.htm#ref_250_20">Itm</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                   <FONT COLOR=red><A NAME="ref_266_20" HREF="terminal_interface-curses-menus__adb.htm#ref_251_20">Name</A></FONT> : <b>out</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></EM></FONT>
+   <b>function</b>  <FONT COLOR=red><A NAME="ref_268_14" HREF="terminal_interface-curses-menus__adb.htm#ref_259_13">Name</A></FONT> (<FONT COLOR=red><A NAME="ref_268_20" HREF="terminal_interface-curses-menus__adb.htm#ref_259_19">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> String;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Implemented as function</EM></FONT>
+   <b>pragma</b> Inline (Name);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_12"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_274_14" HREF="terminal_interface-curses-menus__adb.htm#ref_267_14">Description</A></FONT> (<FONT COLOR=red><A NAME="ref_274_27" HREF="terminal_interface-curses-menus__adb.htm#ref_267_27">Itm</A></FONT>         : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+                          <FONT COLOR=red><A NAME="ref_275_27" HREF="terminal_interface-curses-menus__adb.htm#ref_268_27">Description</A></FONT> : <b>out</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></EM></FONT>
+
+   <b>function</b>  <FONT COLOR=red><A NAME="ref_278_14" HREF="terminal_interface-curses-menus__adb.htm#ref_276_13">Description</A></FONT> (<FONT COLOR=red><A NAME="ref_278_27" HREF="terminal_interface-curses-menus__adb.htm#ref_276_26">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> String;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Implemented as function</EM></FONT>
+   <b>pragma</b> Inline (Description);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_13"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_288_14" HREF="terminal_interface-curses-menus__adb.htm#ref_284_14">Set_Current</A></FONT> (<FONT COLOR=red><A NAME="ref_288_27" HREF="terminal_interface-curses-menus__adb.htm#ref_284_27">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                          <FONT COLOR=red><A NAME="ref_289_27" HREF="terminal_interface-curses-menus__adb.htm#ref_285_27">Itm</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">set_current_item()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_288_14">Set_Current</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_14"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_294_13" HREF="terminal_interface-curses-menus__adb.htm#ref_298_13">Current</A></FONT> (<FONT COLOR=red><A NAME="ref_294_22" HREF="terminal_interface-curses-menus__adb.htm#ref_298_22">Men</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">current_item()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_294_13">Current</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_15"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_299_14" HREF="terminal_interface-curses-menus__adb.htm#ref_311_14">Set_Top_Row</A></FONT> (<FONT COLOR=red><A NAME="ref_299_27" HREF="terminal_interface-curses-menus__adb.htm#ref_311_27">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                          <FONT COLOR=red><A NAME="ref_300_27" HREF="terminal_interface-curses-menus__adb.htm#ref_312_27">Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">set_top_row()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_299_14">Set_Top_Row</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_16"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_305_13" HREF="terminal_interface-curses-menus__adb.htm#ref_325_13">Top_Row</A></FONT> (<FONT COLOR=red><A NAME="ref_305_22" HREF="terminal_interface-curses-menus__adb.htm#ref_325_22">Men</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">top_row()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_305_13">Top_Row</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_17"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_310_13" HREF="terminal_interface-curses-menus__adb.htm#ref_338_13">Get_Index</A></FONT> (<FONT COLOR=red><A NAME="ref_310_24" HREF="terminal_interface-curses-menus__adb.htm#ref_338_24">Itm</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Positive;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/mitem_current.3x.html">item_index()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Please note that in this binding we start the numbering of items</EM></FONT>
+   <FONT COLOR=green><EM>--  with 1. So this is number is one more than you get from the low</EM></FONT>
+   <FONT COLOR=green><EM>--  level call.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_310_13">Get_Index</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_post.3x.html">menu_post.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_18"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_322_14" HREF="terminal_interface-curses-menus__adb.htm#ref_351_14">Post</A></FONT> (<FONT COLOR=red><A NAME="ref_322_20" HREF="terminal_interface-curses-menus__adb.htm#ref_351_20">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                   <FONT COLOR=red><A NAME="ref_323_20" HREF="terminal_interface-curses-menus__adb.htm#ref_352_20">Post</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_post.3x.html">post_menu()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: unpost_menu()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_322_14">Post</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_19"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_333_14" HREF="terminal_interface-curses-menus__adb.htm#ref_371_14">Set_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_333_27" HREF="terminal_interface-curses-menus__adb.htm#ref_371_27">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                          <FONT COLOR=red><A NAME="ref_334_27" HREF="terminal_interface-curses-menus__adb.htm#ref_372_27">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">set_menu_opts()</A></EM></FONT>
+   <b>pragma</b> Inline (Set_Options);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_20"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_339_14" HREF="terminal_interface-curses-menus__adb.htm#ref_387_14">Switch_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_339_30" HREF="terminal_interface-curses-menus__adb.htm#ref_387_30">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                             <FONT COLOR=red><A NAME="ref_340_30" HREF="terminal_interface-curses-menus__adb.htm#ref_388_30">Options</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>;
+                             <FONT COLOR=red><A NAME="ref_341_30" HREF="terminal_interface-curses-menus__adb.htm#ref_389_30">On</A></FONT>      : Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts_on()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: menu_opts_off()</EM></FONT>
+   <b>pragma</b> Inline (Switch_Options);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_21"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_347_14" HREF="terminal_interface-curses-menus__adb.htm#ref_411_14">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_347_27" HREF="terminal_interface-curses-menus__adb.htm#ref_411_27">Men</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                          <FONT COLOR=red><A NAME="ref_348_27" HREF="terminal_interface-curses-menus__adb.htm#ref_412_32">Options</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_22"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_352_13" HREF="terminal_interface-curses-menus__adb.htm#ref_422_13">Get_Options</A></FONT> (<FONT COLOR=red><A NAME="ref_352_26" HREF="terminal_interface-curses-menus__adb.htm#ref_422_26">Men</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></EM></FONT>
+   <b>pragma</b> Inline (Get_Options);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_win.3x.html">menu_win.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_23"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_361_14" HREF="terminal_interface-curses-menus__adb.htm#ref_430_14">Set_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_361_26" HREF="terminal_interface-curses-menus__adb.htm#ref_430_26">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_362_26" HREF="terminal_interface-curses-menus__adb.htm#ref_431_26">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_win()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_361_14">Set_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_24"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_367_13" HREF="terminal_interface-curses-menus__adb.htm#ref_444_13">Get_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_367_25" HREF="terminal_interface-curses-menus__adb.htm#ref_444_25">Men</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_win.3x.html">menu_win()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_367_13">Get_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_25"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_372_14" HREF="terminal_interface-curses-menus__adb.htm#ref_454_14">Set_Sub_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_372_30" HREF="terminal_interface-curses-menus__adb.htm#ref_454_30">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                             <FONT COLOR=red><A NAME="ref_373_30" HREF="terminal_interface-curses-menus__adb.htm#ref_455_30">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_sub()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_372_14">Set_Sub_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_26"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_378_13" HREF="terminal_interface-curses-menus__adb.htm#ref_468_13">Get_Sub_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_378_29" HREF="terminal_interface-curses-menus__adb.htm#ref_468_29">Men</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_win.3x.html">menu_sub()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_378_13">Get_Sub_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_27"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_383_14" HREF="terminal_interface-curses-menus__adb.htm#ref_478_14">Scale</A></FONT> (<FONT COLOR=red><A NAME="ref_383_21" HREF="terminal_interface-curses-menus__adb.htm#ref_478_21">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                    <FONT COLOR=red><A NAME="ref_384_21" HREF="terminal_interface-curses-menus__adb.htm#ref_479_21">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                    <FONT COLOR=red><A NAME="ref_385_21" HREF="terminal_interface-curses-menus__adb.htm#ref_480_21">Columns</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_win.3x.html">scale_menu()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_383_14">Scale</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_cursor.3x.html">menu_cursor.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_28"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_394_14" HREF="terminal_interface-curses-menus__adb.htm#ref_497_14">Position_Cursor</A></FONT> (<FONT COLOR=red><A NAME="ref_394_31" HREF="terminal_interface-curses-menus__adb.htm#ref_497_31">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_cursor.3x.html">pos_menu_cursor()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_394_14">Position_Cursor</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_29"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_403_14" HREF="terminal_interface-curses-menus__adb.htm#ref_510_14">Set_Mark</A></FONT> (<FONT COLOR=red><A NAME="ref_403_24" HREF="terminal_interface-curses-menus__adb.htm#ref_510_24">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                       <FONT COLOR=red><A NAME="ref_404_24" HREF="terminal_interface-curses-menus__adb.htm#ref_511_24">Mark</A></FONT> : <b>in</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_mark.3x.html">set_menu_mark()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_403_14">Set_Mark</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_30"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_409_14" HREF="terminal_interface-curses-menus__adb.htm#ref_529_14">Mark</A></FONT> (<FONT COLOR=red><A NAME="ref_409_20" HREF="terminal_interface-curses-menus__adb.htm#ref_529_20">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                   <FONT COLOR=red><A NAME="ref_410_20" HREF="terminal_interface-curses-menus__adb.htm#ref_530_20">Mark</A></FONT> : <b>out</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></EM></FONT>
+
+   <b>function</b>  <FONT COLOR=red><A NAME="ref_413_14" HREF="terminal_interface-curses-menus__adb.htm#ref_538_13">Mark</A></FONT> (<FONT COLOR=red><A NAME="ref_413_20" HREF="terminal_interface-curses-menus__adb.htm#ref_538_19">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> String;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Implemented as function</EM></FONT>
+   <b>pragma</b> Inline (Mark);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_31"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_423_14" HREF="terminal_interface-curses-menus__adb.htm#ref_547_14">Set_Foreground</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_424_7" HREF="terminal_interface-curses-menus__adb.htm#ref_548_7">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+      <FONT COLOR=red><A NAME="ref_425_7" HREF="terminal_interface-curses-menus__adb.htm#ref_549_7">Fore</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_426_7" HREF="terminal_interface-curses-menus__adb.htm#ref_550_7">Color</A></FONT> : <b>in</b> <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);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_fore()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_423_14">Set_Foreground</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_32"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_431_14" HREF="terminal_interface-curses-menus__adb.htm#ref_566_14">Foreground</A></FONT> (<FONT COLOR=red><A NAME="ref_431_26" HREF="terminal_interface-curses-menus__adb.htm#ref_566_26">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_432_26" HREF="terminal_interface-curses-menus__adb.htm#ref_567_26">Fore</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_33"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_436_14" HREF="terminal_interface-curses-menus__adb.htm#ref_575_14">Foreground</A></FONT> (<FONT COLOR=red><A NAME="ref_436_26" HREF="terminal_interface-curses-menus__adb.htm#ref_575_26">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_437_26" HREF="terminal_interface-curses-menus__adb.htm#ref_576_26">Fore</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+                         <FONT COLOR=red><A NAME="ref_438_26" HREF="terminal_interface-curses-menus__adb.htm#ref_577_26">Color</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></EM></FONT>
+   <b>pragma</b> Inline (Foreground);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_34"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_443_14" HREF="terminal_interface-curses-menus__adb.htm#ref_586_14">Set_Background</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_444_7" HREF="terminal_interface-curses-menus__adb.htm#ref_587_7">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+      <FONT COLOR=red><A NAME="ref_445_7" HREF="terminal_interface-curses-menus__adb.htm#ref_588_7">Back</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_446_7" HREF="terminal_interface-curses-menus__adb.htm#ref_589_7">Color</A></FONT> : <b>in</b> <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);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_back()</A></EM></FONT>
+   <b>pragma</b> Inline (Set_Background);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_35"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_451_14" HREF="terminal_interface-curses-menus__adb.htm#ref_605_14">Background</A></FONT> (<FONT COLOR=red><A NAME="ref_451_26" HREF="terminal_interface-curses-menus__adb.htm#ref_605_26">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_452_26" HREF="terminal_interface-curses-menus__adb.htm#ref_606_26">Back</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_36"#2|</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_456_14" HREF="terminal_interface-curses-menus__adb.htm#ref_614_14">Background</A></FONT> (<FONT COLOR=red><A NAME="ref_456_26" HREF="terminal_interface-curses-menus__adb.htm#ref_614_26">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_457_26" HREF="terminal_interface-curses-menus__adb.htm#ref_615_26">Back</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+                         <FONT COLOR=red><A NAME="ref_458_26" HREF="terminal_interface-curses-menus__adb.htm#ref_616_26">Color</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></EM></FONT>
+   <b>pragma</b> Inline (Background);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_37"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_463_14" HREF="terminal_interface-curses-menus__adb.htm#ref_625_14">Set_Grey</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_464_7" HREF="terminal_interface-curses-menus__adb.htm#ref_625_24">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+      <FONT COLOR=red><A NAME="ref_465_7" HREF="terminal_interface-curses-menus__adb.htm#ref_626_24">Grey</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_466_7" HREF="terminal_interface-curses-menus__adb.htm#ref_627_24">Color</A></FONT> : <b>in</b> <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);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_grey()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_463_14">Set_Grey</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_38"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_471_14" HREF="terminal_interface-curses-menus__adb.htm#ref_644_14">Grey</A></FONT> (<FONT COLOR=red><A NAME="ref_471_20" HREF="terminal_interface-curses-menus__adb.htm#ref_644_20">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                   <FONT COLOR=red><A NAME="ref_472_20" HREF="terminal_interface-curses-menus__adb.htm#ref_645_20">Grey</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_39"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_476_14" HREF="terminal_interface-curses-menus__adb.htm#ref_653_14">Grey</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_477_7" HREF="terminal_interface-curses-menus__adb.htm#ref_653_20">Men</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+      <FONT COLOR=red><A NAME="ref_478_7" HREF="terminal_interface-curses-menus__adb.htm#ref_654_20">Grey</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+      <FONT COLOR=red><A NAME="ref_479_7" HREF="terminal_interface-curses-menus__adb.htm#ref_655_20">Color</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></EM></FONT>
+   <b>pragma</b> Inline (Grey);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_40"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_484_14" HREF="terminal_interface-curses-menus__adb.htm#ref_664_14">Set_Pad_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_484_33" HREF="terminal_interface-curses-menus__adb.htm#ref_664_33">Men</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                                <FONT COLOR=red><A NAME="ref_485_33" HREF="terminal_interface-curses-menus__adb.htm#ref_665_33">Pad</A></FONT> : <b>in</b> Character := Space);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_pad()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_484_14">Set_Pad_Character</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_41"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_490_14" HREF="terminal_interface-curses-menus__adb.htm#ref_679_14">Pad_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_490_29" HREF="terminal_interface-curses-menus__adb.htm#ref_679_29">Men</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                            <FONT COLOR=red><A NAME="ref_491_29" HREF="terminal_interface-curses-menus__adb.htm#ref_680_29">Pad</A></FONT> : <b>out</b> Character);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_pad()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_490_14">Pad_Character</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_spacing.3x.html">menu_spacing.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_42"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_500_14" HREF="terminal_interface-curses-menus__adb.htm#ref_688_14">Set_Spacing</A></FONT> (<FONT COLOR=red><A NAME="ref_500_27" HREF="terminal_interface-curses-menus__adb.htm#ref_688_27">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                          <FONT COLOR=red><A NAME="ref_501_27" HREF="terminal_interface-curses-menus__adb.htm#ref_689_27">Descr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := 0;
+                          <FONT COLOR=red><A NAME="ref_502_27" HREF="terminal_interface-curses-menus__adb.htm#ref_690_27">Row</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>   := 0;
+                          <FONT COLOR=red><A NAME="ref_503_27" HREF="terminal_interface-curses-menus__adb.htm#ref_691_27">Col</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := 0);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_spacing.3x.html">set_menu_spacing()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_500_14">Set_Spacing</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_43"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_508_14" HREF="terminal_interface-curses-menus__adb.htm#ref_707_14">Spacing</A></FONT> (<FONT COLOR=red><A NAME="ref_508_23" HREF="terminal_interface-curses-menus__adb.htm#ref_707_23">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                      <FONT COLOR=red><A NAME="ref_509_23" HREF="terminal_interface-curses-menus__adb.htm#ref_708_23">Descr</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                      <FONT COLOR=red><A NAME="ref_510_23" HREF="terminal_interface-curses-menus__adb.htm#ref_709_23">Row</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                      <FONT COLOR=red><A NAME="ref_511_23" HREF="terminal_interface-curses-menus__adb.htm#ref_710_23">Col</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_spacing.3x.html">menu_spacing()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_508_14">Spacing</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_44"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_520_13" HREF="terminal_interface-curses-menus__adb.htm#ref_732_13">Set_Pattern</A></FONT> (<FONT COLOR=red><A NAME="ref_520_26" HREF="terminal_interface-curses-menus__adb.htm#ref_732_26">Men</A></FONT>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_521_26" HREF="terminal_interface-curses-menus__adb.htm#ref_733_26">Text</A></FONT> : String) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_pattern.3x.html">set_menu_pattern()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Return TRUE if the pattern matches, FALSE otherwise</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_520_13">Set_Pattern</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_45"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_527_14" HREF="terminal_interface-curses-menus__adb.htm#ref_755_14">Pattern</A></FONT> (<FONT COLOR=red><A NAME="ref_527_23" HREF="terminal_interface-curses-menus__adb.htm#ref_755_23">Men</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                      <FONT COLOR=red><A NAME="ref_528_23" HREF="terminal_interface-curses-menus__adb.htm#ref_756_23">Text</A></FONT> : <b>out</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_pattern.3x.html">menu_pattern()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_527_14">Pattern</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_format.3x.html">menu_format.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_46"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_537_14" HREF="terminal_interface-curses-menus__adb.htm#ref_764_14">Set_Format</A></FONT> (<FONT COLOR=red><A NAME="ref_537_26" HREF="terminal_interface-curses-menus__adb.htm#ref_764_26">Men</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                         <FONT COLOR=red><A NAME="ref_538_26" HREF="terminal_interface-curses-menus__adb.htm#ref_765_26">Lines</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                         <FONT COLOR=red><A NAME="ref_539_26" HREF="terminal_interface-curses-menus__adb.htm#ref_766_26">Columns</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>);
+   <FONT COLOR=green><EM>--  Not implemented: 0 argument for Lines or Columns;</EM></FONT>
+   <FONT COLOR=green><EM>--  instead use Format to get the current sizes</EM></FONT>
+   <FONT COLOR=green><EM>--      The  default  format  is  16  rows,  1  column.    Calling</EM></FONT>
+   <FONT COLOR=green><EM>--      set_menu_format  with a null menu pointer will change this</EM></FONT>
+   <FONT COLOR=green><EM>--      default.  A zero row or column argument to set_menu_format</EM></FONT>
+   <FONT COLOR=green><EM>--      is  interpreted  as  a  request  not to change the current</EM></FONT>
+   <FONT COLOR=green><EM>--      value.</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_format.3x.html">set_menu_format()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_537_14">Set_Format</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_47"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_551_14" HREF="terminal_interface-curses-menus__adb.htm#ref_782_14">Format</A></FONT> (<FONT COLOR=red><A NAME="ref_551_22" HREF="terminal_interface-curses-menus__adb.htm#ref_782_22">Men</A></FONT>     : <b>in</b>  <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                     <FONT COLOR=red><A NAME="ref_552_22" HREF="terminal_interface-curses-menus__adb.htm#ref_783_22">Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                     <FONT COLOR=red><A NAME="ref_553_22" HREF="terminal_interface-curses-menus__adb.htm#ref_784_22">Columns</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_format.3x.html">menu_format()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_551_14">Format</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_561_9">Menu_Hook_Function</A></FONT> <b>is</b> <b>access</b> <b>procedure</b> (<FONT COLOR=red><A NAME="ref_561_49">Men</A></FONT> : <b>in</b> <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_561_9">Menu_Hook_Function</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_48"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_565_14" HREF="terminal_interface-curses-menus__adb.htm#ref_802_14">Set_Item_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_565_34" HREF="terminal_interface-curses-menus__adb.htm#ref_802_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                                 <FONT COLOR=red><A NAME="ref_566_34" HREF="terminal_interface-curses-menus__adb.htm#ref_803_34">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_561_9">Menu_Hook_Function</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_init()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_565_14">Set_Item_Init_Hook</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_49"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_571_14" HREF="terminal_interface-curses-menus__adb.htm#ref_816_14">Set_Item_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_571_34" HREF="terminal_interface-curses-menus__adb.htm#ref_816_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                                 <FONT COLOR=red><A NAME="ref_572_34" HREF="terminal_interface-curses-menus__adb.htm#ref_817_34">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_561_9">Menu_Hook_Function</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_term()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_571_14">Set_Item_Term_Hook</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_50"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_577_14" HREF="terminal_interface-curses-menus__adb.htm#ref_830_14">Set_Menu_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_577_34" HREF="terminal_interface-curses-menus__adb.htm#ref_830_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                                 <FONT COLOR=red><A NAME="ref_578_34" HREF="terminal_interface-curses-menus__adb.htm#ref_831_34">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_561_9">Menu_Hook_Function</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_init()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_577_14">Set_Menu_Init_Hook</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_51"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_583_14" HREF="terminal_interface-curses-menus__adb.htm#ref_844_14">Set_Menu_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_583_34" HREF="terminal_interface-curses-menus__adb.htm#ref_844_34">Men</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                                 <FONT COLOR=red><A NAME="ref_584_34" HREF="terminal_interface-curses-menus__adb.htm#ref_845_34">Proc</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_561_9">Menu_Hook_Function</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_term()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_583_14">Set_Menu_Term_Hook</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_52"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_589_13" HREF="terminal_interface-curses-menus__adb.htm#ref_858_13">Get_Item_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_589_33" HREF="terminal_interface-curses-menus__adb.htm#ref_858_33">Men</A></FONT> : <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_561_9">Menu_Hook_Function</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">item_init()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_589_13">Get_Item_Init_Hook</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_53"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_594_13" HREF="terminal_interface-curses-menus__adb.htm#ref_866_13">Get_Item_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_594_33" HREF="terminal_interface-curses-menus__adb.htm#ref_866_33">Men</A></FONT> : <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_561_9">Menu_Hook_Function</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">item_term()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_594_13">Get_Item_Term_Hook</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_54"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_599_13" HREF="terminal_interface-curses-menus__adb.htm#ref_874_13">Get_Menu_Init_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_599_33" HREF="terminal_interface-curses-menus__adb.htm#ref_874_33">Men</A></FONT> : <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_561_9">Menu_Hook_Function</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">menu_init()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_599_13">Get_Menu_Init_Hook</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_55"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_604_13" HREF="terminal_interface-curses-menus__adb.htm#ref_882_13">Get_Menu_Term_Hook</A></FONT> (<FONT COLOR=red><A NAME="ref_604_33" HREF="terminal_interface-curses-menus__adb.htm#ref_882_33">Men</A></FONT> : <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_561_9">Menu_Hook_Function</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_hook.3x.html">menu_term()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_604_13">Get_Menu_Term_Hook</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_items.3x.html">menu_items.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_56"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_613_14" HREF="terminal_interface-curses-menus__adb.htm#ref_890_14">Redefine</A></FONT> (<FONT COLOR=red><A NAME="ref_613_24" HREF="terminal_interface-curses-menus__adb.htm#ref_890_24">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                       <FONT COLOR=red><A NAME="ref_614_24" HREF="terminal_interface-curses-menus__adb.htm#ref_891_24">Items</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_9">Item_Array_Access</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_items.3x.html">set_menu_items()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_613_14">Redefine</A>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_618_14">Set_Items</A></FONT> (<FONT COLOR=red><A NAME="ref_618_25">Men</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                        <FONT COLOR=red><A NAME="ref_619_25">Items</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_9">Item_Array_Access</A>) <b>renames</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_613_14">Redefine</A>;
+   <FONT COLOR=green><EM>--  pragma Inline (Set_Items);</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_57"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_623_13" HREF="terminal_interface-curses-menus__adb.htm#ref_918_13">Items</A></FONT> (<FONT COLOR=red><A NAME="ref_623_20" HREF="terminal_interface-curses-menus__adb.htm#ref_918_20">Men</A></FONT>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                   <FONT COLOR=red><A NAME="ref_624_20" HREF="terminal_interface-curses-menus__adb.htm#ref_919_20">Index</A></FONT> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_items.3x.html">menu_items()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_623_13">Items</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_58"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_629_13" HREF="terminal_interface-curses-menus__adb.htm#ref_910_13">Item_Count</A></FONT> (<FONT COLOR=red><A NAME="ref_629_25" HREF="terminal_interface-curses-menus__adb.htm#ref_910_25">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> Natural;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_items.3x.html">item_count()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-menus__ads.htm#ref_629_13">Item_Count</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_new.3x.html">menu_new.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_59"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_638_13" HREF="terminal_interface-curses-menus__adb.htm#ref_937_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_638_21" HREF="terminal_interface-curses-menus__adb.htm#ref_937_21">Items</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_new.3x.html">new_menu()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Not inlined</EM></FONT>
+
+   <b>function</b> New_Menu (<FONT COLOR=red><A NAME="ref_642_23">Items</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_178_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_638_13">Create</A>;
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_60"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_645_14" HREF="terminal_interface-curses-menus__adb.htm#ref_956_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_645_22" HREF="terminal_interface-curses-menus__adb.htm#ref_956_22">Men</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_new.3x.html">free_menu()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Reset Men to Null_Menu</EM></FONT>
+   <FONT COLOR=green><EM>--  Not inlined</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_654_9">Driver_Result</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_654_27">Menu_Ok</A></FONT>,
+                          <FONT COLOR=red><A NAME="ref_655_27">Request_Denied</A></FONT>,
+                          <FONT COLOR=red><A NAME="ref_656_27">Unknown_Request</A></FONT>,
+                          <FONT COLOR=red><A NAME="ref_657_27">No_Match</A></FONT>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_61"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_660_13" HREF="terminal_interface-curses-menus__adb.htm#ref_970_13">Driver</A></FONT> (<FONT COLOR=red><A NAME="ref_660_21" HREF="terminal_interface-curses-menus__adb.htm#ref_970_21">Men</A></FONT> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
+                    <FONT COLOR=red><A NAME="ref_661_21" HREF="terminal_interface-curses-menus__adb.htm#ref_971_21">Key</A></FONT> : <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_654_9">Driver_Result</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/menu_driver.3x.html">menu_driver()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Driver is not inlined</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_62"#2|</EM></FONT>
+   <FONT COLOR=green><EM>--  Not Implemented: menu_request_name, menu_request_by_name</EM></FONT>
+<FONT COLOR=green><EM>-------------------------------------------------------------------------------</EM></FONT>
+<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;
+
+   <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;
+
+<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>;
+</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
new file mode 100644
index 0000000..4e3a178
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-mouse__adb.htm
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-mouse.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-mouse.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                     Terminal_Interface.Curses.Mouse                      --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998-2004,2008 Free Software Foundation, Inc.              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.22 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:51:11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_46_40" HREF="terminal_interface-curses-mouse__ads.htm#ref_48_35">Mouse</A></FONT> <b>is</b>
+
+   <b>use</b> <b>type</b> System.Bit_Order;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_50_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_98_13">Has_Mouse</A></FONT> <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_52_16">Mouse_Avail</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Mouse_Avail, "_nc_has_mouse");
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_767_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>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_98_13">Has_Mouse</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_62_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_133_13">Get_Mouse</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A>
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_64_12">Event_Access</A></FONT> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A>;
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_66_16">Getmouse</A></FONT> (<FONT COLOR=red><A NAME="ref_66_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_66_16">Ev</A></FONT> : <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>pragma</b> Import (C, Getmouse, "getmouse");
+
+      <FONT COLOR=red><A NAME="ref_69_7">Event</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_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_383_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_133_13">Get_Mouse</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_77_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_101_14">Register_Reportable_Event</A></FONT> (<FONT COLOR=red><A NAME="ref_77_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_102_7">Button</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_9">Mouse_Button</A>;
+                                        <FONT COLOR=red><A NAME="ref_78_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_103_7">State</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_79_9">Button_State</A>;
+                                        <FONT COLOR=red><A NAME="ref_79_41" HREF="terminal_interface-curses-mouse__ads.htm#ref_104_7">Mask</A></FONT>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_81_7">Button_Nr</A></FONT> : <b>constant</b> Natural := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_102_7">Button</A>);
+      <FONT COLOR=red><A NAME="ref_82_7">State_Nr</A></FONT>  : <b>constant</b> Natural := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_79_9">Button_State</A>'Pos (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_103_7">State</A>);
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_102_7">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_77_12">Modifier_Keys</A> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_103_7">State</A> /= <A HREF="terminal_interface-curses-mouse__ads.htm#ref_80_26">Pressed</A> <b>then</b>
+         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>;
+      <b>else</b>
+         <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_102_7">Button</A> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_76_12">Real_Buttons</A> <b>then</b>
+            <A HREF="terminal_interface-curses-mouse__ads.htm#ref_104_7">Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_104_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>else</b>
+            <A HREF="terminal_interface-curses-mouse__ads.htm#ref_104_7">Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_104_7">Mask</A> <b>or</b> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_216_4">BUTTON_CTRL</A> ** (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_81_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_101_14">Register_Reportable_Event</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_95_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_110_14">Register_Reportable_Events</A></FONT> (<FONT COLOR=red><A NAME="ref_95_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_111_7">Button</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_9">Mouse_Button</A>;
+                                         <FONT COLOR=red><A NAME="ref_96_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_112_7">State</A></FONT>  : <b>in</b> Button_States;
+                                         <FONT COLOR=red><A NAME="ref_97_42" HREF="terminal_interface-curses-mouse__ads.htm#ref_113_7">Mask</A></FONT>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>)
+   <b>is</b>
+   <b>begin</b>
+      <b>for</b> <FONT COLOR=red><A NAME="ref_100_11">S</A></FONT> <b>in</b> Button_States'<b>Range</b> <b>loop</b>
+         <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_112_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_101_14">Register_Reportable_Event</A> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_111_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_113_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_110_14">Register_Reportable_Events</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_107_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_123_13">Start_Mouse</A></FONT> (<FONT COLOR=red><A NAME="ref_107_26" HREF="terminal_interface-curses-mouse__ads.htm#ref_123_26">Mask</A></FONT> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_66_4">All_Events</A>)
+                         <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_110_16">MMask</A></FONT> (<FONT COLOR=red><A NAME="ref_110_23" HREF="terminal_interface-curses-mouse__adb.htm#ref_110_16">M</A></FONT> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>;
+                      <FONT COLOR=red><A NAME="ref_111_23" HREF="terminal_interface-curses-mouse__adb.htm#ref_110_16">O</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>) <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>;
+      <b>pragma</b> Import (C, MMask, "mousemask");
+      <FONT COLOR=red><A NAME="ref_113_7">R</A></FONT>   : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>;
+      <FONT COLOR=red><A NAME="ref_114_7">Old</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_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_123_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_65_4">No_Events</A> <b>then</b>
+         <A HREF="terminal_interface-curses__ads.htm#ref_870_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_123_13">Start_Mouse</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_123_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_128_14">End_Mouse</A></FONT> (<FONT COLOR=red><A NAME="ref_123_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_128_25">Mask</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_65_4">No_Events</A>)
+   <b>is</b>
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_128_25">Mask</A> /= <A HREF="terminal_interface-curses-mouse__ads.htm#ref_65_4">No_Events</A> <b>then</b>
+         <A HREF="terminal_interface-curses__ads.htm#ref_870_14">Beep</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_128_14">End_Mouse</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_131_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_135_14">Dispatch_Event</A></FONT> (<FONT COLOR=red><A NAME="ref_131_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_135_30">Mask</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>;
+                             <FONT COLOR=red><A NAME="ref_132_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_136_30">Button</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_9">Mouse_Button</A>;
+                             <FONT COLOR=red><A NAME="ref_133_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_137_30">State</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_79_9">Button_State</A>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_135_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_131_14">Dispatch_Event</A></FONT> (<FONT COLOR=red><A NAME="ref_135_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_131_30">Mask</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>;
+                             <FONT COLOR=red><A NAME="ref_136_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_9">Mouse_Button</A>;
+                             <FONT COLOR=red><A NAME="ref_137_30" HREF="terminal_interface-curses-mouse__adb.htm#ref_133_30">State</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_79_9">Button_State</A>) <b>is</b>
+      <FONT COLOR=red><A NAME="ref_138_7">L</A></FONT> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_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_74_26">Alt</A>;  <FONT COLOR=green><EM>--  preset to non real button;</EM></FONT>
+      <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_221_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_68_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_222_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_69_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_223_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_70_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_224_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_71_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_76_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_68_9">Mouse_Button</A>'Pos (<A HREF="terminal_interface-curses-mouse__adb.htm#ref_132_30">Button</A>));
+         <b>for</b> <FONT COLOR=red><A NAME="ref_152_14">I</A></FONT> <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_79_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>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>;
+         <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_80_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_216_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_72_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_217_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_73_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_218_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_74_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>procedure</b> <FONT COLOR=red><A NAME="ref_171_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_137_14">Get_Event</A></FONT> (<FONT COLOR=red><A NAME="ref_171_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_137_25">Event</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A>;
+                        <FONT COLOR=red><A NAME="ref_172_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_138_25">Y</A></FONT>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                        <FONT COLOR=red><A NAME="ref_173_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_139_25">X</A></FONT>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                        <FONT COLOR=red><A NAME="ref_174_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_140_25">Button</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_9">Mouse_Button</A>;
+                        <FONT COLOR=red><A NAME="ref_175_25" HREF="terminal_interface-curses-mouse__ads.htm#ref_141_25">State</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_79_9">Button_State</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_177_7">Mask</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_137_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_174_10">Bstate</A>;
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-mouse__ads.htm#ref_139_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_137_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_172_10">X</A>);
+      <A HREF="terminal_interface-curses-mouse__ads.htm#ref_138_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_137_25">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_172_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_140_25">Button</A>, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_141_25">State</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_137_14">Get_Event</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_184_14" HREF="terminal_interface-curses-mouse__ads.htm#ref_149_14">Unget_Mouse</A></FONT> (<FONT COLOR=red><A NAME="ref_184_27" HREF="terminal_interface-curses-mouse__ads.htm#ref_149_27">Event</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_186_16">Ungetmouse</A></FONT> (<FONT COLOR=red><A NAME="ref_186_28" HREF="terminal_interface-curses-mouse__adb.htm#ref_186_16">Ev</A></FONT> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_149_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_149_14">Unget_Mouse</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_194_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_154_13">Enclosed_In_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_194_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_154_33">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                                <FONT COLOR=red><A NAME="ref_195_33" HREF="terminal_interface-curses-mouse__ads.htm#ref_155_33">Event</A></FONT>  : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A>) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_197_16">Wenclose</A></FONT> (<FONT COLOR=red><A NAME="ref_197_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_197_40" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">Y</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_197_51" HREF="terminal_interface-curses-mouse__adb.htm#ref_197_16">X</A></FONT> : <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_1926_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_154_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_155_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_172_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_155_33">Event</A>.<A HREF="terminal_interface-curses-mouse__ads.htm#ref_172_10">X</A>))
+        = <A HREF="terminal_interface-curses__ads.htm#ref_1927_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_154_13">Enclosed_In_Window</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_209_13" HREF="terminal_interface-curses-mouse__ads.htm#ref_161_13">Mouse_Interval</A></FONT> (<FONT COLOR=red><A NAME="ref_209_29" HREF="terminal_interface-curses-mouse__ads.htm#ref_161_29">Msec</A></FONT> : Natural := 200) <b>return</b> Natural
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_211_16">Mouseinterval</A></FONT> (<FONT COLOR=red><A NAME="ref_211_31" HREF="terminal_interface-curses-mouse__adb.htm#ref_211_16">Msec</A></FONT> : <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>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_161_29">Msec</A>)));
+   <b>end</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_161_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>;
+</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
new file mode 100644
index 0000000..608bd46
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-mouse__ads.htm
@@ -0,0 +1,235 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-mouse.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-mouse.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                      Terminal_Interface.Curses.Mouse                     --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc.              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.27 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2006/06/25 14:30:22 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  mouse binding.</EM></FONT>
+<FONT COLOR=green><EM>--  This module is generated. Please don't change it manually!</EM></FONT>
+<FONT COLOR=green><EM>--  Run the generator instead.</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_48_35" HREF="terminal_interface-curses-mouse__adb.htm#ref_46_40">Mouse</A></FONT> <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>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  Please note, that in ncurses-1.9.9e documentation mouse support</EM></FONT>
+   <FONT COLOR=green><EM>--  is still marked as experimental. So also this binding will change</EM></FONT>
+   <FONT COLOR=green><EM>--  if the ncurses methods change.</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=green><EM>--  mouse_trafo, wmouse_trafo are implemented as Transform_Coordinates</EM></FONT>
+   <FONT COLOR=green><EM>--  in the parent package.</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=green><EM>--  Not implemented:</EM></FONT>
+   <FONT COLOR=green><EM>--  REPORT_MOUSE_POSITION (i.e. as a parameter to Register_Reportable_Event</EM></FONT>
+   <FONT COLOR=green><EM>--  or Start_Mouse)</EM></FONT>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_64_9">Event_Mask</A></FONT> <b>is</b> <b>private</b>;
+   <FONT COLOR=red><A NAME="ref_65_4">No_Events</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>;
+   <FONT COLOR=red><A NAME="ref_66_4">All_Events</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_68_9">Mouse_Button</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_68_26">Left</A></FONT>,     <FONT COLOR=green><EM>-- aka: Button 1</EM></FONT>
+                         <FONT COLOR=red><A NAME="ref_69_26">Middle</A></FONT>,   <FONT COLOR=green><EM>-- aka: Button 2</EM></FONT>
+                         <FONT COLOR=red><A NAME="ref_70_26">Right</A></FONT>,    <FONT COLOR=green><EM>-- aka: Button 3</EM></FONT>
+                         <FONT COLOR=red><A NAME="ref_71_26">Button4</A></FONT>,  <FONT COLOR=green><EM>-- aka: Button 4</EM></FONT>
+                         <FONT COLOR=red><A NAME="ref_72_26">Control</A></FONT>,  <FONT COLOR=green><EM>-- Control Key</EM></FONT>
+                         <FONT COLOR=red><A NAME="ref_73_26">Shift</A></FONT>,    <FONT COLOR=green><EM>-- Shift Key</EM></FONT>
+                         <FONT COLOR=red><A NAME="ref_74_26">Alt</A></FONT>);     <FONT COLOR=green><EM>-- ALT Key</EM></FONT>
+
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_76_12">Real_Buttons</A></FONT>  <b>is</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_9">Mouse_Button</A> <b>range</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_26">Left</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_71_26">Button4</A>;
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_77_12">Modifier_Keys</A></FONT> <b>is</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_9">Mouse_Button</A> <b>range</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_72_26">Control</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_74_26">Alt</A>;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_79_9">Button_State</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_79_26">Released</A></FONT>,
+                         <FONT COLOR=red><A NAME="ref_80_26">Pressed</A></FONT>,
+                         <FONT COLOR=red><A NAME="ref_81_26">Clicked</A></FONT>,
+                         <FONT COLOR=red><A NAME="ref_82_26">Double_Clicked</A></FONT>,
+                         <FONT COLOR=red><A NAME="ref_83_26">Triple_Clicked</A></FONT>);
+
+   <b>type</b> Button_States <b>is</b> <b>array</b> (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_79_9">Button_State</A>) <b>of</b> Boolean;
+   <b>pragma</b> Pack (Button_States);
+
+   <FONT COLOR=red><A NAME="ref_88_4">All_Clicks</A></FONT> : <b>constant</b> Button_States := (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_81_26">Clicked</A> .. <A HREF="terminal_interface-curses-mouse__ads.htm#ref_83_26">Triple_Clicked</A> =&gt; True,
+                                           <b>others</b> =&gt; False);
+   <FONT COLOR=red><A NAME="ref_90_4">All_States</A></FONT> : <b>constant</b> Button_States := (<b>others</b> =&gt; True);
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_92_9">Mouse_Event</A></FONT> <b>is</b> <b>private</b>;
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_mouse.3x.html">curs_mouse.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_98_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_50_13">Has_Mouse</A></FONT> <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  Return true if a mouse device is supported, false otherwise.</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_101_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_77_14">Register_Reportable_Event</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_102_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_77_41">Button</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_9">Mouse_Button</A>;
+      <FONT COLOR=red><A NAME="ref_103_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_78_41">State</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_79_9">Button_State</A>;
+      <FONT COLOR=red><A NAME="ref_104_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_79_41">Mask</A></FONT>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>);
+   <FONT COLOR=green><EM>--  Stores the event described by the button and the state in the mask.</EM></FONT>
+   <FONT COLOR=green><EM>--  Before you call this the first time, you should init the mask</EM></FONT>
+   <FONT COLOR=green><EM>--  with the Empty_Mask constant</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_101_14">Register_Reportable_Event</A>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_110_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_95_14">Register_Reportable_Events</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_111_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_95_42">Button</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_9">Mouse_Button</A>;
+      <FONT COLOR=red><A NAME="ref_112_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_96_42">State</A></FONT>  : <b>in</b> Button_States;
+      <FONT COLOR=red><A NAME="ref_113_7" HREF="terminal_interface-curses-mouse__adb.htm#ref_97_42">Mask</A></FONT>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>);
+   <FONT COLOR=green><EM>--  Register all events described by the Button and the State bitmap.</EM></FONT>
+   <FONT COLOR=green><EM>--  Before you call this the first time, you should init the mask</EM></FONT>
+   <FONT COLOR=green><EM>--  with the Empty_Mask constant</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
+   <FONT COLOR=green><EM>--  There is one difference to mousmask(): we return the value of the</EM></FONT>
+   <FONT COLOR=green><EM>--  old mask, that means the event mask value before this call.</EM></FONT>
+   <FONT COLOR=green><EM>--  Not Implemented: The library version</EM></FONT>
+   <FONT COLOR=green><EM>--  returns a Mouse_Mask that tells which events are reported.</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_123_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_107_13">Start_Mouse</A></FONT> (<FONT COLOR=red><A NAME="ref_123_26" HREF="terminal_interface-curses-mouse__adb.htm#ref_107_26">Mask</A></FONT> : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_66_4">All_Events</A>)
+                         <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_mouse.3x.html">mousemask()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_123_13">Start_Mouse</A>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_128_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_123_14">End_Mouse</A></FONT> (<FONT COLOR=red><A NAME="ref_128_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_123_25">Mask</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_65_4">No_Events</A>);
+   <FONT COLOR=green><EM>--  Terminates the mouse, restores the specified event mask</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_128_14">End_Mouse</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_133_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_62_13">Get_Mouse</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_mouse.3x.html">getmouse()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_133_13">Get_Mouse</A>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_137_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_171_14">Get_Event</A></FONT> (<FONT COLOR=red><A NAME="ref_137_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_171_25">Event</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A>;
+                        <FONT COLOR=red><A NAME="ref_138_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_172_25">Y</A></FONT>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                        <FONT COLOR=red><A NAME="ref_139_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_173_25">X</A></FONT>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                        <FONT COLOR=red><A NAME="ref_140_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_174_25">Button</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_68_9">Mouse_Button</A>;
+                        <FONT COLOR=red><A NAME="ref_141_25" HREF="terminal_interface-curses-mouse__adb.htm#ref_175_25">State</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_79_9">Button_State</A>);
+   <FONT COLOR=green><EM>--  !!! Warning: X and Y are screen coordinates. Due to ripped of lines they</EM></FONT>
+   <FONT COLOR=green><EM>--  may not be identical to window coordinates.</EM></FONT>
+   <FONT COLOR=green><EM>--  Not Implemented: Get_Event only reports one event, the C library</EM></FONT>
+   <FONT COLOR=green><EM>--  version supports multiple events, e.g. {click-1, click-3}</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_137_14">Get_Event</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_3"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_149_14" HREF="terminal_interface-curses-mouse__adb.htm#ref_184_14">Unget_Mouse</A></FONT> (<FONT COLOR=red><A NAME="ref_149_27" HREF="terminal_interface-curses-mouse__adb.htm#ref_184_27">Event</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_mouse.3x.html">ungetmouse()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_149_14">Unget_Mouse</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_4"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_154_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_194_13">Enclosed_In_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_154_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_194_33">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                                <FONT COLOR=red><A NAME="ref_155_33" HREF="terminal_interface-curses-mouse__adb.htm#ref_195_33">Event</A></FONT>  : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_mouse.3x.html">wenclose()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  But : use event instead of screen coordinates.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_154_13">Enclosed_In_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_5"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_161_13" HREF="terminal_interface-curses-mouse__adb.htm#ref_209_13">Mouse_Interval</A></FONT> (<FONT COLOR=red><A NAME="ref_161_29" HREF="terminal_interface-curses-mouse__adb.htm#ref_209_29">Msec</A></FONT> : Natural := 200) <b>return</b> Natural;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_mouse.3x.html">mouseinterval()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-mouse__ads.htm#ref_161_13">Mouse_Interval</A>);
+
+<b>private</b>
+   <b>type</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> <b>is</b> <b>new</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.unsigned_long;
+
+   <b>type</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A> <b>is</b>
+      <b>record</b>
+         <FONT COLOR=red><A NAME="ref_170_10">Id</A></FONT>      : 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);
+         <FONT COLOR=red><A NAME="ref_172_10">X</A></FONT>, <FONT COLOR=red><A NAME="ref_172_13">Y</A></FONT>, <FONT COLOR=red><A NAME="ref_172_16">Z</A></FONT> : 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);
+         <FONT COLOR=red><A NAME="ref_174_10">Bstate</A></FONT>  : <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A>;
+      <b>end</b> <b>record</b>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A>);
+
+   <b>for</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_92_9">Mouse_Event</A> <b>use</b>
+      <b>record</b>
+         <A HREF="terminal_interface-curses-mouse__ads.htm#ref_170_10">Id</A>      <b>at</b> 0 <b>range</b>   0 ..  15;
+         <A HREF="terminal_interface-curses-mouse__ads.htm#ref_172_10">X</A>       <b>at</b> 0 <b>range</b>  32 ..  63;
+         <A HREF="terminal_interface-curses-mouse__ads.htm#ref_172_13">Y</A>       <b>at</b> 0 <b>range</b>  64 ..  95;
+         <A HREF="terminal_interface-curses-mouse__ads.htm#ref_172_16">Z</A>       <b>at</b> 0 <b>range</b>  96 .. 127;
+         <A HREF="terminal_interface-curses-mouse__ads.htm#ref_174_10">Bstate</A>  <b>at</b> 0 <b>range</b> 128 .. 159;
+      <b>end</b> <b>record</b>;
+      <FONT COLOR=green><EM>--  Please note: this rep. clause is generated and may be</EM></FONT>
+      <FONT COLOR=green><EM>--               different on your system.</EM></FONT>
+
+   <FONT COLOR=red><A NAME="ref_189_4">Generation_Bit_Order</A></FONT> : <b>constant</b> System.Bit_Order := System.Low_Order_First;
+   <FONT COLOR=green><EM>--  This constant may be different on your system.</EM></FONT>
+
+   <FONT COLOR=red><A NAME="ref_192_4">BUTTON1_RELEASED</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000000001#;
+   <FONT COLOR=red><A NAME="ref_193_4">BUTTON1_PRESSED</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000000002#;
+   <FONT COLOR=red><A NAME="ref_194_4">BUTTON1_CLICKED</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000000004#;
+   <FONT COLOR=red><A NAME="ref_195_4">BUTTON1_DOUBLE_CLICKED</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000000010#;
+   <FONT COLOR=red><A NAME="ref_196_4">BUTTON1_TRIPLE_CLICKED</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000000020#;
+   <FONT COLOR=red><A NAME="ref_197_4">BUTTON1_RESERVED_EVENT</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000000040#;
+   <FONT COLOR=red><A NAME="ref_198_4">BUTTON2_RELEASED</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000000100#;
+   <FONT COLOR=red><A NAME="ref_199_4">BUTTON2_PRESSED</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000000200#;
+   <FONT COLOR=red><A NAME="ref_200_4">BUTTON2_CLICKED</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000000400#;
+   <FONT COLOR=red><A NAME="ref_201_4">BUTTON2_DOUBLE_CLICKED</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000001000#;
+   <FONT COLOR=red><A NAME="ref_202_4">BUTTON2_TRIPLE_CLICKED</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000002000#;
+   <FONT COLOR=red><A NAME="ref_203_4">BUTTON2_RESERVED_EVENT</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000004000#;
+   <FONT COLOR=red><A NAME="ref_204_4">BUTTON3_RELEASED</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000010000#;
+   <FONT COLOR=red><A NAME="ref_205_4">BUTTON3_PRESSED</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000020000#;
+   <FONT COLOR=red><A NAME="ref_206_4">BUTTON3_CLICKED</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000040000#;
+   <FONT COLOR=red><A NAME="ref_207_4">BUTTON3_DOUBLE_CLICKED</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000100000#;
+   <FONT COLOR=red><A NAME="ref_208_4">BUTTON3_TRIPLE_CLICKED</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000200000#;
+   <FONT COLOR=red><A NAME="ref_209_4">BUTTON3_RESERVED_EVENT</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000400000#;
+   <FONT COLOR=red><A NAME="ref_210_4">BUTTON4_RELEASED</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00001000000#;
+   <FONT COLOR=red><A NAME="ref_211_4">BUTTON4_PRESSED</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00002000000#;
+   <FONT COLOR=red><A NAME="ref_212_4">BUTTON4_CLICKED</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00004000000#;
+   <FONT COLOR=red><A NAME="ref_213_4">BUTTON4_DOUBLE_CLICKED</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00010000000#;
+   <FONT COLOR=red><A NAME="ref_214_4">BUTTON4_TRIPLE_CLICKED</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00020000000#;
+   <FONT COLOR=red><A NAME="ref_215_4">BUTTON4_RESERVED_EVENT</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00040000000#;
+   <FONT COLOR=red><A NAME="ref_216_4">BUTTON_CTRL</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00100000000#;
+   <FONT COLOR=red><A NAME="ref_217_4">BUTTON_SHIFT</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00200000000#;
+   <FONT COLOR=red><A NAME="ref_218_4">BUTTON_ALT</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00400000000#;
+   <FONT COLOR=red><A NAME="ref_219_4">REPORT_MOUSE_POSITION</A></FONT>     : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#01000000000#;
+   <FONT COLOR=red><A NAME="ref_220_4">ALL_MOUSE_EVENTS</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00777777777#;
+   <FONT COLOR=red><A NAME="ref_221_4">BUTTON1_EVENTS</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000000077#;
+   <FONT COLOR=red><A NAME="ref_222_4">BUTTON2_EVENTS</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000007700#;
+   <FONT COLOR=red><A NAME="ref_223_4">BUTTON3_EVENTS</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00000770000#;
+   <FONT COLOR=red><A NAME="ref_224_4">BUTTON4_EVENTS</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 8#00077000000#;
+
+   <A HREF="terminal_interface-curses-mouse__ads.htm#ref_65_4">No_Events</A>  : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := 0;
+   <A HREF="terminal_interface-curses-mouse__ads.htm#ref_66_4">All_Events</A> : <b>constant</b> <A HREF="terminal_interface-curses-mouse__ads.htm#ref_64_9">Event_Mask</A> := <A HREF="terminal_interface-curses-mouse__ads.htm#ref_220_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>;
+</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
new file mode 100644
index 0000000..106a924
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-panels-user_data__adb.htm
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-panels-user_data.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-panels-user_data.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                 Terminal_Interface.Curses.Panels.User_Data               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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_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>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>.<FONT COLOR=red><A NAME="ref_47_47" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Data</A></FONT> <b>is</b>
+
+   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_51_14" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_14">Set_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_51_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_29">Pan</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+                            <FONT COLOR=red><A NAME="ref_52_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_54_29">Data</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_54_16">Set_Panel_Userptr</A></FONT> (<FONT COLOR=red><A NAME="ref_54_35" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_54_16">Pan</A></FONT>  : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+                                  <FONT COLOR=red><A NAME="ref_55_35" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_54_16">Addr</A></FONT> : <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>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>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> <FONT COLOR=red><A NAME="ref_63_13" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_13">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_63_28" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_64_28">Pan</A></FONT>  : <b>in</b>  <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_65_16">Panel_Userptr</A></FONT> (<FONT COLOR=red><A NAME="ref_65_31" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_65_16">Pan</A></FONT> : <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>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> <FONT COLOR=red><A NAME="ref_71_14" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_59_14">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_71_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_59_29">Pan</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+                            <FONT COLOR=red><A NAME="ref_72_29" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_60_29">Data</A></FONT> : <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>;
+</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
new file mode 100644
index 0000000..c6b8fd4
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-panels-user_data__ads.htm
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-panels-user_data.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-panels-user_data.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                 Terminal_Interface.Curses.Panels.User_Data               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.14 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+<b>generic</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_43_9" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User</A></FONT> <b>is</b> <b>limited</b> <b>private</b>;
+   <b>type</b> <FONT COLOR=red><A NAME="ref_44_9" HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_45_42">User_Access</A></FONT> <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>.<FONT COLOR=red><A NAME="ref_45_42" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_47_47">User_Data</A></FONT> <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>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/panel.3x.html">panel.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_53_14" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_51_14">Set_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_53_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_51_29">Pan</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+                            <FONT COLOR=red><A NAME="ref_54_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_52_29">Data</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">set_panel_userptr</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_53_14">Set_User_Data</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_59_14" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_71_14">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_59_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_71_29">Pan</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+                            <FONT COLOR=red><A NAME="ref_60_29" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_72_29">Data</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses-panels-user_data__ads.htm#ref_44_9">User_Access</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">panel_userptr</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_3"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_64_13" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_63_13">Get_User_Data</A></FONT> (<FONT COLOR=red><A NAME="ref_64_28" HREF="terminal_interface-curses-panels-user_data__adb.htm#ref_63_28">Pan</A></FONT>  : <b>in</b>  <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">panel_userptr</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Same as function</EM></FONT>
+   <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>;
+</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
new file mode 100644
index 0000000..ff5a1bb
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-panels__adb.htm
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-panels.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-panels.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                      Terminal_Interface.Curses.Panels                    --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2004 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.13 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2004/08/21 21:37:00 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_45_40" HREF="terminal_interface-curses-panels__ads.htm#ref_44_35">Panels</A></FONT> <b>is</b>
+
+   <b>use</b> <b>type</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.int;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_49_13" HREF="terminal_interface-curses-panels__ads.htm#ref_67_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_49_21" HREF="terminal_interface-curses-panels__ads.htm#ref_67_21">Win</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_51_16">Newpanel</A></FONT> (<FONT COLOR=red><A NAME="ref_51_26" HREF="terminal_interface-curses-panels__adb.htm#ref_51_16">Win</A></FONT> : <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>pragma</b> Import (C, Newpanel, "new_panel");
+
+      <FONT COLOR=red><A NAME="ref_54_7">Pan</A></FONT> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_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>;
+      <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>procedure</b> <FONT COLOR=red><A NAME="ref_63_14" HREF="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</A></FONT> (<FONT COLOR=red><A NAME="ref_63_22" HREF="terminal_interface-curses-panels__ads.htm#ref_77_22">Pan</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_65_16">Bottompanel</A></FONT> (<FONT COLOR=red><A NAME="ref_65_29" HREF="terminal_interface-curses-panels__adb.htm#ref_65_16">Pan</A></FONT> : <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>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>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_73_14" HREF="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</A></FONT> (<FONT COLOR=red><A NAME="ref_73_19" HREF="terminal_interface-curses-panels__ads.htm#ref_82_19">Pan</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_75_16">Toppanel</A></FONT> (<FONT COLOR=red><A NAME="ref_75_26" HREF="terminal_interface-curses-panels__adb.htm#ref_75_16">Pan</A></FONT> : <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>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>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_83_14" HREF="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</A></FONT> (<FONT COLOR=red><A NAME="ref_83_20" HREF="terminal_interface-curses-panels__ads.htm#ref_87_20">Pan</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_85_16">Showpanel</A></FONT> (<FONT COLOR=red><A NAME="ref_85_27" HREF="terminal_interface-curses-panels__adb.htm#ref_85_16">Pan</A></FONT> : <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>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>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_93_14" HREF="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</A></FONT> (<FONT COLOR=red><A NAME="ref_93_20" HREF="terminal_interface-curses-panels__ads.htm#ref_97_20">Pan</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_95_16">Hidepanel</A></FONT> (<FONT COLOR=red><A NAME="ref_95_27" HREF="terminal_interface-curses-panels__adb.htm#ref_95_16">Pan</A></FONT> : <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>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>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_103_13" HREF="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_103_25" HREF="terminal_interface-curses-panels__ads.htm#ref_102_25">Pan</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_105_16">Panel_Win</A></FONT> (<FONT COLOR=red><A NAME="ref_105_27" HREF="terminal_interface-curses-panels__adb.htm#ref_105_16">Pan</A></FONT> : <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>pragma</b> Import (C, Panel_Win, "panel_window");
+
+      <FONT COLOR=red><A NAME="ref_108_7">Win</A></FONT> : <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>);
+   <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>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>procedure</b> <FONT COLOR=red><A NAME="ref_116_14" HREF="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</A></FONT> (<FONT COLOR=red><A NAME="ref_116_23" HREF="terminal_interface-curses-panels__ads.htm#ref_111_23">Pan</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+                      <FONT COLOR=red><A NAME="ref_117_23" HREF="terminal_interface-curses-panels__ads.htm#ref_112_23">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_119_16">Replace_Pan</A></FONT> (<FONT COLOR=red><A NAME="ref_119_29" HREF="terminal_interface-curses-panels__adb.htm#ref_119_16">Pan</A></FONT> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+                            <FONT COLOR=red><A NAME="ref_120_29" HREF="terminal_interface-curses-panels__adb.htm#ref_119_16">Win</A></FONT> : <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>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>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_128_14" HREF="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</A></FONT> (<FONT COLOR=red><A NAME="ref_128_20" HREF="terminal_interface-curses-panels__ads.htm#ref_117_20">Pan</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+                   <FONT COLOR=red><A NAME="ref_129_20" HREF="terminal_interface-curses-panels__ads.htm#ref_118_20">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_130_20" HREF="terminal_interface-curses-panels__ads.htm#ref_119_20">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_132_16">Move</A></FONT> (<FONT COLOR=red><A NAME="ref_132_22" HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Pan</A></FONT>    : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+                     <FONT COLOR=red><A NAME="ref_133_22" HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Line</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                     <FONT COLOR=red><A NAME="ref_134_22" HREF="terminal_interface-curses-panels__adb.htm#ref_132_16">Column</A></FONT> : <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>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>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_142_13" HREF="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</A></FONT> (<FONT COLOR=red><A NAME="ref_142_24" HREF="terminal_interface-curses-panels__ads.htm#ref_124_24">Pan</A></FONT> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_144_16">Panel_Hidden</A></FONT> (<FONT COLOR=red><A NAME="ref_144_30" HREF="terminal_interface-curses-panels__adb.htm#ref_144_16">Pan</A></FONT> : <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>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>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>procedure</b> <FONT COLOR=red><A NAME="ref_154_14" HREF="terminal_interface-curses-panels__ads.htm#ref_139_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_154_22" HREF="terminal_interface-curses-panels__ads.htm#ref_139_22">Pan</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_156_16">Del_Panel</A></FONT> (<FONT COLOR=red><A NAME="ref_156_27" HREF="terminal_interface-curses-panels__adb.htm#ref_156_16">Pan</A></FONT> : <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>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>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>;
+
+<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>;
+</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
new file mode 100644
index 0000000..9ee9370
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-panels__ads.htm
@@ -0,0 +1,153 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-panels.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-panels.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                      Terminal_Interface.Curses.Panels                    --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2006 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.19 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2006/06/25 14:30:22 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_44_35" HREF="terminal_interface-curses-panels__adb.htm#ref_45_40">Panels</A></FONT> <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 ("-lpanelw");
+   <b>pragma</b> Linker_Options ("-lncursesw");
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_49_9">Panel</A></FONT> <b>is</b> <b>private</b>;
+
+   <FONT COLOR=green><EM>---------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  Interface constants  --</EM></FONT>
+   <FONT COLOR=green><EM>---------------------------</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_54_4">Null_Panel</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+
+   <FONT COLOR=green><EM>-------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  Exceptions   --</EM></FONT>
+   <FONT COLOR=green><EM>-------------------</EM></FONT>
+
+   <FONT COLOR=red><A NAME="ref_60_4">Panel_Exception</A></FONT> : <b>exception</b>;
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/panel.3x.html">panel.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_67_13" HREF="terminal_interface-curses-panels__adb.htm#ref_49_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_67_21" HREF="terminal_interface-curses-panels__adb.htm#ref_49_21">Win</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">new_panel()</A></EM></FONT>
+   <b>pragma</b> Inline (Create);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
+   <b>function</b> New_Panel (<FONT COLOR=red><A NAME="ref_72_24">Win</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">new_panel()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  pragma Inline (New_Panel);</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_3"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_77_14" HREF="terminal_interface-curses-panels__adb.htm#ref_63_14">Bottom</A></FONT> (<FONT COLOR=red><A NAME="ref_77_22" HREF="terminal_interface-curses-panels__adb.htm#ref_63_22">Pan</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">bottom_panel()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_77_14">Bottom</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_4"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_82_14" HREF="terminal_interface-curses-panels__adb.htm#ref_73_14">Top</A></FONT> (<FONT COLOR=red><A NAME="ref_82_19" HREF="terminal_interface-curses-panels__adb.htm#ref_73_19">Pan</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">top_panel()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_82_14">Top</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_5"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_87_14" HREF="terminal_interface-curses-panels__adb.htm#ref_83_14">Show</A></FONT> (<FONT COLOR=red><A NAME="ref_87_20" HREF="terminal_interface-curses-panels__adb.htm#ref_83_20">Pan</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">show_panel()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_87_14">Show</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_6"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_92_14">Update_Panels</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">update_panels()</A></EM></FONT>
+   <b>pragma</b> Import (C, Update_Panels, "update_panels");
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_7"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_97_14" HREF="terminal_interface-curses-panels__adb.htm#ref_93_14">Hide</A></FONT> (<FONT COLOR=red><A NAME="ref_97_20" HREF="terminal_interface-curses-panels__adb.htm#ref_93_20">Pan</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">hide_panel()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_97_14">Hide</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_8"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_102_13" HREF="terminal_interface-curses-panels__adb.htm#ref_103_13">Get_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_102_25" HREF="terminal_interface-curses-panels__adb.htm#ref_103_25">Pan</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">panel_window()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_102_13">Get_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_9"#2|</EM></FONT>
+   <b>function</b> Panel_Window (<FONT COLOR=red><A NAME="ref_107_27">Pan</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  pragma Inline (Panel_Window);</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_10"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_111_14" HREF="terminal_interface-curses-panels__adb.htm#ref_116_14">Replace</A></FONT> (<FONT COLOR=red><A NAME="ref_111_23" HREF="terminal_interface-curses-panels__adb.htm#ref_116_23">Pan</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+                      <FONT COLOR=red><A NAME="ref_112_23" HREF="terminal_interface-curses-panels__adb.htm#ref_117_23">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">replace_panel()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_111_14">Replace</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_11"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_117_14" HREF="terminal_interface-curses-panels__adb.htm#ref_128_14">Move</A></FONT> (<FONT COLOR=red><A NAME="ref_117_20" HREF="terminal_interface-curses-panels__adb.htm#ref_128_20">Pan</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>;
+                   <FONT COLOR=red><A NAME="ref_118_20" HREF="terminal_interface-curses-panels__adb.htm#ref_129_20">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_119_20" HREF="terminal_interface-curses-panels__adb.htm#ref_130_20">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">move_panel()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_117_14">Move</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_12"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_124_13" HREF="terminal_interface-curses-panels__adb.htm#ref_142_13">Is_Hidden</A></FONT> (<FONT COLOR=red><A NAME="ref_124_24" HREF="terminal_interface-curses-panels__adb.htm#ref_142_24">Pan</A></FONT> : <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">panel_hidden()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-panels__ads.htm#ref_124_13">Is_Hidden</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_13"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_129_13">Above</A></FONT> (<FONT COLOR=red><A NAME="ref_129_20" HREF="terminal_interface-curses-panels__ads.htm#ref_129_13">Pan</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">panel_above()</A></EM></FONT>
+   <b>pragma</b> Import (C, Above, "panel_above");
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_14"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_134_13">Below</A></FONT> (<FONT COLOR=red><A NAME="ref_134_20" HREF="terminal_interface-curses-panels__ads.htm#ref_134_13">Pan</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">panel_below()</A></EM></FONT>
+   <b>pragma</b> Import (C, Below, "panel_below");
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_15"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_139_14" HREF="terminal_interface-curses-panels__adb.htm#ref_154_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_139_22" HREF="terminal_interface-curses-panels__adb.htm#ref_154_22">Pan</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-panels__ads.htm#ref_49_9">Panel</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/panel.3x.html">del_panel()</A></EM></FONT>
+   <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>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>;
+</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
new file mode 100644
index 0000000..8f1f987
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-putwin__adb.htm
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-putwin.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-putwin.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                    Terminal_Interface.Curses.PutWin                      --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 2000 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.3 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+
+<b>with</b> Ada.Streams.Stream_IO.C_Streams;
+<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_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>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>.<FONT COLOR=red><A NAME="ref_45_40" HREF="terminal_interface-curses-putwin__ads.htm#ref_43_35">PutWin</A></FONT> <b>is</b>
+
+   <b>package</b> <FONT COLOR=red><A NAME="ref_47_12">ICS</A></FONT> <b>renames</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C_Streams;
+   <b>package</b> <FONT COLOR=red><A NAME="ref_48_12">ACS</A></FONT> <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>procedure</b> <FONT COLOR=red><A NAME="ref_51_14" HREF="terminal_interface-curses-putwin__ads.htm#ref_45_14">Put_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_51_26" HREF="terminal_interface-curses-putwin__ads.htm#ref_45_26">Win</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_52_26" HREF="terminal_interface-curses-putwin__ads.htm#ref_46_26">File</A></FONT> : Ada.Streams.Stream_IO.File_Type) <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_53_16">putwin</A></FONT> (<FONT COLOR=red><A NAME="ref_53_24" HREF="terminal_interface-curses-putwin__adb.htm#ref_53_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_53_38" HREF="terminal_interface-curses-putwin__adb.htm#ref_53_16">f</A></FONT> : <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>pragma</b> Import (C, putwin, "putwin");
+
+      <FONT COLOR=red><A NAME="ref_56_7">R</A></FONT> : <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>));
+   <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_383_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> <FONT COLOR=red><A NAME="ref_63_13" HREF="terminal_interface-curses-putwin__ads.htm#ref_48_13">Get_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_63_25" HREF="terminal_interface-curses-putwin__ads.htm#ref_48_25">File</A></FONT> : 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> <FONT COLOR=red><A NAME="ref_65_16">getwin</A></FONT> (<FONT COLOR=red><A NAME="ref_65_24" HREF="terminal_interface-curses-putwin__adb.htm#ref_65_16">f</A></FONT> : <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>pragma</b> Import (C, getwin, "getwin");
+
+      <FONT COLOR=red><A NAME="ref_68_7">W</A></FONT> : <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>));
+   <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_383_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>;
+</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
new file mode 100644
index 0000000..0bf60e6
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-putwin__ads.htm
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-putwin.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-putwin.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                    Terminal_Interface.Curses.PutWin                      --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 2000 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.3 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+
+<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>.<FONT COLOR=red><A NAME="ref_43_35" HREF="terminal_interface-curses-putwin__adb.htm#ref_45_40">PutWin</A></FONT> <b>is</b>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_45_14" HREF="terminal_interface-curses-putwin__adb.htm#ref_51_14">Put_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_45_26" HREF="terminal_interface-curses-putwin__adb.htm#ref_51_26">Win</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_46_26" HREF="terminal_interface-curses-putwin__adb.htm#ref_52_26">File</A></FONT> : Ada.Streams.Stream_IO.File_Type);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_48_13" HREF="terminal_interface-curses-putwin__adb.htm#ref_63_13">Get_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_48_25" HREF="terminal_interface-curses-putwin__adb.htm#ref_63_25">File</A></FONT>  : Ada.Streams.Stream_IO.File_Type) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_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>;
+</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
new file mode 100644
index 0000000..27b2302
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-termcap__adb.htm
@@ -0,0 +1,169 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-termcap.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-termcap.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                    Terminal_Interface.Curses.Termcap                     --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 2000-2004,2006 Free Software Foundation, Inc.              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2006/06/25 14:30:22 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+<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>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>.<FONT COLOR=red><A NAME="ref_47_40" HREF="terminal_interface-curses-termcap__ads.htm#ref_42_35">Termcap</A></FONT> <b>is</b>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_49_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_59_13">Get_Entry</A></FONT> (<FONT COLOR=red><A NAME="ref_49_24" HREF="terminal_interface-curses-termcap__ads.htm#ref_59_24">Name</A></FONT> : String) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_51_16">tgetent</A></FONT> (<FONT COLOR=red><A NAME="ref_51_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_51_16">name</A></FONT> : char_array; <FONT COLOR=red><A NAME="ref_51_44" HREF="terminal_interface-curses-termcap__adb.htm#ref_51_16">val</A></FONT> : char_array)
+                        <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, tgetent, "tgetent");
+      <FONT COLOR=red><A NAME="ref_54_7">NameTxt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_59_24">Name</A>'Length);
+      <FONT COLOR=red><A NAME="ref_55_7">Length</A></FONT>  : size_t;
+      <FONT COLOR=red><A NAME="ref_56_7">ignored</A></FONT> : <b>constant</b> char_array (0 .. 0) := (0 =&gt; nul);
+      <FONT COLOR=red><A NAME="ref_57_7">result</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_383_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>;
+   <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_59_13">Get_Entry</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_69_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_63_13">Get_Flag</A></FONT> (<FONT COLOR=red><A NAME="ref_69_23" HREF="terminal_interface-curses-termcap__ads.htm#ref_63_23">Name</A></FONT> : String) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_71_16">tgetflag</A></FONT> (<FONT COLOR=red><A NAME="ref_71_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_71_16">id</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, tgetflag, "tgetflag");
+      <FONT COLOR=red><A NAME="ref_73_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_63_23">Name</A>'Length);
+      <FONT COLOR=red><A NAME="ref_74_7">Length</A></FONT> : size_t;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_63_23">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_73_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_74_7">Length</A>);
+      <b>if</b> <A HREF="terminal_interface-curses-termcap__adb.htm#ref_71_16">tgetflag</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_73_7">Txt</A>) = 0 <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-termcap__ads.htm#ref_63_13">Get_Flag</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_85_14" HREF="terminal_interface-curses-termcap__ads.htm#ref_67_14">Get_Number</A></FONT> (<FONT COLOR=red><A NAME="ref_85_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_67_26">Name</A></FONT>   : <b>in</b>  String;
+                         <FONT COLOR=red><A NAME="ref_86_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_68_26">Value</A></FONT>  : <b>out</b> Integer;
+                         <FONT COLOR=red><A NAME="ref_87_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_69_26">Result</A></FONT> : <b>out</b> Boolean)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_89_16">tgetnum</A></FONT> (<FONT COLOR=red><A NAME="ref_89_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_89_16">id</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, tgetnum, "tgetnum");
+      <FONT COLOR=red><A NAME="ref_91_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_67_26">Name</A>'Length);
+      <FONT COLOR=red><A NAME="ref_92_7">Length</A></FONT> : size_t;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_67_26">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_91_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_92_7">Length</A>);
+      <A HREF="terminal_interface-curses-termcap__ads.htm#ref_68_26">Value</A> := Integer (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_89_16">tgetnum</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_91_7">Txt</A>));
+      <b>if</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_68_26">Value</A> = -1 <b>then</b>
+         <A HREF="terminal_interface-curses-termcap__ads.htm#ref_69_26">Result</A> := False;
+      <b>else</b>
+         <A HREF="terminal_interface-curses-termcap__ads.htm#ref_69_26">Result</A> :=  True;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-termcap__ads.htm#ref_67_14">Get_Number</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_104_14" HREF="terminal_interface-curses-termcap__ads.htm#ref_73_14">Get_String</A></FONT> (<FONT COLOR=red><A NAME="ref_104_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_73_26">Name</A></FONT>   : String;
+                         <FONT COLOR=red><A NAME="ref_105_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_74_26">Value</A></FONT>  : <b>out</b> String;
+                         <FONT COLOR=red><A NAME="ref_106_26" HREF="terminal_interface-curses-termcap__ads.htm#ref_75_26">Result</A></FONT> : <b>out</b> Boolean)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_108_16">tgetstr</A></FONT> (<FONT COLOR=red><A NAME="ref_108_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_108_16">id</A></FONT>  : char_array;
+                        <FONT COLOR=red><A NAME="ref_109_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_108_16">buf</A></FONT> : char_array) <b>return</b> chars_ptr;
+      <b>pragma</b> Import (C, tgetstr, "tgetstr");
+      <FONT COLOR=red><A NAME="ref_111_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_73_26">Name</A>'Length);
+      <FONT COLOR=red><A NAME="ref_112_7">Length</A></FONT> : size_t;
+      <FONT COLOR=red><A NAME="ref_113_7">Txt2</A></FONT>   : chars_ptr;
+      <b>type</b> t <b>is</b> <b>new</b> char_array (0 .. 1024); <FONT COLOR=green><EM>--  does it need to be 1024?</EM></FONT>
+      <FONT COLOR=red><A NAME="ref_115_7">Return_Buffer</A></FONT> : <b>constant</b> t := (<b>others</b> =&gt; nul);
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_73_26">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_111_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_112_7">Length</A>);
+      <A HREF="terminal_interface-curses-termcap__adb.htm#ref_113_7">Txt2</A> := <A HREF="terminal_interface-curses-termcap__adb.htm#ref_108_16">tgetstr</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_111_7">Txt</A>, char_array (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_115_7">Return_Buffer</A>));
+      <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_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>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_127_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_76_13">Get_String</A></FONT> (<FONT COLOR=red><A NAME="ref_127_25" HREF="terminal_interface-curses-termcap__ads.htm#ref_76_25">Name</A></FONT> : String) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_129_16">tgetstr</A></FONT> (<FONT COLOR=red><A NAME="ref_129_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_129_16">Id</A></FONT>  : char_array;
+                        <FONT COLOR=red><A NAME="ref_130_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_129_16">buf</A></FONT> : char_array) <b>return</b> chars_ptr;
+      <b>pragma</b> Import (C, tgetstr, "tgetstr");
+      <FONT COLOR=red><A NAME="ref_132_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_76_25">Name</A>'Length);
+      <FONT COLOR=red><A NAME="ref_133_7">Length</A></FONT> : size_t;
+      <FONT COLOR=red><A NAME="ref_134_7">Txt2</A></FONT>   : chars_ptr;
+      <b>type</b> t <b>is</b> <b>new</b> char_array (0 .. 1024); <FONT COLOR=green><EM>--  does it need to be 1024?</EM></FONT>
+      <FONT COLOR=red><A NAME="ref_136_7">Phony_Txt</A></FONT> : <b>constant</b> t := (<b>others</b> =&gt; nul);
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses-termcap__ads.htm#ref_76_25">Name</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_132_7">Txt</A>, <A HREF="terminal_interface-curses-termcap__adb.htm#ref_133_7">Length</A>);
+      <A HREF="terminal_interface-curses-termcap__adb.htm#ref_134_7">Txt2</A> := <A HREF="terminal_interface-curses-termcap__adb.htm#ref_129_16">tgetstr</A> (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_132_7">Txt</A>, char_array (<A HREF="terminal_interface-curses-termcap__adb.htm#ref_136_7">Phony_Txt</A>));
+      <b>if</b> <A HREF="terminal_interface-curses-termcap__adb.htm#ref_134_7">Txt2</A> = Null_Ptr <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-termcap__ads.htm#ref_76_13">Get_String</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_148_13" HREF="terminal_interface-curses-termcap__ads.htm#ref_53_13">TGoto</A></FONT> (<FONT COLOR=red><A NAME="ref_148_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_53_20">Cap</A></FONT> : String;
+                   <FONT COLOR=red><A NAME="ref_149_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_54_20">Col</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_150_20" HREF="terminal_interface-curses-termcap__ads.htm#ref_55_20">Row</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>) <b>return</b> Termcap_String <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_151_16">tgoto</A></FONT> (<FONT COLOR=red><A NAME="ref_151_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">cap</A></FONT> : char_array;
+                      <FONT COLOR=red><A NAME="ref_152_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                      <FONT COLOR=red><A NAME="ref_153_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_151_16">row</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr;
+      <b>pragma</b> Import (C, tgoto);
+      <FONT COLOR=red><A NAME="ref_155_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses-termcap__ads.htm#ref_53_20">Cap</A>'Length);
+      <FONT COLOR=red><A NAME="ref_156_7">Length</A></FONT> : 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>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>;
+</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
new file mode 100644
index 0000000..51621b6
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-termcap__ads.htm
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-termcap.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-termcap.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                     Terminal_Interface.Curses.Termcap                    --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 2000 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.3 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+<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>.<FONT COLOR=red><A NAME="ref_42_35" HREF="terminal_interface-curses-termcap__adb.htm#ref_47_40">Termcap</A></FONT> <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>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page curs_termcap.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  Not implemented:  tputs (see curs_terminfo)</EM></FONT>
+
+   <b>type</b> Termcap_String <b>is</b> <b>new</b> String;
+
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_53_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_148_13">TGoto</A></FONT> (<FONT COLOR=red><A NAME="ref_53_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_148_20">Cap</A></FONT> : String;
+                   <FONT COLOR=red><A NAME="ref_54_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_149_20">Col</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_55_20" HREF="terminal_interface-curses-termcap__adb.htm#ref_150_20">Row</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>) <b>return</b> Termcap_String;
+   <FONT COLOR=green><EM>--  AKA: tgoto()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_59_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_49_13">Get_Entry</A></FONT> (<FONT COLOR=red><A NAME="ref_59_24" HREF="terminal_interface-curses-termcap__adb.htm#ref_49_24">Name</A></FONT> : String) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: tgetent()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_63_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_69_13">Get_Flag</A></FONT> (<FONT COLOR=red><A NAME="ref_63_23" HREF="terminal_interface-curses-termcap__adb.htm#ref_69_23">Name</A></FONT> : String) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: tgetflag()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_67_14" HREF="terminal_interface-curses-termcap__adb.htm#ref_85_14">Get_Number</A></FONT> (<FONT COLOR=red><A NAME="ref_67_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_85_26">Name</A></FONT>   : String;
+                         <FONT COLOR=red><A NAME="ref_68_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_86_26">Value</A></FONT>  : <b>out</b> Integer;
+                         <FONT COLOR=red><A NAME="ref_69_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_87_26">Result</A></FONT> : <b>out</b> Boolean);
+   <FONT COLOR=green><EM>--  AKA: tgetnum()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_73_14" HREF="terminal_interface-curses-termcap__adb.htm#ref_104_14">Get_String</A></FONT> (<FONT COLOR=red><A NAME="ref_73_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_104_26">Name</A></FONT>   : String;
+                         <FONT COLOR=red><A NAME="ref_74_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_105_26">Value</A></FONT>  : <b>out</b> String;
+                         <FONT COLOR=red><A NAME="ref_75_26" HREF="terminal_interface-curses-termcap__adb.htm#ref_106_26">Result</A></FONT> : <b>out</b> Boolean);
+   <b>function</b> <FONT COLOR=red><A NAME="ref_76_13" HREF="terminal_interface-curses-termcap__adb.htm#ref_127_13">Get_String</A></FONT> (<FONT COLOR=red><A NAME="ref_76_25" HREF="terminal_interface-curses-termcap__adb.htm#ref_127_25">Name</A></FONT> : String) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  Returns True if the string is found.</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: tgetstr()</EM></FONT>
+
+<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>;
+</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
new file mode 100644
index 0000000..df16788
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-terminfo__adb.htm
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-terminfo.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-terminfo.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                    Terminal_Interface.Curses.Terminfo                    --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998-2000,2006 Free Software Foundation, Inc.              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.5 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2006/06/25 14:30:22 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+<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> 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>.<FONT COLOR=red><A NAME="ref_48_40" HREF="terminal_interface-curses-terminfo__ads.htm#ref_44_35">Terminfo</A></FONT> <b>is</b>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_50_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_52_13">Is_MinusOne_Pointer</A></FONT> (<FONT COLOR=red><A NAME="ref_50_34" HREF="terminal_interface-curses-terminfo__adb.htm#ref_52_34">P</A></FONT> : <b>in</b> chars_ptr) <b>return</b> Boolean;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_52_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_13">Is_MinusOne_Pointer</A></FONT> (<FONT COLOR=red><A NAME="ref_52_34" HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_34">P</A></FONT> : <b>in</b> chars_ptr) <b>return</b> Boolean <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_53_12">Weird_Address</A></FONT> <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
+      <FONT COLOR=red><A NAME="ref_54_7">Invalid_Pointer</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_53_12">Weird_Address</A> := -1;
+      <b>function</b> To_Weird <b>is</b> <b>new</b> Ada.Unchecked_Conversion
+        (Source =&gt; chars_ptr, Target =&gt; <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_53_12">Weird_Address</A>);
+   <b>begin</b>
+      <b>if</b> To_Weird (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_34">P</A>) = <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_54_7">Invalid_Pointer</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-terminfo__adb.htm#ref_50_13">Is_MinusOne_Pointer</A>;
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_50_13">Is_MinusOne_Pointer</A>);
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_67_13" HREF="terminal_interface-curses-terminfo__ads.htm#ref_64_13">Get_Flag</A></FONT> (<FONT COLOR=red><A NAME="ref_67_23" HREF="terminal_interface-curses-terminfo__ads.htm#ref_64_23">Name</A></FONT> : String) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_69_16">tigetflag</A></FONT> (<FONT COLOR=red><A NAME="ref_69_27" HREF="terminal_interface-curses-terminfo__adb.htm#ref_69_16">id</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>;
+      <b>pragma</b> Import (C, tigetflag);
+      <FONT COLOR=red><A NAME="ref_71_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_64_23">Name</A>'Length);
+      <FONT COLOR=red><A NAME="ref_72_7">Length</A></FONT> : 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_1926_9">Curses_Bool</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_74_4">Curses_True</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-terminfo__ads.htm#ref_64_13">Get_Flag</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_83_14" HREF="terminal_interface-curses-terminfo__ads.htm#ref_57_14">Get_String</A></FONT> (<FONT COLOR=red><A NAME="ref_83_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_57_26">Name</A></FONT>   : String;
+                         <FONT COLOR=red><A NAME="ref_84_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_58_26">Value</A></FONT>  : <b>out</b> Terminfo_String;
+                         <FONT COLOR=red><A NAME="ref_85_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_59_26">Result</A></FONT> : <b>out</b> Boolean)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_87_16">tigetstr</A></FONT> (<FONT COLOR=red><A NAME="ref_87_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_87_16">id</A></FONT> : char_array) <b>return</b> chars_ptr;
+      <b>pragma</b> Import (C, tigetstr, "tigetstr");
+      <FONT COLOR=red><A NAME="ref_89_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_57_26">Name</A>'Length);
+      <FONT COLOR=red><A NAME="ref_90_7">Length</A></FONT> : size_t;
+      <FONT COLOR=red><A NAME="ref_91_7">Txt2</A></FONT> : chars_ptr;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_57_26">Name</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_89_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_90_7">Length</A>);
+      <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_91_7">Txt2</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_87_16">tigetstr</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_89_7">Txt</A>);
+      <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_383_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_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>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_106_13" HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_13">Has_String</A></FONT> (<FONT COLOR=red><A NAME="ref_106_25" HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_25">Name</A></FONT> : String) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_108_16">tigetstr</A></FONT> (<FONT COLOR=red><A NAME="ref_108_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_108_16">id</A></FONT> : char_array) <b>return</b> chars_ptr;
+      <b>pragma</b> Import (C, tigetstr, "tigetstr");
+      <FONT COLOR=red><A NAME="ref_110_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_25">Name</A>'Length);
+      <FONT COLOR=red><A NAME="ref_111_7">Length</A></FONT> : size_t;
+      <FONT COLOR=red><A NAME="ref_112_7">Txt2</A></FONT> : chars_ptr;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_25">Name</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_110_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_111_7">Length</A>);
+      <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_112_7">Txt2</A> := <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_108_16">tigetstr</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_110_7">Txt</A>);
+      <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_383_4">Curses_Exception</A>;
+      <b>else</b>
+         <b>return</b> True;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_60_13">Has_String</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_126_13" HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_13">Get_Number</A></FONT> (<FONT COLOR=red><A NAME="ref_126_25" HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_25">Name</A></FONT> : String) <b>return</b> Integer <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_127_16">tigetstr</A></FONT> (<FONT COLOR=red><A NAME="ref_127_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_127_16">s</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, tigetstr);
+      <FONT COLOR=red><A NAME="ref_129_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_25">Name</A>'Length);
+      <FONT COLOR=red><A NAME="ref_130_7">Length</A></FONT> : size_t;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_25">Name</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_129_7">Txt</A>, <A HREF="terminal_interface-curses-terminfo__adb.htm#ref_130_7">Length</A>);
+      <b>return</b> Integer (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_127_16">tigetstr</A> (<A HREF="terminal_interface-curses-terminfo__adb.htm#ref_129_7">Txt</A>));
+   <b>end</b> <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_68_13">Get_Number</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_137_14" HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_14">Put_String</A></FONT> (<FONT COLOR=red><A NAME="ref_137_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_26">Str</A></FONT>    : Terminfo_String;
+                         <FONT COLOR=red><A NAME="ref_138_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_77_26">affcnt</A></FONT> : Natural := 1;
+                         <FONT COLOR=red><A NAME="ref_139_26" HREF="terminal_interface-curses-terminfo__ads.htm#ref_78_26">putc</A></FONT>   : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_71_9">putctype</A> := <b>null</b>) <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_140_16">tputs</A></FONT> (<FONT COLOR=red><A NAME="ref_140_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">str</A></FONT>    : char_array;
+                      <FONT COLOR=red><A NAME="ref_141_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">affcnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                      <FONT COLOR=red><A NAME="ref_142_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_140_16">putc</A></FONT>   : <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> <FONT COLOR=red><A NAME="ref_143_16">putp</A></FONT> (<FONT COLOR=red><A NAME="ref_143_22" HREF="terminal_interface-curses-terminfo__adb.htm#ref_143_16">str</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, tputs);
+      <b>pragma</b> Import (C, putp);
+      <FONT COLOR=red><A NAME="ref_146_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_76_26">Str</A>'Length);
+      <FONT COLOR=red><A NAME="ref_147_7">Length</A></FONT> : size_t;
+      <FONT COLOR=red><A NAME="ref_148_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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>);
+      <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_383_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>;
+</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
new file mode 100644
index 0000000..72edda4
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-terminfo__ads.htm
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-terminfo.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-terminfo.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                     Terminal_Interface.Curses.Terminfo                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 2000 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.3 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+<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>.<FONT COLOR=red><A NAME="ref_44_35" HREF="terminal_interface-curses-terminfo__adb.htm#ref_48_40">Terminfo</A></FONT> <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>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page curs_terminfo.3x</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  Not implemented:  setupterm, setterm, set_curterm, del_curterm,</EM></FONT>
+   <FONT COLOR=green><EM>--                    restartterm, tparm, putp, vidputs,  vidattr,</EM></FONT>
+   <FONT COLOR=green><EM>--                    mvcur</EM></FONT>
+
+   <b>type</b> Terminfo_String <b>is</b> <b>new</b> String;
+
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_57_14" HREF="terminal_interface-curses-terminfo__adb.htm#ref_83_14">Get_String</A></FONT> (<FONT COLOR=red><A NAME="ref_57_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_83_26">Name</A></FONT>   : String;
+                         <FONT COLOR=red><A NAME="ref_58_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_84_26">Value</A></FONT>  : <b>out</b> Terminfo_String;
+                         <FONT COLOR=red><A NAME="ref_59_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_85_26">Result</A></FONT> : <b>out</b> Boolean);
+   <b>function</b> <FONT COLOR=red><A NAME="ref_60_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_106_13">Has_String</A></FONT> (<FONT COLOR=red><A NAME="ref_60_25" HREF="terminal_interface-curses-terminfo__adb.htm#ref_106_25">Name</A></FONT> : String) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: tigetstr()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_64_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_67_13">Get_Flag</A></FONT> (<FONT COLOR=red><A NAME="ref_64_23" HREF="terminal_interface-curses-terminfo__adb.htm#ref_67_23">Name</A></FONT> : String) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: tigetflag()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_68_13" HREF="terminal_interface-curses-terminfo__adb.htm#ref_126_13">Get_Number</A></FONT> (<FONT COLOR=red><A NAME="ref_68_25" HREF="terminal_interface-curses-terminfo__adb.htm#ref_126_25">Name</A></FONT> : String) <b>return</b> Integer;
+   <FONT COLOR=green><EM>--  AKA: tigetnum()</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_71_9">putctype</A></FONT> <b>is</b> <b>access</b> <b>function</b> (<FONT COLOR=red><A NAME="ref_71_38">c</A></FONT> : <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>);
+
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_76_14" HREF="terminal_interface-curses-terminfo__adb.htm#ref_137_14">Put_String</A></FONT> (<FONT COLOR=red><A NAME="ref_76_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_137_26">Str</A></FONT>    : Terminfo_String;
+                         <FONT COLOR=red><A NAME="ref_77_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_138_26">affcnt</A></FONT> : Natural := 1;
+                         <FONT COLOR=red><A NAME="ref_78_26" HREF="terminal_interface-curses-terminfo__adb.htm#ref_139_26">putc</A></FONT>   : <A HREF="terminal_interface-curses-terminfo__ads.htm#ref_71_9">putctype</A> := <b>null</b>);
+   <FONT COLOR=green><EM>--  AKA: tputs()</EM></FONT>
+
+<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>;
+</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
new file mode 100644
index 0000000..8c91d1a
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-aux__adb.htm
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-aux.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-aux.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                   Terminal_Interface.Curses.Text_IO.Aux                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2006 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.12 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2006/06/25 14:24:40 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_42_48" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_42_51">Aux</A></FONT> <b>is</b>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_44_14" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_45_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_49_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_46_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A></FONT>    : <b>in</b> String;
+      <FONT COLOR=red><A NAME="ref_47_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_51_7">Width</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>;
+      <FONT COLOR=red><A NAME="ref_48_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_52_7">Signal</A></FONT> : <b>in</b> Boolean := True;
+      <FONT COLOR=red><A NAME="ref_49_7" HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Ljust</A></FONT>  : <b>in</b> Boolean := False)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_51_7">L</A></FONT>   : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>;
+      <FONT COLOR=red><A NAME="ref_52_7">Len</A></FONT> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>;
+      <FONT COLOR=red><A NAME="ref_53_7">W</A></FONT>   : <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>;
+      <FONT COLOR=red><A NAME="ref_54_7">LC</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_55_7">CC</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+      <FONT COLOR=red><A NAME="ref_56_7">Y</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_57_7">X</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+
+      <b>procedure</b> <FONT COLOR=red><A NAME="ref_59_17" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_61_17">Output</A></FONT> (<FONT COLOR=red><A NAME="ref_59_25" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_61_25">From</A></FONT>, <FONT COLOR=red><A NAME="ref_59_31" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_61_31">To</A></FONT> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>);
+
+      <b>procedure</b> <FONT COLOR=red><A NAME="ref_61_17" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_17">Output</A></FONT> (<FONT COLOR=red><A NAME="ref_61_25" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_25">From</A></FONT>, <FONT COLOR=red><A NAME="ref_61_31" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_31">To</A></FONT> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>)
+      <b>is</b>
+      <b>begin</b>
+         <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A> &gt; 0 <b>then</b>
+            <b>if</b> <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> = 0 <b>then</b>
+               <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>;
+            <b>end</b> <b>if</b>;
+            <b>if</b> <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_53_7">W</A> <b>then</b>
+               <FONT COLOR=green><EM>--  LRM A10.6 (7) says this</EM></FONT>
+               <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>;
+            <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_1228_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>
+               <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>
+                  <b>return</b>;
+               <b>end</b> <b>if</b>;
+            <b>else</b>
+               <b>if</b> <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> <b>and</b> <b>then</b> <b>not</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Ljust</A> <b>then</b>
+                  <b>declare</b>
+                     <FONT COLOR=red><A NAME="ref_84_22">Filler</A></FONT> : <b>constant</b> String (1 .. (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>))
+                       := (<b>others</b> =&gt; ' ');
+                  <b>begin</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__adb.htm#ref_84_22">Filler</A>);
+                  <b>end</b>;
+               <b>end</b> <b>if</b>;
+               <A HREF="terminal_interface-curses__ads.htm#ref_1244_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-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>));
+               <b>if</b> <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> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_53_7">Ljust</A> <b>then</b>
+                  <b>declare</b>
+                     <FONT COLOR=red><A NAME="ref_97_22">Filler</A></FONT> : <b>constant</b> String (1 .. (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_53_7">W</A> - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>))
+                       := (<b>others</b> =&gt; ' ');
+                  <b>begin</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__adb.htm#ref_97_22">Filler</A>);
+                  <b>end</b>;
+               <b>end</b> <b>if</b>;
+            <b>end</b> <b>if</b>;
+         <b>end</b> <b>if</b>;
+      <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>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> <FONT COLOR=red><A NAME="ref_111_14">I</A></FONT> <b>in</b> 1 .. <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A>'Length <b>loop</b>
+            <b>exit</b> <b>when</b> <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_51_7">L</A>) = ' ';
+            <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> + 1;
+         <b>end</b> <b>loop</b>;
+         <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> - 1;
+         <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_17">Output</A> (1, <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A>);
+      <b>else</b>  <FONT COLOR=green><EM>-- input buffer is not left justified</EM></FONT>
+         <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> := <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A>'Length;
+         <b>for</b> <FONT COLOR=red><A NAME="ref_119_14">I</A></FONT> <b>in</b> 1 .. <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A>'Length <b>loop</b>
+            <b>exit</b> <b>when</b> <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_51_7">L</A>) = ' ';
+            <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> := <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> - 1;
+         <b>end</b> <b>loop</b>;
+         <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_52_7">Len</A> := <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A>'Length - <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A>;
+         <A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_59_17">Output</A> (<A HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_51_7">L</A> + 1, <A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_50_7">Buf</A>'Length);
+      <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>;
+</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
new file mode 100644
index 0000000..7cbe639
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-aux__ads.htm
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-aux.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-aux.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                   Terminal_Interface.Curses.Text_IO.Aux                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2006 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.13 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2006/06/25 14:24:40 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_42_51" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_42_48">Aux</A></FONT> <b>is</b>
+   <FONT COLOR=green><EM>--  pragma Preelaborate (Aux);</EM></FONT>
+
+   <FONT COLOR=green><EM>--  This routine is called from the Text_IO output routines for numeric</EM></FONT>
+   <FONT COLOR=green><EM>--  and enumeration types.</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_48_14" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_44_14">Put_Buf</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_49_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_45_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;               <FONT COLOR=green><EM>-- The output window</EM></FONT>
+      <FONT COLOR=red><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_46_7">Buf</A></FONT>    : <b>in</b> String;               <FONT COLOR=green><EM>-- The buffer containing the text</EM></FONT>
+      <FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_47_7">Width</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>;                <FONT COLOR=green><EM>-- The width of the output field</EM></FONT>
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_48_7">Signal</A></FONT> : <b>in</b> Boolean := True;      <FONT COLOR=green><EM>-- If true, we raise Layout_Error</EM></FONT>
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-aux__adb.htm#ref_49_7">Ljust</A></FONT>  : <b>in</b> Boolean := False);    <FONT COLOR=green><EM>-- The Buf is left justified</EM></FONT>
+
+<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>;
+</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
new file mode 100644
index 0000000..c22d3da
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-complex_io__adb.htm
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-complex_io.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-complex_io.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Text_IO.Complex_IO               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.10 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_43_48" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_46_43">Complex_IO</A></FONT> <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);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_48_14" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_49_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      Item : <b>in</b> Complex;
+      <FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_57_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Exp</A></FONT>  : <b>in</b> <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_52_4">Default_Exp</A>)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A>, '(');
+      FIO.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A>, Item.Re, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_57_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Exp</A>);
+      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A>, ',');
+      FIO.<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A>, Item.Im, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_57_7">Fore</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_58_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_59_7">Exp</A>);
+      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A> (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_55_7">Win</A>, ')');
+   <b>end</b> <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14">Put</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_63_14" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_61_14">Put</A></FONT>
+     (Item : <b>in</b> Complex;
+      <FONT COLOR=red><A NAME="ref_65_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_63_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_66_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_64_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_67_7" HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_65_7">Exp</A></FONT>  : <b>in</b> <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_52_4">Default_Exp</A>)
+   <b>is</b>
+   <b>begin</b>
+      <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>;
+</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
new file mode 100644
index 0000000..460f5d0
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-complex_io__ads.htm
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-complex_io.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-complex_io.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Text_IO.Complex_IO               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.10 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>with</b> Ada.Numerics.Generic_Complex_Types;
+
+<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>.<FONT COLOR=red><A NAME="ref_46_43" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_43_48">Complex_IO</A></FONT> <b>is</b>
+
+   <b>use</b> Complex_Types;
+
+   <FONT COLOR=red><A NAME="ref_50_4">Default_Fore</A></FONT> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 2;
+   <FONT COLOR=red><A NAME="ref_51_4">Default_Aft</A></FONT>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := Real'<b>Digits</b> - 1;
+   <FONT COLOR=red><A NAME="ref_52_4">Default_Exp</A></FONT>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 3;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_54_14" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_48_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_49_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_54_14">Item</A> : <b>in</b> Complex;
+      <FONT COLOR=red><A NAME="ref_57_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_51_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_52_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_53_7">Exp</A></FONT>  : <b>in</b> <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_52_4">Default_Exp</A>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_61_14" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_63_14">Put</A></FONT>
+     (<A HREF="terminal_interface-curses-text_io-complex_io__ads.htm#ref_61_14">Item</A> : <b>in</b> Complex;
+      <FONT COLOR=red><A NAME="ref_63_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_65_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_64_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_66_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_65_7" HREF="terminal_interface-curses-text_io-complex_io__adb.htm#ref_67_7">Exp</A></FONT>  : <b>in</b> <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_52_4">Default_Exp</A>);
+
+<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>;
+</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
new file mode 100644
index 0000000..82cda53
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__adb.htm
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-decimal_io.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-decimal_io.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Text_IO.Decimal_IO               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.10 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Decimal_IO</A></FONT> <b>is</b>
+
+   <b>package</b> <FONT COLOR=red><A NAME="ref_46_12">Aux</A></FONT> <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> 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> <FONT COLOR=red><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_50_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_52_7">Item</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_53_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Exp</A></FONT>  : <b>in</b> <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_48_4">Default_Exp</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_56_7">Buf</A></FONT> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>'Last);
+      <FONT COLOR=red><A NAME="ref_57_7">Len</A></FONT> : <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_53_7">Fore</A> + 1 + <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Aft</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Exp</A> &gt; 0 <b>then</b>
+         <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_57_7">Len</A> := <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_57_7">Len</A> + 1 + <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Exp</A>;
+      <b>end</b> <b>if</b>;
+      DIO.Put (<A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_52_7">Item</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_54_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_55_7">Exp</A>);
+      <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_46_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_51_7">Win</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_57_7">Len</A>, False);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_50_14">Put</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_66_14" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_57_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_67_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_58_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_68_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_59_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_69_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_60_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_70_7" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_61_7">Exp</A></FONT>  : <b>in</b> <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_48_4">Default_Exp</A>) <b>is</b>
+   <b>begin</b>
+      <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>;
+</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
new file mode 100644
index 0000000..e4c1c20
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-decimal_io__ads.htm
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-decimal_io.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-decimal_io.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Text_IO.Decimal_IO               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>generic</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_44_43">Num</A></FONT> <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>.<FONT COLOR=red><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_44_48">Decimal_IO</A></FONT> <b>is</b>
+
+   <FONT COLOR=red><A NAME="ref_46_4">Default_Fore</A></FONT> : <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;
+   <FONT COLOR=red><A NAME="ref_47_4">Default_Aft</A></FONT>  : <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;
+   <FONT COLOR=red><A NAME="ref_48_4">Default_Exp</A></FONT>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 0;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_49_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_50_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_51_7">Item</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_52_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_53_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_54_7">Exp</A></FONT>  : <b>in</b> <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_48_4">Default_Exp</A>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_57_14" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_66_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_67_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-decimal_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_68_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_60_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_69_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_61_7" HREF="terminal_interface-curses-text_io-decimal_io__adb.htm#ref_70_7">Exp</A></FONT>  : <b>in</b> <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_48_4">Default_Exp</A>);
+
+<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>;
+</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
new file mode 100644
index 0000000..ba7bd1e
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__adb.htm
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-enumeration_io.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-enumeration_io.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--             Terminal_Interface.Curses.Text_IO.Enumeration_IO             --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.10 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_45_48" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enumeration_IO</A></FONT> <b>is</b>
+
+   <b>package</b> <FONT COLOR=red><A NAME="ref_47_12">Aux</A></FONT> <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> 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> <FONT COLOR=red><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_49_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_51_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_42_9">Enum</A>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_52_7">Width</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Set</A></FONT>   : <b>in</b> <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>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_56_7">Buf</A></FONT>  : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>'Last);
+      <FONT COLOR=red><A NAME="ref_57_7">Tset</A></FONT> : Ada.Text_IO.Type_Set;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Set</A> /= <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_46">Mixed_Case</A> <b>then</b>
+         <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Tset</A> := Ada.Text_IO.Type_Set'Val (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_9">Type_Set</A>'Pos (<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Set</A>));
+      <b>else</b>
+         <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Tset</A> := Ada.Text_IO.Lower_Case;
+      <b>end</b> <b>if</b>;
+      EIO.Put (<A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_51_7">Item</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_57_7">Tset</A>);
+      <b>if</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_53_7">Set</A> = <A HREF="terminal_interface-curses-text_io__ads.htm#ref_53_46">Mixed_Case</A> <b>then</b>
+         <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_56_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_56_7">Buf</A>'First) := To_Upper (<A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_56_7">Buf</A> (<A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_56_7">Buf</A>'First));
+      <b>end</b> <b>if</b>;
+      <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_47_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_50_7">Win</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_52_7">Width</A>, True, True);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_49_14">Put</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_71_14" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_55_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_72_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_56_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_42_9">Enum</A>;
+      <FONT COLOR=red><A NAME="ref_73_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_57_7">Width</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_74_7" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_58_7">Set</A></FONT>   : <b>in</b> <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>)
+   <b>is</b>
+   <b>begin</b>
+      <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>;
+</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
new file mode 100644
index 0000000..074547f
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-enumeration_io__ads.htm
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-enumeration_io.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-enumeration_io.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--             Terminal_Interface.Curses.Text_IO.Enumeration_IO             --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>generic</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_44_43">Enum</A></FONT> <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>.<FONT COLOR=red><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_45_48">Enumeration_IO</A></FONT> <b>is</b>
+
+   <FONT COLOR=red><A NAME="ref_46_4">Default_Width</A></FONT> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 0;
+   <FONT COLOR=red><A NAME="ref_47_4">Default_Setting</A></FONT> : <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> <FONT COLOR=red><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_50_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_51_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_52_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_42_9">Enum</A>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_53_7">Width</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_54_7">Set</A></FONT>   : <b>in</b> <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>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_55_14" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_71_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_56_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_72_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-enumeration_io__ads.htm#ref_42_9">Enum</A>;
+      <FONT COLOR=red><A NAME="ref_57_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_73_7">Width</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-enumeration_io__adb.htm#ref_74_7">Set</A></FONT>   : <b>in</b> <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>);
+
+<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>;
+</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
new file mode 100644
index 0000000..0b70b13
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__adb.htm
@@ -0,0 +1,81 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-fixed_io.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-fixed_io.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                Terminal_Interface.Curses.Text_IO.Fixed_IO                --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.10 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Fixed_IO</A></FONT> <b>is</b>
+
+   <b>package</b> <FONT COLOR=red><A NAME="ref_46_12">Aux</A></FONT> <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> 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> <FONT COLOR=red><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_50_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_52_7">Item</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_53_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Exp</A></FONT>  : <b>in</b> <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_48_4">Default_Exp</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_56_7">Buf</A></FONT> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>'Last);
+      <FONT COLOR=red><A NAME="ref_57_7">Len</A></FONT> : <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_53_7">Fore</A> + 1 + <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Aft</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Exp</A> &gt; 0 <b>then</b>
+         <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_57_7">Len</A> := <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_57_7">Len</A> + 1 + <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Exp</A>;
+      <b>end</b> <b>if</b>;
+      FIXIO.Put (<A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_52_7">Item</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_54_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_55_7">Exp</A>);
+      <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_46_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_51_7">Win</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_57_7">Len</A>, False);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_50_14">Put</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_66_14" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_57_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_67_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_58_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_68_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_59_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_69_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_60_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_70_7" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_61_7">Exp</A></FONT>  : <b>in</b> <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_48_4">Default_Exp</A>) <b>is</b>
+   <b>begin</b>
+      <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>;
+</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
new file mode 100644
index 0000000..bd6c946
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-fixed_io__ads.htm
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-fixed_io.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-fixed_io.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                Terminal_Interface.Curses.Text_IO.Fixed_IO                --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>generic</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_44_43">Num</A></FONT> <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>.<FONT COLOR=red><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_44_48">Fixed_IO</A></FONT> <b>is</b>
+
+   <FONT COLOR=red><A NAME="ref_46_4">Default_Fore</A></FONT> : <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;
+   <FONT COLOR=red><A NAME="ref_47_4">Default_Aft</A></FONT>  : <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;
+   <FONT COLOR=red><A NAME="ref_48_4">Default_Exp</A></FONT>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 0;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_49_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_50_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_51_7">Item</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_52_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_53_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_54_7">Exp</A></FONT>  : <b>in</b> <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_48_4">Default_Exp</A>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_57_14" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_66_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_67_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-fixed_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_68_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_60_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_69_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_61_7" HREF="terminal_interface-curses-text_io-fixed_io__adb.htm#ref_70_7">Exp</A></FONT>  : <b>in</b> <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_48_4">Default_Exp</A>);
+
+<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>;
+</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
new file mode 100644
index 0000000..29bf3e8
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-float_io__adb.htm
@@ -0,0 +1,82 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-float_io.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-float_io.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                Terminal_Interface.Curses.Text_IO.Float_IO                --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.10 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Float_IO</A></FONT> <b>is</b>
+
+   <b>package</b> <FONT COLOR=red><A NAME="ref_46_12">Aux</A></FONT> <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> 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> <FONT COLOR=red><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_52_7">Item</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_53_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Exp</A></FONT>  : <b>in</b> <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_48_4">Default_Exp</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_56_7">Buf</A></FONT> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>'Last);
+      <FONT COLOR=red><A NAME="ref_57_7">Len</A></FONT> : <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_53_7">Fore</A> + 1 + <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Aft</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Exp</A> &gt; 0 <b>then</b>
+         <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_57_7">Len</A> := <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_57_7">Len</A> + 1 + <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Exp</A>;
+      <b>end</b> <b>if</b>;
+      FIO.Put (<A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_52_7">Item</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_54_7">Aft</A>, <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_55_7">Exp</A>);
+      <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_46_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_51_7">Win</A>, <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_56_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_57_7">Len</A>, False);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_50_14">Put</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_66_14" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_57_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_67_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_58_7">Item</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_68_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_59_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_69_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_60_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_70_7" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_61_7">Exp</A></FONT>  : <b>in</b> <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_48_4">Default_Exp</A>)
+   <b>is</b>
+   <b>begin</b>
+      <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>;
+</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
new file mode 100644
index 0000000..0f8291a
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-float_io__ads.htm
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-float_io.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-float_io.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                Terminal_Interface.Curses.Text_IO.Float_IO                --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>generic</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_44_43">Num</A></FONT> <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>.<FONT COLOR=red><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_44_48">Float_IO</A></FONT> <b>is</b>
+
+   <FONT COLOR=red><A NAME="ref_46_4">Default_Fore</A></FONT> : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 2;
+   <FONT COLOR=red><A NAME="ref_47_4">Default_Aft</A></FONT>  : <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;
+   <FONT COLOR=red><A NAME="ref_48_4">Default_Exp</A></FONT>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A> := 3;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_50_14" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_49_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_50_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_51_7">Item</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_52_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_54_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_53_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_55_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_54_7">Exp</A></FONT>  : <b>in</b> <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_48_4">Default_Exp</A>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_57_14" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_66_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_67_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-float_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_59_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_68_7">Fore</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_60_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_69_7">Aft</A></FONT>  : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_61_7" HREF="terminal_interface-curses-text_io-float_io__adb.htm#ref_70_7">Exp</A></FONT>  : <b>in</b> <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_48_4">Default_Exp</A>);
+
+<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>;
+</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
new file mode 100644
index 0000000..7b35021
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-integer_io__adb.htm
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-integer_io.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-integer_io.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Text_IO.Integer_IO               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.10 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Integer_IO</A></FONT> <b>is</b>
+
+   <b>package</b> <FONT COLOR=red><A NAME="ref_46_12">Aux</A></FONT> <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> 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> <FONT COLOR=red><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_49_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_51_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_52_7">Width</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_53_7">Base</A></FONT>  : <b>in</b> <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>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_55_7">Buf</A></FONT> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>'Last);
+   <b>begin</b>
+      IIO.Put (<A HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_55_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_51_7">Item</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_53_7">Base</A>);
+      <A HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_46_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_50_7">Win</A>, <A HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_55_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_52_7">Width</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_49_14">Put</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_61_14" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_55_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_62_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_56_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_63_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_57_7">Width</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_64_7" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_58_7">Base</A></FONT>  : <b>in</b> <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>)
+   <b>is</b>
+   <b>begin</b>
+      <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>;
+</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
new file mode 100644
index 0000000..7e9ff1f
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-integer_io__ads.htm
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-integer_io.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-integer_io.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Text_IO.Integer_IO               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>generic</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_44_43">Num</A></FONT> <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>.<FONT COLOR=red><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_44_48">Integer_IO</A></FONT> <b>is</b>
+
+   <FONT COLOR=red><A NAME="ref_46_4">Default_Width</A></FONT> : <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;
+   <FONT COLOR=red><A NAME="ref_47_4">Default_Base</A></FONT>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := 10;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_49_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_50_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_51_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_52_7">Width</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_53_7">Base</A></FONT>  : <b>in</b> <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>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_55_14" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_61_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_56_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_62_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-integer_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_57_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_63_7">Width</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-integer_io__adb.htm#ref_64_7">Base</A></FONT>  : <b>in</b> <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>);
+
+<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>;
+</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
new file mode 100644
index 0000000..f0c1612
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-modular_io__adb.htm
@@ -0,0 +1,76 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-modular_io.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-modular_io.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Text_IO.Modular_IO               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.10 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>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>.<FONT COLOR=red><A NAME="ref_44_48" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Modular_IO</A></FONT> <b>is</b>
+
+   <b>package</b> <FONT COLOR=red><A NAME="ref_46_12">Aux</A></FONT> <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> 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> <FONT COLOR=red><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_49_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_51_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_52_7">Width</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_53_7">Base</A></FONT>  : <b>in</b> <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>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_55_7">Buf</A></FONT> : String (1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_50_12">Field</A>'Last);
+   <b>begin</b>
+      MIO.Put (<A HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_55_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_51_7">Item</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_53_7">Base</A>);
+      <A HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_46_12">Aux</A>.<A HREF="terminal_interface-curses-text_io-aux__ads.htm#ref_48_14">Put_Buf</A> (<A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_50_7">Win</A>, <A HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_55_7">Buf</A>, <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_52_7">Width</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_49_14">Put</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_61_14" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_55_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_62_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_56_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_63_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_57_7">Width</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_64_7" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_58_7">Base</A></FONT>  : <b>in</b> <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>)
+   <b>is</b>
+   <b>begin</b>
+      <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>;
+</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
new file mode 100644
index 0000000..83e7d61
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io-modular_io__ads.htm
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io-modular_io.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io-modular_io.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--               Terminal_Interface.Curses.Text_IO.Modular_IO               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.11 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>generic</b>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_42_9" HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_44_43">Num</A></FONT> <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>.<FONT COLOR=red><A NAME="ref_44_43" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_44_48">Modular_IO</A></FONT> <b>is</b>
+
+   <FONT COLOR=red><A NAME="ref_46_4">Default_Width</A></FONT> : <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;
+   <FONT COLOR=red><A NAME="ref_47_4">Default_Base</A></FONT>  : <A HREF="terminal_interface-curses-text_io__ads.htm#ref_51_12">Number_Base</A> := 10;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_49_14" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_49_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_50_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_50_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_51_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_51_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_52_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_52_7">Width</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_53_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_53_7">Base</A></FONT>  : <b>in</b> <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>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_55_14" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_61_14">Put</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_56_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_62_7">Item</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses-text_io-modular_io__ads.htm#ref_42_9">Num</A>;
+      <FONT COLOR=red><A NAME="ref_57_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_63_7">Width</A></FONT> : <b>in</b> <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>;
+      <FONT COLOR=red><A NAME="ref_58_7" HREF="terminal_interface-curses-text_io-modular_io__adb.htm#ref_64_7">Base</A></FONT>  : <b>in</b> <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>);
+
+<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>;
+</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
new file mode 100644
index 0000000..a7ae771
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io__adb.htm
@@ -0,0 +1,343 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                     Terminal_Interface.Curses.Text_IO                    --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998-2004,2006 Free Software Foundation, Inc.              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.18 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2006/06/25 14:24:40 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_42_40" HREF="terminal_interface-curses-text_io__ads.htm#ref_44_35">Text_IO</A></FONT> <b>is</b>
+
+   <FONT COLOR=red><A NAME="ref_44_4">Default_Window</A></FONT> : <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>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_46_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_59_14">Set_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_46_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_59_26">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_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> <FONT COLOR=red><A NAME="ref_52_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_62_13">Get_Window</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_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_476_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> <FONT COLOR=red><A NAME="ref_63_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_65_14">Flush</A></FONT> (<FONT COLOR=red><A NAME="ref_63_21" HREF="terminal_interface-curses-text_io__ads.htm#ref_65_21">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1045_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> <FONT COLOR=red><A NAME="ref_69_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_66_14">Flush</A></FONT>
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_65_14">Flush</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_66_14">Flush</A>;
+
+   <FONT COLOR=green><EM>--------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>-- Specification of line and page lengths --</EM></FONT>
+   <FONT COLOR=green><EM>--------------------------------------------</EM></FONT>
+
+   <FONT COLOR=green><EM>--  There are no set routines in this package. I assume, that you allocate</EM></FONT>
+   <FONT COLOR=green><EM>--  the window with an appropriate size.</EM></FONT>
+   <FONT COLOR=green><EM>--  A scroll-window is interpreted as an page with unbounded page length,</EM></FONT>
+   <FONT COLOR=green><EM>--  i.e. it returns the conventional 0 as page length.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_84_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_77_13">Line_Length</A></FONT> (<FONT COLOR=red><A NAME="ref_84_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_77_26">Win</A></FONT> : <b>in</b> <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>is</b>
+      <FONT COLOR=red><A NAME="ref_86_7">N_Lines</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_87_7">N_Cols</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1228_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>);
+      <FONT COLOR=green><EM>--  if Natural (N_Cols) &gt; Natural (Count'Last) then</EM></FONT>
+      <FONT COLOR=green><EM>--     raise Layout_Error;</EM></FONT>
+      <FONT COLOR=green><EM>--  end if;</EM></FONT>
+      <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_87_7">N_Cols</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_77_13">Line_Length</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_96_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_78_13">Line_Length</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>
+   <b>is</b>
+   <b>begin</b>
+      <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> <FONT COLOR=red><A NAME="ref_102_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A></FONT> (<FONT COLOR=red><A NAME="ref_102_26" HREF="terminal_interface-curses-text_io__ads.htm#ref_80_26">Win</A></FONT> : <b>in</b> <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>is</b>
+      <FONT COLOR=red><A NAME="ref_104_7">N_Lines</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_105_7">N_Cols</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1022_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_1228_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>);
+         <FONT COLOR=green><EM>--  if Natural (N_Lines) &gt; Natural (Count'Last) then</EM></FONT>
+         <FONT COLOR=green><EM>--     raise Layout_Error;</EM></FONT>
+         <FONT COLOR=green><EM>--  end if;</EM></FONT>
+         <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_104_7">N_Lines</A>);
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_80_13">Page_Length</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_118_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>
+   <b>is</b>
+   <b>begin</b>
+      <b>return</b> <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_62_13">Get_Window</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_81_13">Page_Length</A>;
+
+   <FONT COLOR=green><EM>------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>-- Column, Line, and Page Control --</EM></FONT>
+   <FONT COLOR=green><EM>------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_127_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_86_14">New_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_127_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_86_24">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_127_41" HREF="terminal_interface-curses-text_io__ads.htm#ref_86_41">Spacing</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_129_7">P_Size</A></FONT> : <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>
+      <b>if</b> <b>not</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_41">Spacing</A>'Valid <b>then</b>
+         <b>raise</b> Constraint_Error;
+      <b>end</b> <b>if</b>;
+
+      <b>for</b> <FONT COLOR=red><A NAME="ref_135_11">I</A></FONT> <b>in</b> 1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_86_41">Spacing</A> <b>loop</b>
+         <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_528_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>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_144_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_87_14">New_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_144_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_87_24">Spacing</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1)
+   <b>is</b>
+   <b>begin</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_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> <FONT COLOR=red><A NAME="ref_150_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_89_14">New_Page</A></FONT> (<FONT COLOR=red><A NAME="ref_150_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_89_24">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1080_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> <FONT COLOR=red><A NAME="ref_156_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_90_14">New_Page</A></FONT>
+   <b>is</b>
+   <b>begin</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_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> <FONT COLOR=red><A NAME="ref_162_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_92_14">Set_Col</A></FONT> (<FONT COLOR=red><A NAME="ref_162_23" HREF="terminal_interface-curses-text_io__ads.htm#ref_92_23">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;  <FONT COLOR=red><A NAME="ref_162_41" HREF="terminal_interface-curses-text_io__ads.htm#ref_92_41">To</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_164_7">Y</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_165_7">X1</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_166_7">X2</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_167_7">N</A></FONT>  : Natural;
+   <b>begin</b>
+      <b>if</b> <b>not</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_41">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_1244_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_41">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>);
+      <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;
+      <b>end</b> <b>if</b>;
+      <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_165_7">X1</A> &lt; <A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X2</A> <b>then</b>
+         <b>declare</b>
+            <FONT COLOR=red><A NAME="ref_182_13">Filler</A></FONT> : <b>constant</b> String (Integer (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_165_7">X1</A>) .. (Integer (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_166_7">X2</A>) - 1))
+              := (<b>others</b> =&gt; ' ');
+         <b>begin</b>
+            <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</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_182_13">Filler</A>);
+         <b>end</b>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_92_14">Set_Col</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_190_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_93_14">Set_Col</A></FONT> (<FONT COLOR=red><A NAME="ref_190_23" HREF="terminal_interface-curses-text_io__ads.htm#ref_93_23">To</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>)
+   <b>is</b>
+   <b>begin</b>
+      <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> <FONT COLOR=red><A NAME="ref_196_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_95_14">Set_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_196_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_95_24">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_196_41" HREF="terminal_interface-curses-text_io__ads.htm#ref_95_41">To</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_198_7">Y1</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_199_7">Y2</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_200_7">X</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_201_7">N</A></FONT>  : Natural;
+   <b>begin</b>
+      <b>if</b> <b>not</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_41">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_1244_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>);
+      <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_41">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>);
+      <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;
+      <b>end</b> <b>if</b>;
+      <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_198_7">Y1</A> &lt; <A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y2</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_95_24">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_199_7">Y2</A> - <A HREF="terminal_interface-curses-text_io__adb.htm#ref_198_7">Y1</A>));
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_95_14">Set_Line</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_219_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_96_14">Set_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_219_24" HREF="terminal_interface-curses-text_io__ads.htm#ref_96_24">To</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>)
+   <b>is</b>
+   <b>begin</b>
+      <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> <FONT COLOR=red><A NAME="ref_225_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_98_13">Col</A></FONT> (<FONT COLOR=red><A NAME="ref_225_18" HREF="terminal_interface-curses-text_io__ads.htm#ref_98_18">Win</A></FONT> : <b>in</b> <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>is</b>
+      <FONT COLOR=red><A NAME="ref_227_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_228_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_229_7">N</A></FONT> : Natural;
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1244_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_227_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_228_7">X</A>);
+      <A HREF="terminal_interface-curses-text_io__adb.htm#ref_229_7">N</A> := Natural (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_228_7">X</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_229_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_229_7">N</A> + 1;
+      <FONT COLOR=green><EM>--  if N &gt; Natural (Count'Last) then</EM></FONT>
+      <FONT COLOR=green><EM>--     raise Layout_Error;</EM></FONT>
+      <FONT COLOR=green><EM>--  end if;</EM></FONT>
+      <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_229_7">N</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_98_13">Col</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_239_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_99_13">Col</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>
+   <b>is</b>
+   <b>begin</b>
+      <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> <FONT COLOR=red><A NAME="ref_245_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_101_13">Line</A></FONT> (<FONT COLOR=red><A NAME="ref_245_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_101_19">Win</A></FONT> : <b>in</b> <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>is</b>
+      <FONT COLOR=red><A NAME="ref_247_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_248_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_249_7">N</A></FONT> : Natural;
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1244_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_247_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_248_7">X</A>);
+      <A HREF="terminal_interface-curses-text_io__adb.htm#ref_249_7">N</A> := Natural (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_247_7">Y</A>); <A HREF="terminal_interface-curses-text_io__adb.htm#ref_249_7">N</A> := <A HREF="terminal_interface-curses-text_io__adb.htm#ref_249_7">N</A> + 1;
+      <FONT COLOR=green><EM>--  if N &gt; Natural (Count'Last) then</EM></FONT>
+      <FONT COLOR=green><EM>--     raise Layout_Error;</EM></FONT>
+      <FONT COLOR=green><EM>--  end if;</EM></FONT>
+      <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_249_7">N</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_101_13">Line</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_259_13" HREF="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>
+   <b>is</b>
+   <b>begin</b>
+      <b>return</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_62_13">Get_Window</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_102_13">Line</A>;
+
+   <FONT COLOR=green><EM>-----------------------</EM></FONT>
+   <FONT COLOR=green><EM>-- Characters Output --</EM></FONT>
+   <FONT COLOR=green><EM>-----------------------</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_269_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A></FONT> (<FONT COLOR=red><A NAME="ref_269_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_108_19">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_269_37" HREF="terminal_interface-curses-text_io__ads.htm#ref_108_37">Item</A></FONT> : <b>in</b> Character)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_271_7">P_Size</A></FONT> : <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>);
+      <FONT COLOR=red><A NAME="ref_272_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_273_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_274_7">L</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_275_7">C</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_271_7">P_Size</A> &gt; 0 <b>then</b>
+         <A HREF="terminal_interface-curses__ads.htm#ref_1244_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_272_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_273_7">X</A>);
+         <A HREF="terminal_interface-curses__ads.htm#ref_1228_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_274_7">L</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_275_7">C</A>);
+         <b>if</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_272_7">Y</A> + 1) = <A HREF="terminal_interface-curses-text_io__adb.htm#ref_274_7">L</A> <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_273_7">X</A> + 1) = <A HREF="terminal_interface-curses-text_io__adb.htm#ref_275_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_528_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_37">Item</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_14">Put</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_287_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</A></FONT> (<FONT COLOR=red><A NAME="ref_287_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_109_19">Item</A></FONT> : <b>in</b> Character)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_108_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__ads.htm#ref_109_19">Item</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_109_14">Put</A>;
+
+   <FONT COLOR=green><EM>--------------------</EM></FONT>
+   <FONT COLOR=green><EM>-- Strings-Output --</EM></FONT>
+   <FONT COLOR=green><EM>--------------------</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_297_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A></FONT> (<FONT COLOR=red><A NAME="ref_297_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_115_19">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_297_37" HREF="terminal_interface-curses-text_io__ads.htm#ref_115_37">Item</A></FONT> : <b>in</b> String)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_299_7">P_Size</A></FONT> : <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>);
+      <FONT COLOR=red><A NAME="ref_300_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_301_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_302_7">L</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_303_7">C</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses-text_io__adb.htm#ref_299_7">P_Size</A> &gt; 0 <b>then</b>
+         <A HREF="terminal_interface-curses__ads.htm#ref_1244_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_300_7">Y</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_301_7">X</A>);
+         <A HREF="terminal_interface-curses__ads.htm#ref_1228_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_302_7">L</A>, <A HREF="terminal_interface-curses-text_io__adb.htm#ref_303_7">C</A>);
+         <b>if</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_300_7">Y</A> + 1) = <A HREF="terminal_interface-curses-text_io__adb.htm#ref_302_7">L</A> <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses-text_io__adb.htm#ref_301_7">X</A> + 1 + <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_37">Item</A>'Length) &gt;= <A HREF="terminal_interface-curses-text_io__adb.htm#ref_303_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_653_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_37">Item</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_315_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A></FONT> (<FONT COLOR=red><A NAME="ref_315_19" HREF="terminal_interface-curses-text_io__ads.htm#ref_116_19">Item</A></FONT> : <b>in</b> String)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_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__ads.htm#ref_116_19">Item</A>);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_116_14">Put</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_321_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_118_14">Put_Line</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_322_7" HREF="terminal_interface-curses-text_io__ads.htm#ref_119_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_323_7" HREF="terminal_interface-curses-text_io__ads.htm#ref_120_7">Item</A></FONT> : <b>in</b> String)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses-text_io__ads.htm#ref_115_14">Put</A> (<A HREF="terminal_interface-curses-text_io__ads.htm#ref_119_7">Win</A>, <A HREF="terminal_interface-curses-text_io__ads.htm#ref_120_7">Item</A>);
+      <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_119_7">Win</A>, 1);
+   <b>end</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_118_14">Put_Line</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_330_14" HREF="terminal_interface-curses-text_io__ads.htm#ref_122_14">Put_Line</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_331_7" HREF="terminal_interface-curses-text_io__ads.htm#ref_123_7">Item</A></FONT> : <b>in</b> String)
+   <b>is</b>
+   <b>begin</b>
+      <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>;
+</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
new file mode 100644
index 0000000..50e9229
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-text_io__ads.htm
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-text_io.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-text_io.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                     Terminal_Interface.Curses.Text_IO                    --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.13 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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>.<FONT COLOR=red><A NAME="ref_44_35" HREF="terminal_interface-curses-text_io__adb.htm#ref_42_40">Text_IO</A></FONT> <b>is</b>
+
+   <b>use</b> <b>type</b> Ada.Text_IO.Count;
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_47_12">Count</A></FONT> <b>is</b> Ada.Text_IO.Count;
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_48_12">Positive_Count</A></FONT> <b>is</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A> <b>range</b> 1 .. <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>'Last;
+
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_50_12">Field</A></FONT> <b>is</b> Ada.Text_IO.Field;
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_51_12">Number_Base</A></FONT> <b>is</b> Integer <b>range</b> 2 .. 16;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_53_9">Type_Set</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_53_22">Lower_Case</A></FONT>, <FONT COLOR=red><A NAME="ref_53_34">Upper_Case</A></FONT>, <FONT COLOR=red><A NAME="ref_53_46">Mixed_Case</A></FONT>);
+
+   <FONT COLOR=green><EM>--  For most of the routines you will see a version without a Window</EM></FONT>
+   <FONT COLOR=green><EM>--  type parameter. They will operate on a default window, which can</EM></FONT>
+   <FONT COLOR=green><EM>--  be set by the user. It is initially equal to Standard_Window.</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_59_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_46_14">Set_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_59_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_46_26">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <FONT COLOR=green><EM>--  Set Win as the default window</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_62_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_52_13">Get_Window</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+   <FONT COLOR=green><EM>--  Get the current default window</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_65_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_63_14">Flush</A></FONT> (<FONT COLOR=red><A NAME="ref_65_21" HREF="terminal_interface-curses-text_io__adb.htm#ref_63_21">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_66_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_69_14">Flush</A></FONT>;
+
+   <FONT COLOR=green><EM>--------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>-- Specification of line and page lengths --</EM></FONT>
+   <FONT COLOR=green><EM>--------------------------------------------</EM></FONT>
+
+   <FONT COLOR=green><EM>--  There are no set routines in this package. I assume, that you allocate</EM></FONT>
+   <FONT COLOR=green><EM>--  the window with an appropriate size.</EM></FONT>
+   <FONT COLOR=green><EM>--  A scroll-window is interpreted as an page with unbounded page length,</EM></FONT>
+   <FONT COLOR=green><EM>--  i.e. it returns the conventional 0 as page length.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_77_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_84_13">Line_Length</A></FONT> (<FONT COLOR=red><A NAME="ref_77_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_84_26">Win</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_78_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_96_13">Line_Length</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_80_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_102_13">Page_Length</A></FONT> (<FONT COLOR=red><A NAME="ref_80_26" HREF="terminal_interface-curses-text_io__adb.htm#ref_102_26">Win</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_81_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_118_13">Page_Length</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_47_12">Count</A>;
+
+   <FONT COLOR=green><EM>------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>-- Column, Line, and Page Control --</EM></FONT>
+   <FONT COLOR=green><EM>------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_86_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_127_14">New_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_86_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_127_24">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_86_41" HREF="terminal_interface-curses-text_io__adb.htm#ref_127_41">Spacing</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1);
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_87_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_144_14">New_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_87_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_144_24">Spacing</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A> := 1);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_89_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_150_14">New_Page</A></FONT> (<FONT COLOR=red><A NAME="ref_89_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_150_24">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_90_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_156_14">New_Page</A></FONT>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_92_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_162_14">Set_Col</A></FONT> (<FONT COLOR=red><A NAME="ref_92_23" HREF="terminal_interface-curses-text_io__adb.htm#ref_162_23">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;  <FONT COLOR=red><A NAME="ref_92_41" HREF="terminal_interface-curses-text_io__adb.htm#ref_162_41">To</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_93_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_190_14">Set_Col</A></FONT> (<FONT COLOR=red><A NAME="ref_93_23" HREF="terminal_interface-curses-text_io__adb.htm#ref_190_23">To</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_95_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_196_14">Set_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_95_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_196_24">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_95_41" HREF="terminal_interface-curses-text_io__adb.htm#ref_196_41">To</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_96_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_219_14">Set_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_96_24" HREF="terminal_interface-curses-text_io__adb.htm#ref_219_24">To</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_98_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_225_13">Col</A></FONT> (<FONT COLOR=red><A NAME="ref_98_18" HREF="terminal_interface-curses-text_io__adb.htm#ref_225_18">Win</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_99_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_239_13">Col</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_101_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_245_13">Line</A></FONT> (<FONT COLOR=red><A NAME="ref_101_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_245_19">Win</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_102_13" HREF="terminal_interface-curses-text_io__adb.htm#ref_259_13">Line</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-text_io__ads.htm#ref_48_12">Positive_Count</A>;
+
+   <FONT COLOR=green><EM>-----------------------</EM></FONT>
+   <FONT COLOR=green><EM>-- Characters-Output --</EM></FONT>
+   <FONT COLOR=green><EM>-----------------------</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_108_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_269_14">Put</A></FONT> (<FONT COLOR=red><A NAME="ref_108_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_269_19">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_108_37" HREF="terminal_interface-curses-text_io__adb.htm#ref_269_37">Item</A></FONT> : <b>in</b> Character);
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_109_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_287_14">Put</A></FONT> (<FONT COLOR=red><A NAME="ref_109_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_287_19">Item</A></FONT> : <b>in</b> Character);
+
+   <FONT COLOR=green><EM>--------------------</EM></FONT>
+   <FONT COLOR=green><EM>-- Strings-Output --</EM></FONT>
+   <FONT COLOR=green><EM>--------------------</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_115_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_297_14">Put</A></FONT> (<FONT COLOR=red><A NAME="ref_115_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_297_19">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_115_37" HREF="terminal_interface-curses-text_io__adb.htm#ref_297_37">Item</A></FONT> : <b>in</b> String);
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_116_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_315_14">Put</A></FONT> (<FONT COLOR=red><A NAME="ref_116_19" HREF="terminal_interface-curses-text_io__adb.htm#ref_315_19">Item</A></FONT> : <b>in</b> String);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_118_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_321_14">Put_Line</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_119_7" HREF="terminal_interface-curses-text_io__adb.htm#ref_322_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_120_7" HREF="terminal_interface-curses-text_io__adb.htm#ref_323_7">Item</A></FONT> : <b>in</b> String);
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_122_14" HREF="terminal_interface-curses-text_io__adb.htm#ref_330_14">Put_Line</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_123_7" HREF="terminal_interface-curses-text_io__adb.htm#ref_331_7">Item</A></FONT> : <b>in</b> String);
+
+   <FONT COLOR=green><EM>--  Exceptions</EM></FONT>
+
+   <FONT COLOR=red><A NAME="ref_127_4">Status_Error</A></FONT> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Status_Error;
+   <FONT COLOR=red><A NAME="ref_128_4">Mode_Error</A></FONT>   : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Mode_Error;
+   <FONT COLOR=red><A NAME="ref_129_4">Name_Error</A></FONT>   : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Name_Error;
+   <FONT COLOR=red><A NAME="ref_130_4">Use_Error</A></FONT>    : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Use_Error;
+   <FONT COLOR=red><A NAME="ref_131_4">Device_Error</A></FONT> : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Device_Error;
+   <FONT COLOR=red><A NAME="ref_132_4">End_Error</A></FONT>    : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.End_Error;
+   <FONT COLOR=red><A NAME="ref_133_4">Data_Error</A></FONT>   : <b>exception</b> <b>renames</b> Ada.IO_Exceptions.Data_Error;
+   <FONT COLOR=red><A NAME="ref_134_4">Layout_Error</A></FONT> : <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>;
+</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
new file mode 100644
index 0000000..a209b3f
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-trace__adb.htm
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-trace.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-trace.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                      Terminal_Interface.Curses.Trace                     --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 2000,2004 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.5 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+<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>.<FONT COLOR=red><A NAME="ref_42_40" HREF="terminal_interface-curses-trace__ads.htm#ref_42_35">Trace</A></FONT> <b>is</b>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_44_14" HREF="terminal_interface-curses-trace__ads.htm#ref_102_14">Trace_On</A></FONT> (<FONT COLOR=red><A NAME="ref_44_24" HREF="terminal_interface-curses-trace__ads.htm#ref_102_24">x</A></FONT> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>) <b>is</b>
+   <b>pragma</b> Unreferenced (<A HREF="terminal_interface-curses-trace__ads.htm#ref_102_24">x</A>);
+   <b>begin</b>
+      <b>null</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_102_14">Trace_On</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_50_14" HREF="terminal_interface-curses-trace__ads.htm#ref_106_14">Trace_Put</A></FONT> (<FONT COLOR=red><A NAME="ref_50_25" HREF="terminal_interface-curses-trace__ads.htm#ref_106_25">str</A></FONT> : String) <b>is</b>
+   <b>pragma</b> Unreferenced (<A HREF="terminal_interface-curses-trace__ads.htm#ref_106_25">str</A>);
+   <b>begin</b>
+      <b>null</b>;
+   <b>end</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_106_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>;
+</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
new file mode 100644
index 0000000..8ab28f0
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses-trace__ads.htm
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses-trace.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses-trace.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                      Terminal_Interface.Curses.Trace                     --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 2000 Free Software Foundation, Inc.                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author: Eugene V. Melaragno &lt;aldomel@ix.netcom.com&gt; 2000</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.1 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+<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>.<FONT COLOR=red><A NAME="ref_42_35" HREF="terminal_interface-curses-trace__adb.htm#ref_42_40">Trace</A></FONT> <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>pragma</b> Warnings (Off);
+   <b>type</b> <FONT COLOR=red><A NAME="ref_46_9">Trace_Attribute_Set</A></FONT> <b>is</b>
+      <b>record</b>
+         <FONT COLOR=red><A NAME="ref_48_10">Times</A></FONT>            : Boolean;
+         <FONT COLOR=red><A NAME="ref_49_10">Tputs</A></FONT>            : Boolean;
+         <FONT COLOR=red><A NAME="ref_50_10">Update</A></FONT>           : Boolean;
+         <FONT COLOR=red><A NAME="ref_51_10">Cursor_Move</A></FONT>      : Boolean;
+         <FONT COLOR=red><A NAME="ref_52_10">Character_Output</A></FONT> : Boolean;
+         <FONT COLOR=red><A NAME="ref_53_10">Calls</A></FONT>            : Boolean;
+         <FONT COLOR=red><A NAME="ref_54_10">Virtual_Puts</A></FONT>     : Boolean;
+         <FONT COLOR=red><A NAME="ref_55_10">Input_Events</A></FONT>     : Boolean;
+         <FONT COLOR=red><A NAME="ref_56_10">TTY_State</A></FONT>        : Boolean;
+         <FONT COLOR=red><A NAME="ref_57_10">Internal_Calls</A></FONT>   : Boolean;
+         <FONT COLOR=red><A NAME="ref_58_10">Character_Calls</A></FONT>  : Boolean;
+         <FONT COLOR=red><A NAME="ref_59_10">Termcap_TermInfo</A></FONT> : 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>for</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_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;
+      <b>end</b> <b>record</b>;
+   <b>for</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>'Size <b>use</b> 32;
+   <FONT COLOR=green><EM>--  Please note: this rep. clause is generated and may be</EM></FONT>
+   <FONT COLOR=green><EM>--               different on your system.</EM></FONT>
+
+   <b>pragma</b> Warnings (On);
+
+   <FONT COLOR=red><A NAME="ref_84_4">Trace_Disable</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A> := (<b>others</b> =&gt; False);
+
+   <FONT COLOR=red><A NAME="ref_86_4">Trace_Ordinary</A></FONT> : <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,
+      <b>others</b>           =&gt; False);
+   <FONT COLOR=red><A NAME="ref_93_4">Trace_Maximum</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A> := (<b>others</b> =&gt; True);
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_102_14" HREF="terminal_interface-curses-trace__adb.htm#ref_44_14">Trace_On</A></FONT> (<FONT COLOR=red><A NAME="ref_102_24" HREF="terminal_interface-curses-trace__adb.htm#ref_44_24">x</A></FONT> : <A HREF="terminal_interface-curses-trace__ads.htm#ref_46_9">Trace_Attribute_Set</A>);
+   <FONT COLOR=green><EM>--  The debugging library has trace.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_106_14" HREF="terminal_interface-curses-trace__adb.htm#ref_50_14">Trace_Put</A></FONT> (<FONT COLOR=red><A NAME="ref_106_25" HREF="terminal_interface-curses-trace__adb.htm#ref_50_25">str</A></FONT> : String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_trace.3x.html">_tracef()</A></EM></FONT>
+
+   <FONT COLOR=red><A NAME="ref_109_4">Current_Trace_Setting</A></FONT> : <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_109_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>;
+</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses__adb.htm b/doc/html/ada/terminal_interface-curses__adb.htm
new file mode 100644
index 0000000..1c01375
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses__adb.htm
@@ -0,0 +1,2562 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses.adb</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses.adb </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                        Terminal_Interface.Curses                         --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 B O D Y                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author: Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.5 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2008/07/26 18:46:32 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<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_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>.<FONT COLOR=red><A NAME="ref_50_33" HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A></FONT> <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>package</b> <FONT COLOR=red><A NAME="ref_55_12">ASF</A></FONT> <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_352_9">Attributed_Character</A>;
+   <b>pragma</b> Convention (C, chtype_array);
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_62_13" HREF="terminal_interface-curses__ads.htm#ref_1616_13">Key_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_62_23" HREF="terminal_interface-curses__ads.htm#ref_1616_23">Key</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>) <b>return</b> String
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_64_16">Keyname</A></FONT> (<FONT COLOR=red><A NAME="ref_64_25" HREF="terminal_interface-curses__adb.htm#ref_64_16">K</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> chars_ptr;
+      <b>pragma</b> Import (C, Keyname, "keyname");
+
+      <FONT COLOR=red><A NAME="ref_67_7">Ch</A></FONT> : Character;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1616_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_1616_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_1627_13">Un_Control</A> (<A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>,
+                                                     <A HREF="terminal_interface-curses__ads.htm#ref_355_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_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_350_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>declare</b>
+               <FONT COLOR=red><A NAME="ref_77_16">S</A></FONT> : 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>;
+            <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_1616_23">Key</A>)));
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1616_13">Key_Name</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_90_14" HREF="terminal_interface-curses__ads.htm#ref_1610_14">Key_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_90_24" HREF="terminal_interface-curses__ads.htm#ref_1610_24">Key</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>;
+                       <FONT COLOR=red><A NAME="ref_91_24" HREF="terminal_interface-curses__ads.htm#ref_1611_24">Name</A></FONT> : <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_1616_13">Key_Name</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1610_24">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1611_24">Name</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1610_14">Key_Name</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_98_14" HREF="terminal_interface-curses__ads.htm#ref_486_14">Init_Screen</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_100_16">Initscr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <b>pragma</b> Import (C, Initscr, "initscr");
+
+      <FONT COLOR=red><A NAME="ref_103_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_486_14">Init_Screen</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_111_14" HREF="terminal_interface-curses__ads.htm#ref_495_14">End_Windows</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_113_16">Endwin</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_495_14">End_Windows</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_121_13" HREF="terminal_interface-curses__ads.htm#ref_502_13">Is_End_Window</A></FONT> <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_123_16">Isendwin</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_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_1927_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_502_13">Is_End_Window</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_133_14" HREF="terminal_interface-curses__ads.htm#ref_511_14">Move_Cursor</A></FONT> (<FONT COLOR=red><A NAME="ref_133_27" HREF="terminal_interface-curses__ads.htm#ref_511_27">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                          <FONT COLOR=red><A NAME="ref_134_27" HREF="terminal_interface-curses__ads.htm#ref_512_27">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                          <FONT COLOR=red><A NAME="ref_135_27" HREF="terminal_interface-curses__ads.htm#ref_513_27">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_137_16">Wmove</A></FONT> (<FONT COLOR=red><A NAME="ref_137_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                      <FONT COLOR=red><A NAME="ref_138_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Line</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                      <FONT COLOR=red><A NAME="ref_139_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Column</A></FONT> : <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>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_511_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_512_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_513_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_511_14">Move_Cursor</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_148_14" HREF="terminal_interface-curses__ads.htm#ref_523_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_148_19" HREF="terminal_interface-curses__ads.htm#ref_523_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                  <FONT COLOR=red><A NAME="ref_149_19" HREF="terminal_interface-curses__ads.htm#ref_524_19">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_151_16">Waddch</A></FONT> (<FONT COLOR=red><A NAME="ref_151_24" HREF="terminal_interface-curses__adb.htm#ref_151_16">W</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                       <FONT COLOR=red><A NAME="ref_152_24" HREF="terminal_interface-curses__adb.htm#ref_151_16">Ch</A></FONT> : <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>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_523_19">Win</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses__ads.htm#ref_524_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_523_14">Add</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_160_14" HREF="terminal_interface-curses__ads.htm#ref_528_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_160_19" HREF="terminal_interface-curses__ads.htm#ref_528_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                  <FONT COLOR=red><A NAME="ref_161_19" HREF="terminal_interface-curses__ads.htm#ref_529_19">Ch</A></FONT>  : <b>in</b> Character)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_523_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_528_19">Win</A>,
+           <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_529_19">Ch</A>,
+                                 <A HREF="terminal_interface-curses__ads.htm#ref_355_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_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_528_14">Add</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_170_14" HREF="terminal_interface-curses__ads.htm#ref_534_14">Add</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_171_7" HREF="terminal_interface-curses__ads.htm#ref_535_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_172_7" HREF="terminal_interface-curses__ads.htm#ref_536_7">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_173_7" HREF="terminal_interface-curses__ads.htm#ref_537_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_174_7" HREF="terminal_interface-curses__ads.htm#ref_538_7">Ch</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_176_16">mvwaddch</A></FONT> (<FONT COLOR=red><A NAME="ref_176_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">W</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_177_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">Y</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                         <FONT COLOR=red><A NAME="ref_178_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">X</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                         <FONT COLOR=red><A NAME="ref_179_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">Ch</A></FONT> : <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>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_535_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_536_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_537_7">Column</A>),
+                   AttrChar_To_Chtype (<A HREF="terminal_interface-curses__ads.htm#ref_538_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_534_14">Add</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_189_14" HREF="terminal_interface-curses__ads.htm#ref_542_14">Add</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_190_7" HREF="terminal_interface-curses__ads.htm#ref_543_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_191_7" HREF="terminal_interface-curses__ads.htm#ref_544_7">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_192_7" HREF="terminal_interface-curses__ads.htm#ref_545_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_193_7" HREF="terminal_interface-curses__ads.htm#ref_546_7">Ch</A></FONT>     : <b>in</b> Character)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_534_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_543_7">Win</A>,
+           <A HREF="terminal_interface-curses__ads.htm#ref_544_7">Line</A>,
+           <A HREF="terminal_interface-curses__ads.htm#ref_545_7">Column</A>,
+           <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_546_7">Ch</A>,
+                                 <A HREF="terminal_interface-curses__ads.htm#ref_355_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_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_542_14">Add</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_204_14" HREF="terminal_interface-curses__ads.htm#ref_551_14">Add_With_Immediate_Echo</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_205_7" HREF="terminal_interface-curses__ads.htm#ref_552_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_206_7" HREF="terminal_interface-curses__ads.htm#ref_553_7">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_208_16">Wechochar</A></FONT> (<FONT COLOR=red><A NAME="ref_208_27" HREF="terminal_interface-curses__adb.htm#ref_208_16">W</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                          <FONT COLOR=red><A NAME="ref_209_27" HREF="terminal_interface-curses__adb.htm#ref_208_16">Ch</A></FONT> : <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>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_552_7">Win</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses__ads.htm#ref_553_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_551_14">Add_With_Immediate_Echo</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_217_14" HREF="terminal_interface-curses__ads.htm#ref_557_14">Add_With_Immediate_Echo</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_218_7" HREF="terminal_interface-curses__ads.htm#ref_558_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_219_7" HREF="terminal_interface-curses__ads.htm#ref_559_7">Ch</A></FONT>  : <b>in</b> Character)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_551_14">Add_With_Immediate_Echo</A>
+        (<A HREF="terminal_interface-curses__ads.htm#ref_558_7">Win</A>,
+         <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_559_7">Ch</A>,
+                               <A HREF="terminal_interface-curses__ads.htm#ref_355_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_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_557_14">Add_With_Immediate_Echo</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_229_13" HREF="terminal_interface-curses__ads.htm#ref_569_13">Create</A></FONT> (<FONT COLOR=red><A NAME="ref_229_21" HREF="terminal_interface-curses__ads.htm#ref_570_7">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                    <FONT COLOR=red><A NAME="ref_230_21" HREF="terminal_interface-curses__ads.htm#ref_571_7">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+                    <FONT COLOR=red><A NAME="ref_231_21" HREF="terminal_interface-curses__ads.htm#ref_572_7">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                    <FONT COLOR=red><A NAME="ref_232_21" HREF="terminal_interface-curses__ads.htm#ref_573_7">First_Column_Position</A></FONT> : <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> <FONT COLOR=red><A NAME="ref_234_16">Newwin</A></FONT> (<FONT COLOR=red><A NAME="ref_234_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                       <FONT COLOR=red><A NAME="ref_235_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                       <FONT COLOR=red><A NAME="ref_236_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                       <FONT COLOR=red><A NAME="ref_237_24" HREF="terminal_interface-curses__adb.htm#ref_234_16">First_Column_Position</A></FONT> : <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>pragma</b> Import (C, Newwin, "newwin");
+
+      <FONT COLOR=red><A NAME="ref_240_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_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_570_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_571_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_572_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_573_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_383_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_569_13">Create</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_252_14" HREF="terminal_interface-curses__ads.htm#ref_588_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_252_22" HREF="terminal_interface-curses__ads.htm#ref_588_22">Win</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_254_16">Wdelwin</A></FONT> (<FONT COLOR=red><A NAME="ref_254_25" HREF="terminal_interface-curses__adb.htm#ref_254_16">W</A></FONT> : <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>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_588_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+      <A HREF="terminal_interface-curses__ads.htm#ref_588_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_588_14">Delete</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_263_13" HREF="terminal_interface-curses__ads.htm#ref_594_13">Sub_Window</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_264_7" HREF="terminal_interface-curses__ads.htm#ref_595_7">Win</A></FONT>                   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_265_7" HREF="terminal_interface-curses__ads.htm#ref_596_7">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_266_7" HREF="terminal_interface-curses__ads.htm#ref_597_7">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+      <FONT COLOR=red><A NAME="ref_267_7" HREF="terminal_interface-curses__ads.htm#ref_598_7">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_268_7" HREF="terminal_interface-curses__ads.htm#ref_599_7">First_Column_Position</A></FONT> : <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> <FONT COLOR=red><A NAME="ref_270_16">Subwin</A></FONT>
+        (<FONT COLOR=red><A NAME="ref_271_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">Win</A></FONT>                   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+         <FONT COLOR=red><A NAME="ref_272_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_273_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_274_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_275_10" HREF="terminal_interface-curses__adb.htm#ref_270_16">First_Column_Position</A></FONT> : <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>pragma</b> Import (C, Subwin, "subwin");
+
+      <FONT COLOR=red><A NAME="ref_278_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_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_595_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_596_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_597_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_598_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_599_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_383_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_594_13">Sub_Window</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_291_13" HREF="terminal_interface-curses__ads.htm#ref_604_13">Derived_Window</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_292_7" HREF="terminal_interface-curses__ads.htm#ref_605_7">Win</A></FONT>                   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_293_7" HREF="terminal_interface-curses__ads.htm#ref_606_7">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_294_7" HREF="terminal_interface-curses__ads.htm#ref_607_7">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+      <FONT COLOR=red><A NAME="ref_295_7" HREF="terminal_interface-curses__ads.htm#ref_608_7">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_296_7" HREF="terminal_interface-curses__ads.htm#ref_609_7">First_Column_Position</A></FONT> : <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> <FONT COLOR=red><A NAME="ref_298_16">Derwin</A></FONT>
+        (<FONT COLOR=red><A NAME="ref_299_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">Win</A></FONT>                   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+         <FONT COLOR=red><A NAME="ref_300_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_301_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_302_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_303_10" HREF="terminal_interface-curses__adb.htm#ref_298_16">First_Column_Position</A></FONT> : <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>pragma</b> Import (C, Derwin, "derwin");
+
+      <FONT COLOR=red><A NAME="ref_306_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_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_605_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_606_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_607_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_608_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_609_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_383_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_604_13">Derived_Window</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_319_13" HREF="terminal_interface-curses__ads.htm#ref_614_13">Duplicate</A></FONT> (<FONT COLOR=red><A NAME="ref_319_24" HREF="terminal_interface-curses__ads.htm#ref_614_24">Win</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_321_16">Dupwin</A></FONT> (<FONT COLOR=red><A NAME="ref_321_24" HREF="terminal_interface-curses__adb.htm#ref_321_16">Win</A></FONT> : <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>pragma</b> Import (C, Dupwin, "dupwin");
+
+      <FONT COLOR=red><A NAME="ref_324_7">W</A></FONT> : <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_614_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_383_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_614_13">Duplicate</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_332_14" HREF="terminal_interface-curses__ads.htm#ref_619_14">Move_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_332_27" HREF="terminal_interface-curses__ads.htm#ref_619_27">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                          <FONT COLOR=red><A NAME="ref_333_27" HREF="terminal_interface-curses__ads.htm#ref_620_27">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                          <FONT COLOR=red><A NAME="ref_334_27" HREF="terminal_interface-curses__ads.htm#ref_621_27">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_336_16">Mvwin</A></FONT> (<FONT COLOR=red><A NAME="ref_336_23" HREF="terminal_interface-curses__adb.htm#ref_336_16">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                      <FONT COLOR=red><A NAME="ref_337_23" HREF="terminal_interface-curses__adb.htm#ref_336_16">Line</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                      <FONT COLOR=red><A NAME="ref_338_23" HREF="terminal_interface-curses__adb.htm#ref_336_16">Column</A></FONT> : <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>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_619_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_620_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_621_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_619_14">Move_Window</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_346_14" HREF="terminal_interface-curses__ads.htm#ref_626_14">Move_Derived_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_346_35" HREF="terminal_interface-curses__ads.htm#ref_626_35">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                                  <FONT COLOR=red><A NAME="ref_347_35" HREF="terminal_interface-curses__ads.htm#ref_627_35">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                                  <FONT COLOR=red><A NAME="ref_348_35" HREF="terminal_interface-curses__ads.htm#ref_628_35">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_350_16">Mvderwin</A></FONT> (<FONT COLOR=red><A NAME="ref_350_26" HREF="terminal_interface-curses__adb.htm#ref_350_16">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_351_26" HREF="terminal_interface-curses__adb.htm#ref_350_16">Line</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                         <FONT COLOR=red><A NAME="ref_352_26" HREF="terminal_interface-curses__adb.htm#ref_350_16">Column</A></FONT> : <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>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_626_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_627_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_628_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_626_14">Move_Derived_Window</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_360_14" HREF="terminal_interface-curses__ads.htm#ref_643_14">Set_Synch_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_360_30" HREF="terminal_interface-curses__ads.htm#ref_643_30">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                             <FONT COLOR=red><A NAME="ref_361_30" HREF="terminal_interface-curses__ads.htm#ref_644_30">Mode</A></FONT> : <b>in</b> Boolean := False)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_363_16">Syncok</A></FONT> (<FONT COLOR=red><A NAME="ref_363_24" HREF="terminal_interface-curses__adb.htm#ref_363_16">Win</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                       <FONT COLOR=red><A NAME="ref_364_24" HREF="terminal_interface-curses__adb.htm#ref_363_16">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_643_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_644_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_643_14">Set_Synch_Mode</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_372_14" HREF="terminal_interface-curses__ads.htm#ref_653_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_372_19" HREF="terminal_interface-curses__ads.htm#ref_653_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                  <FONT COLOR=red><A NAME="ref_373_19" HREF="terminal_interface-curses__ads.htm#ref_654_19">Str</A></FONT> : <b>in</b> String;
+                  <FONT COLOR=red><A NAME="ref_374_19" HREF="terminal_interface-curses__ads.htm#ref_655_19">Len</A></FONT> : <b>in</b> Integer := -1)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_376_16">Waddnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_376_26" HREF="terminal_interface-curses__adb.htm#ref_376_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_377_26" HREF="terminal_interface-curses__adb.htm#ref_376_16">Str</A></FONT> : char_array;
+                         <FONT COLOR=red><A NAME="ref_378_26" HREF="terminal_interface-curses__adb.htm#ref_376_16">Len</A></FONT> : <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>;
+      <b>pragma</b> Import (C, Waddnstr, "waddnstr");
+
+      <FONT COLOR=red><A NAME="ref_381_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_654_19">Str</A>'Length);
+      <FONT COLOR=red><A NAME="ref_382_7">Length</A></FONT> : size_t;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_654_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_653_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_655_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_653_14">Add</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_390_14" HREF="terminal_interface-curses__ads.htm#ref_662_14">Add</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_391_7" HREF="terminal_interface-curses__ads.htm#ref_662_19">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_392_7" HREF="terminal_interface-curses__ads.htm#ref_663_19">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_393_7" HREF="terminal_interface-curses__ads.htm#ref_664_19">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_394_7" HREF="terminal_interface-curses__ads.htm#ref_665_19">Str</A></FONT>    : <b>in</b> String;
+      <FONT COLOR=red><A NAME="ref_395_7" HREF="terminal_interface-curses__ads.htm#ref_666_19">Len</A></FONT>    : <b>in</b> Integer := -1)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_511_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_662_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_663_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_664_19">Column</A>);
+      <A HREF="terminal_interface-curses__ads.htm#ref_653_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_662_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_665_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_666_19">Len</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_662_14">Add</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_402_14" HREF="terminal_interface-curses__ads.htm#ref_677_14">Add</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_403_7" HREF="terminal_interface-curses__ads.htm#ref_677_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_404_7" HREF="terminal_interface-curses__ads.htm#ref_678_19">Str</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Attributed_String</A>;
+      <FONT COLOR=red><A NAME="ref_405_7" HREF="terminal_interface-curses__ads.htm#ref_679_19">Len</A></FONT> : <b>in</b> Integer := -1)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_407_16">Waddchnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_407_28" HREF="terminal_interface-curses__adb.htm#ref_407_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                           <FONT COLOR=red><A NAME="ref_408_28" HREF="terminal_interface-curses__adb.htm#ref_407_16">Str</A></FONT> : chtype_array;
+                           <FONT COLOR=red><A NAME="ref_409_28" HREF="terminal_interface-curses__adb.htm#ref_407_16">Len</A></FONT> : <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>;
+      <b>pragma</b> Import (C, Waddchnstr, "waddchnstr");
+
+      <FONT COLOR=red><A NAME="ref_412_7">Txt</A></FONT> : chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_678_19">Str</A>'Length);
+   <b>begin</b>
+      <b>for</b> <FONT COLOR=red><A NAME="ref_414_11">Length</A></FONT> <b>in</b> 1 .. size_t (<A HREF="terminal_interface-curses__ads.htm#ref_678_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_678_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_678_19">Str</A>'Length) := <A HREF="terminal_interface-curses__ads.htm#ref_371_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_677_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_679_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_677_14">Add</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_425_14" HREF="terminal_interface-curses__ads.htm#ref_686_14">Add</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_426_7" HREF="terminal_interface-curses__ads.htm#ref_686_19">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_427_7" HREF="terminal_interface-curses__ads.htm#ref_687_19">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_428_7" HREF="terminal_interface-curses__ads.htm#ref_688_19">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_429_7" HREF="terminal_interface-curses__ads.htm#ref_689_19">Str</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Attributed_String</A>;
+      <FONT COLOR=red><A NAME="ref_430_7" HREF="terminal_interface-curses__ads.htm#ref_690_19">Len</A></FONT>    : <b>in</b> Integer := -1)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_511_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_686_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_687_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_688_19">Column</A>);
+      <A HREF="terminal_interface-curses__ads.htm#ref_677_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_686_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_689_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_690_19">Len</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_686_14">Add</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_437_14" HREF="terminal_interface-curses__ads.htm#ref_704_14">Border</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_438_7" HREF="terminal_interface-curses__ads.htm#ref_705_7">Win</A></FONT>                       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_439_7" HREF="terminal_interface-curses__ads.htm#ref_706_7">Left_Side_Symbol</A></FONT>          : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_440_7" HREF="terminal_interface-curses__ads.htm#ref_707_7">Right_Side_Symbol</A></FONT>         : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_441_7" HREF="terminal_interface-curses__ads.htm#ref_708_7">Top_Side_Symbol</A></FONT>           : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_442_7" HREF="terminal_interface-curses__ads.htm#ref_709_7">Bottom_Side_Symbol</A></FONT>        : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_443_7" HREF="terminal_interface-curses__ads.htm#ref_710_7">Upper_Left_Corner_Symbol</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_444_7" HREF="terminal_interface-curses__ads.htm#ref_711_7">Upper_Right_Corner_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_445_7" HREF="terminal_interface-curses__ads.htm#ref_712_7">Lower_Left_Corner_Symbol</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_446_7" HREF="terminal_interface-curses__ads.htm#ref_713_7">Lower_Right_Corner_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_448_16">Wborder</A></FONT> (<FONT COLOR=red><A NAME="ref_448_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">W</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                        <FONT COLOR=red><A NAME="ref_449_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">LS</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+                        <FONT COLOR=red><A NAME="ref_450_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">RS</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+                        <FONT COLOR=red><A NAME="ref_451_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">TS</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+                        <FONT COLOR=red><A NAME="ref_452_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">BS</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+                        <FONT COLOR=red><A NAME="ref_453_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">ULC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+                        <FONT COLOR=red><A NAME="ref_454_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">URC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+                        <FONT COLOR=red><A NAME="ref_455_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">LLC</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+                        <FONT COLOR=red><A NAME="ref_456_25" HREF="terminal_interface-curses__adb.htm#ref_448_16">LRC</A></FONT> : <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>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_705_7">Win</A>,
+                  AttrChar_To_Chtype (<A HREF="terminal_interface-curses__ads.htm#ref_706_7">Left_Side_Symbol</A>),
+                  AttrChar_To_Chtype (<A HREF="terminal_interface-curses__ads.htm#ref_707_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_708_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_709_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_710_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_711_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_712_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_713_7">Lower_Right_Corner_Symbol</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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_704_14">Border</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_474_14" HREF="terminal_interface-curses__ads.htm#ref_720_14">Box</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_475_7" HREF="terminal_interface-curses__ads.htm#ref_721_7">Win</A></FONT>               : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_476_7" HREF="terminal_interface-curses__ads.htm#ref_722_7">Vertical_Symbol</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_477_7" HREF="terminal_interface-curses__ads.htm#ref_723_7">Horizontal_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_704_14">Border</A> (<A HREF="terminal_interface-curses__ads.htm#ref_721_7">Win</A>,
+              <A HREF="terminal_interface-curses__ads.htm#ref_722_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_722_7">Vertical_Symbol</A>,
+              <A HREF="terminal_interface-curses__ads.htm#ref_723_7">Horizontal_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_723_7">Horizontal_Symbol</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_720_14">Box</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_485_14" HREF="terminal_interface-curses__ads.htm#ref_728_14">Horizontal_Line</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_486_7" HREF="terminal_interface-curses__ads.htm#ref_729_7">Win</A></FONT>         : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_487_7" HREF="terminal_interface-curses__ads.htm#ref_730_7">Line_Size</A></FONT>   : <b>in</b> Natural;
+      <FONT COLOR=red><A NAME="ref_488_7" HREF="terminal_interface-curses__ads.htm#ref_731_7">Line_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_490_16">Whline</A></FONT> (<FONT COLOR=red><A NAME="ref_490_24" HREF="terminal_interface-curses__adb.htm#ref_490_16">W</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                       <FONT COLOR=red><A NAME="ref_491_24" HREF="terminal_interface-curses__adb.htm#ref_490_16">Ch</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+                       <FONT COLOR=red><A NAME="ref_492_24" HREF="terminal_interface-curses__adb.htm#ref_490_16">Len</A></FONT> : <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>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_729_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_731_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_730_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_728_14">Horizontal_Line</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_502_14" HREF="terminal_interface-curses__ads.htm#ref_737_14">Vertical_Line</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_503_7" HREF="terminal_interface-curses__ads.htm#ref_738_7">Win</A></FONT>         : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_504_7" HREF="terminal_interface-curses__ads.htm#ref_739_7">Line_Size</A></FONT>   : <b>in</b> Natural;
+      <FONT COLOR=red><A NAME="ref_505_7" HREF="terminal_interface-curses__ads.htm#ref_740_7">Line_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_507_16">Wvline</A></FONT> (<FONT COLOR=red><A NAME="ref_507_24" HREF="terminal_interface-curses__adb.htm#ref_507_16">W</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                       <FONT COLOR=red><A NAME="ref_508_24" HREF="terminal_interface-curses__adb.htm#ref_507_16">Ch</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+                       <FONT COLOR=red><A NAME="ref_509_24" HREF="terminal_interface-curses__adb.htm#ref_507_16">Len</A></FONT> : <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>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_738_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_740_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_739_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_737_14">Vertical_Line</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_520_13" HREF="terminal_interface-curses__ads.htm#ref_751_13">Get_Keystroke</A></FONT> (<FONT COLOR=red><A NAME="ref_520_28" HREF="terminal_interface-curses__ads.htm#ref_751_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_523_16">Wgetch</A></FONT> (<FONT COLOR=red><A NAME="ref_523_24" HREF="terminal_interface-curses__adb.htm#ref_523_16">W</A></FONT> : <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>pragma</b> Import (C, Wgetch, "wgetch");
+
+      <FONT COLOR=red><A NAME="ref_526_7">C</A></FONT> : <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_751_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>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>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_751_13">Get_Keystroke</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_535_14" HREF="terminal_interface-curses__ads.htm#ref_762_14">Undo_Keystroke</A></FONT> (<FONT COLOR=red><A NAME="ref_535_30" HREF="terminal_interface-curses__ads.htm#ref_762_30">Key</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_537_16">Ungetch</A></FONT> (<FONT COLOR=red><A NAME="ref_537_25" HREF="terminal_interface-curses__adb.htm#ref_537_16">Ch</A></FONT> : <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>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_762_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_762_14">Undo_Keystroke</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_545_13" HREF="terminal_interface-curses__ads.htm#ref_767_13">Has_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_545_22" HREF="terminal_interface-curses__ads.htm#ref_767_22">Key</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_547_16">Haskey</A></FONT> (<FONT COLOR=red><A NAME="ref_547_24" HREF="terminal_interface-curses__adb.htm#ref_547_16">Key</A></FONT> : <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>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_767_22">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_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_767_13">Has_Key</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_557_13" HREF="terminal_interface-curses__ads.htm#ref_774_13">Is_Function_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_557_30" HREF="terminal_interface-curses__ads.htm#ref_774_30">Key</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>) <b>return</b> Boolean
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_559_7">L</A></FONT> : <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_778_12">Function_Key_Number</A>'Last));
+   <b>begin</b>
+      <b>if</b> (<A HREF="terminal_interface-curses__ads.htm#ref_774_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_774_30">Key</A> &lt;= <A HREF="terminal_interface-curses__adb.htm#ref_559_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_774_13">Is_Function_Key</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_569_13" HREF="terminal_interface-curses__ads.htm#ref_781_13">Function_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_569_27" HREF="terminal_interface-curses__ads.htm#ref_781_27">Key</A></FONT> : <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_778_12">Function_Key_Number</A>
+   <b>is</b>
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_774_13">Is_Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#ref_781_27">Key</A>) <b>then</b>
+         <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_778_12">Function_Key_Number</A> (<A HREF="terminal_interface-curses__ads.htm#ref_781_27">Key</A> - <A HREF="terminal_interface-curses__ads.htm#ref_98_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_781_13">Function_Key</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_580_13" HREF="terminal_interface-curses__ads.htm#ref_786_13">Function_Key_Code</A></FONT> (<FONT COLOR=red><A NAME="ref_580_32" HREF="terminal_interface-curses__ads.htm#ref_786_32">Key</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_778_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_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_786_32">Key</A>));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_786_13">Function_Key_Code</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_586_14" HREF="terminal_interface-curses__ads.htm#ref_800_14">Standout</A></FONT> (<FONT COLOR=red><A NAME="ref_586_24" HREF="terminal_interface-curses__ads.htm#ref_800_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                       <FONT COLOR=red><A NAME="ref_587_24" HREF="terminal_interface-curses__ads.htm#ref_801_24">On</A></FONT>  : Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_589_16">wstandout</A></FONT> (<FONT COLOR=red><A NAME="ref_589_27" HREF="terminal_interface-curses__adb.htm#ref_589_16">Win</A></FONT> : <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>pragma</b> Import (C, wstandout, "wstandout");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_591_16">wstandend</A></FONT> (<FONT COLOR=red><A NAME="ref_591_27" HREF="terminal_interface-curses__adb.htm#ref_591_16">Win</A></FONT> : <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>pragma</b> Import (C, wstandend, "wstandend");
+
+      <FONT COLOR=red><A NAME="ref_594_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_801_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_800_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_800_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_800_14">Standout</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_606_14" HREF="terminal_interface-curses__ads.htm#ref_806_14">Switch_Character_Attribute</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_607_7" HREF="terminal_interface-curses__ads.htm#ref_807_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_608_7" HREF="terminal_interface-curses__ads.htm#ref_808_7">Attr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_609_7" HREF="terminal_interface-curses__ads.htm#ref_809_7">On</A></FONT>   : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_611_16">Wattron</A></FONT> (<FONT COLOR=red><A NAME="ref_611_25" HREF="terminal_interface-curses__adb.htm#ref_611_16">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                        <FONT COLOR=red><A NAME="ref_612_25" HREF="terminal_interface-curses__adb.htm#ref_611_16">C_Attr</A></FONT> : <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>pragma</b> Import (C, Wattron, "wattr_on");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_614_16">Wattroff</A></FONT> (<FONT COLOR=red><A NAME="ref_614_26" HREF="terminal_interface-curses__adb.htm#ref_614_16">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_615_26" HREF="terminal_interface-curses__adb.htm#ref_614_16">C_Attr</A></FONT> : <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>pragma</b> Import (C, Wattroff, "wattr_off");
+      <FONT COLOR=green><EM>--  In Ada we use the On Boolean to control whether or not we want to</EM></FONT>
+      <FONT COLOR=green><EM>--  switch on or off the attributes in the set.</EM></FONT>
+      <FONT COLOR=red><A NAME="ref_619_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <FONT COLOR=red><A NAME="ref_620_7">AC</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; Character'First,
+                                              <A HREF="terminal_interface-curses__ads.htm#ref_355_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_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_808_7">Attr</A>);
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_809_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_807_7">Win</A>, AttrChar_To_AttrType (<A HREF="terminal_interface-curses__adb.htm#ref_620_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_807_7">Win</A>, AttrChar_To_AttrType (<A HREF="terminal_interface-curses__adb.htm#ref_620_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_806_14">Switch_Character_Attribute</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_634_14" HREF="terminal_interface-curses__ads.htm#ref_817_14">Set_Character_Attributes</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_635_7" HREF="terminal_interface-curses__ads.htm#ref_818_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_636_7" HREF="terminal_interface-curses__ads.htm#ref_819_7">Attr</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_637_7" HREF="terminal_interface-curses__ads.htm#ref_820_7">Color</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_639_16">Wattrset</A></FONT> (<FONT COLOR=red><A NAME="ref_639_26" HREF="terminal_interface-curses__adb.htm#ref_639_16">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_640_26" HREF="terminal_interface-curses__adb.htm#ref_639_16">C_Attr</A></FONT> : <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>pragma</b> Import (C, Wattrset, "wattrset"); <FONT COLOR=green><EM>-- ??? wattr_set</EM></FONT>
+   <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_818_7">Win</A>,
+                   AttrChar_To_AttrType (<A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>'
+                                         (<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; Character'First,
+                                          <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_820_7">Color</A>,
+                                          <A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_819_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_817_14">Set_Character_Attributes</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_652_13" HREF="terminal_interface-curses__ads.htm#ref_826_13">Get_Character_Attribute</A></FONT> (<FONT COLOR=red><A NAME="ref_652_38" HREF="terminal_interface-curses__ads.htm#ref_827_7">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+                                     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_655_16">Wattrget</A></FONT> (<FONT COLOR=red><A NAME="ref_655_26" HREF="terminal_interface-curses__adb.htm#ref_655_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_656_26" HREF="terminal_interface-curses__adb.htm#ref_655_16">Atr</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>;
+                         <FONT COLOR=red><A NAME="ref_657_26" HREF="terminal_interface-curses__adb.htm#ref_655_16">Col</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+                         <FONT COLOR=red><A NAME="ref_658_26" HREF="terminal_interface-curses__adb.htm#ref_655_16">Opt</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Wattrget, "wattr_get");
+
+      <FONT COLOR=red><A NAME="ref_661_7">Attr</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>;
+      <FONT COLOR=red><A NAME="ref_662_7">Col</A></FONT>  : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+      <FONT COLOR=red><A NAME="ref_663_7">Res</A></FONT>  : <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_827_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>,
+                                         System.Null_Address);
+      <FONT COLOR=red><A NAME="ref_665_7">Ch</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_352_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_354_10">Attr</A>;
+      <b>else</b>
+         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_826_13">Get_Character_Attribute</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_675_13" HREF="terminal_interface-curses__ads.htm#ref_832_13">Get_Character_Attribute</A></FONT> (<FONT COLOR=red><A NAME="ref_675_38" HREF="terminal_interface-curses__ads.htm#ref_833_7">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+                                     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_678_16">Wattrget</A></FONT> (<FONT COLOR=red><A NAME="ref_678_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_679_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Atr</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>;
+                         <FONT COLOR=red><A NAME="ref_680_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Col</A></FONT> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+                         <FONT COLOR=red><A NAME="ref_681_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Opt</A></FONT> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Wattrget, "wattr_get");
+
+      <FONT COLOR=red><A NAME="ref_684_7">Attr</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>;
+      <FONT COLOR=red><A NAME="ref_685_7">Col</A></FONT>  : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+      <FONT COLOR=red><A NAME="ref_686_7">Res</A></FONT>  : <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_833_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>,
+                                         System.Null_Address);
+      <FONT COLOR=red><A NAME="ref_688_7">Ch</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_352_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_355_10">Color</A>;
+      <b>else</b>
+         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_832_13">Get_Character_Attribute</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_698_14" HREF="terminal_interface-curses__ads.htm#ref_838_14">Set_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_698_25" HREF="terminal_interface-curses__ads.htm#ref_838_25">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                        <FONT COLOR=red><A NAME="ref_699_25" HREF="terminal_interface-curses__ads.htm#ref_839_25">Pair</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_701_16">Wset_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_701_28" HREF="terminal_interface-curses__adb.htm#ref_701_16">Win</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                           <FONT COLOR=red><A NAME="ref_702_28" HREF="terminal_interface-curses__adb.htm#ref_701_16">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+                           <FONT COLOR=red><A NAME="ref_703_28" HREF="terminal_interface-curses__adb.htm#ref_701_16">Opts</A></FONT>  : <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>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_838_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_839_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_838_14">Set_Color</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_713_14" HREF="terminal_interface-curses__ads.htm#ref_845_14">Change_Attributes</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_714_7" HREF="terminal_interface-curses__ads.htm#ref_846_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_715_7" HREF="terminal_interface-curses__ads.htm#ref_847_7">Count</A></FONT> : <b>in</b> Integer := -1;
+      <FONT COLOR=red><A NAME="ref_716_7" HREF="terminal_interface-curses__ads.htm#ref_848_7">Attr</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_717_7" HREF="terminal_interface-curses__ads.htm#ref_849_7">Color</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_719_16">Wchgat</A></FONT> (<FONT COLOR=red><A NAME="ref_719_24" HREF="terminal_interface-curses__adb.htm#ref_719_16">Win</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                       <FONT COLOR=red><A NAME="ref_720_24" HREF="terminal_interface-curses__adb.htm#ref_719_16">Cnt</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                       <FONT COLOR=red><A NAME="ref_721_24" HREF="terminal_interface-curses__adb.htm#ref_719_16">Attr</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_12">C_AttrType</A>;
+                       <FONT COLOR=red><A NAME="ref_722_24" HREF="terminal_interface-curses__adb.htm#ref_719_16">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+                       <FONT COLOR=red><A NAME="ref_723_24" HREF="terminal_interface-curses__adb.htm#ref_719_16">Opts</A></FONT>  : System.Address := System.Null_Address)
+                       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Wchgat, "wchgat");
+
+      <FONT COLOR=red><A NAME="ref_727_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> :=
+        (<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A> =&gt; Character'First, <A HREF="terminal_interface-curses__ads.htm#ref_355_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_354_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_848_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_846_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_847_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_849_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_845_14">Change_Attributes</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_736_14" HREF="terminal_interface-curses__ads.htm#ref_854_14">Change_Attributes</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_737_7" HREF="terminal_interface-curses__ads.htm#ref_855_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_738_7" HREF="terminal_interface-curses__ads.htm#ref_856_7">Line</A></FONT>   : <b>in</b> <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;
+      <FONT COLOR=red><A NAME="ref_739_7" HREF="terminal_interface-curses__ads.htm#ref_857_7">Column</A></FONT> : <b>in</b> <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;
+      <FONT COLOR=red><A NAME="ref_740_7" HREF="terminal_interface-curses__ads.htm#ref_858_7">Count</A></FONT>  : <b>in</b> Integer := -1;
+      <FONT COLOR=red><A NAME="ref_741_7" HREF="terminal_interface-curses__ads.htm#ref_859_7">Attr</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_742_7" HREF="terminal_interface-curses__ads.htm#ref_860_7">Color</A></FONT>  : <b>in</b> <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>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_511_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_855_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_856_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_857_7">Column</A>);
+      <A HREF="terminal_interface-curses__ads.htm#ref_845_14">Change_Attributes</A> (<A HREF="terminal_interface-curses__ads.htm#ref_855_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_858_7">Count</A>, <A HREF="terminal_interface-curses__ads.htm#ref_859_7">Attr</A>, <A HREF="terminal_interface-curses__ads.htm#ref_860_7">Color</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_854_14">Change_Attributes</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_749_14" HREF="terminal_interface-curses__ads.htm#ref_870_14">Beep</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_751_16">Beeper</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_870_14">Beep</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_759_14" HREF="terminal_interface-curses__ads.htm#ref_875_14">Flash_Screen</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_761_16">Flash</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_875_14">Flash_Screen</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_769_14" HREF="terminal_interface-curses__ads.htm#ref_886_14">Set_Cbreak_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_769_31" HREF="terminal_interface-curses__ads.htm#ref_886_31">SwitchOn</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_771_16">Cbreak</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Cbreak, "cbreak");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_773_16">NoCbreak</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, NoCbreak, "nocbreak");
+
+      <FONT COLOR=red><A NAME="ref_776_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_886_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_886_14">Set_Cbreak_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_788_14" HREF="terminal_interface-curses__ads.htm#ref_892_14">Set_Raw_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_788_28" HREF="terminal_interface-curses__ads.htm#ref_892_28">SwitchOn</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_790_16">Raw</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Raw, "raw");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_792_16">NoRaw</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, NoRaw, "noraw");
+
+      <FONT COLOR=red><A NAME="ref_795_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_892_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_892_14">Set_Raw_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_807_14" HREF="terminal_interface-curses__ads.htm#ref_898_14">Set_Echo_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_807_29" HREF="terminal_interface-curses__ads.htm#ref_898_29">SwitchOn</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_809_16">Echo</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Echo, "echo");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_811_16">NoEcho</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, NoEcho, "noecho");
+
+      <FONT COLOR=red><A NAME="ref_814_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_898_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_898_14">Set_Echo_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_826_14" HREF="terminal_interface-curses__ads.htm#ref_904_14">Set_Meta_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_826_29" HREF="terminal_interface-curses__ads.htm#ref_904_29">Win</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                            <FONT COLOR=red><A NAME="ref_827_29" HREF="terminal_interface-curses__ads.htm#ref_905_29">SwitchOn</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_829_16">Meta</A></FONT> (<FONT COLOR=red><A NAME="ref_829_22" HREF="terminal_interface-curses__adb.htm#ref_829_16">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_829_34" HREF="terminal_interface-curses__adb.htm#ref_829_16">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_904_29">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_905_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_904_14">Set_Meta_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_837_14" HREF="terminal_interface-curses__ads.htm#ref_910_14">Set_KeyPad_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_837_31" HREF="terminal_interface-curses__ads.htm#ref_910_31">Win</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                              <FONT COLOR=red><A NAME="ref_838_31" HREF="terminal_interface-curses__ads.htm#ref_911_31">SwitchOn</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_840_16">Keypad</A></FONT> (<FONT COLOR=red><A NAME="ref_840_24" HREF="terminal_interface-curses__adb.htm#ref_840_16">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_840_36" HREF="terminal_interface-curses__adb.htm#ref_840_16">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_910_31">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_911_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_910_14">Set_KeyPad_Mode</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_848_13" HREF="terminal_interface-curses__ads.htm#ref_915_13">Get_KeyPad_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_848_30" HREF="terminal_interface-curses__ads.htm#ref_915_30">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+                             <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_851_16">Is_Keypad</A></FONT> (<FONT COLOR=red><A NAME="ref_851_27" HREF="terminal_interface-curses__adb.htm#ref_851_16">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_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_915_30">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_1927_4">Curses_Bool_False</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_915_13">Get_KeyPad_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_857_14" HREF="terminal_interface-curses__ads.htm#ref_923_14">Half_Delay</A></FONT> (<FONT COLOR=red><A NAME="ref_857_26" HREF="terminal_interface-curses__ads.htm#ref_923_26">Amount</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_920_9">Half_Delay_Amount</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_859_16">Halfdelay</A></FONT> (<FONT COLOR=red><A NAME="ref_859_27" HREF="terminal_interface-curses__adb.htm#ref_859_16">Amount</A></FONT> : <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>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_923_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_923_14">Half_Delay</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_867_14" HREF="terminal_interface-curses__ads.htm#ref_928_14">Set_Flush_On_Interrupt_Mode</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_868_7" HREF="terminal_interface-curses__ads.htm#ref_929_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_869_7" HREF="terminal_interface-curses__ads.htm#ref_930_7">Mode</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_871_16">Intrflush</A></FONT> (<FONT COLOR=red><A NAME="ref_871_27" HREF="terminal_interface-curses__adb.htm#ref_871_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_871_41" HREF="terminal_interface-curses__adb.htm#ref_871_16">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_929_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_930_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_928_14">Set_Flush_On_Interrupt_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_879_14" HREF="terminal_interface-curses__ads.htm#ref_935_14">Set_Queue_Interrupt_Mode</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_880_7" HREF="terminal_interface-curses__ads.htm#ref_936_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_881_7" HREF="terminal_interface-curses__ads.htm#ref_937_7">Flush</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>procedure</b> <FONT COLOR=red><A NAME="ref_883_17">Qiflush</A></FONT>;
+      <b>pragma</b> Import (C, Qiflush, "qiflush");
+      <b>procedure</b> <FONT COLOR=red><A NAME="ref_885_17">No_Qiflush</A></FONT>;
+      <b>pragma</b> Import (C, No_Qiflush, "noqiflush");
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_936_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_937_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_935_14">Set_Queue_Interrupt_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_898_14" HREF="terminal_interface-curses__ads.htm#ref_943_14">Set_NoDelay_Mode</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_899_7" HREF="terminal_interface-curses__ads.htm#ref_944_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_900_7" HREF="terminal_interface-curses__ads.htm#ref_945_7">Mode</A></FONT> : <b>in</b> Boolean := False)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_902_16">Nodelay</A></FONT> (<FONT COLOR=red><A NAME="ref_902_25" HREF="terminal_interface-curses__adb.htm#ref_902_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_902_39" HREF="terminal_interface-curses__adb.htm#ref_902_16">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_944_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_945_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_943_14">Set_NoDelay_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_910_14" HREF="terminal_interface-curses__ads.htm#ref_952_14">Set_Timeout_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_910_32" HREF="terminal_interface-curses__ads.htm#ref_952_32">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                               <FONT COLOR=red><A NAME="ref_911_32" HREF="terminal_interface-curses__ads.htm#ref_953_32">Mode</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_949_9">Timeout_Mode</A>;
+                               <FONT COLOR=red><A NAME="ref_912_32" HREF="terminal_interface-curses__ads.htm#ref_954_32">Amount</A></FONT> : <b>in</b> Natural)
+   <b>is</b>
+      <b>procedure</b> <FONT COLOR=red><A NAME="ref_914_17">Wtimeout</A></FONT> (<FONT COLOR=red><A NAME="ref_914_27" HREF="terminal_interface-curses__adb.htm#ref_914_17">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_914_41" HREF="terminal_interface-curses__adb.htm#ref_914_17">Amount</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>);
+      <b>pragma</b> Import (C, Wtimeout, "wtimeout");
+
+      <FONT COLOR=red><A NAME="ref_917_7">Time</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+   <b>begin</b>
+      <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_953_32">Mode</A> <b>is</b>
+         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_949_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_949_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_949_50">Delayed</A>      =&gt;
+            <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_954_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_954_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_952_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_952_14">Set_Timeout_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_931_14" HREF="terminal_interface-curses__ads.htm#ref_964_14">Set_Escape_Timer_Mode</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_932_7" HREF="terminal_interface-curses__ads.htm#ref_965_7">Win</A></FONT>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_933_7" HREF="terminal_interface-curses__ads.htm#ref_966_7">Timer_Off</A></FONT> : <b>in</b> Boolean := False)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_935_16">Notimeout</A></FONT> (<FONT COLOR=red><A NAME="ref_935_27" HREF="terminal_interface-curses__adb.htm#ref_935_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_935_41" HREF="terminal_interface-curses__adb.htm#ref_935_16">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_965_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_966_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_964_14">Set_Escape_Timer_Mode</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_945_14" HREF="terminal_interface-curses__ads.htm#ref_975_14">Set_NL_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_945_27" HREF="terminal_interface-curses__ads.htm#ref_975_27">SwitchOn</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_947_16">NL</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, NL, "nl");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_949_16">NoNL</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, NoNL, "nonl");
+
+      <FONT COLOR=red><A NAME="ref_952_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_975_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>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>;
+      <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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_975_14">Set_NL_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_964_14" HREF="terminal_interface-curses__ads.htm#ref_981_14">Clear_On_Next_Update</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_965_7" HREF="terminal_interface-curses__ads.htm#ref_982_7">Win</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_966_7" HREF="terminal_interface-curses__ads.htm#ref_983_7">Do_Clear</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_968_16">Clear_Ok</A></FONT> (<FONT COLOR=red><A NAME="ref_968_26" HREF="terminal_interface-curses__adb.htm#ref_968_16">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_968_38" HREF="terminal_interface-curses__adb.htm#ref_968_16">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_982_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_983_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_981_14">Clear_On_Next_Update</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_976_14" HREF="terminal_interface-curses__ads.htm#ref_988_14">Use_Insert_Delete_Line</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_977_7" HREF="terminal_interface-curses__ads.htm#ref_989_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_978_7" HREF="terminal_interface-curses__ads.htm#ref_990_7">Do_Idl</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_980_16">IDL_Ok</A></FONT> (<FONT COLOR=red><A NAME="ref_980_24" HREF="terminal_interface-curses__adb.htm#ref_980_16">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_980_36" HREF="terminal_interface-curses__adb.htm#ref_980_16">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_989_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_990_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_988_14">Use_Insert_Delete_Line</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_988_14" HREF="terminal_interface-curses__ads.htm#ref_995_14">Use_Insert_Delete_Character</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_989_7" HREF="terminal_interface-curses__ads.htm#ref_996_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_990_7" HREF="terminal_interface-curses__ads.htm#ref_997_7">Do_Idc</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>procedure</b> <FONT COLOR=red><A NAME="ref_992_17">IDC_Ok</A></FONT> (<FONT COLOR=red><A NAME="ref_992_25" HREF="terminal_interface-curses__adb.htm#ref_992_17">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_992_37" HREF="terminal_interface-curses__adb.htm#ref_992_17">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_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_996_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_997_7">Do_Idc</A>)));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_995_14">Use_Insert_Delete_Character</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_998_14" HREF="terminal_interface-curses__ads.htm#ref_1002_14">Leave_Cursor_After_Update</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_999_7" HREF="terminal_interface-curses__ads.htm#ref_1003_7">Win</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1000_7" HREF="terminal_interface-curses__ads.htm#ref_1004_7">Do_Leave</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1002_16">Leave_Ok</A></FONT> (<FONT COLOR=red><A NAME="ref_1002_26" HREF="terminal_interface-curses__adb.htm#ref_1002_16">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1002_38" HREF="terminal_interface-curses__adb.htm#ref_1002_16">Flag</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_1003_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1004_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1002_14">Leave_Cursor_After_Update</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1010_14" HREF="terminal_interface-curses__ads.htm#ref_1009_14">Immediate_Update_Mode</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1011_7" HREF="terminal_interface-curses__ads.htm#ref_1010_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1012_7" HREF="terminal_interface-curses__ads.htm#ref_1011_7">Mode</A></FONT> : <b>in</b> Boolean := False)
+   <b>is</b>
+      <b>procedure</b> <FONT COLOR=red><A NAME="ref_1014_17">Immedok</A></FONT> (<FONT COLOR=red><A NAME="ref_1014_26" HREF="terminal_interface-curses__adb.htm#ref_1014_17">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1014_40" HREF="terminal_interface-curses__adb.htm#ref_1014_17">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_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_1010_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1011_7">Mode</A>)));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1009_14">Immediate_Update_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1020_14" HREF="terminal_interface-curses__ads.htm#ref_1016_14">Allow_Scrolling</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1021_7" HREF="terminal_interface-curses__ads.htm#ref_1017_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1022_7" HREF="terminal_interface-curses__ads.htm#ref_1018_7">Mode</A></FONT> : <b>in</b> Boolean := False)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1024_16">Scrollok</A></FONT> (<FONT COLOR=red><A NAME="ref_1024_26" HREF="terminal_interface-curses__adb.htm#ref_1024_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1024_40" HREF="terminal_interface-curses__adb.htm#ref_1024_16">Mode</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_1017_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1018_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1016_14">Allow_Scrolling</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1032_13" HREF="terminal_interface-curses__ads.htm#ref_1022_13">Scrolling_Allowed</A></FONT> (<FONT COLOR=red><A NAME="ref_1032_32" HREF="terminal_interface-curses__ads.htm#ref_1022_32">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+                               <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1035_16">Is_Scroll_Ok</A></FONT> (<FONT COLOR=red><A NAME="ref_1035_30" HREF="terminal_interface-curses__adb.htm#ref_1035_16">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_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_1022_32">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_1927_4">Curses_Bool_False</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1022_13">Scrolling_Allowed</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1041_14" HREF="terminal_interface-curses__ads.htm#ref_1027_14">Set_Scroll_Region</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1042_7" HREF="terminal_interface-curses__ads.htm#ref_1028_7">Win</A></FONT>         : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1043_7" HREF="terminal_interface-curses__ads.htm#ref_1029_7">Top_Line</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1044_7" HREF="terminal_interface-curses__ads.htm#ref_1030_7">Bottom_Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1046_16">Wsetscrreg</A></FONT> (<FONT COLOR=red><A NAME="ref_1046_28" HREF="terminal_interface-curses__adb.htm#ref_1046_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                           <FONT COLOR=red><A NAME="ref_1047_28" HREF="terminal_interface-curses__adb.htm#ref_1046_16">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                           <FONT COLOR=red><A NAME="ref_1048_28" HREF="terminal_interface-curses__adb.htm#ref_1046_16">Col</A></FONT> : <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>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_1028_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_1029_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_1030_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1027_14">Set_Scroll_Region</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1057_14" HREF="terminal_interface-curses__ads.htm#ref_1040_14">Update_Screen</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1059_16">Do_Update</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Update_Screen</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1067_14" HREF="terminal_interface-curses__ads.htm#ref_1045_14">Refresh</A></FONT> (<FONT COLOR=red><A NAME="ref_1067_23" HREF="terminal_interface-curses__ads.htm#ref_1045_23">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1069_16">Wrefresh</A></FONT> (<FONT COLOR=red><A NAME="ref_1069_26" HREF="terminal_interface-curses__adb.htm#ref_1069_16">W</A></FONT> : <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>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_1045_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1045_14">Refresh</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1077_14" HREF="terminal_interface-curses__ads.htm#ref_1052_14">Refresh_Without_Update</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1078_7" HREF="terminal_interface-curses__ads.htm#ref_1053_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1080_16">Wnoutrefresh</A></FONT> (<FONT COLOR=red><A NAME="ref_1080_30" HREF="terminal_interface-curses__adb.htm#ref_1080_16">W</A></FONT> : <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>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_1053_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1052_14">Refresh_Without_Update</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1088_14" HREF="terminal_interface-curses__ads.htm#ref_1059_14">Redraw</A></FONT> (<FONT COLOR=red><A NAME="ref_1088_22" HREF="terminal_interface-curses__ads.htm#ref_1059_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1090_16">Redrawwin</A></FONT> (<FONT COLOR=red><A NAME="ref_1090_27" HREF="terminal_interface-curses__adb.htm#ref_1090_16">Win</A></FONT> : <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>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_1059_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1059_14">Redraw</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1098_14" HREF="terminal_interface-curses__ads.htm#ref_1063_14">Redraw</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1099_7" HREF="terminal_interface-curses__ads.htm#ref_1063_22">Win</A></FONT>        : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1100_7" HREF="terminal_interface-curses__ads.htm#ref_1064_22">Begin_Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1101_7" HREF="terminal_interface-curses__ads.htm#ref_1065_22">Line_Count</A></FONT> : <b>in</b> Positive)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1103_16">Wredrawln</A></FONT> (<FONT COLOR=red><A NAME="ref_1103_27" HREF="terminal_interface-curses__adb.htm#ref_1103_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1103_41" HREF="terminal_interface-curses__adb.htm#ref_1103_16">First</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1103_56" HREF="terminal_interface-curses__adb.htm#ref_1103_16">Cnt</A></FONT> : <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>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_1063_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_1064_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_1065_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1063_14">Redraw</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1115_14" HREF="terminal_interface-curses__ads.htm#ref_1074_14">Erase</A></FONT> (<FONT COLOR=red><A NAME="ref_1115_21" HREF="terminal_interface-curses__ads.htm#ref_1074_21">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1117_16">Werase</A></FONT> (<FONT COLOR=red><A NAME="ref_1117_24" HREF="terminal_interface-curses__adb.htm#ref_1117_16">W</A></FONT> : <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>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_1074_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1074_14">Erase</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1125_14" HREF="terminal_interface-curses__ads.htm#ref_1080_14">Clear</A></FONT> (<FONT COLOR=red><A NAME="ref_1125_21" HREF="terminal_interface-curses__ads.htm#ref_1081_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1127_16">Wclear</A></FONT> (<FONT COLOR=red><A NAME="ref_1127_24" HREF="terminal_interface-curses__adb.htm#ref_1127_16">W</A></FONT> : <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>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_1081_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1080_14">Clear</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1135_14" HREF="terminal_interface-curses__ads.htm#ref_1087_14">Clear_To_End_Of_Screen</A></FONT> (<FONT COLOR=red><A NAME="ref_1135_38" HREF="terminal_interface-curses__ads.htm#ref_1088_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1137_16">Wclearbot</A></FONT> (<FONT COLOR=red><A NAME="ref_1137_27" HREF="terminal_interface-curses__adb.htm#ref_1137_16">W</A></FONT> : <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>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_1088_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1087_14">Clear_To_End_Of_Screen</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1145_14" HREF="terminal_interface-curses__ads.htm#ref_1094_14">Clear_To_End_Of_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_1145_36" HREF="terminal_interface-curses__ads.htm#ref_1095_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1147_16">Wcleareol</A></FONT> (<FONT COLOR=red><A NAME="ref_1147_27" HREF="terminal_interface-curses__adb.htm#ref_1147_16">W</A></FONT> : <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>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_1095_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1094_14">Clear_To_End_Of_Line</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1155_14" HREF="terminal_interface-curses__ads.htm#ref_1108_14">Set_Background</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1156_7" HREF="terminal_interface-curses__ads.htm#ref_1109_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1157_7" HREF="terminal_interface-curses__ads.htm#ref_1110_7">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>)
+   <b>is</b>
+      <b>procedure</b> <FONT COLOR=red><A NAME="ref_1159_17">WBackground</A></FONT> (<FONT COLOR=red><A NAME="ref_1159_30" HREF="terminal_interface-curses__adb.htm#ref_1159_17">W</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1159_45" HREF="terminal_interface-curses__adb.htm#ref_1159_17">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</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_1109_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_1110_7">Ch</A>));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1108_14">Set_Background</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1165_14" HREF="terminal_interface-curses__ads.htm#ref_1116_14">Change_Background</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1166_7" HREF="terminal_interface-curses__ads.htm#ref_1117_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1167_7" HREF="terminal_interface-curses__ads.htm#ref_1118_7">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1169_16">WChangeBkgd</A></FONT> (<FONT COLOR=red><A NAME="ref_1169_29" HREF="terminal_interface-curses__adb.htm#ref_1169_16">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1169_41" HREF="terminal_interface-curses__adb.htm#ref_1169_16">Ch</A></FONT> : <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>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_1117_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_1118_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1116_14">Change_Background</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1177_13" HREF="terminal_interface-curses__ads.htm#ref_1125_13">Get_Background</A></FONT> (<FONT COLOR=red><A NAME="ref_1177_29" HREF="terminal_interface-curses__ads.htm#ref_1125_29">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1180_16">Wgetbkgd</A></FONT> (<FONT COLOR=red><A NAME="ref_1180_26" HREF="terminal_interface-curses__adb.htm#ref_1180_16">Win</A></FONT> : <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>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_1125_29">Win</A>));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1125_13">Get_Background</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1186_14" HREF="terminal_interface-curses__ads.htm#ref_1152_14">Change_Lines_Status</A></FONT> (<FONT COLOR=red><A NAME="ref_1186_35" HREF="terminal_interface-curses__ads.htm#ref_1152_35">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                                  <FONT COLOR=red><A NAME="ref_1187_35" HREF="terminal_interface-curses__ads.htm#ref_1153_35">Start</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                                  <FONT COLOR=red><A NAME="ref_1188_35" HREF="terminal_interface-curses__ads.htm#ref_1154_35">Count</A></FONT> : <b>in</b> Positive;
+                                  <FONT COLOR=red><A NAME="ref_1189_35" HREF="terminal_interface-curses__ads.htm#ref_1155_35">State</A></FONT> : <b>in</b> Boolean)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1191_16">Wtouchln</A></FONT> (<FONT COLOR=red><A NAME="ref_1191_26" HREF="terminal_interface-curses__adb.htm#ref_1191_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_1192_26" HREF="terminal_interface-curses__adb.htm#ref_1191_16">Sta</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                         <FONT COLOR=red><A NAME="ref_1193_26" HREF="terminal_interface-curses__adb.htm#ref_1191_16">Cnt</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                         <FONT COLOR=red><A NAME="ref_1194_26" HREF="terminal_interface-curses__adb.htm#ref_1191_16">Chg</A></FONT> : <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>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_1152_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_1153_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_1154_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_1155_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1152_14">Change_Lines_Status</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1203_14" HREF="terminal_interface-curses__ads.htm#ref_1141_14">Touch</A></FONT> (<FONT COLOR=red><A NAME="ref_1203_21" HREF="terminal_interface-curses__ads.htm#ref_1141_21">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_1205_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1206_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1228_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1141_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>);
+      <A HREF="terminal_interface-curses__ads.htm#ref_1152_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1141_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_1141_14">Touch</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1212_14" HREF="terminal_interface-curses__ads.htm#ref_1136_14">Untouch</A></FONT> (<FONT COLOR=red><A NAME="ref_1212_23" HREF="terminal_interface-curses__ads.htm#ref_1136_23">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_1214_7">Y</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1215_7">X</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1228_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1136_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1214_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1215_7">X</A>);
+      <A HREF="terminal_interface-curses__ads.htm#ref_1152_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1136_23">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1214_7">Y</A>), False);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1136_14">Untouch</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1221_14" HREF="terminal_interface-curses__ads.htm#ref_1145_14">Touch</A></FONT> (<FONT COLOR=red><A NAME="ref_1221_21" HREF="terminal_interface-curses__ads.htm#ref_1145_21">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                    <FONT COLOR=red><A NAME="ref_1222_21" HREF="terminal_interface-curses__ads.htm#ref_1146_21">Start</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                    <FONT COLOR=red><A NAME="ref_1223_21" HREF="terminal_interface-curses__ads.htm#ref_1147_21">Count</A></FONT> : <b>in</b> Positive)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1152_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1145_21">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1146_21">Start</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1147_21">Count</A>, True);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1145_14">Touch</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1229_13" HREF="terminal_interface-curses__ads.htm#ref_1160_13">Is_Touched</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1230_7" HREF="terminal_interface-curses__ads.htm#ref_1160_25">Win</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1231_7" HREF="terminal_interface-curses__ads.htm#ref_1161_25">Line</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1233_16">WLineTouched</A></FONT> (<FONT COLOR=red><A NAME="ref_1233_30" HREF="terminal_interface-curses__adb.htm#ref_1233_16">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1233_42" HREF="terminal_interface-curses__adb.htm#ref_1233_16">L</A></FONT> : <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_1926_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_1233_16">WLineTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1160_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_1161_25">Line</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_1927_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_1160_13">Is_Touched</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1243_13" HREF="terminal_interface-curses__ads.htm#ref_1165_13">Is_Touched</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1244_7" HREF="terminal_interface-curses__ads.htm#ref_1165_25">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1246_16">WWinTouched</A></FONT> (<FONT COLOR=red><A NAME="ref_1246_29" HREF="terminal_interface-curses__adb.htm#ref_1246_16">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_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_1246_16">WWinTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1165_25">Win</A>) = <A HREF="terminal_interface-curses__ads.htm#ref_1927_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_1165_13">Is_Touched</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1256_14" HREF="terminal_interface-curses__ads.htm#ref_1174_14">Copy</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1257_7" HREF="terminal_interface-curses__ads.htm#ref_1175_7">Source_Window</A></FONT>            : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1258_7" HREF="terminal_interface-curses__ads.htm#ref_1176_7">Destination_Window</A></FONT>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1259_7" HREF="terminal_interface-curses__ads.htm#ref_1177_7">Source_Top_Row</A></FONT>           : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1260_7" HREF="terminal_interface-curses__ads.htm#ref_1178_7">Source_Left_Column</A></FONT>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1261_7" HREF="terminal_interface-curses__ads.htm#ref_1179_7">Destination_Top_Row</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1262_7" HREF="terminal_interface-curses__ads.htm#ref_1180_7">Destination_Left_Column</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1263_7" HREF="terminal_interface-curses__ads.htm#ref_1181_7">Destination_Bottom_Row</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1264_7" HREF="terminal_interface-curses__ads.htm#ref_1182_7">Destination_Right_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1265_7" HREF="terminal_interface-curses__ads.htm#ref_1183_7">Non_Destructive_Mode</A></FONT>     : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1267_16">Copywin</A></FONT> (<FONT COLOR=red><A NAME="ref_1267_25" HREF="terminal_interface-curses__adb.htm#ref_1267_16">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                        <FONT COLOR=red><A NAME="ref_1268_25" HREF="terminal_interface-curses__adb.htm#ref_1267_16">Dst</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                        <FONT COLOR=red><A NAME="ref_1269_25" HREF="terminal_interface-curses__adb.htm#ref_1267_16">Str</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                        <FONT COLOR=red><A NAME="ref_1270_25" HREF="terminal_interface-curses__adb.htm#ref_1267_16">Slc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                        <FONT COLOR=red><A NAME="ref_1271_25" HREF="terminal_interface-curses__adb.htm#ref_1267_16">Dtr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                        <FONT COLOR=red><A NAME="ref_1272_25" HREF="terminal_interface-curses__adb.htm#ref_1267_16">Dlc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                        <FONT COLOR=red><A NAME="ref_1273_25" HREF="terminal_interface-curses__adb.htm#ref_1267_16">Dbr</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                        <FONT COLOR=red><A NAME="ref_1274_25" HREF="terminal_interface-curses__adb.htm#ref_1267_16">Drc</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                        <FONT COLOR=red><A NAME="ref_1275_25" HREF="terminal_interface-curses__adb.htm#ref_1267_16">Ndm</A></FONT> : <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>pragma</b> Import (C, Copywin, "copywin");
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1267_16">Copywin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1175_7">Source_Window</A>,
+                  <A HREF="terminal_interface-curses__ads.htm#ref_1176_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_1177_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_1178_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_1179_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_1180_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_1181_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_1182_7">Destination_Right_Column</A>),
+                  Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1183_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1174_14">Copy</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1292_14" HREF="terminal_interface-curses__ads.htm#ref_1188_14">Overwrite</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1293_7" HREF="terminal_interface-curses__ads.htm#ref_1188_25">Source_Window</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1294_7" HREF="terminal_interface-curses__ads.htm#ref_1189_25">Destination_Window</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1296_16">Overwrite</A></FONT> (<FONT COLOR=red><A NAME="ref_1296_27" HREF="terminal_interface-curses__adb.htm#ref_1296_16">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1296_41" HREF="terminal_interface-curses__adb.htm#ref_1296_16">Dst</A></FONT> : <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>pragma</b> Import (C, Overwrite, "overwrite");
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1296_16">Overwrite</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1188_25">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1189_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1188_14">Overwrite</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1304_14" HREF="terminal_interface-curses__ads.htm#ref_1194_14">Overlay</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1305_7" HREF="terminal_interface-curses__ads.htm#ref_1194_23">Source_Window</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1306_7" HREF="terminal_interface-curses__ads.htm#ref_1195_23">Destination_Window</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1308_16">Overlay</A></FONT> (<FONT COLOR=red><A NAME="ref_1308_25" HREF="terminal_interface-curses__adb.htm#ref_1308_16">Src</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1308_39" HREF="terminal_interface-curses__adb.htm#ref_1308_16">Dst</A></FONT> : <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>pragma</b> Import (C, Overlay, "overlay");
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1308_16">Overlay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1194_23">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1195_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1194_14">Overlay</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1317_14" HREF="terminal_interface-curses__ads.htm#ref_1204_14">Insert_Delete_Lines</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1318_7" HREF="terminal_interface-curses__ads.htm#ref_1205_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1319_7" HREF="terminal_interface-curses__ads.htm#ref_1206_7">Lines</A></FONT> : <b>in</b> Integer       := 1) <FONT COLOR=green><EM>-- default is to insert one line above</EM></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1321_16">Winsdelln</A></FONT> (<FONT COLOR=red><A NAME="ref_1321_27" HREF="terminal_interface-curses__adb.htm#ref_1321_16">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1321_39" HREF="terminal_interface-curses__adb.htm#ref_1321_16">N</A></FONT> : <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>pragma</b> Import (C, Winsdelln, "winsdelln");
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1321_16">Winsdelln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1205_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_1206_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1204_14">Insert_Delete_Lines</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1329_14" HREF="terminal_interface-curses__ads.htm#ref_1212_14">Delete_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_1329_27" HREF="terminal_interface-curses__ads.htm#ref_1212_27">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1204_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1212_27">Win</A>, -1);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1212_14">Delete_Line</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1335_14" HREF="terminal_interface-curses__ads.htm#ref_1218_14">Insert_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_1335_27" HREF="terminal_interface-curses__ads.htm#ref_1218_27">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1204_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1218_27">Win</A>, 1);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1218_14">Insert_Line</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1342_14" HREF="terminal_interface-curses__ads.htm#ref_1228_14">Get_Size</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1343_7" HREF="terminal_interface-curses__ads.htm#ref_1229_7">Win</A></FONT>               : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1344_7" HREF="terminal_interface-curses__ads.htm#ref_1230_7">Number_Of_Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_1345_7" HREF="terminal_interface-curses__ads.htm#ref_1231_7">Number_Of_Columns</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1347_16">GetMaxY</A></FONT> (<FONT COLOR=red><A NAME="ref_1347_25" HREF="terminal_interface-curses__adb.htm#ref_1347_16">W</A></FONT> : <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>pragma</b> Import (C, GetMaxY, "getmaxy");
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1350_16">GetMaxX</A></FONT> (<FONT COLOR=red><A NAME="ref_1350_25" HREF="terminal_interface-curses__adb.htm#ref_1350_16">W</A></FONT> : <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>pragma</b> Import (C, GetMaxX, "getmaxx");
+
+      <FONT COLOR=red><A NAME="ref_1353_7">Y</A></FONT> : <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_1347_16">GetMaxY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1229_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_1924_4">Offset_XY</A>);
+      <FONT COLOR=red><A NAME="ref_1355_7">X</A></FONT> : <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_1350_16">GetMaxX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1229_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_1924_4">Offset_XY</A>);
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1230_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_1353_7">Y</A>);
+      <A HREF="terminal_interface-curses__ads.htm#ref_1231_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_1355_7">X</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1228_14">Get_Size</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1362_14" HREF="terminal_interface-curses__ads.htm#ref_1236_14">Get_Window_Position</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1363_7" HREF="terminal_interface-curses__ads.htm#ref_1237_7">Win</A></FONT>             : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1364_7" HREF="terminal_interface-curses__ads.htm#ref_1238_7">Top_Left_Line</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1365_7" HREF="terminal_interface-curses__ads.htm#ref_1239_7">Top_Left_Column</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1367_16">GetBegY</A></FONT> (<FONT COLOR=red><A NAME="ref_1367_25" HREF="terminal_interface-curses__adb.htm#ref_1367_16">W</A></FONT> : <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>pragma</b> Import (C, GetBegY, "getbegy");
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1370_16">GetBegX</A></FONT> (<FONT COLOR=red><A NAME="ref_1370_25" HREF="terminal_interface-curses__adb.htm#ref_1370_16">W</A></FONT> : <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>pragma</b> Import (C, GetBegX, "getbegx");
+
+      <FONT COLOR=red><A NAME="ref_1373_7">Y</A></FONT> : <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_1237_7">Win</A>));
+      <FONT COLOR=red><A NAME="ref_1374_7">X</A></FONT> : <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_1237_7">Win</A>));
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1238_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_1239_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_1236_14">Get_Window_Position</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1380_14" HREF="terminal_interface-curses__ads.htm#ref_1244_14">Get_Cursor_Position</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1381_7" HREF="terminal_interface-curses__ads.htm#ref_1245_7">Win</A></FONT>    : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1382_7" HREF="terminal_interface-curses__ads.htm#ref_1246_7">Line</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1383_7" HREF="terminal_interface-curses__ads.htm#ref_1247_7">Column</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1385_16">GetCurY</A></FONT> (<FONT COLOR=red><A NAME="ref_1385_25" HREF="terminal_interface-curses__adb.htm#ref_1385_16">W</A></FONT> : <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>pragma</b> Import (C, GetCurY, "getcury");
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1388_16">GetCurX</A></FONT> (<FONT COLOR=red><A NAME="ref_1388_25" HREF="terminal_interface-curses__adb.htm#ref_1388_16">W</A></FONT> : <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>pragma</b> Import (C, GetCurX, "getcurx");
+
+      <FONT COLOR=red><A NAME="ref_1391_7">Y</A></FONT> : <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_1245_7">Win</A>));
+      <FONT COLOR=red><A NAME="ref_1392_7">X</A></FONT> : <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_1245_7">Win</A>));
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1246_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_1247_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_1244_14">Get_Cursor_Position</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1398_14" HREF="terminal_interface-curses__ads.htm#ref_1252_14">Get_Origin_Relative_To_Parent</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1399_7" HREF="terminal_interface-curses__ads.htm#ref_1253_7">Win</A></FONT>                : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1400_7" HREF="terminal_interface-curses__ads.htm#ref_1254_7">Top_Left_Line</A></FONT>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1401_7" HREF="terminal_interface-curses__ads.htm#ref_1255_7">Top_Left_Column</A></FONT>    : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1402_7" HREF="terminal_interface-curses__ads.htm#ref_1256_7">Is_Not_A_Subwindow</A></FONT> : <b>out</b> Boolean)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1404_16">GetParY</A></FONT> (<FONT COLOR=red><A NAME="ref_1404_25" HREF="terminal_interface-curses__adb.htm#ref_1404_16">W</A></FONT> : <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>pragma</b> Import (C, GetParY, "getpary");
+
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1407_16">GetParX</A></FONT> (<FONT COLOR=red><A NAME="ref_1407_25" HREF="terminal_interface-curses__adb.htm#ref_1407_16">W</A></FONT> : <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>pragma</b> Import (C, GetParX, "getparx");
+
+      <FONT COLOR=red><A NAME="ref_1410_7">Y</A></FONT> : <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_1253_7">Win</A>);
+      <FONT COLOR=red><A NAME="ref_1411_7">X</A></FONT> : <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_1253_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_1254_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_1255_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_1256_7">Is_Not_A_Subwindow</A> := True;
+      <b>else</b>
+         <A HREF="terminal_interface-curses__ads.htm#ref_1254_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_1255_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_1256_7">Is_Not_A_Subwindow</A> := False;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1252_14">Get_Origin_Relative_To_Parent</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1424_13" HREF="terminal_interface-curses__ads.htm#ref_1267_13">New_Pad</A></FONT> (<FONT COLOR=red><A NAME="ref_1424_22" HREF="terminal_interface-curses__ads.htm#ref_1267_22">Lines</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                     <FONT COLOR=red><A NAME="ref_1425_22" HREF="terminal_interface-curses__ads.htm#ref_1268_22">Columns</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1427_16">Newpad</A></FONT> (<FONT COLOR=red><A NAME="ref_1427_24" HREF="terminal_interface-curses__adb.htm#ref_1427_16">Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>; <FONT COLOR=red><A NAME="ref_1427_39" HREF="terminal_interface-curses__adb.htm#ref_1427_16">Columns</A></FONT> : <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>pragma</b> Import (C, Newpad, "newpad");
+
+      <FONT COLOR=red><A NAME="ref_1430_7">W</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_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_1267_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_1268_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_383_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_1267_13">New_Pad</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1439_13" HREF="terminal_interface-curses__ads.htm#ref_1273_13">Sub_Pad</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1440_7" HREF="terminal_interface-curses__ads.htm#ref_1274_7">Pad</A></FONT>                   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1441_7" HREF="terminal_interface-curses__ads.htm#ref_1275_7">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_1442_7" HREF="terminal_interface-curses__ads.htm#ref_1276_7">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+      <FONT COLOR=red><A NAME="ref_1443_7" HREF="terminal_interface-curses__ads.htm#ref_1277_7">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1444_7" HREF="terminal_interface-curses__ads.htm#ref_1278_7">First_Column_Position</A></FONT> : <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> <FONT COLOR=red><A NAME="ref_1446_16">Subpad</A></FONT>
+        (<FONT COLOR=red><A NAME="ref_1447_10" HREF="terminal_interface-curses__adb.htm#ref_1446_16">Pad</A></FONT>                   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+         <FONT COLOR=red><A NAME="ref_1448_10" HREF="terminal_interface-curses__adb.htm#ref_1446_16">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1449_10" HREF="terminal_interface-curses__adb.htm#ref_1446_16">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1450_10" HREF="terminal_interface-curses__adb.htm#ref_1446_16">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1451_10" HREF="terminal_interface-curses__adb.htm#ref_1446_16">First_Column_Position</A></FONT> : <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>pragma</b> Import (C, Subpad, "subpad");
+
+      <FONT COLOR=red><A NAME="ref_1454_7">W</A></FONT> : <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_1274_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_1275_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_1276_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_1277_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_1278_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_383_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_1273_13">Sub_Pad</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1467_14" HREF="terminal_interface-curses__ads.htm#ref_1283_14">Refresh</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1468_7" HREF="terminal_interface-curses__ads.htm#ref_1284_7">Pad</A></FONT>                      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1469_7" HREF="terminal_interface-curses__ads.htm#ref_1285_7">Source_Top_Row</A></FONT>           : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1470_7" HREF="terminal_interface-curses__ads.htm#ref_1286_7">Source_Left_Column</A></FONT>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1471_7" HREF="terminal_interface-curses__ads.htm#ref_1287_7">Destination_Top_Row</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1472_7" HREF="terminal_interface-curses__ads.htm#ref_1288_7">Destination_Left_Column</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1473_7" HREF="terminal_interface-curses__ads.htm#ref_1289_7">Destination_Bottom_Row</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1474_7" HREF="terminal_interface-curses__ads.htm#ref_1290_7">Destination_Right_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1476_16">Prefresh</A></FONT>
+        (<FONT COLOR=red><A NAME="ref_1477_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Pad</A></FONT>                      : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+         <FONT COLOR=red><A NAME="ref_1478_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Source_Top_Row</A></FONT>           : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1479_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Source_Left_Column</A></FONT>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1480_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Destination_Top_Row</A></FONT>      : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1481_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Destination_Left_Column</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1482_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Destination_Bottom_Row</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1483_10" HREF="terminal_interface-curses__adb.htm#ref_1476_16">Destination_Right_Column</A></FONT> : <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>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_1284_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_1285_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_1286_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_1287_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_1288_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_1289_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_1290_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1283_14">Refresh</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1497_14" HREF="terminal_interface-curses__ads.htm#ref_1295_14">Refresh_Without_Update</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1498_7" HREF="terminal_interface-curses__ads.htm#ref_1296_7">Pad</A></FONT>                      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1499_7" HREF="terminal_interface-curses__ads.htm#ref_1297_7">Source_Top_Row</A></FONT>           : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1500_7" HREF="terminal_interface-curses__ads.htm#ref_1298_7">Source_Left_Column</A></FONT>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1501_7" HREF="terminal_interface-curses__ads.htm#ref_1299_7">Destination_Top_Row</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1502_7" HREF="terminal_interface-curses__ads.htm#ref_1300_7">Destination_Left_Column</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1503_7" HREF="terminal_interface-curses__ads.htm#ref_1301_7">Destination_Bottom_Row</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1504_7" HREF="terminal_interface-curses__ads.htm#ref_1302_7">Destination_Right_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1506_16">Pnoutrefresh</A></FONT>
+        (<FONT COLOR=red><A NAME="ref_1507_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Pad</A></FONT>                      : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+         <FONT COLOR=red><A NAME="ref_1508_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Source_Top_Row</A></FONT>           : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1509_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Source_Left_Column</A></FONT>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1510_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Destination_Top_Row</A></FONT>      : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1511_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Destination_Left_Column</A></FONT>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1512_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Destination_Bottom_Row</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+         <FONT COLOR=red><A NAME="ref_1513_10" HREF="terminal_interface-curses__adb.htm#ref_1506_16">Destination_Right_Column</A></FONT> : <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>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_1296_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_1297_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_1298_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_1299_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_1300_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_1301_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_1302_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1295_14">Refresh_Without_Update</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1527_14" HREF="terminal_interface-curses__ads.htm#ref_1307_14">Add_Character_To_Pad_And_Echo_It</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1528_7" HREF="terminal_interface-curses__ads.htm#ref_1308_7">Pad</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1529_7" HREF="terminal_interface-curses__ads.htm#ref_1309_7">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1531_16">Pechochar</A></FONT> (<FONT COLOR=red><A NAME="ref_1531_27" HREF="terminal_interface-curses__adb.htm#ref_1531_16">Pad</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1531_41" HREF="terminal_interface-curses__adb.htm#ref_1531_16">Ch</A></FONT> : <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>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_1308_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_1309_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1307_14">Add_Character_To_Pad_And_Echo_It</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1540_14" HREF="terminal_interface-curses__ads.htm#ref_1312_14">Add_Character_To_Pad_And_Echo_It</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1541_7" HREF="terminal_interface-curses__ads.htm#ref_1313_7">Pad</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1542_7" HREF="terminal_interface-curses__ads.htm#ref_1314_7">Ch</A></FONT>  : <b>in</b> Character)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_1307_14">Add_Character_To_Pad_And_Echo_It</A>
+        (<A HREF="terminal_interface-curses__ads.htm#ref_1313_7">Pad</A>,
+         <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1314_7">Ch</A>,
+                               <A HREF="terminal_interface-curses__ads.htm#ref_355_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_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1312_14">Add_Character_To_Pad_And_Echo_It</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1552_14" HREF="terminal_interface-curses__ads.htm#ref_1322_14">Scroll</A></FONT> (<FONT COLOR=red><A NAME="ref_1552_22" HREF="terminal_interface-curses__ads.htm#ref_1322_22">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                     <FONT COLOR=red><A NAME="ref_1553_22" HREF="terminal_interface-curses__ads.htm#ref_1323_22">Amount</A></FONT> : <b>in</b> Integer := 1)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1555_16">Wscrl</A></FONT> (<FONT COLOR=red><A NAME="ref_1555_23" HREF="terminal_interface-curses__adb.htm#ref_1555_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1555_37" HREF="terminal_interface-curses__adb.htm#ref_1555_16">N</A></FONT> : <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>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_1322_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_1323_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Scroll</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1565_14" HREF="terminal_interface-curses__ads.htm#ref_1334_14">Delete_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_1565_32" HREF="terminal_interface-curses__ads.htm#ref_1334_32">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1567_16">Wdelch</A></FONT> (<FONT COLOR=red><A NAME="ref_1567_24" HREF="terminal_interface-curses__adb.htm#ref_1567_16">Win</A></FONT> : <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>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_1334_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1334_14">Delete_Character</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1575_14" HREF="terminal_interface-curses__ads.htm#ref_1339_14">Delete_Character</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1576_7" HREF="terminal_interface-curses__ads.htm#ref_1340_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1577_7" HREF="terminal_interface-curses__ads.htm#ref_1341_7">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1578_7" HREF="terminal_interface-curses__ads.htm#ref_1342_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1580_16">Mvwdelch</A></FONT> (<FONT COLOR=red><A NAME="ref_1580_26" HREF="terminal_interface-curses__adb.htm#ref_1580_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_1581_26" HREF="terminal_interface-curses__adb.htm#ref_1580_16">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                         <FONT COLOR=red><A NAME="ref_1582_26" HREF="terminal_interface-curses__adb.htm#ref_1580_16">Col</A></FONT> : <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>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_1340_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_1341_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_1342_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1339_14">Delete_Character</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1590_13" HREF="terminal_interface-curses__ads.htm#ref_1352_13">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1590_19" HREF="terminal_interface-curses__ads.htm#ref_1352_19">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1593_16">Winch</A></FONT> (<FONT COLOR=red><A NAME="ref_1593_23" HREF="terminal_interface-curses__adb.htm#ref_1593_16">Win</A></FONT> : <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>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_1352_19">Win</A>));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1352_13">Peek</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1599_13" HREF="terminal_interface-curses__ads.htm#ref_1358_13">Peek</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1600_7" HREF="terminal_interface-curses__ads.htm#ref_1359_7">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1601_7" HREF="terminal_interface-curses__ads.htm#ref_1360_7">Line</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1602_7" HREF="terminal_interface-curses__ads.htm#ref_1361_7">Column</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1604_16">Mvwinch</A></FONT> (<FONT COLOR=red><A NAME="ref_1604_25" HREF="terminal_interface-curses__adb.htm#ref_1604_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                        <FONT COLOR=red><A NAME="ref_1605_25" HREF="terminal_interface-curses__adb.htm#ref_1604_16">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                        <FONT COLOR=red><A NAME="ref_1606_25" HREF="terminal_interface-curses__adb.htm#ref_1604_16">Col</A></FONT> : <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>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_1359_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_1360_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_1361_7">Column</A>)));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1358_13">Peek</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1612_14" HREF="terminal_interface-curses__ads.htm#ref_1371_14">Insert</A></FONT> (<FONT COLOR=red><A NAME="ref_1612_22" HREF="terminal_interface-curses__ads.htm#ref_1371_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                     <FONT COLOR=red><A NAME="ref_1613_22" HREF="terminal_interface-curses__ads.htm#ref_1372_22">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1615_16">Winsch</A></FONT> (<FONT COLOR=red><A NAME="ref_1615_24" HREF="terminal_interface-curses__adb.htm#ref_1615_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>; <FONT COLOR=red><A NAME="ref_1615_38" HREF="terminal_interface-curses__adb.htm#ref_1615_16">Ch</A></FONT> : <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>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_1371_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_1372_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1371_14">Insert</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1623_14" HREF="terminal_interface-curses__ads.htm#ref_1377_14">Insert</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1624_7" HREF="terminal_interface-curses__ads.htm#ref_1377_22">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1625_7" HREF="terminal_interface-curses__ads.htm#ref_1378_22">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1626_7" HREF="terminal_interface-curses__ads.htm#ref_1379_22">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1627_7" HREF="terminal_interface-curses__ads.htm#ref_1380_22">Ch</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1629_16">Mvwinsch</A></FONT> (<FONT COLOR=red><A NAME="ref_1629_26" HREF="terminal_interface-curses__adb.htm#ref_1629_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_1630_26" HREF="terminal_interface-curses__adb.htm#ref_1629_16">Lin</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                         <FONT COLOR=red><A NAME="ref_1631_26" HREF="terminal_interface-curses__adb.htm#ref_1629_16">Col</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                         <FONT COLOR=red><A NAME="ref_1632_26" HREF="terminal_interface-curses__adb.htm#ref_1629_16">Ch</A></FONT>  : <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>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_1377_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_1378_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_1379_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_1380_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1377_14">Insert</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1643_14" HREF="terminal_interface-curses__ads.htm#ref_1389_14">Insert</A></FONT> (<FONT COLOR=red><A NAME="ref_1643_22" HREF="terminal_interface-curses__ads.htm#ref_1389_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                     <FONT COLOR=red><A NAME="ref_1644_22" HREF="terminal_interface-curses__ads.htm#ref_1390_22">Str</A></FONT> : <b>in</b> String;
+                     <FONT COLOR=red><A NAME="ref_1645_22" HREF="terminal_interface-curses__ads.htm#ref_1391_22">Len</A></FONT> : <b>in</b> Integer := -1)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1647_16">Winsnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_1647_26" HREF="terminal_interface-curses__adb.htm#ref_1647_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_1648_26" HREF="terminal_interface-curses__adb.htm#ref_1647_16">Str</A></FONT> : char_array;
+                         <FONT COLOR=red><A NAME="ref_1649_26" HREF="terminal_interface-curses__adb.htm#ref_1647_16">Len</A></FONT> : Integer := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Winsnstr, "winsnstr");
+
+      <FONT COLOR=red><A NAME="ref_1652_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1390_22">Str</A>'Length);
+      <FONT COLOR=red><A NAME="ref_1653_7">Length</A></FONT> : size_t;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1390_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_1389_22">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1652_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1391_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1389_14">Insert</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1661_14" HREF="terminal_interface-curses__ads.htm#ref_1398_14">Insert</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1662_7" HREF="terminal_interface-curses__ads.htm#ref_1398_22">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1663_7" HREF="terminal_interface-curses__ads.htm#ref_1399_22">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1664_7" HREF="terminal_interface-curses__ads.htm#ref_1400_22">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1665_7" HREF="terminal_interface-curses__ads.htm#ref_1401_22">Str</A></FONT>    : <b>in</b> String;
+      <FONT COLOR=red><A NAME="ref_1666_7" HREF="terminal_interface-curses__ads.htm#ref_1402_22">Len</A></FONT>    : <b>in</b> Integer := -1)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1668_16">Mvwinsnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_1668_28" HREF="terminal_interface-curses__adb.htm#ref_1668_16">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                           <FONT COLOR=red><A NAME="ref_1669_28" HREF="terminal_interface-curses__adb.htm#ref_1668_16">Line</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                           <FONT COLOR=red><A NAME="ref_1670_28" HREF="terminal_interface-curses__adb.htm#ref_1668_16">Column</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                           <FONT COLOR=red><A NAME="ref_1671_28" HREF="terminal_interface-curses__adb.htm#ref_1668_16">Str</A></FONT>    : char_array;
+                           <FONT COLOR=red><A NAME="ref_1672_28" HREF="terminal_interface-curses__adb.htm#ref_1668_16">Len</A></FONT>    : <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>pragma</b> Import (C, Mvwinsnstr, "mvwinsnstr");
+
+      <FONT COLOR=red><A NAME="ref_1675_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1401_22">Str</A>'Length);
+      <FONT COLOR=red><A NAME="ref_1676_7">Length</A></FONT> : size_t;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1401_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_1398_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_1399_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_1400_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_1402_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Insert</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1685_14" HREF="terminal_interface-curses__ads.htm#ref_1414_14">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1685_20" HREF="terminal_interface-curses__ads.htm#ref_1414_20">Win</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                   <FONT COLOR=red><A NAME="ref_1686_20" HREF="terminal_interface-curses__ads.htm#ref_1415_20">Str</A></FONT> : <b>out</b> String;
+                   <FONT COLOR=red><A NAME="ref_1687_20" HREF="terminal_interface-curses__ads.htm#ref_1416_20">Len</A></FONT> : <b>in</b>  Integer := -1)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1689_16">Winnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_1689_25" HREF="terminal_interface-curses__adb.htm#ref_1689_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                        <FONT COLOR=red><A NAME="ref_1690_25" HREF="terminal_interface-curses__adb.htm#ref_1689_16">Str</A></FONT> : char_array;
+                        <FONT COLOR=red><A NAME="ref_1691_25" HREF="terminal_interface-curses__adb.htm#ref_1689_16">Len</A></FONT> : <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>pragma</b> Import (C, Winnstr, "winnstr");
+
+      <FONT COLOR=red><A NAME="ref_1694_7">N</A></FONT>   : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1416_20">Len</A>;
+      <FONT COLOR=red><A NAME="ref_1695_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1415_20">Str</A>'Length);
+      <FONT COLOR=red><A NAME="ref_1696_7">Cnt</A></FONT> : 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_1415_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_1415_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_38_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_1414_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_383_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_1415_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_1415_20">Str</A>'Length <b>then</b>
+         <A HREF="terminal_interface-curses__ads.htm#ref_1415_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1415_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1696_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1415_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_1414_14">Peek</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1714_14" HREF="terminal_interface-curses__ads.htm#ref_1423_14">Peek</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1715_7" HREF="terminal_interface-curses__ads.htm#ref_1423_20">Win</A></FONT>    : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1716_7" HREF="terminal_interface-curses__ads.htm#ref_1424_20">Line</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1717_7" HREF="terminal_interface-curses__ads.htm#ref_1425_20">Column</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1718_7" HREF="terminal_interface-curses__ads.htm#ref_1426_20">Str</A></FONT>    : <b>out</b> String;
+      <FONT COLOR=red><A NAME="ref_1719_7" HREF="terminal_interface-curses__ads.htm#ref_1427_20">Len</A></FONT>    : <b>in</b>  Integer := -1)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_511_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1423_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1424_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1425_20">Column</A>);
+      <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1423_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1426_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1427_20">Len</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1423_14">Peek</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1726_14" HREF="terminal_interface-curses__ads.htm#ref_1438_14">Peek</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1727_7" HREF="terminal_interface-curses__ads.htm#ref_1438_20">Win</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1728_7" HREF="terminal_interface-curses__ads.htm#ref_1439_20">Str</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Attributed_String</A>;
+      <FONT COLOR=red><A NAME="ref_1729_7" HREF="terminal_interface-curses__ads.htm#ref_1440_20">Len</A></FONT> : <b>in</b>  Integer := -1)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1731_16">Winchnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_1731_27" HREF="terminal_interface-curses__adb.htm#ref_1731_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                          <FONT COLOR=red><A NAME="ref_1732_27" HREF="terminal_interface-curses__adb.htm#ref_1731_16">Str</A></FONT> : chtype_array;             <FONT COLOR=green><EM>-- out</EM></FONT>
+                          <FONT COLOR=red><A NAME="ref_1733_27" HREF="terminal_interface-curses__adb.htm#ref_1731_16">Len</A></FONT> : <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>pragma</b> Import (C, Winchnstr, "winchnstr");
+
+      <FONT COLOR=red><A NAME="ref_1736_7">N</A></FONT>   : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1440_20">Len</A>;
+      <FONT COLOR=red><A NAME="ref_1737_7">Txt</A></FONT> : <b>constant</b> chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1439_20">Str</A>'Length)
+          := (0 =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>);
+      <FONT COLOR=red><A NAME="ref_1739_7">Cnt</A></FONT> : 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_1439_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_1439_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_1438_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+      <b>for</b> <FONT COLOR=red><A NAME="ref_1750_11">To</A></FONT> <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1439_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_371_4">Default_Character</A>;
+         <A HREF="terminal_interface-curses__ads.htm#ref_1439_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>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_1439_20">Str</A>'Length <b>then</b>
+         <A HREF="terminal_interface-curses__ads.htm#ref_1439_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1439_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1739_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1439_20">Str</A>'Last) :=
+           (<b>others</b> =&gt; (<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A> =&gt; ' ',
+                       <A HREF="terminal_interface-curses__ads.htm#ref_355_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_354_10">Attr</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>));
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1438_14">Peek</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1763_14" HREF="terminal_interface-curses__ads.htm#ref_1447_14">Peek</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1764_7" HREF="terminal_interface-curses__ads.htm#ref_1447_20">Win</A></FONT>    : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1765_7" HREF="terminal_interface-curses__ads.htm#ref_1448_20">Line</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1766_7" HREF="terminal_interface-curses__ads.htm#ref_1449_20">Column</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1767_7" HREF="terminal_interface-curses__ads.htm#ref_1450_20">Str</A></FONT>    : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Attributed_String</A>;
+      <FONT COLOR=red><A NAME="ref_1768_7" HREF="terminal_interface-curses__ads.htm#ref_1451_20">Len</A></FONT>    : <b>in</b> Integer := -1)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_511_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1447_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1448_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1449_20">Column</A>);
+      <A HREF="terminal_interface-curses__ads.htm#ref_1438_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1447_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1450_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1451_20">Len</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1447_14">Peek</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1775_14" HREF="terminal_interface-curses__ads.htm#ref_1463_14">Get</A></FONT> (<FONT COLOR=red><A NAME="ref_1775_19" HREF="terminal_interface-curses__ads.htm#ref_1463_19">Win</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                  <FONT COLOR=red><A NAME="ref_1776_19" HREF="terminal_interface-curses__ads.htm#ref_1464_19">Str</A></FONT> : <b>out</b> String;
+                  <FONT COLOR=red><A NAME="ref_1777_19" HREF="terminal_interface-curses__ads.htm#ref_1465_19">Len</A></FONT> : <b>in</b>  Integer := -1)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1779_16">Wgetnstr</A></FONT> (<FONT COLOR=red><A NAME="ref_1779_26" HREF="terminal_interface-curses__adb.htm#ref_1779_16">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                         <FONT COLOR=red><A NAME="ref_1780_26" HREF="terminal_interface-curses__adb.htm#ref_1779_16">Str</A></FONT> : char_array;
+                         <FONT COLOR=red><A NAME="ref_1781_26" HREF="terminal_interface-curses__adb.htm#ref_1779_16">Len</A></FONT> : <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>pragma</b> Import (C, Wgetnstr, "wgetnstr");
+
+      <FONT COLOR=red><A NAME="ref_1784_7">N</A></FONT>   : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1465_19">Len</A>;
+      <FONT COLOR=red><A NAME="ref_1785_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1464_19">Str</A>'Length);
+      <FONT COLOR=red><A NAME="ref_1786_7">Cnt</A></FONT> : 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_1464_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_1464_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_38_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_1463_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_383_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_1464_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_1464_19">Str</A>'Length <b>then</b>
+         <A HREF="terminal_interface-curses__ads.htm#ref_1464_19">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1464_19">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1786_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1464_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_1463_14">Get</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1804_14" HREF="terminal_interface-curses__ads.htm#ref_1474_14">Get</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1805_7" HREF="terminal_interface-curses__ads.htm#ref_1474_19">Win</A></FONT>    : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1806_7" HREF="terminal_interface-curses__ads.htm#ref_1475_19">Line</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1807_7" HREF="terminal_interface-curses__ads.htm#ref_1476_19">Column</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1808_7" HREF="terminal_interface-curses__ads.htm#ref_1477_19">Str</A></FONT>    : <b>out</b> String;
+      <FONT COLOR=red><A NAME="ref_1809_7" HREF="terminal_interface-curses__ads.htm#ref_1478_19">Len</A></FONT>    : <b>in</b>  Integer := -1)
+   <b>is</b>
+   <b>begin</b>
+      <A HREF="terminal_interface-curses__ads.htm#ref_511_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1474_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1475_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1476_19">Column</A>);
+      <A HREF="terminal_interface-curses__ads.htm#ref_1463_14">Get</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1474_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1477_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1478_19">Len</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1474_14">Get</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1816_14" HREF="terminal_interface-curses__ads.htm#ref_1499_14">Init_Soft_Label_Keys</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1817_7" HREF="terminal_interface-curses__ads.htm#ref_1500_7">Format</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1491_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1491_35">Three_Two_Three</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1819_16">Slk_Init</A></FONT> (<FONT COLOR=red><A NAME="ref_1819_26" HREF="terminal_interface-curses__adb.htm#ref_1819_16">Fmt</A></FONT> : <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>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_1491_9">Soft_Label_Key_Format</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1500_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1499_14">Init_Soft_Label_Keys</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1827_14" HREF="terminal_interface-curses__ads.htm#ref_1505_14">Set_Soft_Label_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1827_34" HREF="terminal_interface-curses__ads.htm#ref_1505_34">Label</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1495_9">Label_Number</A>;
+                                 <FONT COLOR=red><A NAME="ref_1828_34" HREF="terminal_interface-curses__ads.htm#ref_1506_34">Text</A></FONT>  : <b>in</b> String;
+                                 <FONT COLOR=red><A NAME="ref_1829_34" HREF="terminal_interface-curses__ads.htm#ref_1507_34">Fmt</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1496_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1496_33">Left</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1831_16">Slk_Set</A></FONT> (<FONT COLOR=red><A NAME="ref_1831_25" HREF="terminal_interface-curses__adb.htm#ref_1831_16">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                        <FONT COLOR=red><A NAME="ref_1832_25" HREF="terminal_interface-curses__adb.htm#ref_1831_16">Txt</A></FONT>   : char_array;
+                        <FONT COLOR=red><A NAME="ref_1833_25" HREF="terminal_interface-curses__adb.htm#ref_1831_16">Fmt</A></FONT>   : <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>pragma</b> Import (C, Slk_Set, "slk_set");
+
+      <FONT COLOR=red><A NAME="ref_1836_7">Txt</A></FONT> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1506_34">Text</A>'Length);
+      <FONT COLOR=red><A NAME="ref_1837_7">Len</A></FONT> : size_t;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1506_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_1505_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_1496_9">Label_Justification</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1507_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1505_14">Set_Soft_Label_Key</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1846_14" HREF="terminal_interface-curses__ads.htm#ref_1512_14">Refresh_Soft_Label_Keys</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1848_16">Slk_Refresh</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1512_14">Refresh_Soft_Label_Keys</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1856_14" HREF="terminal_interface-curses__ads.htm#ref_1517_14">Refresh_Soft_Label_Keys_Without_Update</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1858_16">Slk_Noutrefresh</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1517_14">Refresh_Soft_Label_Keys_Without_Update</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1866_14" HREF="terminal_interface-curses__ads.htm#ref_1522_14">Get_Soft_Label_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1866_34" HREF="terminal_interface-curses__ads.htm#ref_1522_34">Label</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1495_9">Label_Number</A>;
+                                 <FONT COLOR=red><A NAME="ref_1867_34" HREF="terminal_interface-curses__ads.htm#ref_1523_34">Text</A></FONT>  : <b>out</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1869_16">Slk_Label</A></FONT> (<FONT COLOR=red><A NAME="ref_1869_27" HREF="terminal_interface-curses__adb.htm#ref_1869_16">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_1522_34">Label</A>)), <A HREF="terminal_interface-curses__ads.htm#ref_1523_34">Text</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1522_14">Get_Soft_Label_Key</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1875_13" HREF="terminal_interface-curses__ads.htm#ref_1527_13">Get_Soft_Label_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1875_33" HREF="terminal_interface-curses__ads.htm#ref_1527_33">Label</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1495_9">Label_Number</A>) <b>return</b> String
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1877_16">Slk_Label</A></FONT> (<FONT COLOR=red><A NAME="ref_1877_27" HREF="terminal_interface-curses__adb.htm#ref_1877_16">Label</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_1527_33">Label</A>)));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1527_13">Get_Soft_Label_Key</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1883_14" HREF="terminal_interface-curses__ads.htm#ref_1533_14">Clear_Soft_Label_Keys</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1885_16">Slk_Clear</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1533_14">Clear_Soft_Label_Keys</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1893_14" HREF="terminal_interface-curses__ads.htm#ref_1538_14">Restore_Soft_Label_Keys</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1895_16">Slk_Restore</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1538_14">Restore_Soft_Label_Keys</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1903_14" HREF="terminal_interface-curses__ads.htm#ref_1543_14">Touch_Soft_Label_Keys</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1905_16">Slk_Touch</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1543_14">Touch_Soft_Label_Keys</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1913_14" HREF="terminal_interface-curses__ads.htm#ref_1548_14">Switch_Soft_Label_Key_Attributes</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1914_7" HREF="terminal_interface-curses__ads.htm#ref_1549_7">Attr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+      <FONT COLOR=red><A NAME="ref_1915_7" HREF="terminal_interface-curses__ads.htm#ref_1550_7">On</A></FONT>   : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1917_16">Slk_Attron</A></FONT> (<FONT COLOR=red><A NAME="ref_1917_28" HREF="terminal_interface-curses__adb.htm#ref_1917_16">Ch</A></FONT> : <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>pragma</b> Import (C, Slk_Attron, "slk_attron");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1919_16">Slk_Attroff</A></FONT> (<FONT COLOR=red><A NAME="ref_1919_29" HREF="terminal_interface-curses__adb.htm#ref_1919_16">Ch</A></FONT> : <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>pragma</b> Import (C, Slk_Attroff, "slk_attroff");
+
+      <FONT COLOR=red><A NAME="ref_1922_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <FONT COLOR=red><A NAME="ref_1923_7">Ch</A></FONT>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; Character'First,
+                                              <A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1549_7">Attr</A>,
+                                              <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First);
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1550_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>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>));
+      <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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1548_14">Switch_Soft_Label_Key_Attributes</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1937_14" HREF="terminal_interface-curses__ads.htm#ref_1556_14">Set_Soft_Label_Key_Attributes</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1938_7" HREF="terminal_interface-curses__ads.htm#ref_1557_7">Attr</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_1939_7" HREF="terminal_interface-curses__ads.htm#ref_1558_7">Color</A></FONT> : <b>in</b> <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> <FONT COLOR=red><A NAME="ref_1941_16">Slk_Attrset</A></FONT> (<FONT COLOR=red><A NAME="ref_1941_29" HREF="terminal_interface-curses__adb.htm#ref_1941_16">Ch</A></FONT> : <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>pragma</b> Import (C, Slk_Attrset, "slk_attrset");
+
+      <FONT COLOR=red><A NAME="ref_1944_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; Character'First,
+                                             <A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1557_7">Attr</A>,
+                                             <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A> =&gt; <A HREF="terminal_interface-curses__ads.htm#ref_1558_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1556_14">Set_Soft_Label_Key_Attributes</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1953_13" HREF="terminal_interface-curses__ads.htm#ref_1563_13">Get_Soft_Label_Key_Attributes</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1955_16">Slk_Attr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+      <b>pragma</b> Import (C, Slk_Attr, "slk_attr");
+
+      <FONT COLOR=red><A NAME="ref_1958_7">Attr</A></FONT> : <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>;
+   <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_354_10">Attr</A>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1563_13">Get_Soft_Label_Key_Attributes</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1963_13" HREF="terminal_interface-curses__ads.htm#ref_1567_13">Get_Soft_Label_Key_Attributes</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1965_16">Slk_Attr</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+      <b>pragma</b> Import (C, Slk_Attr, "slk_attr");
+
+      <FONT COLOR=red><A NAME="ref_1968_7">Attr</A></FONT> : <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>;
+   <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_355_10">Color</A>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1567_13">Get_Soft_Label_Key_Attributes</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1973_14" HREF="terminal_interface-curses__ads.htm#ref_1572_14">Set_Soft_Label_Key_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_1973_40" HREF="terminal_interface-curses__ads.htm#ref_1572_40">Pair</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1975_16">Slk_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_1975_27" HREF="terminal_interface-curses__adb.htm#ref_1975_16">Color</A></FONT> : <b>in</b> <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>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_1572_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1572_14">Set_Soft_Label_Key_Color</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1984_14" HREF="terminal_interface-curses__ads.htm#ref_1586_14">Enable_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1984_26" HREF="terminal_interface-curses__ads.htm#ref_1586_26">Key</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>;
+                         <FONT COLOR=red><A NAME="ref_1985_26" HREF="terminal_interface-curses__ads.htm#ref_1587_26">Enable</A></FONT> : <b>in</b> Boolean := True)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_1987_16">Keyok</A></FONT> (<FONT COLOR=red><A NAME="ref_1987_23" HREF="terminal_interface-curses__adb.htm#ref_1987_16">Keycode</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                      <FONT COLOR=red><A NAME="ref_1988_23" HREF="terminal_interface-curses__adb.htm#ref_1987_16">On_Off</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_1586_26">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1587_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1586_14">Enable_Key</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1997_14" HREF="terminal_interface-curses__ads.htm#ref_1596_14">Define_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1997_26" HREF="terminal_interface-curses__ads.htm#ref_1596_26">Definition</A></FONT> : <b>in</b> String;
+                         <FONT COLOR=red><A NAME="ref_1998_26" HREF="terminal_interface-curses__ads.htm#ref_1597_26">Key</A></FONT>        : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2000_16">Defkey</A></FONT> (<FONT COLOR=red><A NAME="ref_2000_24" HREF="terminal_interface-curses__adb.htm#ref_2000_16">Def</A></FONT> : char_array;
+                       <FONT COLOR=red><A NAME="ref_2001_24" HREF="terminal_interface-curses__adb.htm#ref_2000_16">Key</A></FONT> : <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>pragma</b> Import (C, Defkey, "define_key");
+
+      <FONT COLOR=red><A NAME="ref_2004_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1596_26">Definition</A>'Length);
+      <FONT COLOR=red><A NAME="ref_2005_7">Length</A></FONT> : size_t;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1596_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_1597_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1596_14">Define_Key</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2013_14" HREF="terminal_interface-curses__ads.htm#ref_1622_14">Un_Control</A></FONT> (<FONT COLOR=red><A NAME="ref_2013_26" HREF="terminal_interface-curses__ads.htm#ref_1622_26">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>;
+                         <FONT COLOR=red><A NAME="ref_2014_26" HREF="terminal_interface-curses__ads.htm#ref_1623_26">Str</A></FONT> : <b>out</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2016_16">Unctrl</A></FONT> (<FONT COLOR=red><A NAME="ref_2016_24" HREF="terminal_interface-curses__adb.htm#ref_2016_16">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</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_1622_26">Ch</A>)), <A HREF="terminal_interface-curses__ads.htm#ref_1623_26">Str</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1622_14">Un_Control</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2022_13" HREF="terminal_interface-curses__ads.htm#ref_1627_13">Un_Control</A></FONT> (<FONT COLOR=red><A NAME="ref_2022_25" HREF="terminal_interface-curses__ads.htm#ref_1627_25">Ch</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>) <b>return</b> String
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2024_16">Unctrl</A></FONT> (<FONT COLOR=red><A NAME="ref_2024_24" HREF="terminal_interface-curses__adb.htm#ref_2024_16">Ch</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</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_1627_25">Ch</A>)));
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1627_13">Un_Control</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2030_14" HREF="terminal_interface-curses__ads.htm#ref_1633_14">Delay_Output</A></FONT> (<FONT COLOR=red><A NAME="ref_2030_28" HREF="terminal_interface-curses__ads.htm#ref_1633_28">Msecs</A></FONT> : <b>in</b> Natural)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2032_16">Delayoutput</A></FONT> (<FONT COLOR=red><A NAME="ref_2032_29" HREF="terminal_interface-curses__adb.htm#ref_2032_16">Msecs</A></FONT> : <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>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_1633_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1633_14">Delay_Output</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2040_14" HREF="terminal_interface-curses__ads.htm#ref_1638_14">Flush_Input</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2042_16">Flushinp</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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>  <FONT COLOR=green><EM>-- docu says that never happens, but...</EM></FONT>
+         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1638_14">Flush_Input</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2050_13" HREF="terminal_interface-curses__ads.htm#ref_1647_13">Baudrate</A></FONT> <b>return</b> Natural
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2052_16">Baud</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_1647_13">Baudrate</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2058_13" HREF="terminal_interface-curses__ads.htm#ref_1652_13">Erase_Character</A></FONT> <b>return</b> Character
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2060_16">Erasechar</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_1652_13">Erase_Character</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2066_13" HREF="terminal_interface-curses__ads.htm#ref_1657_13">Kill_Character</A></FONT> <b>return</b> Character
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2068_16">Killchar</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_1657_13">Kill_Character</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2074_13" HREF="terminal_interface-curses__ads.htm#ref_1662_13">Has_Insert_Character</A></FONT> <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2076_16">Has_Ic</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_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_1927_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_1662_13">Has_Insert_Character</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2086_13" HREF="terminal_interface-curses__ads.htm#ref_1667_13">Has_Insert_Line</A></FONT> <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2088_16">Has_Il</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_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_1927_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_1667_13">Has_Insert_Line</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2098_13" HREF="terminal_interface-curses__ads.htm#ref_1672_13">Supported_Attributes</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2100_16">Termattrs</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
+      <b>pragma</b> Import (C, Termattrs, "termattrs");
+
+      <FONT COLOR=red><A NAME="ref_2103_7">Ch</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_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>);
+   <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_354_10">Attr</A>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1672_13">Supported_Attributes</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2108_14" HREF="terminal_interface-curses__ads.htm#ref_1677_14">Long_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_2108_25" HREF="terminal_interface-curses__ads.htm#ref_1677_25">Name</A></FONT> : <b>out</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2110_16">Longname</A></FONT> <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_1677_25">Name</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1677_14">Long_Name</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2116_13" HREF="terminal_interface-curses__ads.htm#ref_1681_13">Long_Name</A></FONT> <b>return</b> String
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2118_16">Longname</A></FONT> <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_1681_13">Long_Name</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2124_14" HREF="terminal_interface-curses__ads.htm#ref_1687_14">Terminal_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_2124_29" HREF="terminal_interface-curses__ads.htm#ref_1687_29">Name</A></FONT> : <b>out</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2126_16">Termname</A></FONT> <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_1687_29">Name</A>);
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1687_14">Terminal_Name</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2132_13" HREF="terminal_interface-curses__ads.htm#ref_1691_13">Terminal_Name</A></FONT> <b>return</b> String
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2134_16">Termname</A></FONT> <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_1691_13">Terminal_Name</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2140_14" HREF="terminal_interface-curses__ads.htm#ref_1712_14">Init_Pair</A></FONT> (<FONT COLOR=red><A NAME="ref_2140_25" HREF="terminal_interface-curses__ads.htm#ref_1712_25">Pair</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_301_12">Redefinable_Color_Pair</A>;
+                        <FONT COLOR=red><A NAME="ref_2141_25" HREF="terminal_interface-curses__ads.htm#ref_1713_25">Fore</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
+                        <FONT COLOR=red><A NAME="ref_2142_25" HREF="terminal_interface-curses__ads.htm#ref_1714_25">Back</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2144_16">Initpair</A></FONT> (<FONT COLOR=red><A NAME="ref_2144_26" HREF="terminal_interface-curses__adb.htm#ref_2144_16">Pair</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+                         <FONT COLOR=red><A NAME="ref_2145_26" HREF="terminal_interface-curses__adb.htm#ref_2144_16">Fore</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+                         <FONT COLOR=red><A NAME="ref_2146_26" HREF="terminal_interface-curses__adb.htm#ref_2144_16">Back</A></FONT> : <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>pragma</b> Import (C, Initpair, "init_pair");
+   <b>begin</b>
+      <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1712_25">Pair</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_424_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_1713_25">Fore</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_421_13">Number_Of_Colors</A> <b>or</b> <b>else</b>
+         Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1714_25">Back</A>) &gt;= <A HREF="terminal_interface-curses__ads.htm#ref_421_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_1712_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_1713_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_1714_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1712_14">Init_Pair</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2162_14" HREF="terminal_interface-curses__ads.htm#ref_1719_14">Pair_Content</A></FONT> (<FONT COLOR=red><A NAME="ref_2162_28" HREF="terminal_interface-curses__ads.htm#ref_1719_28">Pair</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>;
+                           <FONT COLOR=red><A NAME="ref_2163_28" HREF="terminal_interface-curses__ads.htm#ref_1720_28">Fore</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
+                           <FONT COLOR=red><A NAME="ref_2164_28" HREF="terminal_interface-curses__ads.htm#ref_1721_28">Back</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_2166_12">C_Short_Access</A></FONT> <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> <FONT COLOR=red><A NAME="ref_2167_16">Paircontent</A></FONT> (<FONT COLOR=red><A NAME="ref_2167_29" HREF="terminal_interface-curses__adb.htm#ref_2167_16">Pair</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+                            <FONT COLOR=red><A NAME="ref_2168_29" HREF="terminal_interface-curses__adb.htm#ref_2167_16">Fp</A></FONT>   : <A HREF="terminal_interface-curses__adb.htm#ref_2166_12">C_Short_Access</A>;
+                            <FONT COLOR=red><A NAME="ref_2169_29" HREF="terminal_interface-curses__adb.htm#ref_2167_16">Bp</A></FONT>   : <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>pragma</b> Import (C, Paircontent, "pair_content");
+
+      <FONT COLOR=red><A NAME="ref_2172_7">F</A></FONT>, <FONT COLOR=red><A NAME="ref_2172_10">B</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_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_1719_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_383_4">Curses_Exception</A>;
+      <b>else</b>
+         <A HREF="terminal_interface-curses__ads.htm#ref_1720_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_1721_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>);
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1719_14">Pair_Content</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2182_13" HREF="terminal_interface-curses__ads.htm#ref_1726_13">Has_Colors</A></FONT> <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2184_16">Hascolors</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_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_1927_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_1726_13">Has_Colors</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2194_14" HREF="terminal_interface-curses__ads.htm#ref_1731_14">Init_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_2194_26" HREF="terminal_interface-curses__ads.htm#ref_1731_26">Color</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
+                         <FONT COLOR=red><A NAME="ref_2195_26" HREF="terminal_interface-curses__ads.htm#ref_1732_26">Red</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
+                         <FONT COLOR=red><A NAME="ref_2196_26" HREF="terminal_interface-curses__ads.htm#ref_1733_26">Green</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
+                         <FONT COLOR=red><A NAME="ref_2197_26" HREF="terminal_interface-curses__ads.htm#ref_1734_26">Blue</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2199_16">Initcolor</A></FONT> (<FONT COLOR=red><A NAME="ref_2199_27" HREF="terminal_interface-curses__adb.htm#ref_2199_16">Col</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+                          <FONT COLOR=red><A NAME="ref_2200_27" HREF="terminal_interface-curses__adb.htm#ref_2199_16">Red</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+                          <FONT COLOR=red><A NAME="ref_2201_27" HREF="terminal_interface-curses__adb.htm#ref_2199_16">Green</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>;
+                          <FONT COLOR=red><A NAME="ref_2202_27" HREF="terminal_interface-curses__adb.htm#ref_2199_16">Blue</A></FONT>  : <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>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_1731_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_1732_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_1733_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_1734_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1731_14">Init_Color</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2211_13" HREF="terminal_interface-curses__ads.htm#ref_1739_13">Can_Change_Color</A></FONT> <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2213_16">Canchangecolor</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_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_1927_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_1739_13">Can_Change_Color</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2223_14" HREF="terminal_interface-curses__ads.htm#ref_1744_14">Color_Content</A></FONT> (<FONT COLOR=red><A NAME="ref_2223_29" HREF="terminal_interface-curses__ads.htm#ref_1744_29">Color</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
+                            <FONT COLOR=red><A NAME="ref_2224_29" HREF="terminal_interface-curses__ads.htm#ref_1745_29">Red</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
+                            <FONT COLOR=red><A NAME="ref_2225_29" HREF="terminal_interface-curses__ads.htm#ref_1746_29">Green</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
+                            <FONT COLOR=red><A NAME="ref_2226_29" HREF="terminal_interface-curses__ads.htm#ref_1747_29">Blue</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_2228_12">C_Short_Access</A></FONT> <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> <FONT COLOR=red><A NAME="ref_2230_16">Colorcontent</A></FONT> (<FONT COLOR=red><A NAME="ref_2230_30" HREF="terminal_interface-curses__adb.htm#ref_2230_16">Color</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_12">C_Short</A>; <FONT COLOR=red><A NAME="ref_2230_47" HREF="terminal_interface-curses__adb.htm#ref_2230_16">R</A></FONT>, <FONT COLOR=red><A NAME="ref_2230_50" HREF="terminal_interface-curses__adb.htm#ref_2230_16">G</A></FONT>, <FONT COLOR=red><A NAME="ref_2230_53" HREF="terminal_interface-curses__adb.htm#ref_2230_16">B</A></FONT> : <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>pragma</b> Import (C, Colorcontent, "color_content");
+
+      <FONT COLOR=red><A NAME="ref_2234_7">R</A></FONT>, <FONT COLOR=red><A NAME="ref_2234_10">G</A></FONT>, <FONT COLOR=red><A NAME="ref_2234_13">B</A></FONT> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_56_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_1744_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_383_4">Curses_Exception</A>;
+      <b>else</b>
+         <A HREF="terminal_interface-curses__ads.htm#ref_1745_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_1746_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_1747_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>);
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1744_14">Color_Content</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2247_14" HREF="terminal_interface-curses__ads.htm#ref_1759_14">Save_Curses_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_2247_32" HREF="terminal_interface-curses__ads.htm#ref_1759_32">Mode</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1756_9">Curses_Mode</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2249_16">Def_Prog_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Def_Prog_Mode, "def_prog_mode");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2251_16">Def_Shell_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Def_Shell_Mode, "def_shell_mode");
+
+      <FONT COLOR=red><A NAME="ref_2254_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+   <b>begin</b>
+      <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1759_32">Mode</A> <b>is</b>
+         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1756_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_1756_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>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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1759_14">Save_Curses_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2265_14" HREF="terminal_interface-curses__ads.htm#ref_1765_14">Reset_Curses_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_2265_33" HREF="terminal_interface-curses__ads.htm#ref_1765_33">Mode</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1756_9">Curses_Mode</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2267_16">Reset_Prog_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Reset_Prog_Mode, "reset_prog_mode");
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2269_16">Reset_Shell_Mode</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Reset_Shell_Mode, "reset_shell_mode");
+
+      <FONT COLOR=red><A NAME="ref_2272_7">Err</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+   <b>begin</b>
+      <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1765_33">Mode</A> <b>is</b>
+         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1756_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_1756_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>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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1765_14">Reset_Curses_Mode</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2283_14" HREF="terminal_interface-curses__ads.htm#ref_1771_14">Save_Terminal_State</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2285_16">Savetty</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1771_14">Save_Terminal_State</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2293_14" HREF="terminal_interface-curses__ads.htm#ref_1776_14">Reset_Terminal_State</A></FONT>
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2295_16">Resetty</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1776_14">Reset_Terminal_State</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2303_14" HREF="terminal_interface-curses__ads.htm#ref_1789_14">Rip_Off_Lines</A></FONT> (<FONT COLOR=red><A NAME="ref_2303_29" HREF="terminal_interface-curses__ads.htm#ref_1789_29">Lines</A></FONT> : <b>in</b> Integer;
+                            <FONT COLOR=red><A NAME="ref_2304_29" HREF="terminal_interface-curses__ads.htm#ref_1790_29">Proc</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1780_9">Stdscr_Init_Proc</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2306_16">Ripoffline</A></FONT> (<FONT COLOR=red><A NAME="ref_2306_28" HREF="terminal_interface-curses__adb.htm#ref_2306_16">Lines</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                           <FONT COLOR=red><A NAME="ref_2307_28" HREF="terminal_interface-curses__adb.htm#ref_2306_16">Proc</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_1780_9">Stdscr_Init_Proc</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_1789_29">Lines</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1790_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1789_14">Rip_Off_Lines</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2315_14" HREF="terminal_interface-curses__ads.htm#ref_1801_14">Set_Cursor_Visibility</A></FONT> (<FONT COLOR=red><A NAME="ref_2315_37" HREF="terminal_interface-curses__ads.htm#ref_1801_37">Visibility</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_1798_9">Cursor_Visibility</A>)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2317_16">Curs_Set</A></FONT> (<FONT COLOR=red><A NAME="ref_2317_26" HREF="terminal_interface-curses__adb.htm#ref_2317_16">Curs</A></FONT> : <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>pragma</b> Import (C, Curs_Set, "curs_set");
+
+      <FONT COLOR=red><A NAME="ref_2320_7">Res</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_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_1798_9">Cursor_Visibility</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1801_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_1801_37">Visibility</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1798_9">Cursor_Visibility</A>'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2320_7">Res</A>);
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1801_14">Set_Cursor_Visibility</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2328_14" HREF="terminal_interface-curses__ads.htm#ref_1806_14">Nap_Milli_Seconds</A></FONT> (<FONT COLOR=red><A NAME="ref_2328_33" HREF="terminal_interface-curses__ads.htm#ref_1806_33">Ms</A></FONT> : <b>in</b> Natural)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2330_16">Napms</A></FONT> (<FONT COLOR=red><A NAME="ref_2330_23" HREF="terminal_interface-curses__adb.htm#ref_2330_16">Ms</A></FONT> : <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>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_1806_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1806_14">Nap_Milli_Seconds</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2339_13" HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_2341_7">Result</A></FONT> : <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_476_13">Standard_Window</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2347_13" HREF="terminal_interface-curses__ads.htm#ref_481_13">Current_Window</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_2349_7">Result</A></FONT> : <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>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_481_13">Current_Window</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2355_13" HREF="terminal_interface-curses__ads.htm#ref_412_13">Lines</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_2357_7">Result</A></FONT> : <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>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_412_13">Lines</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2363_13" HREF="terminal_interface-curses__ads.htm#ref_415_13">Columns</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_2365_7">Result</A></FONT> : <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_415_13">Columns</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2371_13" HREF="terminal_interface-curses__ads.htm#ref_418_13">Tab_Size</A></FONT> <b>return</b> Natural
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_2373_7">Result</A></FONT> : <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_418_13">Tab_Size</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2379_13" HREF="terminal_interface-curses__ads.htm#ref_421_13">Number_Of_Colors</A></FONT> <b>return</b> Natural
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_2381_7">Result</A></FONT> : <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>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_421_13">Number_Of_Colors</A>;
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2387_13" HREF="terminal_interface-curses__ads.htm#ref_424_13">Number_Of_Color_Pairs</A></FONT> <b>return</b> Natural
+   <b>is</b>
+      <FONT COLOR=red><A NAME="ref_2389_7">Result</A></FONT> : <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>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_424_13">Number_Of_Color_Pairs</A>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2396_14" HREF="terminal_interface-curses__ads.htm#ref_1814_14">Transform_Coordinates</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_2397_7" HREF="terminal_interface-curses__ads.htm#ref_1815_7">W</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_2398_7" HREF="terminal_interface-curses__ads.htm#ref_1816_7">Line</A></FONT>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_2399_7" HREF="terminal_interface-curses__ads.htm#ref_1817_7">Column</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_2400_7" HREF="terminal_interface-curses__ads.htm#ref_1818_7">Dir</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1813_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1813_33">From_Screen</A>)
+   <b>is</b>
+      <b>type</b> <FONT COLOR=red><A NAME="ref_2402_12">Int_Access</A></FONT> <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> <FONT COLOR=red><A NAME="ref_2403_16">Transform</A></FONT> (<FONT COLOR=red><A NAME="ref_2403_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">W</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                          <FONT COLOR=red><A NAME="ref_2404_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">Y</A></FONT>, <FONT COLOR=red><A NAME="ref_2404_30" HREF="terminal_interface-curses__adb.htm#ref_2403_16">X</A></FONT> : <A HREF="terminal_interface-curses__adb.htm#ref_2402_12">Int_Access</A>;
+                          <FONT COLOR=red><A NAME="ref_2405_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">Dir</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, Transform, "wmouse_trafo");
+
+      <FONT COLOR=red><A NAME="ref_2408_7">X</A></FONT> : <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">Column</A>);
+      <FONT COLOR=red><A NAME="ref_2409_7">Y</A></FONT> : <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_1816_7">Line</A>);
+      <FONT COLOR=red><A NAME="ref_2410_7">D</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1927_4">Curses_Bool_False</A>;
+      <FONT COLOR=red><A NAME="ref_2411_7">R</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+   <b>begin</b>
+      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1818_7">Dir</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1813_46">To_Screen</A> <b>then</b>
+         <A HREF="terminal_interface-curses__adb.htm#ref_2410_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_1815_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_383_4">Curses_Exception</A>;
+      <b>else</b>
+         <A HREF="terminal_interface-curses__ads.htm#ref_1816_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_1817_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>);
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1814_14">Transform_Coordinates</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2425_14" HREF="terminal_interface-curses__ads.htm#ref_1831_14">Use_Default_Colors</A></FONT> <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2426_16">C_Use_Default_Colors</A></FONT> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, C_Use_Default_Colors, "use_default_colors");
+      <FONT COLOR=red><A NAME="ref_2428_7">Err</A></FONT> : <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>;
+   <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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1831_14">Use_Default_Colors</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2435_14" HREF="terminal_interface-curses__ads.htm#ref_1836_14">Assume_Default_Colors</A></FONT> (<FONT COLOR=red><A NAME="ref_2435_37" HREF="terminal_interface-curses__ads.htm#ref_1836_37">Fore</A></FONT> : <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>;
+                                    <FONT COLOR=red><A NAME="ref_2436_37" HREF="terminal_interface-curses__ads.htm#ref_1837_37">Back</A></FONT> : <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>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2438_16">C_Assume_Default_Colors</A></FONT> (<FONT COLOR=red><A NAME="ref_2438_41" HREF="terminal_interface-curses__adb.htm#ref_2438_16">Fore</A></FONT> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                                        <FONT COLOR=red><A NAME="ref_2439_41" HREF="terminal_interface-curses__adb.htm#ref_2438_16">Back</A></FONT> : <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>pragma</b> Import (C, C_Assume_Default_Colors, "assume_default_colors");
+
+      <FONT COLOR=red><A NAME="ref_2442_7">Err</A></FONT> : <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_1836_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_1837_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1836_14">Assume_Default_Colors</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2450_13" HREF="terminal_interface-curses__ads.htm#ref_1846_13">Curses_Version</A></FONT> <b>return</b> String
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2452_16">curses_versionC</A></FONT> <b>return</b> chars_ptr;
+      <b>pragma</b> Import (C, curses_versionC, "curses_version");
+      <FONT COLOR=red><A NAME="ref_2454_7">Result</A></FONT> : <b>constant</b> chars_ptr := <A HREF="terminal_interface-curses__adb.htm#ref_2452_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_1846_13">Curses_Version</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2459_14" HREF="terminal_interface-curses__ads.htm#ref_1859_14">Curses_Free_All</A></FONT> <b>is</b>
+      <b>procedure</b> <FONT COLOR=red><A NAME="ref_2460_17">curses_freeall</A></FONT>;
+      <b>pragma</b> Import (C, curses_freeall, "_nc_freeall");
+   <b>begin</b>
+      <FONT COLOR=green><EM>--  Use this only for testing: you cannot use curses after calling it,</EM></FONT>
+      <FONT COLOR=green><EM>--  so it has to be the "last" thing done before exiting the program.</EM></FONT>
+      <FONT COLOR=green><EM>--  This will not really free ALL of memory used by curses.  That is</EM></FONT>
+      <FONT COLOR=green><EM>--  because it cannot free the memory used for stdout's setbuf.  The</EM></FONT>
+      <FONT COLOR=green><EM>--  _nc_free_and_exit() procedure can do that, but it can be invoked</EM></FONT>
+      <FONT COLOR=green><EM>--  safely only from C - and again, that only as the "last" thing done</EM></FONT>
+      <FONT COLOR=green><EM>--  before exiting the program.</EM></FONT>
+      <A HREF="terminal_interface-curses__adb.htm#ref_2460_17">curses_freeall</A>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1859_14">Curses_Free_All</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_2473_13" HREF="terminal_interface-curses__ads.htm#ref_1851_13">Use_Extended_Names</A></FONT> (<FONT COLOR=red><A NAME="ref_2473_33" HREF="terminal_interface-curses__ads.htm#ref_1851_33">Enable</A></FONT> : Boolean) <b>return</b> Boolean
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2475_16">use_extended_namesC</A></FONT> (<FONT COLOR=red><A NAME="ref_2475_37" HREF="terminal_interface-curses__adb.htm#ref_2475_16">e</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, use_extended_namesC, "use_extended_names");
+
+      <FONT COLOR=red><A NAME="ref_2478_7">Res</A></FONT> : <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_1926_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1851_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_1927_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_1851_13">Use_Extended_Names</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2488_14" HREF="terminal_interface-curses__ads.htm#ref_1867_14">Screen_Dump_To_File</A></FONT> (<FONT COLOR=red><A NAME="ref_2488_35" HREF="terminal_interface-curses__ads.htm#ref_1867_35">Filename</A></FONT> : <b>in</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2490_16">scr_dump</A></FONT> (<FONT COLOR=red><A NAME="ref_2490_26" HREF="terminal_interface-curses__adb.htm#ref_2490_16">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, scr_dump, "scr_dump");
+      <FONT COLOR=red><A NAME="ref_2492_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1867_35">Filename</A>'Length);
+      <FONT COLOR=red><A NAME="ref_2493_7">Length</A></FONT> : size_t;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1867_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1867_14">Screen_Dump_To_File</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2501_14" HREF="terminal_interface-curses__ads.htm#ref_1871_14">Screen_Restore_From_File</A></FONT> (<FONT COLOR=red><A NAME="ref_2501_40" HREF="terminal_interface-curses__ads.htm#ref_1871_40">Filename</A></FONT> : <b>in</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2503_16">scr_restore</A></FONT> (<FONT COLOR=red><A NAME="ref_2503_29" HREF="terminal_interface-curses__adb.htm#ref_2503_16">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, scr_restore, "scr_restore");
+      <FONT COLOR=red><A NAME="ref_2505_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1871_40">Filename</A>'Length);
+      <FONT COLOR=red><A NAME="ref_2506_7">Length</A></FONT> : size_t;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1871_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1871_14">Screen_Restore_From_File</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2514_14" HREF="terminal_interface-curses__ads.htm#ref_1875_14">Screen_Init_From_File</A></FONT> (<FONT COLOR=red><A NAME="ref_2514_37" HREF="terminal_interface-curses__ads.htm#ref_1875_37">Filename</A></FONT> : <b>in</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2516_16">scr_init</A></FONT> (<FONT COLOR=red><A NAME="ref_2516_26" HREF="terminal_interface-curses__adb.htm#ref_2516_16">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, scr_init, "scr_init");
+      <FONT COLOR=red><A NAME="ref_2518_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1875_37">Filename</A>'Length);
+      <FONT COLOR=red><A NAME="ref_2519_7">Length</A></FONT> : size_t;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1875_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1875_14">Screen_Init_From_File</A>;
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2527_14" HREF="terminal_interface-curses__ads.htm#ref_1879_14">Screen_Set_File</A></FONT> (<FONT COLOR=red><A NAME="ref_2527_31" HREF="terminal_interface-curses__ads.htm#ref_1879_31">Filename</A></FONT> : <b>in</b> String)
+   <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2529_16">scr_set</A></FONT> (<FONT COLOR=red><A NAME="ref_2529_25" HREF="terminal_interface-curses__adb.htm#ref_2529_16">f</A></FONT> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+      <b>pragma</b> Import (C, scr_set, "scr_set");
+      <FONT COLOR=red><A NAME="ref_2531_7">Txt</A></FONT>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1879_31">Filename</A>'Length);
+      <FONT COLOR=red><A NAME="ref_2532_7">Length</A></FONT> : size_t;
+   <b>begin</b>
+      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1879_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1879_14">Screen_Set_File</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_2540_14" HREF="terminal_interface-curses__ads.htm#ref_1911_14">Resize</A></FONT> (<FONT COLOR=red><A NAME="ref_2540_22" HREF="terminal_interface-curses__ads.htm#ref_1911_22">Win</A></FONT>               : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                     <FONT COLOR=red><A NAME="ref_2541_22" HREF="terminal_interface-curses__ads.htm#ref_1912_22">Number_Of_Lines</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                     <FONT COLOR=red><A NAME="ref_2542_22" HREF="terminal_interface-curses__ads.htm#ref_1913_22">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>) <b>is</b>
+      <b>function</b> <FONT COLOR=red><A NAME="ref_2543_16">wresize</A></FONT> (<FONT COLOR=red><A NAME="ref_2543_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">win</A></FONT>     : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                        <FONT COLOR=red><A NAME="ref_2544_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">lines</A></FONT>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
+                        <FONT COLOR=red><A NAME="ref_2545_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">columns</A></FONT> : <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>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_1911_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_1912_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_1913_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_383_4">Curses_Exception</A>;
+      <b>end</b> <b>if</b>;
+   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1911_14">Resize</A>;
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+<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>;
+</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface-curses__ads.htm b/doc/html/ada/terminal_interface-curses__ads.htm
new file mode 100644
index 0000000..4cc1194
--- /dev/null
+++ b/doc/html/ada/terminal_interface-curses__ads.htm
@@ -0,0 +1,1935 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface-curses.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface-curses.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                         Terminal_Interface.Curses                        --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.41 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2007/05/05 20:33:52 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  curses binding.</EM></FONT>
+<FONT COLOR=green><EM>--  This module is generated. Please don't change it manually!</EM></FONT>
+<FONT COLOR=green><EM>--  Run the generator instead.</EM></FONT>
+<FONT COLOR=green><EM>--  |</EM></FONT>
+<b>with</b> System.Storage_Elements;
+<b>with</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C;   <FONT COLOR=green><EM>--  We need this for some assertions.</EM></FONT>
+
+<b>package</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<FONT COLOR=red><A NAME="ref_49_28" HREF="terminal_interface-curses__adb.htm#ref_50_33">Curses</A></FONT> <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 ("-lncursesw");
+
+   <FONT COLOR=red><A NAME="ref_53_4">NC_Major_Version</A></FONT> : <b>constant</b> := 5; <FONT COLOR=green><EM>--  Major version of the library</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_54_4">NC_Minor_Version</A></FONT> : <b>constant</b> := 6; <FONT COLOR=green><EM>--  Minor version of the library</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_55_4">NC_Version</A></FONT> : <b>constant</b> String := "5.6";  <FONT COLOR=green><EM>--  Version of library</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_57_9">Window</A></FONT> <b>is</b> <b>private</b>;
+   <FONT COLOR=red><A NAME="ref_58_4">Null_Window</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_60_9">Line_Position</A></FONT>   <b>is</b> <b>new</b> Natural; <FONT COLOR=green><EM>--  line coordinate</EM></FONT>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_61_9">Column_Position</A></FONT> <b>is</b> <b>new</b> Natural; <FONT COLOR=green><EM>--  column coordinate</EM></FONT>
+
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_63_12">Line_Count</A></FONT>   <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;
+   <FONT COLOR=green><EM>--  Type to count lines. We do not allow null windows, so must be positive</EM></FONT>
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_65_12">Column_Count</A></FONT> <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;
+   <FONT COLOR=green><EM>--  Type to count columns. We do not allow null windows, so must be positive</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_68_9">Key_Code</A></FONT> <b>is</b> <b>new</b> Integer;
+   <FONT COLOR=green><EM>--  That is anything including real characters, special keys and logical</EM></FONT>
+   <FONT COLOR=green><EM>--  request codes.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  FIXME: The "-1" should be Curses_Err</EM></FONT>
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_73_12">Real_Key_Code</A></FONT> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_68_9">Key_Code</A> <b>range</b> -1 .. 8#777#;
+   <FONT COLOR=green><EM>--  This are the codes that potentially represent a real keystroke.</EM></FONT>
+   <FONT COLOR=green><EM>--  Not all codes may be possible on a specific terminal. To check the</EM></FONT>
+   <FONT COLOR=green><EM>--  availability of a special key, the Has_Key function is provided.</EM></FONT>
+
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_78_12">Special_Key_Code</A></FONT> <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;
+   <FONT COLOR=green><EM>--  Type for a function- or special key number</EM></FONT>
+
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_82_12">Normal_Key_Code</A></FONT> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A> <b>range</b>
+     Character'Pos (Character'First) .. Character'Pos (Character'Last);
+   <FONT COLOR=green><EM>--  This are the codes for regular (incl. non-graphical) characters.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  Constants for function- and special keys</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_88_4">Key_None</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#400#;
+   <FONT COLOR=red><A NAME="ref_89_4">Key_Code_Yes</A></FONT>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#400#;
+   <FONT COLOR=red><A NAME="ref_90_4">Key_Min</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#401#;
+   <FONT COLOR=red><A NAME="ref_91_4">Key_Break</A></FONT>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#401#;
+   <FONT COLOR=red><A NAME="ref_92_4">Key_Cursor_Down</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#402#;
+   <FONT COLOR=red><A NAME="ref_93_4">Key_Cursor_Up</A></FONT>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#403#;
+   <FONT COLOR=red><A NAME="ref_94_4">Key_Cursor_Left</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#404#;
+   <FONT COLOR=red><A NAME="ref_95_4">Key_Cursor_Right</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#405#;
+   <FONT COLOR=red><A NAME="ref_96_4">Key_Home</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#406#;
+   <FONT COLOR=red><A NAME="ref_97_4">Key_Backspace</A></FONT>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#407#;
+   <FONT COLOR=red><A NAME="ref_98_4">Key_F0</A></FONT>                         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#410#;
+   <FONT COLOR=red><A NAME="ref_99_4">Key_F1</A></FONT>                         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#411#;
+   <FONT COLOR=red><A NAME="ref_100_4">Key_F2</A></FONT>                         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#412#;
+   <FONT COLOR=red><A NAME="ref_101_4">Key_F3</A></FONT>                         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#413#;
+   <FONT COLOR=red><A NAME="ref_102_4">Key_F4</A></FONT>                         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#414#;
+   <FONT COLOR=red><A NAME="ref_103_4">Key_F5</A></FONT>                         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#415#;
+   <FONT COLOR=red><A NAME="ref_104_4">Key_F6</A></FONT>                         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#416#;
+   <FONT COLOR=red><A NAME="ref_105_4">Key_F7</A></FONT>                         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#417#;
+   <FONT COLOR=red><A NAME="ref_106_4">Key_F8</A></FONT>                         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#420#;
+   <FONT COLOR=red><A NAME="ref_107_4">Key_F9</A></FONT>                         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#421#;
+   <FONT COLOR=red><A NAME="ref_108_4">Key_F10</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#422#;
+   <FONT COLOR=red><A NAME="ref_109_4">Key_F11</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#423#;
+   <FONT COLOR=red><A NAME="ref_110_4">Key_F12</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#424#;
+   <FONT COLOR=red><A NAME="ref_111_4">Key_F13</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#425#;
+   <FONT COLOR=red><A NAME="ref_112_4">Key_F14</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#426#;
+   <FONT COLOR=red><A NAME="ref_113_4">Key_F15</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#427#;
+   <FONT COLOR=red><A NAME="ref_114_4">Key_F16</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#430#;
+   <FONT COLOR=red><A NAME="ref_115_4">Key_F17</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#431#;
+   <FONT COLOR=red><A NAME="ref_116_4">Key_F18</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#432#;
+   <FONT COLOR=red><A NAME="ref_117_4">Key_F19</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#433#;
+   <FONT COLOR=red><A NAME="ref_118_4">Key_F20</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#434#;
+   <FONT COLOR=red><A NAME="ref_119_4">Key_F21</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#435#;
+   <FONT COLOR=red><A NAME="ref_120_4">Key_F22</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#436#;
+   <FONT COLOR=red><A NAME="ref_121_4">Key_F23</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#437#;
+   <FONT COLOR=red><A NAME="ref_122_4">Key_F24</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#440#;
+   <FONT COLOR=red><A NAME="ref_123_4">Key_Delete_Line</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#510#;
+   <FONT COLOR=red><A NAME="ref_124_4">Key_Insert_Line</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#511#;
+   <FONT COLOR=red><A NAME="ref_125_4">Key_Delete_Char</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#512#;
+   <FONT COLOR=red><A NAME="ref_126_4">Key_Insert_Char</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#513#;
+   <FONT COLOR=red><A NAME="ref_127_4">Key_Exit_Insert_Mode</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#514#;
+   <FONT COLOR=red><A NAME="ref_128_4">Key_Clear_Screen</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#515#;
+   <FONT COLOR=red><A NAME="ref_129_4">Key_Clear_End_Of_Screen</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#516#;
+   <FONT COLOR=red><A NAME="ref_130_4">Key_Clear_End_Of_Line</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#517#;
+   <FONT COLOR=red><A NAME="ref_131_4">Key_Scroll_1_Forward</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#520#;
+   <FONT COLOR=red><A NAME="ref_132_4">Key_Scroll_1_Backward</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#521#;
+   <FONT COLOR=red><A NAME="ref_133_4">Key_Next_Page</A></FONT>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#522#;
+   <FONT COLOR=red><A NAME="ref_134_4">Key_Previous_Page</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#523#;
+   <FONT COLOR=red><A NAME="ref_135_4">Key_Set_Tab</A></FONT>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#524#;
+   <FONT COLOR=red><A NAME="ref_136_4">Key_Clear_Tab</A></FONT>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#525#;
+   <FONT COLOR=red><A NAME="ref_137_4">Key_Clear_All_Tabs</A></FONT>             : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#526#;
+   <FONT COLOR=red><A NAME="ref_138_4">Key_Enter_Or_Send</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#527#;
+   <FONT COLOR=red><A NAME="ref_139_4">Key_Soft_Reset</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#530#;
+   <FONT COLOR=red><A NAME="ref_140_4">Key_Reset</A></FONT>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#531#;
+   <FONT COLOR=red><A NAME="ref_141_4">Key_Print</A></FONT>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#532#;
+   <FONT COLOR=red><A NAME="ref_142_4">Key_Bottom</A></FONT>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#533#;
+   <FONT COLOR=red><A NAME="ref_143_4">Key_Upper_Left_Of_Keypad</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#534#;
+   <FONT COLOR=red><A NAME="ref_144_4">Key_Upper_Right_Of_Keypad</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#535#;
+   <FONT COLOR=red><A NAME="ref_145_4">Key_Center_Of_Keypad</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#536#;
+   <FONT COLOR=red><A NAME="ref_146_4">Key_Lower_Left_Of_Keypad</A></FONT>       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#537#;
+   <FONT COLOR=red><A NAME="ref_147_4">Key_Lower_Right_Of_Keypad</A></FONT>      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#540#;
+   <FONT COLOR=red><A NAME="ref_148_4">Key_Back_Tab</A></FONT>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#541#;
+   <FONT COLOR=red><A NAME="ref_149_4">Key_Beginning</A></FONT>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#542#;
+   <FONT COLOR=red><A NAME="ref_150_4">Key_Cancel</A></FONT>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#543#;
+   <FONT COLOR=red><A NAME="ref_151_4">Key_Close</A></FONT>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#544#;
+   <FONT COLOR=red><A NAME="ref_152_4">Key_Command</A></FONT>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#545#;
+   <FONT COLOR=red><A NAME="ref_153_4">Key_Copy</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#546#;
+   <FONT COLOR=red><A NAME="ref_154_4">Key_Create</A></FONT>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#547#;
+   <FONT COLOR=red><A NAME="ref_155_4">Key_End</A></FONT>                        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#550#;
+   <FONT COLOR=red><A NAME="ref_156_4">Key_Exit</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#551#;
+   <FONT COLOR=red><A NAME="ref_157_4">Key_Find</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#552#;
+   <FONT COLOR=red><A NAME="ref_158_4">Key_Help</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#553#;
+   <FONT COLOR=red><A NAME="ref_159_4">Key_Mark</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#554#;
+   <FONT COLOR=red><A NAME="ref_160_4">Key_Message</A></FONT>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#555#;
+   <FONT COLOR=red><A NAME="ref_161_4">Key_Move</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#556#;
+   <FONT COLOR=red><A NAME="ref_162_4">Key_Next</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#557#;
+   <FONT COLOR=red><A NAME="ref_163_4">Key_Open</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#560#;
+   <FONT COLOR=red><A NAME="ref_164_4">Key_Options</A></FONT>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#561#;
+   <FONT COLOR=red><A NAME="ref_165_4">Key_Previous</A></FONT>                   : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#562#;
+   <FONT COLOR=red><A NAME="ref_166_4">Key_Redo</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#563#;
+   <FONT COLOR=red><A NAME="ref_167_4">Key_Reference</A></FONT>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#564#;
+   <FONT COLOR=red><A NAME="ref_168_4">Key_Refresh</A></FONT>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#565#;
+   <FONT COLOR=red><A NAME="ref_169_4">Key_Replace</A></FONT>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#566#;
+   <FONT COLOR=red><A NAME="ref_170_4">Key_Restart</A></FONT>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#567#;
+   <FONT COLOR=red><A NAME="ref_171_4">Key_Resume</A></FONT>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#570#;
+   <FONT COLOR=red><A NAME="ref_172_4">Key_Save</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#571#;
+   <FONT COLOR=red><A NAME="ref_173_4">Key_Shift_Begin</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#572#;
+   <FONT COLOR=red><A NAME="ref_174_4">Key_Shift_Cancel</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#573#;
+   <FONT COLOR=red><A NAME="ref_175_4">Key_Shift_Command</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#574#;
+   <FONT COLOR=red><A NAME="ref_176_4">Key_Shift_Copy</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#575#;
+   <FONT COLOR=red><A NAME="ref_177_4">Key_Shift_Create</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#576#;
+   <FONT COLOR=red><A NAME="ref_178_4">Key_Shift_Delete_Char</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#577#;
+   <FONT COLOR=red><A NAME="ref_179_4">Key_Shift_Delete_Line</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#600#;
+   <FONT COLOR=red><A NAME="ref_180_4">Key_Select</A></FONT>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#601#;
+   <FONT COLOR=red><A NAME="ref_181_4">Key_Shift_End</A></FONT>                  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#602#;
+   <FONT COLOR=red><A NAME="ref_182_4">Key_Shift_Clear_End_Of_Line</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#603#;
+   <FONT COLOR=red><A NAME="ref_183_4">Key_Shift_Exit</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#604#;
+   <FONT COLOR=red><A NAME="ref_184_4">Key_Shift_Find</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#605#;
+   <FONT COLOR=red><A NAME="ref_185_4">Key_Shift_Help</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#606#;
+   <FONT COLOR=red><A NAME="ref_186_4">Key_Shift_Home</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#607#;
+   <FONT COLOR=red><A NAME="ref_187_4">Key_Shift_Insert_Char</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#610#;
+   <FONT COLOR=red><A NAME="ref_188_4">Key_Shift_Cursor_Left</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#611#;
+   <FONT COLOR=red><A NAME="ref_189_4">Key_Shift_Message</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#612#;
+   <FONT COLOR=red><A NAME="ref_190_4">Key_Shift_Move</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#613#;
+   <FONT COLOR=red><A NAME="ref_191_4">Key_Shift_Next_Page</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#614#;
+   <FONT COLOR=red><A NAME="ref_192_4">Key_Shift_Options</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#615#;
+   <FONT COLOR=red><A NAME="ref_193_4">Key_Shift_Previous_Page</A></FONT>        : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#616#;
+   <FONT COLOR=red><A NAME="ref_194_4">Key_Shift_Print</A></FONT>                : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#617#;
+   <FONT COLOR=red><A NAME="ref_195_4">Key_Shift_Redo</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#620#;
+   <FONT COLOR=red><A NAME="ref_196_4">Key_Shift_Replace</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#621#;
+   <FONT COLOR=red><A NAME="ref_197_4">Key_Shift_Cursor_Right</A></FONT>         : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#622#;
+   <FONT COLOR=red><A NAME="ref_198_4">Key_Shift_Resume</A></FONT>               : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#623#;
+   <FONT COLOR=red><A NAME="ref_199_4">Key_Shift_Save</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#624#;
+   <FONT COLOR=red><A NAME="ref_200_4">Key_Shift_Suspend</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#625#;
+   <FONT COLOR=red><A NAME="ref_201_4">Key_Shift_Undo</A></FONT>                 : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#626#;
+   <FONT COLOR=red><A NAME="ref_202_4">Key_Suspend</A></FONT>                    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#627#;
+   <FONT COLOR=red><A NAME="ref_203_4">Key_Undo</A></FONT>                       : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#630#;
+   <FONT COLOR=red><A NAME="ref_204_4">Key_Mouse</A></FONT>                      : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#631#;
+   <FONT COLOR=red><A NAME="ref_205_4">Key_Resize</A></FONT>                     : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A> := 8#632#;
+
+   <FONT COLOR=red><A NAME="ref_207_4">Key_Max</A></FONT>                        : <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> <FONT COLOR=red><A NAME="ref_210_12">User_Key_Code</A></FONT> <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;
+   <FONT COLOR=green><EM>--  This is reserved for user defined key codes. The range between Key_Max</EM></FONT>
+   <FONT COLOR=green><EM>--  and the first user code is reserved for subsystems like menu and forms.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  For those who like to use the original key names we produce them were</EM></FONT>
+   <FONT COLOR=green><EM>--  they differ from the original. Please note that they may differ in</EM></FONT>
+   <FONT COLOR=green><EM>--  lower/upper case.</EM></FONT>
+   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>;
+
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_278_9">Color_Number</A></FONT> <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_278_9">Color_Number</A>'Size <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'Size;
+   <FONT COLOR=green><EM>--  (n)curses uses a short for the color index</EM></FONT>
+   <FONT COLOR=green><EM>--  The model is, that a Color_Number is an index into an array of</EM></FONT>
+   <FONT COLOR=green><EM>--  (potentially) definable colors. Some of those indices are</EM></FONT>
+   <FONT COLOR=green><EM>--  predefined (see below), although they may not really exist.</EM></FONT>
+
+   <FONT COLOR=red><A NAME="ref_285_4">Default_Color</A></FONT>    : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := -1;
+   <FONT COLOR=red><A NAME="ref_286_4">Black</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 0;
+   <FONT COLOR=red><A NAME="ref_287_4">Red</A></FONT>              : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 1;
+   <FONT COLOR=red><A NAME="ref_288_4">Green</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 2;
+   <FONT COLOR=red><A NAME="ref_289_4">Yellow</A></FONT>           : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 3;
+   <FONT COLOR=red><A NAME="ref_290_4">Blue</A></FONT>             : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 4;
+   <FONT COLOR=red><A NAME="ref_291_4">Magenta</A></FONT>          : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 5;
+   <FONT COLOR=red><A NAME="ref_292_4">Cyan</A></FONT>             : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 6;
+   <FONT COLOR=red><A NAME="ref_293_4">White</A></FONT>            : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A> := 7;
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_295_9">RGB_Value</A></FONT> <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_295_9">RGB_Value</A>'Size <b>use</b> <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.short'Size;
+   <FONT COLOR=green><EM>--  Some system may allow to redefine a color by setting RGB values.</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_299_9">Color_Pair</A></FONT> <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> <FONT COLOR=red><A NAME="ref_301_12">Redefinable_Color_Pair</A></FONT> <b>is</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> <b>range</b> 1 .. 255;
+   <FONT COLOR=green><EM>--  (n)curses reserves 1 Byte for the color-pair number. Color Pair 0</EM></FONT>
+   <FONT COLOR=green><EM>--  is fixed (Black &amp; White). A color pair is simply a combination of</EM></FONT>
+   <FONT COLOR=green><EM>--  two colors described by Color_Numbers, one for the foreground and</EM></FONT>
+   <FONT COLOR=green><EM>--  the other for the background</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_307_9">Character_Attribute_Set</A></FONT> <b>is</b>
+      <b>record</b>
+         <FONT COLOR=red><A NAME="ref_309_10">Stand_Out</A></FONT>               : Boolean;
+         <FONT COLOR=red><A NAME="ref_310_10">Under_Line</A></FONT>              : Boolean;
+         <FONT COLOR=red><A NAME="ref_311_10">Reverse_Video</A></FONT>           : Boolean;
+         <FONT COLOR=red><A NAME="ref_312_10">Blink</A></FONT>                   : Boolean;
+         <FONT COLOR=red><A NAME="ref_313_10">Dim_Character</A></FONT>           : Boolean;
+         <FONT COLOR=red><A NAME="ref_314_10">Bold_Character</A></FONT>          : Boolean;
+         <FONT COLOR=red><A NAME="ref_315_10">Alternate_Character_Set</A></FONT> : Boolean;
+         <FONT COLOR=red><A NAME="ref_316_10">Invisible_Character</A></FONT>     : Boolean;
+         <FONT COLOR=red><A NAME="ref_317_10">Protected_Character</A></FONT>     : Boolean;
+         <FONT COLOR=red><A NAME="ref_318_10">Horizontal</A></FONT>              : Boolean;
+         <FONT COLOR=red><A NAME="ref_319_10">Left</A></FONT>                    : Boolean;
+         <FONT COLOR=red><A NAME="ref_320_10">Low</A></FONT>                     : Boolean;
+         <FONT COLOR=red><A NAME="ref_321_10">Right</A></FONT>                   : Boolean;
+         <FONT COLOR=red><A NAME="ref_322_10">Top</A></FONT>                     : Boolean;
+         <FONT COLOR=red><A NAME="ref_323_10">Vertical</A></FONT>                : 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>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;
+      <b>end</b> <b>record</b>;
+   <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>'Size <b>use</b> 16;
+   <FONT COLOR=green><EM>--  Please note: this rep. clause is generated and may be</EM></FONT>
+   <FONT COLOR=green><EM>--               different on your system.</EM></FONT>
+   <FONT COLOR=green><EM>--  (n)curses uses all but the lowest 16 Bits for Attributes.</EM></FONT>
+
+   <FONT COLOR=red><A NAME="ref_350_4">Normal_Video</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := (<b>others</b> =&gt; False);
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_352_9">Attributed_Character</A></FONT> <b>is</b>
+      <b>record</b>
+         <FONT COLOR=red><A NAME="ref_354_10">Attr</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+         <FONT COLOR=red><A NAME="ref_355_10">Color</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>;
+         <FONT COLOR=red><A NAME="ref_356_10">Ch</A></FONT>    : Character;
+      <b>end</b> <b>record</b>;
+   <b>pragma</b> Convention (C, <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>);
+   <FONT COLOR=green><EM>--  This is the counterpart for the chtype in C.</EM></FONT>
+
+   <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> <b>use</b>
+      <b>record</b>
+         <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    <b>at</b> 0 <b>range</b>  0 ..  7;
+         <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Color</A> <b>at</b> 0 <b>range</b>  8 .. 15;
+         <A HREF="terminal_interface-curses__ads.htm#ref_354_10">Attr</A>  <b>at</b> 0 <b>range</b> 16 .. 31;
+      <b>end</b> <b>record</b>;
+   <b>for</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>'Size <b>use</b> 32;
+      <FONT COLOR=green><EM>--  Please note: this rep. clause is generated and may be</EM></FONT>
+      <FONT COLOR=green><EM>--               different on your system.</EM></FONT>
+
+   <FONT COLOR=red><A NAME="ref_371_4">Default_Character</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>
+     := (<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Ch</A>    =&gt; Character'First,
+         <A HREF="terminal_interface-curses__ads.htm#ref_355_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_354_10">Attr</A>  =&gt; (<b>others</b> =&gt; False));  <FONT COLOR=green><EM>--  preelaboratable Normal_Video</EM></FONT>
+
+   <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_352_9">Attributed_Character</A>;
+   <b>pragma</b> Pack (Attributed_String);
+   <FONT COLOR=green><EM>--  In this binding we allow strings of attributed characters.</EM></FONT>
+
+   <FONT COLOR=green><EM>------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  Exceptions  --</EM></FONT>
+   <FONT COLOR=green><EM>------------------</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_383_4">Curses_Exception</A></FONT>     : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_384_4">Wrong_Curses_Version</A></FONT> : <b>exception</b>;
+
+   <FONT COLOR=green><EM>--  Those exceptions are raised by the ETI (Extended Terminal Interface)</EM></FONT>
+   <FONT COLOR=green><EM>--  subpackets for Menu and Forms handling.</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_389_4">Eti_System_Error</A></FONT>    : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_390_4">Eti_Bad_Argument</A></FONT>    : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_391_4">Eti_Posted</A></FONT>          : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_392_4">Eti_Connected</A></FONT>       : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_393_4">Eti_Bad_State</A></FONT>       : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_394_4">Eti_No_Room</A></FONT>         : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_395_4">Eti_Not_Posted</A></FONT>      : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_396_4">Eti_Unknown_Command</A></FONT> : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_397_4">Eti_No_Match</A></FONT>        : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_398_4">Eti_Not_Selectable</A></FONT>  : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_399_4">Eti_Not_Connected</A></FONT>   : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_400_4">Eti_Request_Denied</A></FONT>  : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_401_4">Eti_Invalid_Field</A></FONT>   : <b>exception</b>;
+   <FONT COLOR=red><A NAME="ref_402_4">Eti_Current</A></FONT>         : <b>exception</b>;
+
+   <FONT COLOR=green><EM>--------------------------------------------------------------------------</EM></FONT>
+   <FONT COLOR=green><EM>--  External C variables</EM></FONT>
+   <FONT COLOR=green><EM>--  Conceptually even in C this are kind of constants, but they are</EM></FONT>
+   <FONT COLOR=green><EM>--  initialized and sometimes changed by the library routines at runtime</EM></FONT>
+   <FONT COLOR=green><EM>--  depending on the type of terminal. I believe the best way to model</EM></FONT>
+   <FONT COLOR=green><EM>--  this is to use functions.</EM></FONT>
+   <FONT COLOR=green><EM>--------------------------------------------------------------------------</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_412_13" HREF="terminal_interface-curses__adb.htm#ref_2355_13">Lines</A></FONT>            <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_412_13">Lines</A>);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_415_13" HREF="terminal_interface-curses__adb.htm#ref_2363_13">Columns</A></FONT>          <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_415_13">Columns</A>);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_418_13" HREF="terminal_interface-curses__adb.htm#ref_2371_13">Tab_Size</A></FONT>         <b>return</b> Natural;
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_418_13">Tab_Size</A>);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_421_13" HREF="terminal_interface-curses__adb.htm#ref_2379_13">Number_Of_Colors</A></FONT> <b>return</b> Natural;
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_421_13">Number_Of_Colors</A>);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_424_13" HREF="terminal_interface-curses__adb.htm#ref_2387_13">Number_Of_Color_Pairs</A></FONT> <b>return</b> Natural;
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_424_13">Number_Of_Color_Pairs</A>);
+
+   <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_352_9">Attributed_Character</A>;
+   <FONT COLOR=red><A NAME="ref_429_4">ACS_Map</A></FONT> : C_ACS_Map;
+   <b>pragma</b> Import (C, <A HREF="terminal_interface-curses__ads.htm#ref_429_4">ACS_Map</A>, "acs_map");
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=green><EM>--  Constants for several characters from the Alternate Character Set</EM></FONT>
+   <FONT COLOR=green><EM>--  You must use these constants as indices into the ACS_Map array</EM></FONT>
+   <FONT COLOR=green><EM>--  to get the corresponding attributed character at runtime.</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_437_4">ACS_Upper_Left_Corner</A></FONT>    : <b>constant</b> Character := 'l';
+   <FONT COLOR=red><A NAME="ref_438_4">ACS_Lower_Left_Corner</A></FONT>    : <b>constant</b> Character := 'm';
+   <FONT COLOR=red><A NAME="ref_439_4">ACS_Upper_Right_Corner</A></FONT>   : <b>constant</b> Character := 'k';
+   <FONT COLOR=red><A NAME="ref_440_4">ACS_Lower_Right_Corner</A></FONT>   : <b>constant</b> Character := 'j';
+   <FONT COLOR=red><A NAME="ref_441_4">ACS_Left_Tee</A></FONT>             : <b>constant</b> Character := 't';
+   <FONT COLOR=red><A NAME="ref_442_4">ACS_Right_Tee</A></FONT>            : <b>constant</b> Character := 'u';
+   <FONT COLOR=red><A NAME="ref_443_4">ACS_Bottom_Tee</A></FONT>           : <b>constant</b> Character := 'v';
+   <FONT COLOR=red><A NAME="ref_444_4">ACS_Top_Tee</A></FONT>              : <b>constant</b> Character := 'w';
+   <FONT COLOR=red><A NAME="ref_445_4">ACS_Horizontal_Line</A></FONT>      : <b>constant</b> Character := 'q';
+   <FONT COLOR=red><A NAME="ref_446_4">ACS_Vertical_Line</A></FONT>        : <b>constant</b> Character := 'x';
+   <FONT COLOR=red><A NAME="ref_447_4">ACS_Plus_Symbol</A></FONT>          : <b>constant</b> Character := 'n';
+   <FONT COLOR=red><A NAME="ref_448_4">ACS_Scan_Line_1</A></FONT>          : <b>constant</b> Character := 'o';
+   <FONT COLOR=red><A NAME="ref_449_4">ACS_Scan_Line_9</A></FONT>          : <b>constant</b> Character := 's';
+   <FONT COLOR=red><A NAME="ref_450_4">ACS_Diamond</A></FONT>              : <b>constant</b> Character := Character'Val (96);
+   <FONT COLOR=red><A NAME="ref_451_4">ACS_Checker_Board</A></FONT>        : <b>constant</b> Character := 'a';
+   <FONT COLOR=red><A NAME="ref_452_4">ACS_Degree</A></FONT>               : <b>constant</b> Character := 'f';
+   <FONT COLOR=red><A NAME="ref_453_4">ACS_Plus_Minus</A></FONT>           : <b>constant</b> Character := 'g';
+   <FONT COLOR=red><A NAME="ref_454_4">ACS_Bullet</A></FONT>               : <b>constant</b> Character := '~';
+   <FONT COLOR=red><A NAME="ref_455_4">ACS_Left_Arrow</A></FONT>           : <b>constant</b> Character := ',';
+   <FONT COLOR=red><A NAME="ref_456_4">ACS_Right_Arrow</A></FONT>          : <b>constant</b> Character := '+';
+   <FONT COLOR=red><A NAME="ref_457_4">ACS_Down_Arrow</A></FONT>           : <b>constant</b> Character := '.';
+   <FONT COLOR=red><A NAME="ref_458_4">ACS_Up_Arrow</A></FONT>             : <b>constant</b> Character := '-';
+   <FONT COLOR=red><A NAME="ref_459_4">ACS_Board_Of_Squares</A></FONT>     : <b>constant</b> Character := 'h';
+   <FONT COLOR=red><A NAME="ref_460_4">ACS_Lantern</A></FONT>              : <b>constant</b> Character := 'i';
+   <FONT COLOR=red><A NAME="ref_461_4">ACS_Solid_Block</A></FONT>          : <b>constant</b> Character := '0';
+   <FONT COLOR=red><A NAME="ref_462_4">ACS_Scan_Line_3</A></FONT>          : <b>constant</b> Character := 'p';
+   <FONT COLOR=red><A NAME="ref_463_4">ACS_Scan_Line_7</A></FONT>          : <b>constant</b> Character := 'r';
+   <FONT COLOR=red><A NAME="ref_464_4">ACS_Less_Or_Equal</A></FONT>        : <b>constant</b> Character := 'y';
+   <FONT COLOR=red><A NAME="ref_465_4">ACS_Greater_Or_Equal</A></FONT>     : <b>constant</b> Character := 'z';
+   <FONT COLOR=red><A NAME="ref_466_4">ACS_PI</A></FONT>                   : <b>constant</b> Character := '{';
+   <FONT COLOR=red><A NAME="ref_467_4">ACS_Not_Equal</A></FONT>            : <b>constant</b> Character := '|';
+   <FONT COLOR=red><A NAME="ref_468_4">ACS_Sterling</A></FONT>             : <b>constant</b> Character := '}';
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_initscr.3x.html">curs_initscr.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Not implemented: newterm, set_term, delscreen</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_1"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_476_13" HREF="terminal_interface-curses__adb.htm#ref_2339_13">Standard_Window</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_initscr.3x.html">stdscr</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_2"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_481_13" HREF="terminal_interface-curses__adb.htm#ref_2347_13">Current_Window</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_initscr.3x.html">curscr</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_481_13">Current_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_3"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_486_14" HREF="terminal_interface-curses__adb.htm#ref_98_14">Init_Screen</A></FONT>;
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_4"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_489_14">Init_Windows</A></FONT> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_486_14">Init_Screen</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_initscr.3x.html">initscr()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_486_14">Init_Screen</A>);
+   <FONT COLOR=green><EM>--  pragma Inline (Init_Windows);</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_5"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_495_14" HREF="terminal_interface-curses__adb.htm#ref_111_14">End_Windows</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_initscr.3x.html">endwin()</A></EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_497_14">End_Screen</A></FONT> <b>renames</b> <A HREF="terminal_interface-curses__ads.htm#ref_495_14">End_Windows</A>;
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_495_14">End_Windows</A>);
+   <FONT COLOR=green><EM>--  pragma Inline (End_Screen);</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_6"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_502_13" HREF="terminal_interface-curses__adb.htm#ref_121_13">Is_End_Window</A></FONT> <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_initscr.3x.html">isendwin()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_502_13">Is_End_Window</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_move.3x.html">curs_move.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_7"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_511_14" HREF="terminal_interface-curses__adb.htm#ref_133_14">Move_Cursor</A></FONT> (<FONT COLOR=red><A NAME="ref_511_27" HREF="terminal_interface-curses__adb.htm#ref_133_27">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                          <FONT COLOR=red><A NAME="ref_512_27" HREF="terminal_interface-curses__adb.htm#ref_134_27">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                          <FONT COLOR=red><A NAME="ref_513_27" HREF="terminal_interface-curses__adb.htm#ref_135_27">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_move.3x.html">wmove()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: move()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_511_14">Move_Cursor</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_addch.3x.html">curs_addch.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_8"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_523_14" HREF="terminal_interface-curses__adb.htm#ref_148_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_523_19" HREF="terminal_interface-curses__adb.htm#ref_148_19">Win</A></FONT> :  <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                  <FONT COLOR=red><A NAME="ref_524_19" HREF="terminal_interface-curses__adb.htm#ref_149_19">Ch</A></FONT>  :  <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_addch.3x.html">waddch()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: addch()</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_528_14" HREF="terminal_interface-curses__adb.htm#ref_160_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_528_19" HREF="terminal_interface-curses__adb.htm#ref_160_19">Win</A></FONT> :  <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                  <FONT COLOR=red><A NAME="ref_529_19" HREF="terminal_interface-curses__adb.htm#ref_161_19">Ch</A></FONT>  :  <b>in</b> Character);
+   <FONT COLOR=green><EM>--  Add a single character at the current logical cursor position to</EM></FONT>
+   <FONT COLOR=green><EM>--  the window. Use the current windows attributes.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_9"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_534_14" HREF="terminal_interface-curses__adb.htm#ref_170_14">Add</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_535_7" HREF="terminal_interface-curses__adb.htm#ref_171_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_536_7" HREF="terminal_interface-curses__adb.htm#ref_172_7">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_537_7" HREF="terminal_interface-curses__adb.htm#ref_173_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_538_7" HREF="terminal_interface-curses__adb.htm#ref_174_7">Ch</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_addch.3x.html">mvwaddch()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvaddch()</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_542_14" HREF="terminal_interface-curses__adb.htm#ref_189_14">Add</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_543_7" HREF="terminal_interface-curses__adb.htm#ref_190_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_544_7" HREF="terminal_interface-curses__adb.htm#ref_191_7">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_545_7" HREF="terminal_interface-curses__adb.htm#ref_192_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_546_7" HREF="terminal_interface-curses__adb.htm#ref_193_7">Ch</A></FONT>     : <b>in</b> Character);
+   <FONT COLOR=green><EM>--  Move to the position and add a single character into the window</EM></FONT>
+   <FONT COLOR=green><EM>--  There are more Add routines, so the Inline pragma follows later</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_10"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_551_14" HREF="terminal_interface-curses__adb.htm#ref_204_14">Add_With_Immediate_Echo</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_552_7" HREF="terminal_interface-curses__adb.htm#ref_205_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_553_7" HREF="terminal_interface-curses__adb.htm#ref_206_7">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_addch.3x.html">wechochar()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: echochar()</EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_557_14" HREF="terminal_interface-curses__adb.htm#ref_217_14">Add_With_Immediate_Echo</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_558_7" HREF="terminal_interface-curses__adb.htm#ref_218_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_559_7" HREF="terminal_interface-curses__adb.htm#ref_219_7">Ch</A></FONT>  : <b>in</b> Character);
+   <FONT COLOR=green><EM>--  Add a character and do an immediate refresh of the screen.</EM></FONT>
+   <b>pragma</b> Inline (Add_With_Immediate_Echo);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_window.3x.html">curs_window.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  Not Implemented: wcursyncup</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_11"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_569_13" HREF="terminal_interface-curses__adb.htm#ref_229_13">Create</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_570_7" HREF="terminal_interface-curses__adb.htm#ref_229_21">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_571_7" HREF="terminal_interface-curses__adb.htm#ref_230_21">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+      <FONT COLOR=red><A NAME="ref_572_7" HREF="terminal_interface-curses__adb.htm#ref_231_21">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_573_7" HREF="terminal_interface-curses__adb.htm#ref_232_21">First_Column_Position</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  Not Implemented: Default Number_Of_Lines, Number_Of_Columns</EM></FONT>
+   <FONT COLOR=green><EM>--  the C version lets them be 0, see the man page.</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_window.3x.html">newwin()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_569_13">Create</A>);
+
+   <b>function</b> New_Window
+     (<FONT COLOR=red><A NAME="ref_580_7">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_581_7">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+      <FONT COLOR=red><A NAME="ref_582_7">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_583_7">First_Column_Position</A></FONT> : <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_569_13">Create</A>;
+   <FONT COLOR=green><EM>--  pragma Inline (New_Window);</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_12"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_588_14" HREF="terminal_interface-curses__adb.htm#ref_252_14">Delete</A></FONT> (<FONT COLOR=red><A NAME="ref_588_22" HREF="terminal_interface-curses__adb.htm#ref_252_22">Win</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_window.3x.html">delwin()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Reset Win to Null_Window</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_588_14">Delete</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_13"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_594_13" HREF="terminal_interface-curses__adb.htm#ref_263_13">Sub_Window</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_595_7" HREF="terminal_interface-curses__adb.htm#ref_264_7">Win</A></FONT>                   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_596_7" HREF="terminal_interface-curses__adb.htm#ref_265_7">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_597_7" HREF="terminal_interface-curses__adb.htm#ref_266_7">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+      <FONT COLOR=red><A NAME="ref_598_7" HREF="terminal_interface-curses__adb.htm#ref_267_7">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_599_7" HREF="terminal_interface-curses__adb.htm#ref_268_7">First_Column_Position</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_window.3x.html">subwin()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_594_13">Sub_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_14"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_604_13" HREF="terminal_interface-curses__adb.htm#ref_291_13">Derived_Window</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_605_7" HREF="terminal_interface-curses__adb.htm#ref_292_7">Win</A></FONT>                   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_606_7" HREF="terminal_interface-curses__adb.htm#ref_293_7">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_607_7" HREF="terminal_interface-curses__adb.htm#ref_294_7">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+      <FONT COLOR=red><A NAME="ref_608_7" HREF="terminal_interface-curses__adb.htm#ref_295_7">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_609_7" HREF="terminal_interface-curses__adb.htm#ref_296_7">First_Column_Position</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_window.3x.html">derwin()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_604_13">Derived_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_15"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_614_13" HREF="terminal_interface-curses__adb.htm#ref_319_13">Duplicate</A></FONT> (<FONT COLOR=red><A NAME="ref_614_24" HREF="terminal_interface-curses__adb.htm#ref_319_24">Win</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_window.3x.html">dupwin()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_614_13">Duplicate</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_16"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_619_14" HREF="terminal_interface-curses__adb.htm#ref_332_14">Move_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_619_27" HREF="terminal_interface-curses__adb.htm#ref_332_27">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                          <FONT COLOR=red><A NAME="ref_620_27" HREF="terminal_interface-curses__adb.htm#ref_333_27">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                          <FONT COLOR=red><A NAME="ref_621_27" HREF="terminal_interface-curses__adb.htm#ref_334_27">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_window.3x.html">mvwin()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_619_14">Move_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_17"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_626_14" HREF="terminal_interface-curses__adb.htm#ref_346_14">Move_Derived_Window</A></FONT> (<FONT COLOR=red><A NAME="ref_626_35" HREF="terminal_interface-curses__adb.htm#ref_346_35">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                                  <FONT COLOR=red><A NAME="ref_627_35" HREF="terminal_interface-curses__adb.htm#ref_347_35">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                                  <FONT COLOR=red><A NAME="ref_628_35" HREF="terminal_interface-curses__adb.htm#ref_348_35">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_window.3x.html">mvderwin()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_626_14">Move_Derived_Window</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_18"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_633_14">Synchronize_Upwards</A></FONT> (<FONT COLOR=red><A NAME="ref_633_35" HREF="terminal_interface-curses__ads.htm#ref_633_14">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_window.3x.html">wsyncup()</A></EM></FONT>
+   <b>pragma</b> Import (C, Synchronize_Upwards, "wsyncup");
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_19"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_638_14">Synchronize_Downwards</A></FONT> (<FONT COLOR=red><A NAME="ref_638_37" HREF="terminal_interface-curses__ads.htm#ref_638_14">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_window.3x.html">wsyncdown()</A></EM></FONT>
+   <b>pragma</b> Import (C, Synchronize_Downwards, "wsyncdown");
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_20"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_643_14" HREF="terminal_interface-curses__adb.htm#ref_360_14">Set_Synch_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_643_30" HREF="terminal_interface-curses__adb.htm#ref_360_30">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                             <FONT COLOR=red><A NAME="ref_644_30" HREF="terminal_interface-curses__adb.htm#ref_361_30">Mode</A></FONT> : <b>in</b> Boolean := False);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_window.3x.html">syncok()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_643_14">Set_Synch_Mode</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_addstr.3x.html">curs_addstr.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_21"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_653_14" HREF="terminal_interface-curses__adb.htm#ref_372_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_653_19" HREF="terminal_interface-curses__adb.htm#ref_372_19">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                  <FONT COLOR=red><A NAME="ref_654_19" HREF="terminal_interface-curses__adb.htm#ref_373_19">Str</A></FONT> : <b>in</b> String;
+                  <FONT COLOR=red><A NAME="ref_655_19" HREF="terminal_interface-curses__adb.htm#ref_374_19">Len</A></FONT> : <b>in</b> Integer := -1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_addstr.3x.html">waddnstr()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: waddstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: addnstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: addstr()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_22"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_662_14" HREF="terminal_interface-curses__adb.htm#ref_390_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_662_19" HREF="terminal_interface-curses__adb.htm#ref_391_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                  <FONT COLOR=red><A NAME="ref_663_19" HREF="terminal_interface-curses__adb.htm#ref_392_7">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                  <FONT COLOR=red><A NAME="ref_664_19" HREF="terminal_interface-curses__adb.htm#ref_393_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                  <FONT COLOR=red><A NAME="ref_665_19" HREF="terminal_interface-curses__adb.htm#ref_394_7">Str</A></FONT>    : <b>in</b> String;
+                  <FONT COLOR=red><A NAME="ref_666_19" HREF="terminal_interface-curses__adb.htm#ref_395_7">Len</A></FONT>    : <b>in</b> Integer := -1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_addstr.3x.html">mvwaddnstr()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvwaddstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvaddnstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvaddstr()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_addchstr.3x.html">curs_addchstr.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_23"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_677_14" HREF="terminal_interface-curses__adb.htm#ref_402_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_677_19" HREF="terminal_interface-curses__adb.htm#ref_403_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                  <FONT COLOR=red><A NAME="ref_678_19" HREF="terminal_interface-curses__adb.htm#ref_404_7">Str</A></FONT> : <b>in</b> Attributed_String;
+                  <FONT COLOR=red><A NAME="ref_679_19" HREF="terminal_interface-curses__adb.htm#ref_405_7">Len</A></FONT> : <b>in</b> Integer := -1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_addchstr.3x.html">waddchnstr()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: waddchstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: addchnstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: addchstr()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_24"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_686_14" HREF="terminal_interface-curses__adb.htm#ref_425_14">Add</A></FONT> (<FONT COLOR=red><A NAME="ref_686_19" HREF="terminal_interface-curses__adb.htm#ref_426_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                  <FONT COLOR=red><A NAME="ref_687_19" HREF="terminal_interface-curses__adb.htm#ref_427_7">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                  <FONT COLOR=red><A NAME="ref_688_19" HREF="terminal_interface-curses__adb.htm#ref_428_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                  <FONT COLOR=red><A NAME="ref_689_19" HREF="terminal_interface-curses__adb.htm#ref_429_7">Str</A></FONT>    : <b>in</b> Attributed_String;
+                  <FONT COLOR=red><A NAME="ref_690_19" HREF="terminal_interface-curses__adb.htm#ref_430_7">Len</A></FONT>    : <b>in</b> Integer := -1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_addchstr.3x.html">mvwaddchnstr()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvwaddchstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvaddchnstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvaddchstr()</EM></FONT>
+   <b>pragma</b> Inline (Add);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_border.3x.html">curs_border.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Not implemented: mvhline,  mvwhline, mvvline, mvwvline</EM></FONT>
+   <FONT COLOR=green><EM>--  | use Move_Cursor then Horizontal_Line or Vertical_Line</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_25"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_704_14" HREF="terminal_interface-curses__adb.htm#ref_437_14">Border</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_705_7" HREF="terminal_interface-curses__adb.htm#ref_438_7">Win</A></FONT>                       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_706_7" HREF="terminal_interface-curses__adb.htm#ref_439_7">Left_Side_Symbol</A></FONT>          : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_707_7" HREF="terminal_interface-curses__adb.htm#ref_440_7">Right_Side_Symbol</A></FONT>         : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_708_7" HREF="terminal_interface-curses__adb.htm#ref_441_7">Top_Side_Symbol</A></FONT>           : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_709_7" HREF="terminal_interface-curses__adb.htm#ref_442_7">Bottom_Side_Symbol</A></FONT>        : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_710_7" HREF="terminal_interface-curses__adb.htm#ref_443_7">Upper_Left_Corner_Symbol</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_711_7" HREF="terminal_interface-curses__adb.htm#ref_444_7">Upper_Right_Corner_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_712_7" HREF="terminal_interface-curses__adb.htm#ref_445_7">Lower_Left_Corner_Symbol</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_713_7" HREF="terminal_interface-curses__adb.htm#ref_446_7">Lower_Right_Corner_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>
+     );
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_border.3x.html">wborder()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: border()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_704_14">Border</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_26"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_720_14" HREF="terminal_interface-curses__adb.htm#ref_474_14">Box</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_721_7" HREF="terminal_interface-curses__adb.htm#ref_475_7">Win</A></FONT>               : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_722_7" HREF="terminal_interface-curses__adb.htm#ref_476_7">Vertical_Symbol</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>;
+      <FONT COLOR=red><A NAME="ref_723_7" HREF="terminal_interface-curses__adb.htm#ref_477_7">Horizontal_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_border.3x.html">box()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_720_14">Box</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_27"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_728_14" HREF="terminal_interface-curses__adb.htm#ref_485_14">Horizontal_Line</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_729_7" HREF="terminal_interface-curses__adb.htm#ref_486_7">Win</A></FONT>         : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_730_7" HREF="terminal_interface-curses__adb.htm#ref_487_7">Line_Size</A></FONT>   : <b>in</b> Natural;
+      <FONT COLOR=red><A NAME="ref_731_7" HREF="terminal_interface-curses__adb.htm#ref_488_7">Line_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_border.3x.html">whline()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: hline()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_728_14">Horizontal_Line</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_28"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_737_14" HREF="terminal_interface-curses__adb.htm#ref_502_14">Vertical_Line</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_738_7" HREF="terminal_interface-curses__adb.htm#ref_503_7">Win</A></FONT>         : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_739_7" HREF="terminal_interface-curses__adb.htm#ref_504_7">Line_Size</A></FONT>   : <b>in</b> Natural;
+      <FONT COLOR=red><A NAME="ref_740_7" HREF="terminal_interface-curses__adb.htm#ref_505_7">Line_Symbol</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_371_4">Default_Character</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_border.3x.html">wvline()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: vline()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_737_14">Vertical_Line</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_getch.3x.html">curs_getch.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  Not implemented: mvgetch, mvwgetch</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_29"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_751_13" HREF="terminal_interface-curses__adb.htm#ref_520_13">Get_Keystroke</A></FONT> (<FONT COLOR=red><A NAME="ref_751_28" HREF="terminal_interface-curses__adb.htm#ref_520_28">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+                           <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_getch.3x.html">wgetch()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: getch()</EM></FONT>
+   <FONT COLOR=green><EM>--  Get a character from the keyboard and echo it - if enabled - to the</EM></FONT>
+   <FONT COLOR=green><EM>--  window.</EM></FONT>
+   <FONT COLOR=green><EM>--  If for any reason (i.e. a timeout) we couldn't get a character the</EM></FONT>
+   <FONT COLOR=green><EM>--  returned keycode is Key_None.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_751_13">Get_Keystroke</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_30"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_762_14" HREF="terminal_interface-curses__adb.htm#ref_535_14">Undo_Keystroke</A></FONT> (<FONT COLOR=red><A NAME="ref_762_30" HREF="terminal_interface-curses__adb.htm#ref_535_30">Key</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_getch.3x.html">ungetch()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_762_14">Undo_Keystroke</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_31"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_767_13" HREF="terminal_interface-curses__adb.htm#ref_545_13">Has_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_767_22" HREF="terminal_interface-curses__adb.htm#ref_545_22">Key</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_getch.3x.html">has_key()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_767_13">Has_Key</A>);
+
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <FONT COLOR=green><EM>--  | Some helper functions</EM></FONT>
+   <FONT COLOR=green><EM>--  |</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_774_13" HREF="terminal_interface-curses__adb.htm#ref_557_13">Is_Function_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_774_30" HREF="terminal_interface-curses__adb.htm#ref_557_30">Key</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  Return True if the Key is a function key (i.e. one of F0 .. F63)</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_774_13">Is_Function_Key</A>);
+
+   <b>subtype</b> <FONT COLOR=red><A NAME="ref_778_12">Function_Key_Number</A></FONT> <b>is</b> Integer <b>range</b> 0 .. 63;
+   <FONT COLOR=green><EM>--  (n)curses allows for 64 function keys.</EM></FONT>
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_781_13" HREF="terminal_interface-curses__adb.htm#ref_569_13">Function_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_781_27" HREF="terminal_interface-curses__adb.htm#ref_569_27">Key</A></FONT> : <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_778_12">Function_Key_Number</A>;
+   <FONT COLOR=green><EM>--  Return the number of the function key. If the code is not a</EM></FONT>
+   <FONT COLOR=green><EM>--  function key, a CONSTRAINT_ERROR will be raised.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_781_13">Function_Key</A>);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_786_13" HREF="terminal_interface-curses__adb.htm#ref_580_13">Function_Key_Code</A></FONT> (<FONT COLOR=red><A NAME="ref_786_32" HREF="terminal_interface-curses__adb.htm#ref_580_32">Key</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_778_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>;
+   <FONT COLOR=green><EM>--  Return the key code for a given function-key number.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_786_13">Function_Key_Code</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_attr.3x.html">curs_attr.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Not implemented attr_off,  wattr_off,</EM></FONT>
+   <FONT COLOR=green><EM>--  |  attr_on, wattr_on, attr_set, wattr_set</EM></FONT>
+
+   <FONT COLOR=green><EM>--  PAIR_NUMBER</EM></FONT>
+   <FONT COLOR=green><EM>--  PAIR_NUMBER(c) is the same as c.Color</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_32"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_800_14" HREF="terminal_interface-curses__adb.htm#ref_586_14">Standout</A></FONT> (<FONT COLOR=red><A NAME="ref_800_24" HREF="terminal_interface-curses__adb.htm#ref_586_24">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                       <FONT COLOR=red><A NAME="ref_801_24" HREF="terminal_interface-curses__adb.htm#ref_587_24">On</A></FONT>  : Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: wstandout()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: wstandend()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_33"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_806_14" HREF="terminal_interface-curses__adb.htm#ref_606_14">Switch_Character_Attribute</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_807_7" HREF="terminal_interface-curses__adb.htm#ref_607_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_808_7" HREF="terminal_interface-curses__adb.htm#ref_608_7">Attr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_809_7" HREF="terminal_interface-curses__adb.htm#ref_609_7">On</A></FONT>   : <b>in</b> Boolean := True); <FONT COLOR=green><EM>--  if False we switch Off.</EM></FONT>
+   <FONT COLOR=green><EM>--  Switches those Attributes set to true in the list.</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">wattron()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: wattroff()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: attron()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: attroff()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_34"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_817_14" HREF="terminal_interface-curses__adb.htm#ref_634_14">Set_Character_Attributes</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_818_7" HREF="terminal_interface-curses__adb.htm#ref_635_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_819_7" HREF="terminal_interface-curses__adb.htm#ref_636_7">Attr</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_820_7" HREF="terminal_interface-curses__adb.htm#ref_637_7">Color</A></FONT> : <b>in</b> <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);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">wattrset()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: attrset()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_817_14">Set_Character_Attributes</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_35"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_826_13" HREF="terminal_interface-curses__adb.htm#ref_652_13">Get_Character_Attribute</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_827_7" HREF="terminal_interface-curses__adb.htm#ref_652_38">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">wattr_get()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: attr_get()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_36"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_832_13" HREF="terminal_interface-curses__adb.htm#ref_675_13">Get_Character_Attribute</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_833_7" HREF="terminal_interface-curses__adb.htm#ref_675_38">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">wattr_get()</A></EM></FONT>
+   <b>pragma</b> Inline (Get_Character_Attribute);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_37"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_838_14" HREF="terminal_interface-curses__adb.htm#ref_698_14">Set_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_838_25" HREF="terminal_interface-curses__adb.htm#ref_698_25">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                        <FONT COLOR=red><A NAME="ref_839_25" HREF="terminal_interface-curses__adb.htm#ref_699_25">Pair</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">wcolor_set()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: color_set()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_838_14">Set_Color</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_38"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_845_14" HREF="terminal_interface-curses__adb.htm#ref_713_14">Change_Attributes</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_846_7" HREF="terminal_interface-curses__adb.htm#ref_714_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_847_7" HREF="terminal_interface-curses__adb.htm#ref_715_7">Count</A></FONT> : <b>in</b> Integer := -1;
+      <FONT COLOR=red><A NAME="ref_848_7" HREF="terminal_interface-curses__adb.htm#ref_716_7">Attr</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_849_7" HREF="terminal_interface-curses__adb.htm#ref_717_7">Color</A></FONT> : <b>in</b> <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);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">wchgat()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: chgat()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_39"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_854_14" HREF="terminal_interface-curses__adb.htm#ref_736_14">Change_Attributes</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_855_7" HREF="terminal_interface-curses__adb.htm#ref_737_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_856_7" HREF="terminal_interface-curses__adb.htm#ref_738_7">Line</A></FONT>   : <b>in</b> <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;
+      <FONT COLOR=red><A NAME="ref_857_7" HREF="terminal_interface-curses__adb.htm#ref_739_7">Column</A></FONT> : <b>in</b> <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;
+      <FONT COLOR=red><A NAME="ref_858_7" HREF="terminal_interface-curses__adb.htm#ref_740_7">Count</A></FONT>  : <b>in</b> Integer := -1;
+      <FONT COLOR=red><A NAME="ref_859_7" HREF="terminal_interface-curses__adb.htm#ref_741_7">Attr</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_860_7" HREF="terminal_interface-curses__adb.htm#ref_742_7">Color</A></FONT>  : <b>in</b> <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);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_attr.3x.html">mvwchgat()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvchgat()</EM></FONT>
+   <b>pragma</b> Inline (Change_Attributes);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_beep.3x.html">curs_beep.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_40"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_870_14" HREF="terminal_interface-curses__adb.htm#ref_749_14">Beep</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_beep.3x.html">beep()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_870_14">Beep</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_41"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_875_14" HREF="terminal_interface-curses__adb.htm#ref_759_14">Flash_Screen</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_beep.3x.html">flash()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_875_14">Flash_Screen</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_inopts.3x.html">curs_inopts.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  | Not implemented : typeahead</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_42"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_886_14" HREF="terminal_interface-curses__adb.htm#ref_769_14">Set_Cbreak_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_886_31" HREF="terminal_interface-curses__adb.htm#ref_769_31">SwitchOn</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">cbreak()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: nocbreak()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_886_14">Set_Cbreak_Mode</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_43"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_892_14" HREF="terminal_interface-curses__adb.htm#ref_788_14">Set_Raw_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_892_28" HREF="terminal_interface-curses__adb.htm#ref_788_28">SwitchOn</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">raw()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: noraw()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_892_14">Set_Raw_Mode</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_44"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_898_14" HREF="terminal_interface-curses__adb.htm#ref_807_14">Set_Echo_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_898_29" HREF="terminal_interface-curses__adb.htm#ref_807_29">SwitchOn</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">echo()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: noecho()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_898_14">Set_Echo_Mode</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_45"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_904_14" HREF="terminal_interface-curses__adb.htm#ref_826_14">Set_Meta_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_904_29" HREF="terminal_interface-curses__adb.htm#ref_826_29">Win</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                            <FONT COLOR=red><A NAME="ref_905_29" HREF="terminal_interface-curses__adb.htm#ref_827_29">SwitchOn</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">meta()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_904_14">Set_Meta_Mode</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_46"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_910_14" HREF="terminal_interface-curses__adb.htm#ref_837_14">Set_KeyPad_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_910_31" HREF="terminal_interface-curses__adb.htm#ref_837_31">Win</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                              <FONT COLOR=red><A NAME="ref_911_31" HREF="terminal_interface-curses__adb.htm#ref_838_31">SwitchOn</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">keypad()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_910_14">Set_KeyPad_Mode</A>);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_915_13" HREF="terminal_interface-curses__adb.htm#ref_848_13">Get_KeyPad_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_915_30" HREF="terminal_interface-curses__adb.htm#ref_848_30">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+                             <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  This has no pendant in C. There you've to look into the WINDOWS</EM></FONT>
+   <FONT COLOR=green><EM>--  structure to get the value. Bad practice, not repeated in Ada.</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_920_9">Half_Delay_Amount</A></FONT> <b>is</b> <b>range</b> 1 .. 255;
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_47"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_923_14" HREF="terminal_interface-curses__adb.htm#ref_857_14">Half_Delay</A></FONT> (<FONT COLOR=red><A NAME="ref_923_26" HREF="terminal_interface-curses__adb.htm#ref_857_26">Amount</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_920_9">Half_Delay_Amount</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">halfdelay()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_923_14">Half_Delay</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_48"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_928_14" HREF="terminal_interface-curses__adb.htm#ref_867_14">Set_Flush_On_Interrupt_Mode</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_929_7" HREF="terminal_interface-curses__adb.htm#ref_868_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_930_7" HREF="terminal_interface-curses__adb.htm#ref_869_7">Mode</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">intrflush()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_928_14">Set_Flush_On_Interrupt_Mode</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_49"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_935_14" HREF="terminal_interface-curses__adb.htm#ref_879_14">Set_Queue_Interrupt_Mode</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_936_7" HREF="terminal_interface-curses__adb.htm#ref_880_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_937_7" HREF="terminal_interface-curses__adb.htm#ref_881_7">Flush</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">qiflush()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: noqiflush()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_935_14">Set_Queue_Interrupt_Mode</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_50"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_943_14" HREF="terminal_interface-curses__adb.htm#ref_898_14">Set_NoDelay_Mode</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_944_7" HREF="terminal_interface-curses__adb.htm#ref_899_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_945_7" HREF="terminal_interface-curses__adb.htm#ref_900_7">Mode</A></FONT> : <b>in</b> Boolean := False);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">nodelay()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_943_14">Set_NoDelay_Mode</A>);
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_949_9">Timeout_Mode</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_949_26">Blocking</A></FONT>, <FONT COLOR=red><A NAME="ref_949_36">Non_Blocking</A></FONT>, <FONT COLOR=red><A NAME="ref_949_50">Delayed</A></FONT>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_51"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_952_14" HREF="terminal_interface-curses__adb.htm#ref_910_14">Set_Timeout_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_952_32" HREF="terminal_interface-curses__adb.htm#ref_910_32">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                               <FONT COLOR=red><A NAME="ref_953_32" HREF="terminal_interface-curses__adb.htm#ref_911_32">Mode</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_949_9">Timeout_Mode</A>;
+                               <FONT COLOR=red><A NAME="ref_954_32" HREF="terminal_interface-curses__adb.htm#ref_912_32">Amount</A></FONT> : <b>in</b> Natural); <FONT COLOR=green><EM>--  in Milliseconds</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">wtimeout()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: timeout()</EM></FONT>
+   <FONT COLOR=green><EM>--  Instead of overloading the semantic of the sign of amount, we</EM></FONT>
+   <FONT COLOR=green><EM>--  introduce the Timeout_Mode parameter. This should improve</EM></FONT>
+   <FONT COLOR=green><EM>--  readability. For Blocking and Non_Blocking, the Amount is not</EM></FONT>
+   <FONT COLOR=green><EM>--  evaluated.</EM></FONT>
+   <FONT COLOR=green><EM>--  We don't inline this procedure.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_52"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_964_14" HREF="terminal_interface-curses__adb.htm#ref_931_14">Set_Escape_Timer_Mode</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_965_7" HREF="terminal_interface-curses__adb.htm#ref_932_7">Win</A></FONT>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_966_7" HREF="terminal_interface-curses__adb.htm#ref_933_7">Timer_Off</A></FONT> : <b>in</b> Boolean := False);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inopts.3x.html">notimeout()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_964_14">Set_Escape_Timer_Mode</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_outopts.3x.html">curs_outopts.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_53"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_975_14" HREF="terminal_interface-curses__adb.htm#ref_945_14">Set_NL_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_975_27" HREF="terminal_interface-curses__adb.htm#ref_945_27">SwitchOn</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">nl()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: nonl()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_975_14">Set_NL_Mode</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_54"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_981_14" HREF="terminal_interface-curses__adb.htm#ref_964_14">Clear_On_Next_Update</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_982_7" HREF="terminal_interface-curses__adb.htm#ref_965_7">Win</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_983_7" HREF="terminal_interface-curses__adb.htm#ref_966_7">Do_Clear</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">clearok()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_981_14">Clear_On_Next_Update</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_55"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_988_14" HREF="terminal_interface-curses__adb.htm#ref_976_14">Use_Insert_Delete_Line</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_989_7" HREF="terminal_interface-curses__adb.htm#ref_977_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_990_7" HREF="terminal_interface-curses__adb.htm#ref_978_7">Do_Idl</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">idlok()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_988_14">Use_Insert_Delete_Line</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_56"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_995_14" HREF="terminal_interface-curses__adb.htm#ref_988_14">Use_Insert_Delete_Character</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_996_7" HREF="terminal_interface-curses__adb.htm#ref_989_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_997_7" HREF="terminal_interface-curses__adb.htm#ref_990_7">Do_Idc</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">idcok()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_995_14">Use_Insert_Delete_Character</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_57"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1002_14" HREF="terminal_interface-curses__adb.htm#ref_998_14">Leave_Cursor_After_Update</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1003_7" HREF="terminal_interface-curses__adb.htm#ref_999_7">Win</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1004_7" HREF="terminal_interface-curses__adb.htm#ref_1000_7">Do_Leave</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">leaveok()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1002_14">Leave_Cursor_After_Update</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_58"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1009_14" HREF="terminal_interface-curses__adb.htm#ref_1010_14">Immediate_Update_Mode</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1010_7" HREF="terminal_interface-curses__adb.htm#ref_1011_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1011_7" HREF="terminal_interface-curses__adb.htm#ref_1012_7">Mode</A></FONT> : <b>in</b> Boolean := False);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">immedok()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1009_14">Immediate_Update_Mode</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_59"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1016_14" HREF="terminal_interface-curses__adb.htm#ref_1020_14">Allow_Scrolling</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1017_7" HREF="terminal_interface-curses__adb.htm#ref_1021_7">Win</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1018_7" HREF="terminal_interface-curses__adb.htm#ref_1022_7">Mode</A></FONT> : <b>in</b> Boolean := False);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">scrollok()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1016_14">Allow_Scrolling</A>);
+
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1022_13" HREF="terminal_interface-curses__adb.htm#ref_1032_13">Scrolling_Allowed</A></FONT> (<FONT COLOR=red><A NAME="ref_1022_32" HREF="terminal_interface-curses__adb.htm#ref_1032_32">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  There is no such function in the C interface.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1022_13">Scrolling_Allowed</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_60"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1027_14" HREF="terminal_interface-curses__adb.htm#ref_1041_14">Set_Scroll_Region</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1028_7" HREF="terminal_interface-curses__adb.htm#ref_1042_7">Win</A></FONT>         : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1029_7" HREF="terminal_interface-curses__adb.htm#ref_1043_7">Top_Line</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1030_7" HREF="terminal_interface-curses__adb.htm#ref_1044_7">Bottom_Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_outopts.3x.html">wsetscrreg()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: setscrreg()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1027_14">Set_Scroll_Region</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_refresh.3x.html">curs_refresh.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_61"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1040_14" HREF="terminal_interface-curses__adb.htm#ref_1057_14">Update_Screen</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_refresh.3x.html">doupdate()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Update_Screen</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_62"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1045_14" HREF="terminal_interface-curses__adb.htm#ref_1067_14">Refresh</A></FONT> (<FONT COLOR=red><A NAME="ref_1045_23" HREF="terminal_interface-curses__adb.htm#ref_1067_23">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_refresh.3x.html">wrefresh()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  There is an overloaded Refresh for Pads.</EM></FONT>
+   <FONT COLOR=green><EM>--  The Inline pragma appears there</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: refresh()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_63"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1052_14" HREF="terminal_interface-curses__adb.htm#ref_1077_14">Refresh_Without_Update</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1053_7" HREF="terminal_interface-curses__adb.htm#ref_1078_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_refresh.3x.html">wnoutrefresh()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  There is an overloaded Refresh_Without_Update for Pads.</EM></FONT>
+   <FONT COLOR=green><EM>--  The Inline pragma appears there</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_64"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1059_14" HREF="terminal_interface-curses__adb.htm#ref_1088_14">Redraw</A></FONT> (<FONT COLOR=red><A NAME="ref_1059_22" HREF="terminal_interface-curses__adb.htm#ref_1088_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_refresh.3x.html">redrawwin()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_65"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1063_14" HREF="terminal_interface-curses__adb.htm#ref_1098_14">Redraw</A></FONT> (<FONT COLOR=red><A NAME="ref_1063_22" HREF="terminal_interface-curses__adb.htm#ref_1099_7">Win</A></FONT>        : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                     <FONT COLOR=red><A NAME="ref_1064_22" HREF="terminal_interface-curses__adb.htm#ref_1100_7">Begin_Line</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                     <FONT COLOR=red><A NAME="ref_1065_22" HREF="terminal_interface-curses__adb.htm#ref_1101_7">Line_Count</A></FONT> : <b>in</b> Positive);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_refresh.3x.html">wredrawln()</A></EM></FONT>
+   <b>pragma</b> Inline (Redraw);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_clear.3x.html">curs_clear.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_66"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1074_14" HREF="terminal_interface-curses__adb.htm#ref_1115_14">Erase</A></FONT> (<FONT COLOR=red><A NAME="ref_1074_21" HREF="terminal_interface-curses__adb.htm#ref_1115_21">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_clear.3x.html">werase()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: erase()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1074_14">Erase</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_67"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1080_14" HREF="terminal_interface-curses__adb.htm#ref_1125_14">Clear</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1081_7" HREF="terminal_interface-curses__adb.htm#ref_1125_21">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_clear.3x.html">wclear()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: clear()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1080_14">Clear</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_68"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1087_14" HREF="terminal_interface-curses__adb.htm#ref_1135_14">Clear_To_End_Of_Screen</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1088_7" HREF="terminal_interface-curses__adb.htm#ref_1135_38">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_clear.3x.html">wclrtobot()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: clrtobot()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1087_14">Clear_To_End_Of_Screen</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_69"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1094_14" HREF="terminal_interface-curses__adb.htm#ref_1145_14">Clear_To_End_Of_Line</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1095_7" HREF="terminal_interface-curses__adb.htm#ref_1145_36">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_clear.3x.html">wclrtoeol()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: clrtoeol()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1094_14">Clear_To_End_Of_Line</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_bkgd.3x.html">curs_bkgd.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_70"#2|</EM></FONT>
+   <FONT COLOR=green><EM>--  TODO: we could have Set_Background(Window; Character_Attribute_Set)</EM></FONT>
+   <FONT COLOR=green><EM>--  because in C it is common to see bkgdset(A_BOLD) or</EM></FONT>
+   <FONT COLOR=green><EM>--  bkgdset(COLOR_PAIR(n))</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1108_14" HREF="terminal_interface-curses__adb.htm#ref_1155_14">Set_Background</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1109_7" HREF="terminal_interface-curses__adb.htm#ref_1156_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1110_7" HREF="terminal_interface-curses__adb.htm#ref_1157_7">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgdset()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: bkgdset()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1108_14">Set_Background</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_71"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1116_14" HREF="terminal_interface-curses__adb.htm#ref_1165_14">Change_Background</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1117_7" HREF="terminal_interface-curses__adb.htm#ref_1166_7">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1118_7" HREF="terminal_interface-curses__adb.htm#ref_1167_7">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgd()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: bkgd()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1116_14">Change_Background</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_72"#2|</EM></FONT>
+   <FONT COLOR=green><EM>--  ? wbkgdget is not listed in curs_bkgd, getbkgd is thpough.</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1125_13" HREF="terminal_interface-curses__adb.htm#ref_1177_13">Get_Background</A></FONT> (<FONT COLOR=red><A NAME="ref_1125_29" HREF="terminal_interface-curses__adb.htm#ref_1177_29">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_bkgd.3x.html">wbkgdget()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: bkgdget()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1125_13">Get_Background</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_touch.3x.html">curs_touch.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_73"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1136_14" HREF="terminal_interface-curses__adb.htm#ref_1212_14">Untouch</A></FONT> (<FONT COLOR=red><A NAME="ref_1136_23" HREF="terminal_interface-curses__adb.htm#ref_1212_23">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_touch.3x.html">untouchwin()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1136_14">Untouch</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_74"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1141_14" HREF="terminal_interface-curses__adb.htm#ref_1203_14">Touch</A></FONT> (<FONT COLOR=red><A NAME="ref_1141_21" HREF="terminal_interface-curses__adb.htm#ref_1203_21">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_touch.3x.html">touchwin()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_75"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1145_14" HREF="terminal_interface-curses__adb.htm#ref_1221_14">Touch</A></FONT> (<FONT COLOR=red><A NAME="ref_1145_21" HREF="terminal_interface-curses__adb.htm#ref_1221_21">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                    <FONT COLOR=red><A NAME="ref_1146_21" HREF="terminal_interface-curses__adb.htm#ref_1222_21">Start</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                    <FONT COLOR=red><A NAME="ref_1147_21" HREF="terminal_interface-curses__adb.htm#ref_1223_21">Count</A></FONT> : <b>in</b> Positive);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_touch.3x.html">touchline()</A></EM></FONT>
+   <b>pragma</b> Inline (Touch);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_76"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1152_14" HREF="terminal_interface-curses__adb.htm#ref_1186_14">Change_Lines_Status</A></FONT> (<FONT COLOR=red><A NAME="ref_1152_35" HREF="terminal_interface-curses__adb.htm#ref_1186_35">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                                  <FONT COLOR=red><A NAME="ref_1153_35" HREF="terminal_interface-curses__adb.htm#ref_1187_35">Start</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                                  <FONT COLOR=red><A NAME="ref_1154_35" HREF="terminal_interface-curses__adb.htm#ref_1188_35">Count</A></FONT> : <b>in</b> Positive;
+                                  <FONT COLOR=red><A NAME="ref_1155_35" HREF="terminal_interface-curses__adb.htm#ref_1189_35">State</A></FONT> : <b>in</b> Boolean);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_touch.3x.html">wtouchln()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1152_14">Change_Lines_Status</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_77"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1160_13" HREF="terminal_interface-curses__adb.htm#ref_1229_13">Is_Touched</A></FONT> (<FONT COLOR=red><A NAME="ref_1160_25" HREF="terminal_interface-curses__adb.htm#ref_1230_7">Win</A></FONT>  : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                        <FONT COLOR=red><A NAME="ref_1161_25" HREF="terminal_interface-curses__adb.htm#ref_1231_7">Line</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_touch.3x.html">is_linetouched()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_78"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1165_13" HREF="terminal_interface-curses__adb.htm#ref_1243_13">Is_Touched</A></FONT> (<FONT COLOR=red><A NAME="ref_1165_25" HREF="terminal_interface-curses__adb.htm#ref_1244_7">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_touch.3x.html">is_wintouched()</A></EM></FONT>
+   <b>pragma</b> Inline (Is_Touched);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_overlay.3x.html">curs_overlay.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_79"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1174_14" HREF="terminal_interface-curses__adb.htm#ref_1256_14">Copy</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1175_7" HREF="terminal_interface-curses__adb.htm#ref_1257_7">Source_Window</A></FONT>            : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1176_7" HREF="terminal_interface-curses__adb.htm#ref_1258_7">Destination_Window</A></FONT>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1177_7" HREF="terminal_interface-curses__adb.htm#ref_1259_7">Source_Top_Row</A></FONT>           : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1178_7" HREF="terminal_interface-curses__adb.htm#ref_1260_7">Source_Left_Column</A></FONT>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1179_7" HREF="terminal_interface-curses__adb.htm#ref_1261_7">Destination_Top_Row</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1180_7" HREF="terminal_interface-curses__adb.htm#ref_1262_7">Destination_Left_Column</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1181_7" HREF="terminal_interface-curses__adb.htm#ref_1263_7">Destination_Bottom_Row</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1182_7" HREF="terminal_interface-curses__adb.htm#ref_1264_7">Destination_Right_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1183_7" HREF="terminal_interface-curses__adb.htm#ref_1265_7">Non_Destructive_Mode</A></FONT>     : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_overlay.3x.html">copywin()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1174_14">Copy</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_80"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1188_14" HREF="terminal_interface-curses__adb.htm#ref_1292_14">Overwrite</A></FONT> (<FONT COLOR=red><A NAME="ref_1188_25" HREF="terminal_interface-curses__adb.htm#ref_1293_7">Source_Window</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                        <FONT COLOR=red><A NAME="ref_1189_25" HREF="terminal_interface-curses__adb.htm#ref_1294_7">Destination_Window</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_overlay.3x.html">overwrite()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1188_14">Overwrite</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_81"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1194_14" HREF="terminal_interface-curses__adb.htm#ref_1304_14">Overlay</A></FONT> (<FONT COLOR=red><A NAME="ref_1194_23" HREF="terminal_interface-curses__adb.htm#ref_1305_7">Source_Window</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                      <FONT COLOR=red><A NAME="ref_1195_23" HREF="terminal_interface-curses__adb.htm#ref_1306_7">Destination_Window</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_overlay.3x.html">overlay()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1194_14">Overlay</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_deleteln.3x.html">curs_deleteln.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_82"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1204_14" HREF="terminal_interface-curses__adb.htm#ref_1317_14">Insert_Delete_Lines</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1205_7" HREF="terminal_interface-curses__adb.htm#ref_1318_7">Win</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1206_7" HREF="terminal_interface-curses__adb.htm#ref_1319_7">Lines</A></FONT> : <b>in</b> Integer := 1); <FONT COLOR=green><EM>--  default is to insert one line above</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_deleteln.3x.html">winsdelln()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: insdelln()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1204_14">Insert_Delete_Lines</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_83"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1212_14" HREF="terminal_interface-curses__adb.htm#ref_1329_14">Delete_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_1212_27" HREF="terminal_interface-curses__adb.htm#ref_1329_27">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_deleteln.3x.html">wdeleteln()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: deleteln()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1212_14">Delete_Line</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_84"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1218_14" HREF="terminal_interface-curses__adb.htm#ref_1335_14">Insert_Line</A></FONT> (<FONT COLOR=red><A NAME="ref_1218_27" HREF="terminal_interface-curses__adb.htm#ref_1335_27">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_deleteln.3x.html">winsertln()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: insertln()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1218_14">Insert_Line</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_getyx.3x.html">curs_getyx.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_85"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1228_14" HREF="terminal_interface-curses__adb.htm#ref_1342_14">Get_Size</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1229_7" HREF="terminal_interface-curses__adb.htm#ref_1343_7">Win</A></FONT>               : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1230_7" HREF="terminal_interface-curses__adb.htm#ref_1344_7">Number_Of_Lines</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_1231_7" HREF="terminal_interface-curses__adb.htm#ref_1345_7">Number_Of_Columns</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_getyx.3x.html">getmaxyx()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1228_14">Get_Size</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_86"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1236_14" HREF="terminal_interface-curses__adb.htm#ref_1362_14">Get_Window_Position</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1237_7" HREF="terminal_interface-curses__adb.htm#ref_1363_7">Win</A></FONT>             : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1238_7" HREF="terminal_interface-curses__adb.htm#ref_1364_7">Top_Left_Line</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1239_7" HREF="terminal_interface-curses__adb.htm#ref_1365_7">Top_Left_Column</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_getyx.3x.html">getbegyx()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1236_14">Get_Window_Position</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_87"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1244_14" HREF="terminal_interface-curses__adb.htm#ref_1380_14">Get_Cursor_Position</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1245_7" HREF="terminal_interface-curses__adb.htm#ref_1381_7">Win</A></FONT>    : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1246_7" HREF="terminal_interface-curses__adb.htm#ref_1382_7">Line</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1247_7" HREF="terminal_interface-curses__adb.htm#ref_1383_7">Column</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_getyx.3x.html">getyx()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1244_14">Get_Cursor_Position</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_88"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1252_14" HREF="terminal_interface-curses__adb.htm#ref_1398_14">Get_Origin_Relative_To_Parent</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1253_7" HREF="terminal_interface-curses__adb.htm#ref_1399_7">Win</A></FONT>                : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1254_7" HREF="terminal_interface-curses__adb.htm#ref_1400_7">Top_Left_Line</A></FONT>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1255_7" HREF="terminal_interface-curses__adb.htm#ref_1401_7">Top_Left_Column</A></FONT>    : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1256_7" HREF="terminal_interface-curses__adb.htm#ref_1402_7">Is_Not_A_Subwindow</A></FONT> : <b>out</b> Boolean);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_getyx.3x.html">getparyx()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Instead of placing -1 in the coordinates as return, we use a boolean</EM></FONT>
+   <FONT COLOR=green><EM>--  to return the info that the window has no parent.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1252_14">Get_Origin_Relative_To_Parent</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_pad.3x.html">curs_pad.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_89"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1267_13" HREF="terminal_interface-curses__adb.htm#ref_1424_13">New_Pad</A></FONT> (<FONT COLOR=red><A NAME="ref_1267_22" HREF="terminal_interface-curses__adb.htm#ref_1424_22">Lines</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                     <FONT COLOR=red><A NAME="ref_1268_22" HREF="terminal_interface-curses__adb.htm#ref_1425_22">Columns</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_pad.3x.html">newpad()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1267_13">New_Pad</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_90"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1273_13" HREF="terminal_interface-curses__adb.htm#ref_1439_13">Sub_Pad</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1274_7" HREF="terminal_interface-curses__adb.htm#ref_1440_7">Pad</A></FONT>                   : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1275_7" HREF="terminal_interface-curses__adb.htm#ref_1441_7">Number_Of_Lines</A></FONT>       : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+      <FONT COLOR=red><A NAME="ref_1276_7" HREF="terminal_interface-curses__adb.htm#ref_1442_7">Number_Of_Columns</A></FONT>     : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>;
+      <FONT COLOR=red><A NAME="ref_1277_7" HREF="terminal_interface-curses__adb.htm#ref_1443_7">First_Line_Position</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1278_7" HREF="terminal_interface-curses__adb.htm#ref_1444_7">First_Column_Position</A></FONT> : <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>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_pad.3x.html">subpad()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1273_13">Sub_Pad</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_91"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1283_14" HREF="terminal_interface-curses__adb.htm#ref_1467_14">Refresh</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1284_7" HREF="terminal_interface-curses__adb.htm#ref_1468_7">Pad</A></FONT>                      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1285_7" HREF="terminal_interface-curses__adb.htm#ref_1469_7">Source_Top_Row</A></FONT>           : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1286_7" HREF="terminal_interface-curses__adb.htm#ref_1470_7">Source_Left_Column</A></FONT>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1287_7" HREF="terminal_interface-curses__adb.htm#ref_1471_7">Destination_Top_Row</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1288_7" HREF="terminal_interface-curses__adb.htm#ref_1472_7">Destination_Left_Column</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1289_7" HREF="terminal_interface-curses__adb.htm#ref_1473_7">Destination_Bottom_Row</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1290_7" HREF="terminal_interface-curses__adb.htm#ref_1474_7">Destination_Right_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_pad.3x.html">prefresh()</A></EM></FONT>
+   <b>pragma</b> Inline (Refresh);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_92"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1295_14" HREF="terminal_interface-curses__adb.htm#ref_1497_14">Refresh_Without_Update</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1296_7" HREF="terminal_interface-curses__adb.htm#ref_1498_7">Pad</A></FONT>                      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1297_7" HREF="terminal_interface-curses__adb.htm#ref_1499_7">Source_Top_Row</A></FONT>           : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1298_7" HREF="terminal_interface-curses__adb.htm#ref_1500_7">Source_Left_Column</A></FONT>       : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1299_7" HREF="terminal_interface-curses__adb.htm#ref_1501_7">Destination_Top_Row</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1300_7" HREF="terminal_interface-curses__adb.htm#ref_1502_7">Destination_Left_Column</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1301_7" HREF="terminal_interface-curses__adb.htm#ref_1503_7">Destination_Bottom_Row</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1302_7" HREF="terminal_interface-curses__adb.htm#ref_1504_7">Destination_Right_Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_pad.3x.html">pnoutrefresh()</A></EM></FONT>
+   <b>pragma</b> Inline (Refresh_Without_Update);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_93"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1307_14" HREF="terminal_interface-curses__adb.htm#ref_1527_14">Add_Character_To_Pad_And_Echo_It</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1308_7" HREF="terminal_interface-curses__adb.htm#ref_1528_7">Pad</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1309_7" HREF="terminal_interface-curses__adb.htm#ref_1529_7">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_pad.3x.html">pechochar()</A></EM></FONT>
+
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1312_14" HREF="terminal_interface-curses__adb.htm#ref_1540_14">Add_Character_To_Pad_And_Echo_It</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1313_7" HREF="terminal_interface-curses__adb.htm#ref_1541_7">Pad</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+      <FONT COLOR=red><A NAME="ref_1314_7" HREF="terminal_interface-curses__adb.htm#ref_1542_7">Ch</A></FONT>  : <b>in</b> Character);
+   <b>pragma</b> Inline (Add_Character_To_Pad_And_Echo_It);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_scroll.3x.html">curs_scroll.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_94"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1322_14" HREF="terminal_interface-curses__adb.htm#ref_1552_14">Scroll</A></FONT> (<FONT COLOR=red><A NAME="ref_1322_22" HREF="terminal_interface-curses__adb.htm#ref_1552_22">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                     <FONT COLOR=red><A NAME="ref_1323_22" HREF="terminal_interface-curses__adb.htm#ref_1553_22">Amount</A></FONT> : <b>in</b> Integer := 1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_scroll.3x.html">wscrl()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: scroll()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: scrl()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Scroll</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_delch.3x.html">curs_delch.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_95"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1334_14" HREF="terminal_interface-curses__adb.htm#ref_1565_14">Delete_Character</A></FONT> (<FONT COLOR=red><A NAME="ref_1334_32" HREF="terminal_interface-curses__adb.htm#ref_1565_32">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_delch.3x.html">wdelch()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: delch()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_96"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1339_14" HREF="terminal_interface-curses__adb.htm#ref_1575_14">Delete_Character</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1340_7" HREF="terminal_interface-curses__adb.htm#ref_1576_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1341_7" HREF="terminal_interface-curses__adb.htm#ref_1577_7">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1342_7" HREF="terminal_interface-curses__adb.htm#ref_1578_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_delch.3x.html">mvwdelch()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvdelch()</EM></FONT>
+   <b>pragma</b> Inline (Delete_Character);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_inch.3x.html">curs_inch.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_97"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1352_13" HREF="terminal_interface-curses__adb.htm#ref_1590_13">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1352_19" HREF="terminal_interface-curses__adb.htm#ref_1590_19">Win</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>)
+     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>;
+   <FONT COLOR=green><EM>--  AKA: inch()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inch.3x.html">winch()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_98"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1358_13" HREF="terminal_interface-curses__adb.htm#ref_1599_13">Peek</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1359_7" HREF="terminal_interface-curses__adb.htm#ref_1600_7">Win</A></FONT>    : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1360_7" HREF="terminal_interface-curses__adb.htm#ref_1601_7">Line</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1361_7" HREF="terminal_interface-curses__adb.htm#ref_1602_7">Column</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inch.3x.html">mvwinch()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvinch()</EM></FONT>
+   <FONT COLOR=green><EM>--  More Peek's follow, pragma Inline appears later.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_insch.3x.html">curs_insch.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_99"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1371_14" HREF="terminal_interface-curses__adb.htm#ref_1612_14">Insert</A></FONT> (<FONT COLOR=red><A NAME="ref_1371_22" HREF="terminal_interface-curses__adb.htm#ref_1612_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                     <FONT COLOR=red><A NAME="ref_1372_22" HREF="terminal_interface-curses__adb.htm#ref_1613_22">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_insch.3x.html">winsch()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: insch()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_100"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1377_14" HREF="terminal_interface-curses__adb.htm#ref_1623_14">Insert</A></FONT> (<FONT COLOR=red><A NAME="ref_1377_22" HREF="terminal_interface-curses__adb.htm#ref_1624_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                     <FONT COLOR=red><A NAME="ref_1378_22" HREF="terminal_interface-curses__adb.htm#ref_1625_7">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                     <FONT COLOR=red><A NAME="ref_1379_22" HREF="terminal_interface-curses__adb.htm#ref_1626_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                     <FONT COLOR=red><A NAME="ref_1380_22" HREF="terminal_interface-curses__adb.htm#ref_1627_7">Ch</A></FONT>     : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_insch.3x.html">mvwinsch()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvinsch()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_insstr.3x.html">curs_insstr.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_101"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1389_14" HREF="terminal_interface-curses__adb.htm#ref_1643_14">Insert</A></FONT> (<FONT COLOR=red><A NAME="ref_1389_22" HREF="terminal_interface-curses__adb.htm#ref_1643_22">Win</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                     <FONT COLOR=red><A NAME="ref_1390_22" HREF="terminal_interface-curses__adb.htm#ref_1644_22">Str</A></FONT> : <b>in</b> String;
+                     <FONT COLOR=red><A NAME="ref_1391_22" HREF="terminal_interface-curses__adb.htm#ref_1645_22">Len</A></FONT> : <b>in</b> Integer := -1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_insstr.3x.html">winsnstr()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: winsstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: insnstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: insstr()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_102"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1398_14" HREF="terminal_interface-curses__adb.htm#ref_1661_14">Insert</A></FONT> (<FONT COLOR=red><A NAME="ref_1398_22" HREF="terminal_interface-curses__adb.htm#ref_1662_7">Win</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                     <FONT COLOR=red><A NAME="ref_1399_22" HREF="terminal_interface-curses__adb.htm#ref_1663_7">Line</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                     <FONT COLOR=red><A NAME="ref_1400_22" HREF="terminal_interface-curses__adb.htm#ref_1664_7">Column</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                     <FONT COLOR=red><A NAME="ref_1401_22" HREF="terminal_interface-curses__adb.htm#ref_1665_7">Str</A></FONT>    : <b>in</b> String;
+                     <FONT COLOR=red><A NAME="ref_1402_22" HREF="terminal_interface-curses__adb.htm#ref_1666_7">Len</A></FONT>    : <b>in</b> Integer := -1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_insstr.3x.html">mvwinsnstr()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvwinsstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvinsnstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvinsstr()</EM></FONT>
+   <b>pragma</b> Inline (Insert);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_instr.3x.html">curs_instr.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_103"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1414_14" HREF="terminal_interface-curses__adb.htm#ref_1685_14">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1414_20" HREF="terminal_interface-curses__adb.htm#ref_1685_20">Win</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                   <FONT COLOR=red><A NAME="ref_1415_20" HREF="terminal_interface-curses__adb.htm#ref_1686_20">Str</A></FONT> : <b>out</b> String;
+                   <FONT COLOR=red><A NAME="ref_1416_20" HREF="terminal_interface-curses__adb.htm#ref_1687_20">Len</A></FONT> : <b>in</b>  Integer := -1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_instr.3x.html">winnstr()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: winstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: innstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: instr()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_104"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1423_14" HREF="terminal_interface-curses__adb.htm#ref_1714_14">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1423_20" HREF="terminal_interface-curses__adb.htm#ref_1715_7">Win</A></FONT>    : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                   <FONT COLOR=red><A NAME="ref_1424_20" HREF="terminal_interface-curses__adb.htm#ref_1716_7">Line</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_1425_20" HREF="terminal_interface-curses__adb.htm#ref_1717_7">Column</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_1426_20" HREF="terminal_interface-curses__adb.htm#ref_1718_7">Str</A></FONT>    : <b>out</b> String;
+                   <FONT COLOR=red><A NAME="ref_1427_20" HREF="terminal_interface-curses__adb.htm#ref_1719_7">Len</A></FONT>    : <b>in</b>  Integer := -1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_instr.3x.html">mvwinnstr()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvwinstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvinnstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvinstr()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_inchstr.3x.html">curs_inchstr.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_105"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1438_14" HREF="terminal_interface-curses__adb.htm#ref_1726_14">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1438_20" HREF="terminal_interface-curses__adb.htm#ref_1727_7">Win</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                   <FONT COLOR=red><A NAME="ref_1439_20" HREF="terminal_interface-curses__adb.htm#ref_1728_7">Str</A></FONT> : <b>out</b> Attributed_String;
+                   <FONT COLOR=red><A NAME="ref_1440_20" HREF="terminal_interface-curses__adb.htm#ref_1729_7">Len</A></FONT> : <b>in</b>  Integer := -1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inchstr.3x.html">winchnstr()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: winchstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: inchnstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: inchstr()</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_106"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1447_14" HREF="terminal_interface-curses__adb.htm#ref_1763_14">Peek</A></FONT> (<FONT COLOR=red><A NAME="ref_1447_20" HREF="terminal_interface-curses__adb.htm#ref_1764_7">Win</A></FONT>    : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                   <FONT COLOR=red><A NAME="ref_1448_20" HREF="terminal_interface-curses__adb.htm#ref_1765_7">Line</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_1449_20" HREF="terminal_interface-curses__adb.htm#ref_1766_7">Column</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                   <FONT COLOR=red><A NAME="ref_1450_20" HREF="terminal_interface-curses__adb.htm#ref_1767_7">Str</A></FONT>    : <b>out</b> Attributed_String;
+                   <FONT COLOR=red><A NAME="ref_1451_20" HREF="terminal_interface-curses__adb.htm#ref_1768_7">Len</A></FONT>    : <b>in</b>  Integer := -1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_inchstr.3x.html">mvwinchnstr()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvwinchstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvinchnstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvinchstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  We don't inline the Peek procedures</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_getstr.3x.html">curs_getstr.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_107"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1463_14" HREF="terminal_interface-curses__adb.htm#ref_1775_14">Get</A></FONT> (<FONT COLOR=red><A NAME="ref_1463_19" HREF="terminal_interface-curses__adb.htm#ref_1775_19">Win</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                  <FONT COLOR=red><A NAME="ref_1464_19" HREF="terminal_interface-curses__adb.htm#ref_1776_19">Str</A></FONT> : <b>out</b> String;
+                  <FONT COLOR=red><A NAME="ref_1465_19" HREF="terminal_interface-curses__adb.htm#ref_1777_19">Len</A></FONT> : <b>in</b>  Integer := -1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_getstr.3x.html">wgetnstr()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: wgetstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: getnstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: getstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  actually getstr is not supported because that results in buffer</EM></FONT>
+   <FONT COLOR=green><EM>--  overflows.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_108"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1474_14" HREF="terminal_interface-curses__adb.htm#ref_1804_14">Get</A></FONT> (<FONT COLOR=red><A NAME="ref_1474_19" HREF="terminal_interface-curses__adb.htm#ref_1805_7">Win</A></FONT>    : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                  <FONT COLOR=red><A NAME="ref_1475_19" HREF="terminal_interface-curses__adb.htm#ref_1806_7">Line</A></FONT>   : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+                  <FONT COLOR=red><A NAME="ref_1476_19" HREF="terminal_interface-curses__adb.htm#ref_1807_7">Column</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+                  <FONT COLOR=red><A NAME="ref_1477_19" HREF="terminal_interface-curses__adb.htm#ref_1808_7">Str</A></FONT>    : <b>out</b> String;
+                  <FONT COLOR=red><A NAME="ref_1478_19" HREF="terminal_interface-curses__adb.htm#ref_1809_7">Len</A></FONT>    : <b>in</b>  Integer := -1);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_getstr.3x.html">mvwgetnstr()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvwgetstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvgetnstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: mvgetstr()</EM></FONT>
+   <FONT COLOR=green><EM>--  Get is not inlined</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_slk.3x.html">curs_slk.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  Not Implemented: slk_attr_on, slk_attr_off, slk_attr_set</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_1491_9">Soft_Label_Key_Format</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_1491_35">Three_Two_Three</A></FONT>,
+                                  <FONT COLOR=red><A NAME="ref_1492_35">Four_Four</A></FONT>,
+                                  <FONT COLOR=red><A NAME="ref_1493_35">PC_Style</A></FONT>,              <FONT COLOR=green><EM>--  ncurses specific</EM></FONT>
+                                  <FONT COLOR=red><A NAME="ref_1494_35">PC_Style_With_Index</A></FONT>);  <FONT COLOR=green><EM>--  "</EM></FONT>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_1495_9">Label_Number</A></FONT> <b>is</b> <b>new</b> Positive <b>range</b> 1 .. 12;
+   <b>type</b> <FONT COLOR=red><A NAME="ref_1496_9">Label_Justification</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_1496_33">Left</A></FONT>, <FONT COLOR=red><A NAME="ref_1496_39">Centered</A></FONT>, <FONT COLOR=red><A NAME="ref_1496_49">Right</A></FONT>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_109"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1499_14" HREF="terminal_interface-curses__adb.htm#ref_1816_14">Init_Soft_Label_Keys</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1500_7" HREF="terminal_interface-curses__adb.htm#ref_1817_7">Format</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1491_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1491_35">Three_Two_Three</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_init()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1499_14">Init_Soft_Label_Keys</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_110"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1505_14" HREF="terminal_interface-curses__adb.htm#ref_1827_14">Set_Soft_Label_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1505_34" HREF="terminal_interface-curses__adb.htm#ref_1827_34">Label</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1495_9">Label_Number</A>;
+                                 <FONT COLOR=red><A NAME="ref_1506_34" HREF="terminal_interface-curses__adb.htm#ref_1828_34">Text</A></FONT>  : <b>in</b> String;
+                                 <FONT COLOR=red><A NAME="ref_1507_34" HREF="terminal_interface-curses__adb.htm#ref_1829_34">Fmt</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1496_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1496_33">Left</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_set()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  We don't inline this procedure</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_111"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1512_14" HREF="terminal_interface-curses__adb.htm#ref_1846_14">Refresh_Soft_Label_Keys</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_refresh()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1512_14">Refresh_Soft_Label_Keys</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_112"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1517_14" HREF="terminal_interface-curses__adb.htm#ref_1856_14">Refresh_Soft_Label_Keys_Without_Update</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_noutrefresh()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1517_14">Refresh_Soft_Label_Keys_Without_Update</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_113"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1522_14" HREF="terminal_interface-curses__adb.htm#ref_1866_14">Get_Soft_Label_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1522_34" HREF="terminal_interface-curses__adb.htm#ref_1866_34">Label</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1495_9">Label_Number</A>;
+                                 <FONT COLOR=red><A NAME="ref_1523_34" HREF="terminal_interface-curses__adb.htm#ref_1867_34">Text</A></FONT>  : <b>out</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_label()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_114"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1527_13" HREF="terminal_interface-curses__adb.htm#ref_1875_13">Get_Soft_Label_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1527_33" HREF="terminal_interface-curses__adb.htm#ref_1875_33">Label</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1495_9">Label_Number</A>) <b>return</b> String;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_label()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Same as function</EM></FONT>
+   <b>pragma</b> Inline (Get_Soft_Label_Key);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_115"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1533_14" HREF="terminal_interface-curses__adb.htm#ref_1883_14">Clear_Soft_Label_Keys</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_clear()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1533_14">Clear_Soft_Label_Keys</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_116"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1538_14" HREF="terminal_interface-curses__adb.htm#ref_1893_14">Restore_Soft_Label_Keys</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_restore()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1538_14">Restore_Soft_Label_Keys</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_117"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1543_14" HREF="terminal_interface-curses__adb.htm#ref_1903_14">Touch_Soft_Label_Keys</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_touch()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1543_14">Touch_Soft_Label_Keys</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_118"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1548_14" HREF="terminal_interface-curses__adb.htm#ref_1913_14">Switch_Soft_Label_Key_Attributes</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1549_7" HREF="terminal_interface-curses__adb.htm#ref_1914_7">Attr</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+      <FONT COLOR=red><A NAME="ref_1550_7" HREF="terminal_interface-curses__adb.htm#ref_1915_7">On</A></FONT>   : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_attron()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: slk_attroff()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1548_14">Switch_Soft_Label_Key_Attributes</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_119"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1556_14" HREF="terminal_interface-curses__adb.htm#ref_1937_14">Set_Soft_Label_Key_Attributes</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1557_7" HREF="terminal_interface-curses__adb.htm#ref_1938_7">Attr</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_350_4">Normal_Video</A>;
+      <FONT COLOR=red><A NAME="ref_1558_7" HREF="terminal_interface-curses__adb.htm#ref_1939_7">Color</A></FONT> : <b>in</b> <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);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_attrset()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1556_14">Set_Soft_Label_Key_Attributes</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_120"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1563_13" HREF="terminal_interface-curses__adb.htm#ref_1953_13">Get_Soft_Label_Key_Attributes</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_attr()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_121"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1567_13" HREF="terminal_interface-curses__adb.htm#ref_1963_13">Get_Soft_Label_Key_Attributes</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_attr()</A></EM></FONT>
+   <b>pragma</b> Inline (Get_Soft_Label_Key_Attributes);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_122"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1572_14" HREF="terminal_interface-curses__adb.htm#ref_1973_14">Set_Soft_Label_Key_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_1572_40" HREF="terminal_interface-curses__adb.htm#ref_1973_40">Pair</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_slk.3x.html">slk_color()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1572_14">Set_Soft_Label_Key_Color</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/keybound.3x.html">keybound.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  Not Implemented: keybound</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/keyok.3x.html">keyok.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_123"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1586_14" HREF="terminal_interface-curses__adb.htm#ref_1984_14">Enable_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1586_26" HREF="terminal_interface-curses__adb.htm#ref_1984_26">Key</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>;
+                         <FONT COLOR=red><A NAME="ref_1587_26" HREF="terminal_interface-curses__adb.htm#ref_1985_26">Enable</A></FONT> : <b>in</b> Boolean := True);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/keyok.3x.html">keyok()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1586_14">Enable_Key</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/define_key.3x.html">define_key.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_124"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1596_14" HREF="terminal_interface-curses__adb.htm#ref_1997_14">Define_Key</A></FONT> (<FONT COLOR=red><A NAME="ref_1596_26" HREF="terminal_interface-curses__adb.htm#ref_1997_26">Definition</A></FONT> : <b>in</b> String;
+                         <FONT COLOR=red><A NAME="ref_1597_26" HREF="terminal_interface-curses__adb.htm#ref_1998_26">Key</A></FONT>        : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_78_12">Special_Key_Code</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/define_key.3x.html">define_key()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1596_14">Define_Key</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_util.3x.html">curs_util.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  | Not implemented : filter, use_env</EM></FONT>
+   <FONT COLOR=green><EM>--  | putwin, getwin are in the child package PutWin</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_125"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1610_14" HREF="terminal_interface-curses__adb.htm#ref_90_14">Key_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_1610_24" HREF="terminal_interface-curses__adb.htm#ref_90_24">Key</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>;
+                       <FONT COLOR=red><A NAME="ref_1611_24" HREF="terminal_interface-curses__adb.htm#ref_91_24">Name</A></FONT> : <b>out</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_util.3x.html">keyname()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  The external name for a real keystroke.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_126"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1616_13" HREF="terminal_interface-curses__adb.htm#ref_62_13">Key_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_1616_23" HREF="terminal_interface-curses__adb.htm#ref_62_23">Key</A></FONT>  : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_73_12">Real_Key_Code</A>) <b>return</b> String;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_util.3x.html">keyname()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Same as function</EM></FONT>
+   <FONT COLOR=green><EM>--  We don't inline this routine</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_127"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1622_14" HREF="terminal_interface-curses__adb.htm#ref_2013_14">Un_Control</A></FONT> (<FONT COLOR=red><A NAME="ref_1622_26" HREF="terminal_interface-curses__adb.htm#ref_2013_26">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>;
+                         <FONT COLOR=red><A NAME="ref_1623_26" HREF="terminal_interface-curses__adb.htm#ref_2014_26">Str</A></FONT> : <b>out</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_util.3x.html">unctrl()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_128"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1627_13" HREF="terminal_interface-curses__adb.htm#ref_2022_13">Un_Control</A></FONT> (<FONT COLOR=red><A NAME="ref_1627_25" HREF="terminal_interface-curses__adb.htm#ref_2022_25">Ch</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_352_9">Attributed_Character</A>) <b>return</b> String;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_util.3x.html">unctrl()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Same as function</EM></FONT>
+   <b>pragma</b> Inline (Un_Control);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_129"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1633_14" HREF="terminal_interface-curses__adb.htm#ref_2030_14">Delay_Output</A></FONT> (<FONT COLOR=red><A NAME="ref_1633_28" HREF="terminal_interface-curses__adb.htm#ref_2030_28">Msecs</A></FONT> : <b>in</b> Natural);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_util.3x.html">delay_output()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1633_14">Delay_Output</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_130"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1638_14" HREF="terminal_interface-curses__adb.htm#ref_2040_14">Flush_Input</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_util.3x.html">flushinp()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1638_14">Flush_Input</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_termattrs.3x.html">curs_termattrs.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_131"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1647_13" HREF="terminal_interface-curses__adb.htm#ref_2050_13">Baudrate</A></FONT> <b>return</b> Natural;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">baudrate()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1647_13">Baudrate</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_132"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1652_13" HREF="terminal_interface-curses__adb.htm#ref_2058_13">Erase_Character</A></FONT> <b>return</b> Character;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">erasechar()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1652_13">Erase_Character</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_133"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1657_13" HREF="terminal_interface-curses__adb.htm#ref_2066_13">Kill_Character</A></FONT> <b>return</b> Character;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">killchar()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1657_13">Kill_Character</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_134"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1662_13" HREF="terminal_interface-curses__adb.htm#ref_2074_13">Has_Insert_Character</A></FONT> <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">has_ic()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1662_13">Has_Insert_Character</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_135"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1667_13" HREF="terminal_interface-curses__adb.htm#ref_2086_13">Has_Insert_Line</A></FONT> <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">has_il()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1667_13">Has_Insert_Line</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_136"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1672_13" HREF="terminal_interface-curses__adb.htm#ref_2098_13">Supported_Attributes</A></FONT> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">termattrs()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1672_13">Supported_Attributes</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_137"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1677_14" HREF="terminal_interface-curses__adb.htm#ref_2108_14">Long_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_1677_25" HREF="terminal_interface-curses__adb.htm#ref_2108_25">Name</A></FONT> : <b>out</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">longname()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_138"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1681_13" HREF="terminal_interface-curses__adb.htm#ref_2116_13">Long_Name</A></FONT> <b>return</b> String;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">longname()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Same as function</EM></FONT>
+   <b>pragma</b> Inline (Long_Name);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_139"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1687_14" HREF="terminal_interface-curses__adb.htm#ref_2124_14">Terminal_Name</A></FONT> (<FONT COLOR=red><A NAME="ref_1687_29" HREF="terminal_interface-curses__adb.htm#ref_2124_29">Name</A></FONT> : <b>out</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">termname()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_140"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1691_13" HREF="terminal_interface-curses__adb.htm#ref_2132_13">Terminal_Name</A></FONT> <b>return</b> String;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_termattrs.3x.html">termname()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  Same as function</EM></FONT>
+   <b>pragma</b> Inline (Terminal_Name);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_color.3x.html">curs_color.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  COLOR_PAIR</EM></FONT>
+   <FONT COLOR=green><EM>--  COLOR_PAIR(n) in C is the same as</EM></FONT>
+   <FONT COLOR=green><EM>--  Attributed_Character(Ch =&gt; Nul, Color =&gt; n, Attr =&gt; Normal_Video)</EM></FONT>
+   <FONT COLOR=green><EM>--  In C you often see something like c = c | COLOR_PAIR(n);</EM></FONT>
+   <FONT COLOR=green><EM>--  This is equivalent to c.Color := n;</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_141"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1707_14">Start_Color</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_color.3x.html">start_color()</A></EM></FONT>
+   <b>pragma</b> Import (C, Start_Color, "start_color");
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_142"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1712_14" HREF="terminal_interface-curses__adb.htm#ref_2140_14">Init_Pair</A></FONT> (<FONT COLOR=red><A NAME="ref_1712_25" HREF="terminal_interface-curses__adb.htm#ref_2140_25">Pair</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_301_12">Redefinable_Color_Pair</A>;
+                        <FONT COLOR=red><A NAME="ref_1713_25" HREF="terminal_interface-curses__adb.htm#ref_2141_25">Fore</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
+                        <FONT COLOR=red><A NAME="ref_1714_25" HREF="terminal_interface-curses__adb.htm#ref_2142_25">Back</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_color.3x.html">init_pair()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1712_14">Init_Pair</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_143"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1719_14" HREF="terminal_interface-curses__adb.htm#ref_2162_14">Pair_Content</A></FONT> (<FONT COLOR=red><A NAME="ref_1719_28" HREF="terminal_interface-curses__adb.htm#ref_2162_28">Pair</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>;
+                           <FONT COLOR=red><A NAME="ref_1720_28" HREF="terminal_interface-curses__adb.htm#ref_2163_28">Fore</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
+                           <FONT COLOR=red><A NAME="ref_1721_28" HREF="terminal_interface-curses__adb.htm#ref_2164_28">Back</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_color.3x.html">pair_content()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1719_14">Pair_Content</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_144"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1726_13" HREF="terminal_interface-curses__adb.htm#ref_2182_13">Has_Colors</A></FONT> <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_color.3x.html">has_colors()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1726_13">Has_Colors</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_145"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1731_14" HREF="terminal_interface-curses__adb.htm#ref_2194_14">Init_Color</A></FONT> (<FONT COLOR=red><A NAME="ref_1731_26" HREF="terminal_interface-curses__adb.htm#ref_2194_26">Color</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
+                         <FONT COLOR=red><A NAME="ref_1732_26" HREF="terminal_interface-curses__adb.htm#ref_2195_26">Red</A></FONT>   : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
+                         <FONT COLOR=red><A NAME="ref_1733_26" HREF="terminal_interface-curses__adb.htm#ref_2196_26">Green</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
+                         <FONT COLOR=red><A NAME="ref_1734_26" HREF="terminal_interface-curses__adb.htm#ref_2197_26">Blue</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_color.3x.html">init_color()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1731_14">Init_Color</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_146"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1739_13" HREF="terminal_interface-curses__adb.htm#ref_2211_13">Can_Change_Color</A></FONT> <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_color.3x.html">can_change_color()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1739_13">Can_Change_Color</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_147"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1744_14" HREF="terminal_interface-curses__adb.htm#ref_2223_14">Color_Content</A></FONT> (<FONT COLOR=red><A NAME="ref_1744_29" HREF="terminal_interface-curses__adb.htm#ref_2223_29">Color</A></FONT> : <b>in</b>  <A HREF="terminal_interface-curses__ads.htm#ref_278_9">Color_Number</A>;
+                            <FONT COLOR=red><A NAME="ref_1745_29" HREF="terminal_interface-curses__adb.htm#ref_2224_29">Red</A></FONT>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
+                            <FONT COLOR=red><A NAME="ref_1746_29" HREF="terminal_interface-curses__adb.htm#ref_2225_29">Green</A></FONT> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>;
+                            <FONT COLOR=red><A NAME="ref_1747_29" HREF="terminal_interface-curses__adb.htm#ref_2226_29">Blue</A></FONT>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_295_9">RGB_Value</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_color.3x.html">color_content()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1744_14">Color_Content</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_kernel.3x.html">curs_kernel.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Not implemented: getsyx, setsyx</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_1756_9">Curses_Mode</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_1756_25">Curses</A></FONT>, <FONT COLOR=red><A NAME="ref_1756_33">Shell</A></FONT>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_148"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1759_14" HREF="terminal_interface-curses__adb.htm#ref_2247_14">Save_Curses_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_1759_32" HREF="terminal_interface-curses__adb.htm#ref_2247_32">Mode</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1756_9">Curses_Mode</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">def_prog_mode()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: def_shell_mode()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1759_14">Save_Curses_Mode</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_149"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1765_14" HREF="terminal_interface-curses__adb.htm#ref_2265_14">Reset_Curses_Mode</A></FONT> (<FONT COLOR=red><A NAME="ref_1765_33" HREF="terminal_interface-curses__adb.htm#ref_2265_33">Mode</A></FONT> : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1756_9">Curses_Mode</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">reset_prog_mode()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  AKA: reset_shell_mode()</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1765_14">Reset_Curses_Mode</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_150"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1771_14" HREF="terminal_interface-curses__adb.htm#ref_2283_14">Save_Terminal_State</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">savetty()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1771_14">Save_Terminal_State</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_151"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1776_14" HREF="terminal_interface-curses__adb.htm#ref_2293_14">Reset_Terminal_State</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">resetty();</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1776_14">Reset_Terminal_State</A>);
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_1780_9">Stdscr_Init_Proc</A></FONT> <b>is</b> <b>access</b>
+      <b>function</b> (<FONT COLOR=red><A NAME="ref_1781_17">Win</A></FONT>     : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
+                <FONT COLOR=red><A NAME="ref_1782_17">Columns</A></FONT> : <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_1780_9">Stdscr_Init_Proc</A>);
+   <FONT COLOR=green><EM>--  N.B.: the return value is actually ignored, but it seems to be</EM></FONT>
+   <FONT COLOR=green><EM>--        a good practice to return 0 if you think all went fine</EM></FONT>
+   <FONT COLOR=green><EM>--        and -1 otherwise.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_152"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1789_14" HREF="terminal_interface-curses__adb.htm#ref_2303_14">Rip_Off_Lines</A></FONT> (<FONT COLOR=red><A NAME="ref_1789_29" HREF="terminal_interface-curses__adb.htm#ref_2303_29">Lines</A></FONT> : <b>in</b> Integer;
+                            <FONT COLOR=red><A NAME="ref_1790_29" HREF="terminal_interface-curses__adb.htm#ref_2304_29">Proc</A></FONT>  : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1780_9">Stdscr_Init_Proc</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">ripoffline()</A></EM></FONT>
+   <FONT COLOR=green><EM>--  N.B.: to be more precise, this uses a ncurses specific enhancement of</EM></FONT>
+   <FONT COLOR=green><EM>--        ripoffline(), in which the Lines argument absolute value is the</EM></FONT>
+   <FONT COLOR=green><EM>--        number of lines to be ripped of. The official ripoffline() only</EM></FONT>
+   <FONT COLOR=green><EM>--        uses the sign of Lines to rip of a single line from bottom or top.</EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1789_14">Rip_Off_Lines</A>);
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_1798_9">Cursor_Visibility</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_1798_31">Invisible</A></FONT>, <FONT COLOR=red><A NAME="ref_1798_42">Normal</A></FONT>, <FONT COLOR=red><A NAME="ref_1798_50">Very_Visible</A></FONT>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_153"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1801_14" HREF="terminal_interface-curses__adb.htm#ref_2315_14">Set_Cursor_Visibility</A></FONT> (<FONT COLOR=red><A NAME="ref_1801_37" HREF="terminal_interface-curses__adb.htm#ref_2315_37">Visibility</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_1798_9">Cursor_Visibility</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">curs_set()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1801_14">Set_Cursor_Visibility</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_154"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1806_14" HREF="terminal_interface-curses__adb.htm#ref_2328_14">Nap_Milli_Seconds</A></FONT> (<FONT COLOR=red><A NAME="ref_1806_33" HREF="terminal_interface-curses__adb.htm#ref_2328_33">Ms</A></FONT> : <b>in</b> Natural);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_kernel.3x.html">napms()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1806_14">Nap_Milli_Seconds</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Some useful helpers.</EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <b>type</b> <FONT COLOR=red><A NAME="ref_1813_9">Transform_Direction</A></FONT> <b>is</b> (<FONT COLOR=red><A NAME="ref_1813_33">From_Screen</A></FONT>, <FONT COLOR=red><A NAME="ref_1813_46">To_Screen</A></FONT>);
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1814_14" HREF="terminal_interface-curses__adb.htm#ref_2396_14">Transform_Coordinates</A></FONT>
+     (<FONT COLOR=red><A NAME="ref_1815_7" HREF="terminal_interface-curses__adb.htm#ref_2397_7">W</A></FONT>      : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+      <FONT COLOR=red><A NAME="ref_1816_7" HREF="terminal_interface-curses__adb.htm#ref_2398_7">Line</A></FONT>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1817_7" HREF="terminal_interface-curses__adb.htm#ref_2399_7">Column</A></FONT> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
+      <FONT COLOR=red><A NAME="ref_1818_7" HREF="terminal_interface-curses__adb.htm#ref_2400_7">Dir</A></FONT>    : <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1813_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1813_33">From_Screen</A>);
+   <FONT COLOR=green><EM>--  This procedure transforms screen coordinates into coordinates relative</EM></FONT>
+   <FONT COLOR=green><EM>--  to the window and vice versa, depending on the Dir parameter.</EM></FONT>
+   <FONT COLOR=green><EM>--  Screen coordinates are the position informations on the physical device.</EM></FONT>
+   <FONT COLOR=green><EM>--  An Curses_Exception will be raised if Line and Column are not in the</EM></FONT>
+   <FONT COLOR=green><EM>--  Window or if you pass the Null_Window as argument.</EM></FONT>
+   <FONT COLOR=green><EM>--  We don't inline this procedure</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/default_colors.3x.html">default_colors.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_155"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1831_14" HREF="terminal_interface-curses__adb.htm#ref_2425_14">Use_Default_Colors</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/default_colors.3x.html">use_default_colors()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1831_14">Use_Default_Colors</A>);
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_156"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1836_14" HREF="terminal_interface-curses__adb.htm#ref_2435_14">Assume_Default_Colors</A></FONT> (<FONT COLOR=red><A NAME="ref_1836_37" HREF="terminal_interface-curses__adb.htm#ref_2435_37">Fore</A></FONT> : <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>;
+                                    <FONT COLOR=red><A NAME="ref_1837_37" HREF="terminal_interface-curses__adb.htm#ref_2436_37">Back</A></FONT> : <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>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/default_colors.3x.html">assume_default_colors()</A></EM></FONT>
+   <b>pragma</b> Inline (<A HREF="terminal_interface-curses__ads.htm#ref_1836_14">Assume_Default_Colors</A>);
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_extend.3x.html">curs_extend.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_157"#2|</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1846_13" HREF="terminal_interface-curses__adb.htm#ref_2450_13">Curses_Version</A></FONT> <b>return</b> String;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_extend.3x.html">curses_version()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_158"#2|</EM></FONT>
+   <FONT COLOR=green><EM>--  The returnvalue is the previous setting of the flag</EM></FONT>
+   <b>function</b> <FONT COLOR=red><A NAME="ref_1851_13" HREF="terminal_interface-curses__adb.htm#ref_2473_13">Use_Extended_Names</A></FONT> (<FONT COLOR=red><A NAME="ref_1851_33" HREF="terminal_interface-curses__adb.htm#ref_2473_33">Enable</A></FONT> : Boolean) <b>return</b> Boolean;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_extend.3x.html">use_extended_names()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_trace.3x.html">curs_trace.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_159"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1859_14" HREF="terminal_interface-curses__adb.htm#ref_2459_14">Curses_Free_All</A></FONT>;
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_trace.3x.html">_nc_freeall()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_scr_dump.3x.html">curs_scr_dump.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_160"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1867_14" HREF="terminal_interface-curses__adb.htm#ref_2488_14">Screen_Dump_To_File</A></FONT> (<FONT COLOR=red><A NAME="ref_1867_35" HREF="terminal_interface-curses__adb.htm#ref_2488_35">Filename</A></FONT> : <b>in</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_dump()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_161"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1871_14" HREF="terminal_interface-curses__adb.htm#ref_2501_14">Screen_Restore_From_File</A></FONT> (<FONT COLOR=red><A NAME="ref_1871_40" HREF="terminal_interface-curses__adb.htm#ref_2501_40">Filename</A></FONT> : <b>in</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_restore()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_162"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1875_14" HREF="terminal_interface-curses__adb.htm#ref_2514_14">Screen_Init_From_File</A></FONT> (<FONT COLOR=red><A NAME="ref_1875_37" HREF="terminal_interface-curses__adb.htm#ref_2514_37">Filename</A></FONT> : <b>in</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_init()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_163"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1879_14" HREF="terminal_interface-curses__adb.htm#ref_2527_14">Screen_Set_File</A></FONT> (<FONT COLOR=red><A NAME="ref_1879_31" HREF="terminal_interface-curses__adb.htm#ref_2527_31">Filename</A></FONT> : <b>in</b> String);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/curs_scr_dump.3x.html">scr_set()</A></EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_print.3x.html">curs_print.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  Not implemented:  mcprint</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_printw.3x.html">curs_printw.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  Not implemented: printw,  wprintw, mvprintw, mvwprintw, vwprintw,</EM></FONT>
+   <FONT COLOR=green><EM>--                   vw_printw</EM></FONT>
+   <FONT COLOR=green><EM>--  Please use the Ada style Text_IO child packages for formatted</EM></FONT>
+   <FONT COLOR=green><EM>--  printing. It doesn't make a lot of sense to map the printf style</EM></FONT>
+   <FONT COLOR=green><EM>--  C functions to Ada.</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/curs_scanw.3x.html">curs_scanw.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  Not implemented: scanw, wscanw, mvscanw, mvwscanw, vwscanw, vw_scanw</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/resizeterm.3x.html">resizeterm.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  Not Implemented: resizeterm</EM></FONT>
+
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+   <FONT COLOR=green><EM>--  | Man page <A HREF="../man/wresize.3x.html">wresize.3x</A></EM></FONT>
+   <FONT COLOR=green><EM>--  |=====================================================================</EM></FONT>
+
+   <FONT COLOR=green><EM>--  #1A NAME="AFU_164"#2|</EM></FONT>
+   <b>procedure</b> <FONT COLOR=red><A NAME="ref_1911_14" HREF="terminal_interface-curses__adb.htm#ref_2540_14">Resize</A></FONT> (<FONT COLOR=red><A NAME="ref_1911_22" HREF="terminal_interface-curses__adb.htm#ref_2540_22">Win</A></FONT>               : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_476_13">Standard_Window</A>;
+                     <FONT COLOR=red><A NAME="ref_1912_22" HREF="terminal_interface-curses__adb.htm#ref_2541_22">Number_Of_Lines</A></FONT>   : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
+                     <FONT COLOR=red><A NAME="ref_1913_22" HREF="terminal_interface-curses__adb.htm#ref_2542_22">Number_Of_Columns</A></FONT> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>);
+   <FONT COLOR=green><EM>--  AKA: <A HREF="../man/wresize.3x.html">wresize()</A></EM></FONT>
+
+<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;
+
+   <FONT COLOR=green><EM>--  The next constants are generated and may be different on your</EM></FONT>
+   <FONT COLOR=green><EM>--  architecture.</EM></FONT>
+   <FONT COLOR=green><EM>--</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_1923_4">Sizeof_bool</A></FONT>        : <b>constant</b> Natural :=  1; <FONT COLOR=green><EM>--  bool</EM></FONT>
+   <FONT COLOR=red><A NAME="ref_1924_4">Offset_XY</A></FONT>          : <b>constant</b> Natural :=  1; <FONT COLOR=green><EM>--  int</EM></FONT>
+
+   <b>type</b> <FONT COLOR=red><A NAME="ref_1926_9">Curses_Bool</A></FONT> <b>is</b> <b>mod</b> 2 ** <A HREF="interfac__ads.htm#ref_38_9">Interfaces</A>.C.char'Size;
+   <FONT COLOR=red><A NAME="ref_1927_4">Curses_Bool_False</A></FONT> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_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>;
+</PRE></BODY></HTML>
diff --git a/doc/html/ada/terminal_interface__ads.htm b/doc/html/ada/terminal_interface__ads.htm
new file mode 100644
index 0000000..6d7cdf1
--- /dev/null
+++ b/doc/html/ada/terminal_interface__ads.htm
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<HTML><HEAD><TITLE>terminal_interface.ads</TITLE></HEAD>
+<BODY>
+<HR><DIV ALIGN="center"><H1> File : terminal_interface.ads </H1></DIV><HR>
+<PRE>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                            Terminal_Interface                            --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>--                                 S P E C                                  --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>-- Copyright (c) 1998,2006 Free Software Foundation, Inc.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></FONT>
+<FONT COLOR=green><EM>-- copy of this software and associated documentation files (the            --</EM></FONT>
+<FONT COLOR=green><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></FONT>
+<FONT COLOR=green><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></FONT>
+<FONT COLOR=green><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></FONT>
+<FONT COLOR=green><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></FONT>
+<FONT COLOR=green><EM>-- furnished to do so, subject to the following conditions:                 --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- The above copyright notice and this permission notice shall be included  --</EM></FONT>
+<FONT COLOR=green><EM>-- in all copies or substantial portions of the Software.                   --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></FONT>
+<FONT COLOR=green><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></FONT>
+<FONT COLOR=green><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></FONT>
+<FONT COLOR=green><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></FONT>
+<FONT COLOR=green><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></FONT>
+<FONT COLOR=green><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></FONT>
+<FONT COLOR=green><EM>--                                                                          --</EM></FONT>
+<FONT COLOR=green><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></FONT>
+<FONT COLOR=green><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></FONT>
+<FONT COLOR=green><EM>-- sale, use or other dealings in this Software without prior written       --</EM></FONT>
+<FONT COLOR=green><EM>-- authorization.                                                           --</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<FONT COLOR=green><EM>--  Author:  Juergen Pfeifer, 1996</EM></FONT>
+<FONT COLOR=green><EM>--  Version Control:</EM></FONT>
+<FONT COLOR=green><EM>--  @Revision: 1.14 @</EM></FONT>
+<FONT COLOR=green><EM>--  @Date: 2006/06/25 14:30:22 @</EM></FONT>
+<FONT COLOR=green><EM>--  Binding Version 01.00</EM></FONT>
+<FONT COLOR=green><EM>------------------------------------------------------------------------------</EM></FONT>
+<b>package</b> <FONT COLOR=red><A NAME="ref_42_9">Terminal_Interface</A></FONT> <b>is</b>
+   <b>pragma</b> Pure (<A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>);
+<FONT COLOR=green><EM>--</EM></FONT>
+<FONT COLOR=green><EM>--  Everything is in the child units</EM></FONT>
+<FONT COLOR=green><EM>--</EM></FONT>
+<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>;
+</PRE></BODY></HTML>
diff --git a/doc/html/announce.html b/doc/html/announce.html
new file mode 100644
index 0000000..234c703
--- /dev/null
+++ b/doc/html/announce.html
@@ -0,0 +1,588 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
+<!--
+  $Id: announce.html,v 1.52 2008/11/02 01:05:08 tom Exp $
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2008 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.                                                           *
+  ****************************************************************************
+-->
+<HTML>
+<HEAD>
+<TITLE>Announcing ncurses 5.7</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>Announcing ncurses 5.7</H1>
+
+The ncurses (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.<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>
+
+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>
+
+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>
+
+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;.
+
+<H1>Release Notes</H1>
+
+This release is designed to be upward compatible from ncurses 5.0 through 5.6;
+very few applications will require recompilation, depending on the platform.
+These are the highlights from the change-log since ncurses 5.6 release.
+<p>
+Interface changes:
+<ul>
+	<li>generate linkable stubs for some macros:
+	<br>
+	  getattrs
+
+</ul>
+New features and improvements:
+<ul>
+        <li>library
+	<ul>
+		<li>new flavor of the ncurses library provides rudimentary
+		    support for POSIX threads.  Several functions are
+		    reentrant, but most require either a window-level or
+		    screen-level mutex.<br>
+		    (This is <em>API</em>-compatible,
+		     but not <em>ABI</em>-compatible with the normal library).
+
+		<li>add <code>NCURSES_OPAQUE</code> symbol to curses.h, will
+		    use to make structs opaque in selected configurations.
+
+		<li>add <code>NCURSES_EXT_FUNCS</code> and
+		    <code>NCURSES_EXT_COLORS</code> symbols to curses.h to make
+		    it simpler to tell if the extended functions and/or colors
+		    are declared.
+
+		<li>add wresize() to C++ binding 
+
+		<li>eliminate fixed-buffer vsprintf() calls in C++ binding.
+
+		<li>add several functions to C++ binding which wrap C functions
+		    that pass a WINDOW* parameter.
+
+		<li>adapt mouse-handling code from menu library in form-library
+
+		<li>improve tracing for form library, showing created forms,
+		    fields, etc.
+
+		<li>make $NCURSES_NO_PADDING feature work for termcap interface .
+
+		<li>add check to trace-file open, if the given name is a
+		    directory, add ".log" to the name and try again.
+
+		<li>several new manpages:  curs_legacy.3x, curs_memleaks.3x,
+		    curs_opaque.3x and curs_threads.3x
+	</ul>
+
+        <li>programs:
+	<ul>
+		<li>modified three test-programs to demonstrate the threading
+		    support in this version: ditto, rain, worm.
+
+		<li>several new test-programs: demo_panels, dots_mvcur,
+		    inch_wide, inchs, key_name, key_names, savescreen,
+		    savescreen.sh test_arrays, test_get_wstr, test_getstr,
+		    test_instr, test_inwstr and test_opaque.
+
+		<li>add <code>adacurses-config</code> to the Ada95 install.
+
+		<li>modify tic <code>-f</code> option to format spaces as
+		    <code>\s</code> to prevent them from being lost when that
+		    is read back in unformatted strings.
+
+		<li>The <code>tack</code> program is now distributed separately
+		    from ncurses.
+	</ul>
+
+	<li>terminal database
+	<ul>
+	    <li>added entries:
+		<ul>
+		<li><code>Eterm-256color</code>,
+		    <code>Eterm-88color</code> and
+		    <code>rxvt-88color</code>
+		<li><code>aterm</code>
+		<li><code>konsole-256color</code>
+		<li><code>mrxvt</code>
+		<li><code>screen.mlterm</code>
+		<li><code>screen.rxvt</code>
+		<li><code>teraterm4.59</code> is now the primary primary
+		    teraterm entry, renamed original to
+		    <code>teraterm2.3</code>
+		<li><code>9term</code> terminal
+		<li>Newbury Data entries
+		</ul>
+	    <li>updated/improved entries:
+		<ul>
+	        <li><code>gnome</code> to version 2.22.3
+		<li><code>h19</code>, <code>z100</code>
+		<li><code>konsole</code> to version 1.6.6
+		<li><code>mlterm</code>, <code>mlterm+pcfkeys</code>
+		<li><code>xterm</code>, and building-blocks for function-keys
+		    to <a href="http://invisible-island.net/xterm/xterm.log.html#xterm_230">xterm patch #230</a>.
+		</ul>
+	</ul>
+</ul>
+Major bug fixes:
+<ul>
+	<li>add logic to tic for cancelling strings in user-defined
+	    capabilities
+	    (this is <em>needed</em> for
+	     current <code>konsole</code> terminfo entry).
+
+	<li>modify <code>mk-1st.awk</code> so the generated makefile rules for
+	    linking or installing shared libraries do not first remove the
+	    library, in case it is in use, e.g., <code>libncurses.so</code> by
+	    <code>/bin/sh</code>.
+
+	<li>correct check for notimeout() in wgetch().
+
+	<li>fix a sign-extension bug in infocmp's repair_acsc() function.
+
+	<li>change winnstr() to stop at the end of the line.
+
+	<li>make Ada95 demo_panels() example work.
+
+	<li>fix for adding a non-spacing character at the beginning of a line.
+
+	<li>fill in extended-color pair to make colors work
+	    for wide-characters using extended-colors.
+
+	<li>improve refresh of window on top of multi-column characters,
+	    taking into account split characters on left/right window
+	    boundaries.
+
+	<li>modify <code>win_wchnstr()</code> to ensure that only a base cell
+	    is returned for each multi-column character.
+
+	<li>improve <code>waddch()</code> and <code>winsch()</code> handling of
+	    EILSEQ from <code>mbrtowc()</code> by using <code>unctrl()</code>
+	    to display illegal bytes rather than trying to append further bytes
+	    to make up a valid sequence.
+
+	<li>restore <code>curs_set()</code> state after
+	    <code>endwin()</code>/<code>refresh()</code>
+
+	<li>modify <code>keyname()</code> to use "^X" form only if
+	    <code>meta()</code> has been called, or if <code>keyname()</code>
+	    is called without initializing curses, e.g., via
+	    <code>initscr()</code> or <code>newterm()</code>.
+
+	<li>modify <code>unctrl()</code> to check codes in 128-255 range versus
+	    <code>isprint()</code>.
+	    If they are not printable, and locale was set, use a "M-" or "~"
+	    sequence.
+
+	<li>improve <code>resizeterm()</code> by moving ripped-off lines, and
+	    repainting the soft-keys.
+
+	<li>modify form library to accept control characters such as newline
+	    in set_field_buffer(), which is compatible with Solaris.
+
+	<li>use <code>NCURSES_MOUSE_MASK()</code> in definition of
+	    <code>BUTTON_RELEASE()</code>, etc., to make those work properly
+	    with the <code>--enable-ext-mouse</code> configuration
+
+	<li>correct some functions in Ada95 binding which were using return
+	    value from C where none was returned.
+
+	<li>reviewed/fixed issues reported by Coverity and Klocwork tools.
+</ul>
+
+Portability:
+<ul>
+        <li>configure script:
+          <ul>
+          <li>new options:
+            <dl>
+
+	    <dt>--disable-big-strings
+	    <dd>control whether static string tables are generated as single
+	        large strings (to improve startup performance), or as array
+		of individual strings.
+
+	    <dt>--disable-relink
+	    <dd>control whether shared libraries are relinked (during install)
+		when rpath is enabled.
+
+	    <dt>--disable-tic-depends
+	    <dd>make explicit whether tic library depends on ncurses/ncursesw
+	        library.
+
+	    <dt>--enable-mixed-case
+	    <dd>override the configure script's check if the filesystem
+		supports mixed-case filenames.
+	        This allows one to control how the terminal database
+		maps to the filesystem.
+		For filesystems that do not support mixed-case, the library
+		uses generate 2-character (hexadecimal) codes for the
+		lower-level of the filesystem terminfo database
+
+	    <dt>--enable-reentrant
+	    <dd>builds a different flavor of the ncurses library (ncursest)
+	        which improves reentrant use of the
+		library by reducing global and static variables
+	        (see the "--with-pthread" option for the threaded support).
+
+	    <dt>--enable-weak-symbols
+	    <dd>use weak-symbols for linking to the POSIX thread library,
+	        and use the same soname for the ncurses shared library
+		as the normal library (caveat: the ABI is for the threaded
+		library, which makes global data accessed via functions).
+
+	    <dt>--with-pthread
+	    <dd>build with the POSIX thread library (tested with AIX,
+	        Linux, FreeBSD, OpenBSD, HPUX, IRIX64, Solaris, Tru64).
+
+	    <dt>--with-ticlib
+	    <dd>build/install the tic-support functions in a separate library
+
+            </dl>
+
+	  <li>improved options:
+	    <dl>
+
+	    <dt>--enable-ext-colors
+	    <dd>requires the wide-character configuration.
+
+	    <dt>--with-chtype
+	    <dd>ignore option value "unsigned" is always added to
+		the type in curses.h; do the same for --with-mmask-t.
+
+	    <dt>--with-dmalloc
+	    <dd>build-fix for redefinition of <code>strndup</code>.
+
+	    <dt>--with-hashed-db
+	    <dd>accepts a parameter which is the install-prefix of a given
+	        Berkeley Database.
+
+	    <dt>--with-hashed-db
+	    <dd>the $LIBS environment variable overrides the search for the db
+		library.
+
+	    <dt>--without-hashed-db
+	    <dd>assumed when "--disable-database" is used.
+
+	    </dl>
+
+	</ul>
+
+	<li>other configure/build issues:
+	  <ul>
+	  <li>build-fixes for LynxOS
+	  <li>modify shared-library rules to allow FreeBSD 3.x to use rpath.
+	  <li>build-fix for FreeBSD "contemporary" TTY interface.
+	  <li>build-fixes for AIX with libtool.
+	  <li>build-fixes for Darwin and libtool.
+	  <li>modify BeOS-specific ifdef's to build on Haiku.
+	  <li>corrected gcc options for building shared libraries on Solaris
+	      and IRIX64.
+	  <li>change shared-library configuration for OpenBSD, make rpath work.
+	  <li>build-fixes for using libutf8, e.g., on OpenBSD 3.7
+	  <li>add "-e" option in ncurses/Makefile.in when generating source-files
+	      to force earlier exit if the build environment fails unexpectedly.
+	  <li>add support for shared libraries for QNX.
+	  <li>change delimiter in <code>MKlib_gen.sh</code> from '%' to '@', to
+	      avoid substitution by IBM xlc to '#' as part of its extensions to
+	      digraphs.
+	</ul>
+
+	<li>library:
+	<ul>
+	<li>rewrite wrapper for <code>wcrtomb()</code>, making it work on
+	    Solaris.  This is used in the form library to determine the length
+	    of the buffer needed by <code>field_buffer</code>.
+	<li>add/use configure script macro CF_SIG_ATOMIC_T, use the corresponding
+	    type for data manipulated by signal handlers.
+	<li>set locale in misc/ncurses-config.in since it uses a range
+	<li>disable GPM mouse support when $TERM does not happen to contain
+	    "linux", since Gpm_Open() no longer limits its assertion to terminals
+	    that it might handle, e.g., within "screen" in xterm.
+	<li>reset mouse file-descriptor when unloading GPM library.
+	</ul>
+
+	<li>test programs:
+	<ul>
+	<li>update test programs to build/work with various UNIX curses for
+	    comparisons.
+	</ul>
+</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>Full support for SVr4 curses features including keyboard mapping, color,
+forms-drawing with ACS characters, and automatic recognition of keypad
+and function keys.
+<LI>An emulation of the SVr4 panels library, supporting
+a stack of windows with backing store, is included.
+<LI>An emulation of the SVr4 menus library, supporting
+a uniform but flexible interface for menu programming, is included.
+<LI>An emulation of the SVr4 form library, supporting
+data collection through on-screen forms, is included.
+<LI>Binary terminfo entries generated by the ncurses tic(1) implementation
+are bit-for-bit-compatible with the entry format SVr4 curses uses.
+<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.</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>Unlike SVr3 curses, ncurses can write to the rightmost-bottommost corner
+of the screen if your terminal has an insert-character capability.
+<LI>Ada95 and C++ bindings.
+<LI>Support for mouse event reporting with X Window xterm
+and FreeBSD and OS/2 console windows.
+<LI>Extended mouse support via Alessandro Rubini's gpm package.
+<LI>The function <CODE>wresize()</CODE> allows you to resize windows, preserving
+their data.
+<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>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>Support for 256-color terminals, such as modern xterm, when configured
+using the <code>--enable-ext-colors</code> option.
+<LI>Support for 16-color terminals, such as aixterm and modern xterm.
+<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>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 quickch() routine.
+<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>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>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>A BSD-like tset(1) utility is provided.
+<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>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>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>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>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>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>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>An HTML "Introduction to Programming with NCURSES" document provides
+a narrative introduction to the curses programming interface.
+</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):
+<DL>
+<DT> cdk
+<DD> Curses Development Kit
+<br>
+<A HREF="http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</A>
+<br>
+<A HREF="http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a>
+<DT> ded
+<DD> directory-editor
+<br>
+<A HREF="http://invisible-island.net/ded/">http://invisible-island.net/ded/</A>
+<DT> dialog
+<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>
+<DT> lynx
+<DD> the character-screen WWW browser
+<br>
+<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release/</A>
+<DT> Midnight Commander
+<DD> file manager
+<br>
+<A HREF="http://www.ibiblio.org/mc/">http://www.ibiblio.org/mc/</A>
+<DT> mutt
+<DD> mail utility
+<br>
+<A HREF="http://www.mutt.org/">http://www.mutt.org/</A>
+<DT> ncftp
+<DD> file-transfer utility
+<br>
+<A HREF="http://www.ncftp.com/">http://www.ncftp.com/</A>
+<DT> nvi
+<DD> New vi versions 1.50 are able to use ncurses versions 1.9.7 and later.
+<br>
+<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>
+<br>
+<DT> pinfo
+<DD> Lynx-like info browser.
+<A HREF="https://alioth.debian.org/projects/pinfo/">https://alioth.debian.org/projects/pinfo/</A>
+<DT> tin
+<DD> newsreader, supporting color, MIME
+<A HREF="http://www.tin.org/">http://www.tin.org/</A>
+</DL>
+as well as some that use ncurses for the terminfo support alone:
+<DL>
+<DT> minicom
+<DD> terminal emulator
+<br>
+<A HREF="http://alioth.debian.org/projects/minicom/">
+http://alioth.debian.org/projects/minicom/</A>
+<DT> vile
+<DD> vi-like-emacs
+<br>
+<A HREF="http://invisible-island.net/vile/">http://invisible-island.net/vile/</A>
+</DL>
+<P>
+
+The ncurses distribution includes a selection of test programs (including
+a few games).
+
+<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. Raymond
+continued development.
+J&uuml;rgen Pfeifer wrote most of the form and menu libraries.
+Ongoing work is being 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>.
+<P>
+
+To join the ncurses mailing list, please write email to
+<CODE>bug-ncurses-request@gnu.org</CODE> containing the line:
+<PRE>
+             subscribe &lt;name&gt;@&lt;host.domain&gt;
+</PRE>
+
+This list is open to anyone interested in helping with the development and
+testing of this package.<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;.
+
+<H2>Future Plans</H2>
+<UL>
+<LI>Extended-level XPG4 conformance, with internationalization support.
+<LI>Ports to more systems, including DOS and Windows.
+</UL>
+We need people to help with these projects.  If you are interested in working
+on them, please join the ncurses list.
+
+<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 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.<P>
+
+You can find lots of information on terminal-related topics
+not covered in the terminfo file at
+<A HREF="http://www.cs.utk.edu/~shuford/terminal_index.html">Richard Shuford's
+archive</A>&nbsp;.
+</BODY>
+</HTML>
+<!--
+# The following sets edit modes for GNU EMACS
+# Local Variables:
+# mode:html
+# case-fold-search:nil
+# fill-column:70
+# End:
+-->
diff --git a/doc/html/hackguide.html b/doc/html/hackguide.html
new file mode 100644
index 0000000..97d1369
--- /dev/null
+++ b/doc/html/hackguide.html
@@ -0,0 +1,914 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
+<!--
+  $Id: hackguide.html,v 1.27 2005/12/24 15:37:13 tom Exp $
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2005 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.                                                           *
+  ****************************************************************************
+-->
+<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">
+<!--
+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>
+
+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>
+             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>
diff --git a/doc/html/index.html b/doc/html/index.html
new file mode 100644
index 0000000..cb2a90d
--- /dev/null
+++ b/doc/html/index.html
@@ -0,0 +1,57 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
+<!--
+  $Id: index.html,v 1.2 2006/04/22 22:29:12 tom Exp $
+  ****************************************************************************
+  * Copyright (c) 1998-2000,2006 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.                                                           *
+  ****************************************************************************
+-->
+<HTML>
+<HEAD>
+<TITLE>Welcome to ncurses</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+</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> to ncurses.</LI>
+</UL><P>
+We also have HTML versions of all the ncurses <a href="man">manpages</a>.
+</BODY>
+</HTML>
+<!--
+# The following sets edit modes for GNU EMACS
+# Local Variables:
+# mode:html
+# case-fold-search:nil
+# fill-column:70
+# End:
+-->
diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html
new file mode 100644
index 0000000..91b3150
--- /dev/null
+++ b/doc/html/man/captoinfo.1m.html
@@ -0,0 +1,226 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: captoinfo.1m,v 1.22 2007/06/02 20:40:07 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>captoinfo 1m</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>captoinfo 1m</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</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>DESCRIPTION</H2><PRE>
+       <STRONG>captoinfo</STRONG> looks in <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> 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 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.
+
+       <STRONG>-w</STRONG>   change the output to <EM>width</EM> characters.
+
+
+</PRE>
+<H2>FILES</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.
+
+
+       Nonstd   Std    From           Terminfo
+        name    name                 capability
+       -----------------------------------------------
+       BO       mr     AT&amp;T    enter_reverse_mode
+       CI       vi     AT&amp;T    cursor_invisible
+       CV       ve     AT&amp;T    cursor_normal
+       DS       mh     AT&amp;T    enter_dim_mode
+       EE       me     AT&amp;T    exit_attribute_mode
+       FE       LF     AT&amp;T    label_on
+       FL       LO     AT&amp;T    label_off
+       XS       mk     AT&amp;T    enter_secure_mode
+       EN       @7     XENIX   key_end
+       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
+       KB       F1     Tek     key_f11
+       KC       F2     Tek     key_f12
+       KD       F3     Tek     key_f13
+       KE       F4     Tek     key_f14
+       KF       F5     Tek     key_f15
+       BC       Sb     Tek     set_background
+       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:
+
+
+       Cap          Graphic
+       -----------------------------
+       G2    upper left
+       G3    lower left
+       G1    upper right
+       G4    lower right
+       GR    pointing right
+       GL    pointing left
+       GU    pointing up
+       GD    pointing down
+       GH    horizontal line
+       GV    vertical line
+       GC    intersection
+       G6    upper left
+       G7    lower left
+       G5    upper right
+       G8    lower right
+       Gr    tee pointing right
+       Gr    tee pointing left
+       Gu    tee pointing up
+       Gd    tee pointing down
+       Gh    horizontal line
+       Gv    vertical line
+       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.
+
+       IBM's AIX has a terminfo facility descended from SVr1 ter-
+       minfo but incompatible with the SVr4 format. The following
+       AIX extensions are automatically translated:
+
+        IBM    XSI
+       -------------
+       ksel    kslt
+       kbtab   kcbt
+       font0   s0ds
+       font1   s1ds
+       font2   s2ds
+       font3   s3ds
+
+       Additionally, the AIX <EM>box1</EM> capability  will  be  automati-
+       cally translated to an <EM>acsc</EM> 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.
+
+
+</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>.
+
+       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.
+
+
+</PRE>
+<H2>SEE ALSO</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.6 (patch 20081011).
+
+
+</PRE>
+<H2>AUTHOR</H2><PRE>
+       Eric S. Raymond &lt;esr@snark.thyrsus.com&gt;
+
+
+
+                                                          <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html
new file mode 100644
index 0000000..22661b5
--- /dev/null
+++ b/doc/html/man/clear.1.html
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2000,2006 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: clear.1,v 1.6 2006/12/24 18:07:53 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>clear 1</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>clear 1</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>clear</STRONG> - clear the terminal screen
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>clear</STRONG>
+
+
+</PRE>
+<H2>DESCRIPTION</H2><PRE>
+       <STRONG>clear</STRONG> clears your screen if this is possible.  It looks in
+       the environment for the terminal type and then in the <STRONG>ter-</STRONG>
+       <STRONG>minfo</STRONG> database to figure out how to clear the screen.
+
+       <STRONG>clear</STRONG>  ignores  any  command-line  parameters  that may be
+       present.
+
+
+</PRE>
+<H2>SEE ALSO</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.6 (patch 20081011).
+
+
+
+                                                               <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_add_wch.3x.html b/doc/html/man/curs_add_wch.3x.html
new file mode 100644
index 0000000..af7c895
--- /dev/null
+++ b/doc/html/man/curs_add_wch.3x.html
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2001-2002,2006 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: curs_add_wch.3x,v 1.6 2006/12/24 15:22:22 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_add_wch 3x</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>curs_add_wch 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>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:
+
+       -    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.
+
+       -    If  <EM>wch</EM> refers to a non-spacing character, all previ-
+            ous characters at that location are  preserved.   The
+            non-spacing  characters of <EM>wch</EM> are added to the spac-
+            ing complex character, and the rendition specified by
+            <EM>wch</EM> is ignored.
+
+       -    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.
+
+
+</PRE>
+<H2>RETURN VALUES</H2><PRE>
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+       success.
+
+
+</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.
+
+
+</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.
+
+       XSI  documents  constants  beginning  with <STRONG>WACS_</STRONG> which are
+       used for line-drawing.  Those  are  not  currently  imple-
+       mented in <STRONG>ncurses</STRONG>.
+
+
+</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><A HREF="putwc.3.html">putwc(3)</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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_add_wchstr.3x.html b/doc/html/man/curs_add_wchstr.3x.html
new file mode 100644
index 0000000..11d93b1
--- /dev/null
+++ b/doc/html/man/curs_add_wchstr.3x.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2002-2004,2005 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: curs_add_wchstr.3x,v 1.6 2005/01/02 01:28:49 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_add_wchstr 3x</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>curs_add_wchstr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>add_wchnstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wadd_wchstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</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>
+       <STRONG>int</STRONG> <STRONG>mvadd_wchstr(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> <STRONG>mvadd_wchnstr(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>
+       <STRONG>int</STRONG> <STRONG>mvwadd_wchstr(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> <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 routines copy the array of complex characters <EM>wchstr</EM>
+       into  the  window image structure at and after the current
+       cursor position.  The four routines 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  routines  work
+       faster than <STRONG>waddnstr</STRONG>.  On the other hand, they do not per-
+       form checking (such as for the newline, backspace, or car-
+       riage  return characters), they do not advance the current
+       cursor position, they do not expand other control  charac-
+       ters  to  ^-escapes,  and  they  truncate the string if it
+       crosses the right margin, rather than wrapping  it  around
+       to the new line.
+
+       These  routines  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>NOTES</H2><PRE>
+       All functions except <STRONG>wadd_wchnstr</STRONG> may be macros.
+
+
+</PRE>
+<H2>RETURN VALUES</H2><PRE>
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+       success.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+       All these entry points are described  in  the  XSI  Curses
+       standard, Issue 4.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_addch.3x.html b/doc/html/man/curs_addch.3x.html
new file mode 100644
index 0000000..162532c
--- /dev/null
+++ b/doc/html/man/curs_addch.3x.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: curs_addch.3x,v 1.27 2007/06/02 20:40:07 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_addch 3x</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>curs_addch 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>addch(const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvaddch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwaddch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+       <STRONG>int</STRONG> <STRONG>echochar(const</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+       <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><A HREF="stdio.3.html">stdio(3)</A></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.
+
+       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
+       nomenclature.
+
+
+       <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>
+<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.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       Note  that  <STRONG>addch</STRONG>,  <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be
+       macros.
+
+
+</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.
+
+       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  <STRONG>TABSIZE</STRONG>  variable  is implemented in some versions of
+       curses, but is not part of X/Open curses.
+
+       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>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="putc.3.html">putc(3)</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>
+</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/curs_addchstr.3x.html b/doc/html/man/curs_addchstr.3x.html
new file mode 100644
index 0000000..2d342f5
--- /dev/null
+++ b/doc/html/man/curs_addchstr.3x.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_addchstr.3x,v 1.12 2006/12/02 17:02:45 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_addchstr 3x</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>curs_addchstr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>addchstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
+       <STRONG>int</STRONG> <STRONG>addchnstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvaddchstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvaddchnstr(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>
+       <STRONG>int</STRONG> <STRONG>mvwaddchstr(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>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 routines copy <EM>chstr</EM> into the window image  structure
+       at  and  after the current cursor position.  The four rou-
+       tines 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 string is copied, to the maximum number  of  charac-
+       ters that will fit on the line.
+
+       The window cursor is <EM>not</EM> advanced, and these routines work
+       faster than <STRONG>waddnstr</STRONG>.  On the other hand, they do not per-
+       form  any  kind  of  checking  (such  as  for the newline,
+       backspace, or carriage return characters), they do not ad-
+       vance the current cursor position, they do not expand oth-
+       er control characters to ^-escapes, and they truncate  the
+       string  if  it crosses the right margin, rather than wrap-
+       ping it around to the new line.
+
+
+</PRE>
+<H2>RETURN VALUES</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.
+
+       X/Open  does not define any error conditions.  This imple-
+       mentation returns an error if the window pointer is  null.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       Note that all routines 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>SEE ALSO</H2><PRE>
+       <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>.
+
+
+
+                                                      <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_addstr.3x.html b/doc/html/man/curs_addstr.3x.html
new file mode 100644
index 0000000..ccc93a3
--- /dev/null
+++ b/doc/html/man/curs_addstr.3x.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2005 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: curs_addstr.3x,v 1.13 2005/05/15 16:17:14 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_addstr 3x</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>curs_addstr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>addnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvaddstr(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><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvaddnstr(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><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwaddstr(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><STRONG>);</STRONG>
+       <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 routines write the characters of the (null-terminat-
+       ed) character string <EM>str</EM> on the given window.  It is simi-
+       lar  to  calling  <STRONG>waddch</STRONG>  once  for  each character in the
+       string.  The four routines with <EM>n</EM>  as  the  last  argument
+       write  at  most <EM>n</EM> characters.  If <EM>n</EM> is -1, then the entire
+       string will be added, up to the maximum number of  charac-
+       ters  that  will  fit  on the line, or until a terminating
+       null is reached.
+
+
+</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.
+
+       X/Open does not define any error conditions.  This  imple-
+       mentation  returns  an error if the window pointer is null
+       or if the string pointer is null or if  the  corresponding
+       calls to <STRONG>waddch</STRONG> return an error.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       Note  that  all  of  these  routines  except  <STRONG>waddstr</STRONG>  and
+       <STRONG>waddnstr</STRONG> may be macros.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+       All these entry points are described  in  the  XSI  Curses
+       standard,  Issue  4.  The XSI errors EILSEQ and EOVERFLOW,
+       associated with extended-level conformance,  are  not  yet
+       detected.
+
+
+</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>
+</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/curs_addwstr.3x.html b/doc/html/man/curs_addwstr.3x.html
new file mode 100644
index 0000000..e0bd724
--- /dev/null
+++ b/doc/html/man/curs_addwstr.3x.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2002-2005,2006 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: curs_addwstr.3x,v 1.7 2006/02/25 20:59:08 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_addwstr 3x</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>curs_addwstr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>addnwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>waddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</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>
+       <STRONG>int</STRONG> <STRONG>mvaddwstr(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> <STRONG>mvaddnwstr(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>
+       <STRONG>int</STRONG> <STRONG>mvwaddwstr(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> <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 routines write the characters of the (null-terminat-
+       ed) <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>.
+
+       The <EM>mv</EM> routines perform cursor movement once, before writ-
+       ing any characters.  Thereafter, the cursor is advanced as
+       a side-effect of writing to the window.
+
+       The  four  routines  with  <EM>n</EM> as the last argument write at
+       most <EM>n</EM> <STRONG>wchar_t</STRONG> characters.  If <EM>n</EM> is -1,  then  the  entire
+       string  will be added, up to the maximum number of charac-
+       ters that will fit on the line,  or  until  a  terminating
+       null is reached.
+
+
+</PRE>
+<H2>RETURN VALUES</H2><PRE>
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on
+       success.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       Note that all of these routines except  <STRONG>waddnwstr</STRONG>  may  be
+       macros.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+       All  these  entry  points  are described in the XSI Curses
+       standard, Issue 4.
+
+
+</PRE>
+<H2>SEE ALSO</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>
+</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/curs_attr.3x.html b/doc/html/man/curs_attr.3x.html
new file mode 100644
index 0000000..9a7b2a4
--- /dev/null
+++ b/doc/html/man/curs_attr.3x.html
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: curs_attr.3x,v 1.31 2007/03/17 20:30:33 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_attr 3x</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>curs_attr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>standend(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*win);</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>
+
+
+</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>.
+
+
+        <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_CHARTEXT</STRONG>      Bit-mask to extract a character
+        <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG>   Color-pair number <EM>n</EM>
+
+       The following macro is the reverse of <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</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>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
+       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>).
+
+       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>.
+
+       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.
+
+
+        <STRONG>WA_NORMAL</STRONG>       Normal display (no highlight)
+        <STRONG>WA_STANDOUT</STRONG>     Best highlighting mode of the terminal.
+        <STRONG>WA_UNDERLINE</STRONG>    Underlining
+        <STRONG>WA_REVERSE</STRONG>      Reverse video
+        <STRONG>WA_BLINK</STRONG>        Blinking
+        <STRONG>WA_DIM</STRONG>          Half bright
+        <STRONG>WA_BOLD</STRONG>         Extra bright or bold
+        <STRONG>WA_ALTCHARSET</STRONG>   Alternate character set
+
+       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.
+
+       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)  which  this
+       implementation does not yet support.
+
+
+</PRE>
+<H2>RETURN VALUE</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.
+
+
+</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_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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_beep.3x.html b/doc/html/man/curs_beep.3x.html
new file mode 100644
index 0000000..271acc1
--- /dev/null
+++ b/doc/html/man/curs_beep.3x.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2005 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: curs_beep.3x,v 1.10 2005/01/08 17:55:51 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_beep 3x</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>curs_beep 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>beep</STRONG>, <STRONG>flash</STRONG> - <STRONG>curses</STRONG> bell and screen flash routines
+
+
+</PRE>
+<H2>SYNOPSIS</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>RETURN VALUE</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>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>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_bkgd.3x.html b/doc/html/man/curs_bkgd.3x.html
new file mode 100644
index 0000000..e73f90f
--- /dev/null
+++ b/doc/html/man/curs_bkgd.3x.html
@@ -0,0 +1,131 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2002,2003 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: curs_bkgd.3x,v 1.19 2003/12/27 18:50:40 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_bkgd 3x</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>curs_bkgd 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+
+
+</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
+       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.
+
+       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.
+
+              Wherever  the  former background character appears,
+              it is changed to the new background character.
+
+       The <STRONG>getbkgd</STRONG> function returns the  given  window's  current
+       background character/attribute pair.
+
+
+</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.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       Note that <STRONG>bkgdset</STRONG> and <STRONG>bkgd</STRONG> may be macros.
+
+
+</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>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>
+
+
+
+                                                          <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_bkgrnd.3x.html b/doc/html/man/curs_bkgrnd.3x.html
new file mode 100644
index 0000000..dd761b7
--- /dev/null
+++ b/doc/html/man/curs_bkgrnd.3x.html
@@ -0,0 +1,128 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2002-2004,2006 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: curs_bkgrnd.3x,v 1.3 2006/02/25 21:49:19 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_bkgrnd 3x</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>curs_bkgrnd 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>wbkgrnd(</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>void</STRONG> <STRONG>bkgrndset(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
+       <STRONG>void</STRONG> <STRONG>wbkgrndset(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>getbkgrnd(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+       <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.
+
+       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>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:
+
+              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.
+
+       The  <STRONG>getbkgrnd</STRONG> function returns the given window's current
+       background character/attribute pair via the <STRONG>wch</STRONG> pointer.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       Note that <STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be  macros.
+
+
+</PRE>
+<H2>RETURN VALUES</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>SEE ALSO</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>
+</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/curs_border.3x.html b/doc/html/man/curs_border.3x.html
new file mode 100644
index 0000000..e084827
--- /dev/null
+++ b/doc/html/man/curs_border.3x.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: curs_border.3x,v 1.19 2007/02/24 16:15:38 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_border 3x</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>curs_border 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>wborder(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>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>
+       <STRONG>int</STRONG> <STRONG>box(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>verch,</STRONG> <STRONG>chtype</STRONG> <STRONG>horch);</STRONG>
+       <STRONG>int</STRONG> <STRONG>hline(chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>whline(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>vline(chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wvline(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvhline(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwhline(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>
+       <STRONG>int</STRONG> <STRONG>mvvline(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <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:
+
+              <EM>ls</EM> - left side,
+              <EM>rs</EM> - right side,
+              <EM>ts</EM> - top side,
+              <EM>bs</EM> - bottom side,
+              <EM>tl</EM> - top left-hand corner,
+              <EM>tr</EM> - top right-hand corner,
+              <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:
+
+              <STRONG>ACS_VLINE</STRONG>,
+              <STRONG>ACS_VLINE</STRONG>,
+              <STRONG>ACS_HLINE</STRONG>,
+              <STRONG>ACS_HLINE</STRONG>,
+              <STRONG>ACS_ULCORNER</STRONG>,
+              <STRONG>ACS_URCORNER</STRONG>,
+              <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>.
+
+       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>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.
+
+
+</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.
+
+       X/Open does not define any error conditions.  This  imple-
+       mentation  returns an error 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).
+
+       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>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_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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_border_set.3x.html b/doc/html/man/curs_border_set.3x.html
new file mode 100644
index 0000000..415e810
--- /dev/null
+++ b/doc/html/man/curs_border_set.3x.html
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2002-2004,2005 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: curs_border_set.3x,v 1.6 2005/05/15 16:17:37 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_border_set 3x</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>curs_border_set 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>border_set(</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM> <STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wborder_set(</STRONG>
+          <STRONG>WINDOW</STRONG> <STRONG>*win</STRONG>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>box_set(</STRONG>
+          <STRONG>WINDOW</STRONG> <STRONG>*win</STRONG>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>verch</EM>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>horch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>hline_set(</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>whline_set(</STRONG>
+          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvhline_set(</STRONG>
+          <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwhline_set(</STRONG>
+          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>,
+          <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>vline_set(</STRONG>
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wvline_set(</STRONG>
+          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvvline_set(</STRONG>
+          <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>,
+          <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwvline_set(</STRONG>
+          <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>,
+          <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>,
+          <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:
+              <EM>ls</EM> - left side,
+              <EM>rs</EM> - right side,
+              <EM>ts</EM> - top side,
+              <EM>bs</EM> - bottom side,
+              <EM>tl</EM> - top left-hand corner,
+              <EM>tr</EM> - top right-hand corner,
+              <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:
+              <STRONG>WACS_VLINE</STRONG>,
+              <STRONG>WACS_VLINE</STRONG>,
+              <STRONG>WACS_HLINE</STRONG>,
+              <STRONG>WACS_HLINE</STRONG>,
+              <STRONG>WACS_ULCORNER</STRONG>,
+              <STRONG>WACS_URCORNER</STRONG>,
+              <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>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>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.
+
+
+</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>RETURN VALUES</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.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">ncurses(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>
+</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/curs_clear.3x.html b/doc/html/man/curs_clear.3x.html
new file mode 100644
index 0000000..86bb486
--- /dev/null
+++ b/doc/html/man/curs_clear.3x.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2007 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: curs_clear.3x,v 1.11 2007/12/29 15:58:38 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_clear 3x</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>curs_clear 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#</STRONG> <STRONG>include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>erase(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>werase(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>clear(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wclear(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>clrtobot(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wclrtobot(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>clrtoeol(void);</STRONG>
+       <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.
+
+       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>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.
+
+
+</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.
+
+       X/Open  defines  no error conditions.  In this implementa-
+       tion, 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>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.
+
+       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.
+
+       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.
+
+       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.
+
+
+</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><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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_color.3x.html b/doc/html/man/curs_color.3x.html
new file mode 100644
index 0000000..684605f
--- /dev/null
+++ b/doc/html/man/curs_color.3x.html
@@ -0,0 +1,282 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2004,2005 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: curs_color.3x,v 1.28 2005/12/18 00:00:37 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_color 3x</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>curs_color 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#</STRONG> <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>pair_content(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>*f,</STRONG> <STRONG>short</STRONG> <STRONG>*b);</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:
+
+       -    The value of the first argument must be between <STRONG>1</STRONG> and
+            <STRONG>COLOR_PAIRS-1</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>COLOR_BLACK</STRONG>
+             <STRONG>COLOR_RED</STRONG>
+             <STRONG>COLOR_GREEN</STRONG>
+             <STRONG>COLOR_YELLOW</STRONG>
+             <STRONG>COLOR_BLUE</STRONG>
+             <STRONG>COLOR_MAGENTA</STRONG>
+             <STRONG>COLOR_CYAN</STRONG>
+             <STRONG>COLOR_WHITE</STRONG>
+
+
+</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_PAIR-1.  Color values used in <STRONG>init_color</STRONG> must be in the
+       range 0 to 1000.  An error is returned from all  functions
+       if the terminal has not been initialized.  An error is re-
+       turned from  secondary  functions  such  as  <STRONG>init_pair</STRONG>  if
+       <STRONG>start_color</STRONG> was not called.
+
+              <STRONG>init_color</STRONG>
+                   returns an error if the terminal does not sup-
+                   port  this  feature,  e.g.,  if  the  <EM>initial-</EM>
+                   <EM>ize</EM><STRONG>_</STRONG><EM>color</EM> capability is absent from the termi-
+                   nal description.
+
+              <STRONG>start_color</STRONG>
+                   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:
+
+       -    COLOR_YELLOW is actually brown.  To get  yellow,  use
+            COLOR_YELLOW combined with the <STRONG>A_BOLD</STRONG> attribute.
+
+       -    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).
+
+       -    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>.
+
+       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 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.
+
+       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.
+
+
+</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>default_col-</STRONG>
+       <STRONG><A HREF="default_colors.3x.html">ors(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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_delch.3x.html b/doc/html/man/curs_delch.3x.html
new file mode 100644
index 0000000..3b6562a
--- /dev/null
+++ b/doc/html/man/curs_delch.3x.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2000,2006 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: curs_delch.3x,v 1.8 2006/02/25 21:42:57 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_delch 3x</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>curs_delch 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>delch(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wdelch(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvdelch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
+       <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-
+       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>NOTES</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>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_deleteln.3x.html b/doc/html/man/curs_deleteln.3x.html
new file mode 100644
index 0000000..8e73ce5
--- /dev/null
+++ b/doc/html/man/curs_deleteln.3x.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: curs_deleteln.3x,v 1.11 2007/06/02 20:40:07 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_deleteln 3x</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>curs_deleteln 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>deleteln(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wdeleteln(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>insdelln(int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winsdelln(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>insertln(void);</STRONG>
+       <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
+       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.
+
+
+</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.
+
+       X/Open  defines  no error conditions.  In this implementa-
+       tion, 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>NOTES</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.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_extend.3x.html b/doc/html/man/curs_extend.3x.html
new file mode 100644
index 0000000..483003c
--- /dev/null
+++ b/doc/html/man/curs_extend.3x.html
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1999-2004,2006 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 1999-on
+  * @Id: curs_extend.3x,v 1.17 2006/12/24 18:01:48 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_extend 3x</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>curs_extend 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>curses_version</STRONG>,  <STRONG>use_extended_names</STRONG> - miscellaneous curses
+       extensions
+
+
+</PRE>
+<H2>SYNOPSIS</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.
+
+       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>
+<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>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>AUTHOR</H2><PRE>
+       Thomas Dickey.
+
+
+
+                                                        <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_get_wch.3x.html b/doc/html/man/curs_get_wch.3x.html
new file mode 100644
index 0000000..40a77c7
--- /dev/null
+++ b/doc/html/man/curs_get_wch.3x.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2002-2003,2006 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: curs_get_wch.3x,v 1.6 2006/02/25 21:47:06 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_get_wch 3x</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>curs_get_wch 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>wget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvget_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwget_wch(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>wch</EM><STRONG>);</STRONG>
+       <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>NOTES</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  program  may  produce
+       undesirable results.
+
+       All functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be macros.
+
+
+</PRE>
+<H2>RETURN VALUES</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>.
+
+       Upon successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>.   Other-
+       wise, the function returns <STRONG>ERR</STRONG>.
+
+
+</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>
+
+
+
+                                                       <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_get_wstr.3x.html b/doc/html/man/curs_get_wstr.3x.html
new file mode 100644
index 0000000..159cebe
--- /dev/null
+++ b/doc/html/man/curs_get_wstr.3x.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2002-2005,2006 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: curs_get_wstr.3x,v 1.6 2006/02/25 21:49:19 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_get_wstr 3x</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>curs_get_wstr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>getn_wstr(wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wget_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wgetn_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvget_wstr(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> <STRONG>mvgetn_wstr(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>
+       <STRONG>int</STRONG> <STRONG>mvwget_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> <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>.
+
+       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).
+
+       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>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 <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.
+
+
+</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.
+
+       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 VALUES</H2><PRE>
+       All of these functions return <STRONG>OK</STRONG> upon  successful  comple-
+       tion.  Otherwise, they return <STRONG>ERR</STRONG>.
+
+       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.
+
+
+</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>.
+
+       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>.
+
+
+</PRE>
+<H2>SEE ALSO</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>
+</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/curs_getcchar.3x.html b/doc/html/man/curs_getcchar.3x.html
new file mode 100644
index 0000000..b55ce1d
--- /dev/null
+++ b/doc/html/man/curs_getcchar.3x.html
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2001-2006,2008 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: curs_getcchar.3x,v 1.11 2008/05/17 19:37:05 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_getcchar 3x</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>curs_getcchar 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>getcchar(</STRONG>
+               <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>,</STRONG>
+               <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+               <STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG>
+               <STRONG>short</STRONG> <STRONG>*</STRONG><EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG>
+               <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>setcchar(</STRONG>
+               <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>,</STRONG>
+               <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>
+
+
+</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:
+
+       -    Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wcval</EM>
+
+       -    Stores  the  character  attributes  in  the  location
+            pointed to by <EM>attrs</EM>
+
+       -    Stores the color-pair in the location pointed  to  by
+            <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+
+       -    Stores  the  wide-character string, characters refer-
+            enced 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:
+
+       -    Obtains  the  number of wide characters pointed to by
+            <EM>wcval</EM>
+
+       -    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:
+
+       -    The character attributes in <EM>attrs</EM>
+
+       -    The color pair in <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+
+       -    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.
+
+            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>.
+
+       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.
+
+
+</PRE>
+<H2>RETURN VALUES</H2><PRE>
+       When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of
+       wide characters referenced by <EM>wcval</EM>.
+
+       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>.  Other-
+       wise, it returns <STRONG>ERR</STRONG>.
+
+
+</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><A HREF="wcwidth.3.html">wcwidth(3)</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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_getch.3x.html b/doc/html/man/curs_getch.3x.html
new file mode 100644
index 0000000..e7df663
--- /dev/null
+++ b/doc/html/man/curs_getch.3x.html
@@ -0,0 +1,338 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_getch.3x,v 1.30 2006/12/02 17:02:53 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_getch 3x</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>curs_getch 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+
+
+</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
+
+       Keypad is arranged like this:
+
+
+                         +-----+------+-------+
+                         | <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>
+<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.
+
+              <STRONG>ungetch</STRONG>
+                   returns an error if there is no more  room  in
+                   the FIFO.
+
+              <STRONG>wgetch</STRONG>
+                   returns  an  error  if  the  window pointer is
+                   null, or if its timeout expires without having
+                   any data.
+
+
+</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.
+
+       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.
+
+       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>.
+
+
+</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><A HREF="read.2.html">read(2)</A></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>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_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="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>.
+
+
+
+                                                         <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_getstr.3x.html b/doc/html/man/curs_getstr.3x.html
new file mode 100644
index 0000000..f5f9d07
--- /dev/null
+++ b/doc/html/man/curs_getstr.3x.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2005 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: curs_getstr.3x,v 1.15 2006/01/12 00:30:58 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_getstr 3x</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>curs_getstr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>getstr(char</STRONG> <STRONG>*str);</STRONG>
+       <STRONG>int</STRONG> <STRONG>getnstr(char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wgetstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wgetnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvgetstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwgetstr(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>mvgetnstr(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>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>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.
+
+       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.
+
+       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>.
+
+
+</PRE>
+<H2>NOTES</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>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_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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_getyx.3x.html b/doc/html/man/curs_getyx.3x.html
new file mode 100644
index 0000000..22b3aec
--- /dev/null
+++ b/doc/html/man/curs_getyx.3x.html
@@ -0,0 +1,131 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: curs_getyx.3x,v 1.16 2007/05/12 16:34:49 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_getyx 3x</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>curs_getyx 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>void</STRONG> <STRONG>getparyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
+       <STRONG>void</STRONG> <STRONG>getbegyx(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
+       <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>.
+
+       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>.
+
+       Like <STRONG>getyx</STRONG>, the <STRONG>getbegyx</STRONG> and  <STRONG>getmaxyx</STRONG>  macros  store  the
+       current  beginning  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>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>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>SEE ALSO</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>
+</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/curs_in_wch.3x.html b/doc/html/man/curs_in_wch.3x.html
new file mode 100644
index 0000000..ab4083b
--- /dev/null
+++ b/doc/html/man/curs_in_wch.3x.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2002,2006 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: curs_in_wch.3x,v 1.2 2006/02/25 21:42:22 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_in_wch 3x</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>curs_in_wch 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>mvin_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwin_wch(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>wcval</EM><STRONG>);</STRONG>
+       <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>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>NOTES</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>SEE ALSO</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>
+</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/curs_in_wchstr.3x.html b/doc/html/man/curs_in_wchstr.3x.html
new file mode 100644
index 0000000..f576286
--- /dev/null
+++ b/doc/html/man/curs_in_wchstr.3x.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2002-2005,2006 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: curs_in_wchstr.3x,v 1.6 2006/12/02 17:03:07 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_in_wchstr 3x</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>curs_in_wchstr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>in_wchnstr(cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>win_wchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>win_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvin_wchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvin_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvwin_wchstr(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><STRONG>);</STRONG>
+       <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.
+
+       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.
+
+
+</PRE>
+<H2>NOTES</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.
+
+
+</PRE>
+<H2>RETURN VALUES</H2><PRE>
+       Upon successful completion,  these  functions  return  <STRONG>OK</STRONG>.
+       Otherwise, they return <STRONG>ERR</STRONG>.
+
+
+</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>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>
+
+
+
+                                                     <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_inch.3x.html b/doc/html/man/curs_inch.3x.html
new file mode 100644
index 0000000..d601804
--- /dev/null
+++ b/doc/html/man/curs_inch.3x.html
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: curs_inch.3x,v 1.13 2006/12/02 16:58:55 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_inch 3x</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>curs_inch 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>chtype</STRONG> <STRONG>inch(void);</STRONG>
+       <STRONG>chtype</STRONG> <STRONG>winch(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>chtype</STRONG> <STRONG>mvinch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x);</STRONG>
+       <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>.
+
+       <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>NOTES</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>SEE ALSO</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_in_wch.3x.html">curs_in_wch(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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_inchstr.3x.html b/doc/html/man/curs_inchstr.3x.html
new file mode 100644
index 0000000..1b73cc3
--- /dev/null
+++ b/doc/html/man/curs_inchstr.3x.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_inchstr.3x,v 1.12 2006/12/02 17:00:58 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_inchstr 3x</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>curs_inchstr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>inchstr(chtype</STRONG> <STRONG>*chstr);</STRONG>
+       <STRONG>int</STRONG> <STRONG>inchnstr(chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winchstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winchnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>*chstr,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <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>
+
+
+</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>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).
+
+       No  error  conditions are defined.  If the <EM>chstr</EM> parameter
+       is null, no data is returned, and the return value is  ze-
+       ro.
+
+
+</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 0-ter-
+       minated; it does not document whether a length limit argu-
+       ment includes any trailing 0; and it does not document the
+       meaning of the return value.
+
+
+</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>SEE ALSO</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>.
+
+
+
+                                                       <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_initscr.3x.html b/doc/html/man/curs_initscr.3x.html
new file mode 100644
index 0000000..f5fd544
--- /dev/null
+++ b/doc/html/man/curs_initscr.3x.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2005 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: curs_initscr.3x,v 1.14 2005/05/15 16:18:01 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_initscr 3x</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>curs_initscr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+
+
+</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>RETURN VALUE</H2><PRE>
+       <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure  and  <STRONG>OK</STRONG>  upon
+       successful completion.
+
+       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.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       Note that <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> may be macros.
+
+
+</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>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_util.3x.html">curs_util(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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_inopts.3x.html b/doc/html/man/curs_inopts.3x.html
new file mode 100644
index 0000000..7eec3ed
--- /dev/null
+++ b/doc/html/man/curs_inopts.3x.html
@@ -0,0 +1,261 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2005 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: curs_inopts.3x,v 1.13 2005/05/15 16:18:07 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_inopts 3x</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>curs_inopts 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>cbreak(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>nocbreak(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>echo(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>noecho(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>halfdelay(int</STRONG> <STRONG>tenths);</STRONG>
+       <STRONG>int</STRONG> <STRONG>intrflush(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+       <STRONG>int</STRONG> <STRONG>keypad(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+       <STRONG>int</STRONG> <STRONG>meta(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+       <STRONG>int</STRONG> <STRONG>nodelay(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+       <STRONG>int</STRONG> <STRONG>raw(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>noraw(void);</STRONG>
+       <STRONG>void</STRONG> <STRONG>noqiflush(void);</STRONG>
+       <STRONG>void</STRONG> <STRONG>qiflush(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>notimeout(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>bool</STRONG> <STRONG>bf);</STRONG>
+       <STRONG>void</STRONG> <STRONG>timeout(int</STRONG> <STRONG>delay);</STRONG>
+       <STRONG>void</STRONG> <STRONG>wtimeout(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>delay);</STRONG>
+       <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><A HREF="termio.7.html">termio(7)</A></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>,
+       <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><A HREF="termio.7.html">termio(7)</A></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>
+<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,
+
+              <STRONG>halfdelay</STRONG>
+                   returns  an  error if its parameter is outside
+                   the range 1..255.
+
+
+</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.
+
+
+</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
+       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="termio.7.html">termio(7)</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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_ins_wch.3x.html b/doc/html/man/curs_ins_wch.3x.html
new file mode 100644
index 0000000..6e69d8f
--- /dev/null
+++ b/doc/html/man/curs_ins_wch.3x.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2002,2006 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: curs_ins_wch.3x,v 1.3 2006/02/25 21:42:22 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_ins_wch 3x</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>curs_ins_wch 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+
+
+</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>RETURN VALUE</H2><PRE>
+       If successful, these functions return OK.   If  not,  they
+       return ERR.
+
+
+</PRE>
+<H2>ERRORS</H2><PRE>
+       No errors are defined.
+
+
+</PRE>
+<H2>SEE ALSO</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>
+</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/curs_ins_wstr.3x.html b/doc/html/man/curs_ins_wstr.3x.html
new file mode 100644
index 0000000..3d81870
--- /dev/null
+++ b/doc/html/man/curs_ins_wstr.3x.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2002,2005 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: curs_ins_wstr.3x,v 1.4 2005/05/15 17:02:54 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_ins_wstr 3x</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>curs_ins_wstr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>ins_nwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wins_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wins_nwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</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>
+       <STRONG>int</STRONG> <STRONG>mvins_wstr(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> <STRONG>mvins_nwstr(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>
+       <STRONG>int</STRONG> <STRONG>mvwins_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>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
+       <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>NOTES</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.
+
+
+</PRE>
+<H2>RETURN VALUES</H2><PRE>
+       Upon successful completion,  these  functions  return  OK.
+       Otherwise, they return ERR.
+
+
+</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>.
+
+
+
+                                                      <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_insch.3x.html b/doc/html/man/curs_insch.3x.html
new file mode 100644
index 0000000..1ffe0ac
--- /dev/null
+++ b/doc/html/man/curs_insch.3x.html
@@ -0,0 +1,113 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2006 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: curs_insch.3x,v 1.10 2006/12/02 17:01:50 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_insch 3x</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>curs_insch 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>insch(chtype</STRONG> <STRONG>ch);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winsch(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvinsch(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>chtype</STRONG> <STRONG>ch);</STRONG>
+       <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>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>NOTES</H2><PRE>
+       These routines do not necessarily imply use of a  hardware
+       insert character 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>SEE ALSO</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>.
+
+
+
+                                                         <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_insstr.3x.html b/doc/html/man/curs_insstr.3x.html
new file mode 100644
index 0000000..4a43951
--- /dev/null
+++ b/doc/html/man/curs_insstr.3x.html
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_insstr.3x,v 1.18 2006/12/24 14:59:30 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_insstr 3x</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>curs_insstr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>winsstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winsnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <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>
+
+
+</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.
+
+       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.
+
+       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.
+
+
+</PRE>
+<H2>NOTES</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.
+
+       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.
+
+
+</PRE>
+<H2>SEE ALSO</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>
+</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/curs_instr.3x.html b/doc/html/man/curs_instr.3x.html
new file mode 100644
index 0000000..98ae39e
--- /dev/null
+++ b/doc/html/man/curs_instr.3x.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_instr.3x,v 1.13 2006/02/25 21:49:19 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_instr 3x</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>curs_instr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>instr(char</STRONG> <STRONG>*str);</STRONG>
+       <STRONG>int</STRONG> <STRONG>innstr(char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
+       <STRONG>int</STRONG> <STRONG>winnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+       <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>
+
+
+</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>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.
+
+       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.
+
+
+</PRE>
+<H2>NOTES</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.
+
+       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.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_inwstr.3x.html b/doc/html/man/curs_inwstr.3x.html
new file mode 100644
index 0000000..17e13b0
--- /dev/null
+++ b/doc/html/man/curs_inwstr.3x.html
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2002-2005,2006 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: curs_inwstr.3x,v 1.5 2006/02/25 21:20:20 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_inwstr 3x</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>curs_inwstr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+
+
+</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>.
+
+       If the size <EM>n</EM> is not large  enough  to  store  a  complete
+       character, an error is generated.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       Note that all routines except <STRONG>winnwstr</STRONG> may be macros.
+
+
+</PRE>
+<H2>RETURN VALUES</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.
+
+
+</PRE>
+<H2>SEE ALSO</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>
+</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/curs_kernel.3x.html b/doc/html/man/curs_kernel.3x.html
new file mode 100644
index 0000000..11f41d3
--- /dev/null
+++ b/doc/html/man/curs_kernel.3x.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2001,2005 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: curs_kernel.3x,v 1.15 2005/05/15 16:18:13 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_kernel 3x</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>curs_kernel 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>def_prog_mode(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>def_shell_mode(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>reset_prog_mode(void);</STRONG>
+       <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>
+
+
+</PRE>
+<H2>DESCRIPTION</H2><PRE>
+       The  following  routines  give low-level access to various
+       <STRONG>curses</STRONG> capabilities.  Theses 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 is set  to  in-
+       visible,  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 re-
+       turned; otherwise, <STRONG>ERR</STRONG> is returned.
+
+       The <STRONG>napms</STRONG> routine is used to sleep for <EM>ms</EM> milliseconds.
+
+
+</PRE>
+<H2>RETURN VALUE</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.
+
+       X/Open  defines  no error conditions.  In this implementa-
+       tion
+
+              <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>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>.
+
+       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.
+
+       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.
+
+       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.
+
+
+</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><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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_legacy.3x.html b/doc/html/man/curs_legacy.3x.html
new file mode 100644
index 0000000..d1de590
--- /dev/null
+++ b/doc/html/man/curs_legacy.3x.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2007 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: curs_legacy.3x,v 1.1 2007/04/07 23:54:29 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_legacy 3x</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>curs_legacy 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>, <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>get-</STRONG>
+       <STRONG>parx</STRONG>, <STRONG>getpary</STRONG> - get <STRONG>curses</STRONG> cursor and window coordinates
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</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>
+
+
+</PRE>
+<H2>DESCRIPTION</H2><PRE>
+       The <STRONG>getbegy</STRONG> and <STRONG>getbegx</STRONG> functions return the same data  as
+       <STRONG>getbegyx</STRONG>.
+
+       The  <STRONG>getcury</STRONG> and <STRONG>getcurx</STRONG> functions return the same data as
+       <STRONG>getyx</STRONG>.
+
+       The <STRONG>getmaxy</STRONG> and <STRONG>getmaxx</STRONG> functions return the same data  as
+       <STRONG>getmaxyx</STRONG>.
+
+       The  <STRONG>getpary</STRONG> and <STRONG>getparx</STRONG> functions return the same data as
+       <STRONG>getparyx</STRONG>.
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+       These functions return an integer, or ERR  if  the  window
+       parameter is null.
+
+
+</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.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+       These functions were supported on Version 7, BSD or System
+       V implementations.
+
+
+</PRE>
+<H2>SEE ALSO</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>
+</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/curs_mouse.3x.html b/doc/html/man/curs_mouse.3x.html
new file mode 100644
index 0000000..2309482
--- /dev/null
+++ b/doc/html/man/curs_mouse.3x.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_mouse.3x,v 1.30 2006/12/30 23:43:34 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_mouse 3x</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>curs_mouse 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <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>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>typedef</STRONG> <STRONG>unsigned</STRONG> <STRONG>long</STRONG> <STRONG>mmask_t;</STRONG>
+
+       typedef struct
+       {
+           short id;         <EM>/*</EM> <EM>ID</EM> <EM>to</EM> <EM>distinguish</EM> <EM>multiple</EM> <EM>devices</EM> <EM>*/</EM>
+           <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>y,</STRONG> <STRONG>z;</STRONG>      <EM>/*</EM> <EM>event</EM> <EM>coordinates</EM> <EM>*/</EM>
+           <STRONG>mmask_t</STRONG> <STRONG>bstate;</STRONG>   <EM>/*</EM> <EM>button</EM> <EM>state</EM> <EM>bits</EM> <EM>*/</EM>
+       <STRONG>}</STRONG>
+       <STRONG>MEVENT;</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>
+
+
+</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.
+
+       Here are the mouse event type masks which may be defined:
+
+
+       <EM>Name</EM>                     <EM>Description</EM>
+       ---------------------------------------------------------------------
+       BUTTON1_PRESSED          mouse button 1 down
+       BUTTON1_RELEASED         mouse button 1 up
+       BUTTON1_CLICKED          mouse button 1 clicked
+       BUTTON1_DOUBLE_CLICKED   mouse button 1 double clicked
+       BUTTON1_TRIPLE_CLICKED   mouse button 1 triple clicked
+       ---------------------------------------------------------------------
+       BUTTON2_PRESSED          mouse button 2 down
+       BUTTON2_RELEASED         mouse button 2 up
+       BUTTON2_CLICKED          mouse button 2 clicked
+       BUTTON2_DOUBLE_CLICKED   mouse button 2 double clicked
+       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
+       ---------------------------------------------------------------------
+       BUTTON4_PRESSED          mouse button 4 down
+       BUTTON4_RELEASED         mouse button 4 up
+       BUTTON4_CLICKED          mouse button 4 clicked
+       BUTTON4_DOUBLE_CLICKED   mouse button 4 double clicked
+       BUTTON4_TRIPLE_CLICKED   mouse button 4 triple clicked
+       ---------------------------------------------------------------------
+       BUTTON5_PRESSED          mouse button 5 down
+       BUTTON5_RELEASED         mouse button 5 up
+       BUTTON5_CLICKED          mouse button 5 clicked
+       BUTTON5_DOUBLE_CLICKED   mouse button 5 double clicked
+       BUTTON5_TRIPLE_CLICKED   mouse button 5 triple clicked
+       ---------------------------------------------------------------------
+       BUTTON_SHIFT             shift was down during button state change
+       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
+       ---------------------------------------------------------------------
+
+       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 <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.
+
+       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>
+<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,
+
+              <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>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>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.
+
+
+</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><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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_move.3x.html b/doc/html/man/curs_move.3x.html
new file mode 100644
index 0000000..25c52b4
--- /dev/null
+++ b/doc/html/man/curs_move.3x.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_move.3x,v 1.12 2006/02/25 21:49:19 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_move 3x</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>curs_move 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>move</STRONG>, <STRONG>wmove</STRONG> - move <STRONG>curses</STRONG> window cursor
+
+
+</PRE>
+<H2>SYNOPSIS</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>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.
+
+       Specifically,  they  return an error if the window pointer
+       is null, or if the position is outside the window.
+
+
+</PRE>
+<H2>NOTES</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>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_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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_opaque.3x.html b/doc/html/man/curs_opaque.3x.html
new file mode 100644
index 0000000..3e0f1ae
--- /dev/null
+++ b/doc/html/man/curs_opaque.3x.html
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2007 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: curs_opaque.3x,v 1.6 2007/09/08 18:49:13 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_opaque 3x</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>curs_opaque 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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_timeout</STRONG>, <STRONG>is_scrollok</STRONG>, <STRONG>is_syncok</STRONG>
+       - <STRONG>curses</STRONG> window properties
+
+
+</PRE>
+<H2>SYNOPSIS</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>
+       <STRONG>bool</STRONG> <STRONG>is_idcok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_idlok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_immedok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_keypad(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_leaveok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_nodelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_notimeout(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_scrollok(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>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:
+
+       <STRONG>is_cleared</STRONG>
+            returns the value set in <STRONG>clearok</STRONG>
+
+       <STRONG>is_idcok</STRONG>
+            returns the value set in <STRONG>idcok</STRONG>
+
+       <STRONG>is_idlok</STRONG>
+            returns the value set in <STRONG>idlok</STRONG>
+
+       <STRONG>is_immedok</STRONG>
+            returns the value set in <STRONG>immedok</STRONG>
+
+       <STRONG>is_keypad</STRONG>
+            returns the value set in <STRONG>keypad</STRONG>
+
+       <STRONG>is_leaveok</STRONG>
+            returns the value set in <STRONG>leaveok</STRONG>
+
+       <STRONG>is_nodelay</STRONG>
+            returns the value set in <STRONG>nodelay</STRONG>
+
+       <STRONG>is_notimeout</STRONG>
+            returns the value set in <STRONG>notimeout</STRONG>
+
+       <STRONG>is_scrollok</STRONG>
+            returns the value set in <STRONG>scrollok</STRONG>
+
+       <STRONG>is_syncok</STRONG>
+            returns the value set in <STRONG>syncok</STRONG>
+
+       <STRONG>wgetparent</STRONG>
+            returns  the parent WINDOW pointer for subwindows, or
+            NULL for windows having no parent.
+
+       <STRONG>wgetscrreg</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>NOTES</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>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>
+
+
+
+                                                        <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_outopts.3x.html b/doc/html/man/curs_outopts.3x.html
new file mode 100644
index 0000000..c8d4a06
--- /dev/null
+++ b/doc/html/man/curs_outopts.3x.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2007 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: curs_outopts.3x,v 1.21 2007/06/02 20:40:07 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_outopts 3x</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>curs_outopts 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>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.   <EM>top</EM>  and <EM>bot</EM> 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 en-
+       abled, an attempt to move off the bottom margin line caus-
+       es 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  in-
+       sert/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>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>.
+
+       X/Open 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.
+
+              <STRONG>wsetscrreg</STRONG>
+                   returns an error if the scrolling region  lim-
+                   its extend outside the window.
+
+       X/Open  does not define any error conditions.  This imple-
+       mentation returns an error if the window pointer is  null.
+
+
+</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.
+
+
+</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.
+
+       The <STRONG>immedok</STRONG> routine is useful for windows that are used as
+       terminal emulators.
+
+
+</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_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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_overlay.3x.html b/doc/html/man/curs_overlay.3x.html
new file mode 100644
index 0000000..967186c
--- /dev/null
+++ b/doc/html/man/curs_overlay.3x.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_overlay.3x,v 1.14 2006/02/25 21:49:19 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_overlay 3x</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>curs_overlay 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay and manipulate
+       overlapped <STRONG>curses</STRONG> windows
+
+
+</PRE>
+<H2>SYNOPSIS</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>
+
+
+</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.  Like 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>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>
+<H2>NOTES</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>SEE ALSO</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>
+</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/curs_pad.3x.html b/doc/html/man/curs_pad.3x.html
new file mode 100644
index 0000000..e497181
--- /dev/null
+++ b/doc/html/man/curs_pad.3x.html
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2004,2005 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: curs_pad.3x,v 1.14 2005/05/15 16:18:43 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_pad 3x</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>curs_pad 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+
+
+</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.
+       <EM>pminrow</EM>  and <EM>pmincol</EM> specify the upper left-hand corner of
+       the rectangle to be displayed in the pad.  <EM>sminrow</EM>,  <EM>smin-</EM>
+       <EM>col</EM>, <EM>smaxrow</EM>, and <EM>smaxcol</EM> specify the edges of the rectan-
+       gle to be displayed on the screen.  The  lower  right-hand
+       corner of the rectangle to be displayed in the pad is cal-
+       culated 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 treat-
+       ed 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>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.
+
+       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
+
+              <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.
+
+              <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.
+
+
+</PRE>
+<H2>NOTES</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>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>.
+
+
+
+                                                           <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_print.3x.html b/doc/html/man/curs_print.3x.html
new file mode 100644
index 0000000..15f76f9
--- /dev/null
+++ b/doc/html/man/curs_print.3x.html
@@ -0,0 +1,121 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_print.3x,v 1.8 2006/02/25 21:49:19 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_print 3x</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>curs_print 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>mcprint</STRONG> - ship binary data to printer
+
+
+</PRE>
+<H2>SYNOPSIS</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.
+
+       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.
+
+
+</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:
+
+       ENODEV
+            Capabilities for printer redirection do not exist.
+
+       ENOMEM
+            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.
+
+
+</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>BUGS</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>
+       <STRONG><A HREF="ncurses.3x.html">curses(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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_printw.3x.html b/doc/html/man/curs_printw.3x.html
new file mode 100644
index 0000000..5e88d60
--- /dev/null
+++ b/doc/html/man/curs_printw.3x.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_printw.3x,v 1.17 2006/12/24 16:05:17 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_printw 3x</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>curs_printw 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+
+
+</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><A HREF="printf.3.html">printf(3)</A></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><A HREF="printf.3.html">printf(3)</A></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>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>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>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="printf.3.html">printf(3)</A></STRONG>, <STRONG>vprintf(3)</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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_refresh.3x.html b/doc/html/man/curs_refresh.3x.html
new file mode 100644
index 0000000..e169d95
--- /dev/null
+++ b/doc/html/man/curs_refresh.3x.html
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2001,2005 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: curs_refresh.3x,v 1.12 2005/05/15 16:18:49 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_refresh 3x</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>curs_refresh 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>refresh(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wrefresh(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wnoutrefresh(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>doupdate(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>redrawwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <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>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
+
+              <STRONG>wnoutrefresh</STRONG>
+                   returns an error  if  the  window  pointer  is
+                   null, or if the window is really a pad.
+
+              <STRONG>wredrawln</STRONG>
+                   returns  an  error  if  the associated call to
+                   <STRONG>touchln</STRONG> returns an error.
+
+
+</PRE>
+<H2>NOTES</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.
+
+       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.
+
+
+</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>
+</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/curs_scanw.3x.html b/doc/html/man/curs_scanw.3x.html
new file mode 100644
index 0000000..56618ff
--- /dev/null
+++ b/doc/html/man/curs_scanw.3x.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2000,2006 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: curs_scanw.3x,v 1.14 2006/12/24 16:05:49 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_scanw 3x</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>curs_scanw 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+
+
+</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><A HREF="scanf.3.html">scanf(3)</A></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><A HREF="sscanf.3.html">sscanf(3)</A></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>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>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>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><A HREF="scanf.3.html">scanf(3)</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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_scr_dump.3x.html b/doc/html/man/curs_scr_dump.3x.html
new file mode 100644
index 0000000..8dd6321
--- /dev/null
+++ b/doc/html/man/curs_scr_dump.3x.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_scr_dump.3x,v 1.7 2006/12/24 16:05:49 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_scr_dump 3x</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>curs_scr_dump 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>scr_restore(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
+       <STRONG>int</STRONG> <STRONG>scr_init(const</STRONG> <STRONG>char</STRONG> <STRONG>*filename);</STRONG>
+       <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>RETURN VALUE</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  implementa-
+       tion,  each  will  return  an  error if the file cannot be
+       opened.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       Note  that  <STRONG>scr_init</STRONG>,  <STRONG>scr_set</STRONG>,  and  <STRONG>scr_restore</STRONG>  may  be
+       macros.
+
+
+</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>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><A HREF="system.3.html">system(3)</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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_scroll.3x.html b/doc/html/man/curs_scroll.3x.html
new file mode 100644
index 0000000..7f41572
--- /dev/null
+++ b/doc/html/man/curs_scroll.3x.html
@@ -0,0 +1,131 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_scroll.3x,v 1.13 2006/02/25 21:49:19 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_scroll 3x</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>curs_scroll 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>scroll</STRONG>, <STRONG>scrl</STRONG>, <STRONG>wscrl</STRONG> - scroll a <STRONG>curses</STRONG> window
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>scroll(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>scrl(int</STRONG> <STRONG>n);</STRONG>
+       <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.
+
+       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 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.
+
+       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>.
+
+
+</PRE>
+<H2>NOTES</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.
+
+       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.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+       The  XSI  Curses  standard,  Issue 4 describes these func-
+       tions.
+
+
+</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_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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_slk.3x.html b/doc/html/man/curs_slk.3x.html
new file mode 100644
index 0000000..e76dcc7
--- /dev/null
+++ b/doc/html/man/curs_slk.3x.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: curs_slk.3x,v 1.16 2007/06/02 20:40:07 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_slk 3x</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>curs_slk 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>slk_init</STRONG>, <STRONG>slk_set</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>SYNOPSIS</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_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_number,</STRONG> <STRONG>void*</STRONG> <STRONG>opts);</STRONG>
+       <STRONG>attr_t</STRONG> <STRONG>slk_attr(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>slk_color(short</STRONG> <STRONG>color_pair_number);</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  most  common
+       for  todays  PC  like  enduser  devices.  Please note that
+       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.  Setting <EM>fmt</EM> to <STRONG>0</STRONG>
+       indicates a 3-2-3 arrangement of the labels, <STRONG>1</STRONG> indicates a
+       4-4 arrangement and <STRONG>2</STRONG> indicates the PC like 4-4-4 mode. If
+       <STRONG>fmt</STRONG> is set to <STRONG>3</STRONG>, it 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.
+
+       The <STRONG>slk_set</STRONG> routine requires <EM>labnum</EM> to be a label  number,
+       from <STRONG>1</STRONG> to <STRONG>8</STRONG> (resp. <STRONG>12</STRONG>); <EM>label</EM> must be the string to be put
+       on the label, up  to  eight  (resp.  five)  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-justi-
+       fied, respectively, within the label.
+
+       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_label</STRONG> routine returns the current label for label
+       number <EM>labnum</EM>, with leading and trailing blanks  stripped.
+
+       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.
+
+       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).
+
+       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.
+
+
+</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.
+
+       X/Open  defines  no error conditions.  In this implementa-
+       tion
+
+              <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 soft-
+                   keys were not initialized.
+
+              <STRONG>slk_attrset</STRONG>
+                   returns an error if the terminal or the  soft-
+                   keys were not initialized.
+
+              <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.
+
+              <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.
+
+              <STRONG>slk_label</STRONG>
+                   returns <STRONG>NULL</STRONG> on error.
+
+              <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.
+
+
+</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.
+
+
+</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.
+
+
+</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_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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_termattrs.3x.html b/doc/html/man/curs_termattrs.3x.html
new file mode 100644
index 0000000..daf3a76
--- /dev/null
+++ b/doc/html/man/curs_termattrs.3x.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2007 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: curs_termattrs.3x,v 1.10 2007/06/02 20:40:07 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_termattrs 3x</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>curs_termattrs 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+       <STRONG>int</STRONG> <STRONG>baudrate(void);</STRONG>
+       <STRONG>char</STRONG> <STRONG>erasechar(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>erasewchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>has_ic(void);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>has_il(void);</STRONG>
+       <STRONG>char</STRONG> <STRONG>killchar(void);</STRONG>
+       <STRONG>int</STRONG> <STRONG>killwchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*longname(void);</STRONG>
+       <STRONG>attr_t</STRONG> <STRONG>term_attrs(void);</STRONG>
+       <STRONG>chtype</STRONG> <STRONG>termattrs(void);</STRONG>
+       <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>termattrs</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  use-
+       ful  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>RETURN VALUE</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.
+
+
+</PRE>
+<H2>NOTES</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>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><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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_termcap.3x.html b/doc/html/man/curs_termcap.3x.html
new file mode 100644
index 0000000..a245778
--- /dev/null
+++ b/doc/html/man/curs_termcap.3x.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: curs_termcap.3x,v 1.22 2007/06/02 20:40:07 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_termcap 3x</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>curs_termcap 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <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>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+       <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
+
+       <STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>PC;</STRONG>
+       <STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>UP;</STRONG>
+       <STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>BC;</STRONG>
+       <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>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.
+
+       The  <STRONG>tgetent</STRONG> routine loads the entry for <EM>name</EM>.  It returns
+       1 on success, 0 if there is no such entry, and -1  if  the
+       terminfo  database  could  not  be  found.   The emulation
+       ignores the buffer pointer <EM>bp</EM>.
+
+       The <STRONG>tgetflag</STRONG> routine gets the boolean  entry  for  <EM>id</EM>,  or
+       zero 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.
+
+       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 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.
+
+       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>tgoto</STRONG>  routine  instantiates  the parameters into the
+       given capability.  The output from this routine is  to  be
+       passed to <STRONG>tputs</STRONG>.
+
+       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.
+
+       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
+       terminal speed.
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+       Except  where  explicitly  noted,  routines that return an
+       integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4  only  speci-
+       fies  "an  integer  value other than <STRONG>ERR</STRONG>") upon successful
+       completion.
+
+       Routines that return pointers return <STRONG>NULL</STRONG> on error.
+
+
+</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
+       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 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.
+
+
+</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>.
+
+
+</PRE>
+<H2>SEE ALSO</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="putc.3.html">putc(3)</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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_terminfo.3x.html b/doc/html/man/curs_terminfo.3x.html
new file mode 100644
index 0000000..6877496
--- /dev/null
+++ b/doc/html/man/curs_terminfo.3x.html
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1999-2007,2008 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: curs_terminfo.3x,v 1.30 2008/08/16 20:53:27 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_terminfo 3x</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>curs_terminfo 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>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>
+       <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>*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>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>)(char));</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>
+
+
+</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.
+
+       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>].  The <STRONG>terminfo</STRONG> variables <STRONG>lines</STRONG> and
+       <STRONG>columns</STRONG> are initialized by <STRONG>setupterm</STRONG> as follows:
+
+              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.
+
+              Otherwise,  if  the environment variables <STRONG>LINES</STRONG> and
+              <STRONG>COLUMNS</STRONG> exist, their values are used.  If these en-
+              vironment 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>  speci-
+              fied in the <STRONG>terminfo</STRONG> database are used.
+
+       The  header  files  <STRONG>curses.h</STRONG> and <STRONG>term.h</STRONG> should be included
+       (in this order) to get the definitions for these  strings,
+       numbers,  and  flags.   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 the <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>].  Pro-
+       grams  which  use  cursor  addressing  should  output  <STRONG>en-</STRONG>
+       <STRONG>ter_ca_mode</STRONG>  upon  startup  and should output <STRONG>exit_ca_mode</STRONG>
+       before exiting.  Programs desiring  shell  escapes  should
+       call
+
+       <STRONG>reset_shell_mode</STRONG>  and output <STRONG>exit_ca_mode</STRONG> before the shell
+       is called and should output  <STRONG>enter_ca_mode</STRONG>  and  call  <STRONG>re-</STRONG>
+       <STRONG>set_prog_mode</STRONG> after returning from the shell.
+
+       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>:
+
+              <STRONG>1</STRONG>    means that the terminal is hardcopy, cannot be
+                   used for curses applications.
+
+              <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>-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
+       finding 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>std-</STRONG>
+       <STRONG>out</STRONG>.
+
+       The <STRONG>setterm</STRONG> routine is being 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 included here  for  BSD  compatibility,
+       and is not recommended for new programs.
+
+       The  <STRONG>set_curterm</STRONG>  routine  sets  the  variable <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).  It assumes that the  windows
+       and the input and output options are the same as when mem-
+       ory was saved, but the terminal type and baud rate may  be
+       different.   Accordingly, it saves various tty state bits,
+       calls <STRONG>setupterm</STRONG>, and then restores the bits.
+
+       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.
+
+       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).
+
+       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  <STRONG>tigetflag</STRONG>  routine returns the value <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 description.
+
+       The  <STRONG>tigetnum</STRONG>  routine  returns the value <STRONG>-2</STRONG> if <EM>capname</EM> is
+       not a numeric capability, or <STRONG>-1</STRONG> if it is canceled  or  ab-
+       sent from the terminal description.
+
+       The  <STRONG>tigetstr</STRONG> routine returns the value <STRONG>(char</STRONG> <STRONG>*)-1</STRONG> if <EM>cap-</EM>
+       <EM>name</EM> is not a string capability, or <STRONG>0</STRONG> if it is canceled or
+       absent from the terminal description.
+
+       The <EM>capname</EM> for each capability is given in the table col-
+       umn entitled <EM>capname</EM> code in the capabilities  section  of
+       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+              <STRONG>char</STRONG> <STRONG>*boolnames[]</STRONG>, <STRONG>*boolcodes[]</STRONG>, <STRONG>*boolfnames[]</STRONG>
+
+              <STRONG>char</STRONG> <STRONG>*numnames[]</STRONG>, <STRONG>*numcodes[]</STRONG>, <STRONG>*numfnames[]</STRONG>
+
+              <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG>
+
+       These  null-terminated  arrays  contain  the <EM>capnames</EM>, the
+       <STRONG>termcap</STRONG> codes, and the full C names, for each of the  <STRONG>ter-</STRONG>
+       <STRONG>minfo</STRONG> variables.
+
+
+</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.
+
+       Routines that return pointers always return <STRONG>NULL</STRONG> on error.
+
+       X/Open  defines  no error conditions.  In this implementa-
+       tion
+
+              <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>se-</STRONG>
+                   <STRONG>tupterm</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  conditions  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>NOTES</H2><PRE>
+       The <STRONG>setupterm</STRONG> routine should be used in place of  <STRONG>setterm</STRONG>.
+       It  may be useful when you want to test for terminal capa-
+       bilities without committing to the allocation  of  storage
+       involved in <STRONG>initscr</STRONG>.
+
+       Note that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+       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.
+
+       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.  Portable  ap-
+       plications  should  provide 9 parameters after the format;
+       zeroes are fine for this purpose.
+
+       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 ncurses 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.
+
+       Extended terminal capability names, e.g.,  as  defined  by
+       <STRONG>tic</STRONG> <STRONG>-x</STRONG>,  are  not  stored  in the arrays described in this
+       section.
+
+
+</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="putc.3.html">putc(3)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_threads.3x.html b/doc/html/man/curs_threads.3x.html
new file mode 100644
index 0000000..2a2f0fd
--- /dev/null
+++ b/doc/html/man/curs_threads.3x.html
@@ -0,0 +1,631 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2008 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: curs_threads.3x,v 1.12 2008/04/12 18:22:51 tom Exp @
+  * ***************************************************************************
+  * ***************************************************************************
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_threads 3x</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>curs_threads 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>use_screen</STRONG>, <STRONG>use_window</STRONG> - <STRONG>curses</STRONG> thread support
+
+
+</PRE>
+<H2>SYNOPSIS</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> <STRONG>type-</STRONG>
+       <STRONG>def</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_SCREEN_CB)(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</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_WINDOW_CB</STRONG>  <STRONG>func,</STRONG>  <STRONG>void</STRONG>
+       <STRONG>*data);</STRONG>
+       <STRONG>int</STRONG>  <STRONG>use_window(WINDOW</STRONG>  <STRONG>*win,</STRONG> <STRONG>NCURSES_SCREEN_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.
+
+       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.
+
+       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>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.
+
+              -  global data, e.g., used in the low-level termin-
+                 fo or termcap interfaces.
+
+              -  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.
+
+              -  screen  data,  e.g.,  associated  with a call to
+                 <EM>newterm</EM> or <EM>initscr</EM>.
+
+              -  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.
+
+              -  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
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+       These functions all return TRUE or FALSE, except as noted.
+
+
+</PRE>
+<H2>NOTES</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>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_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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_touch.3x.html b/doc/html/man/curs_touch.3x.html
new file mode 100644
index 0000000..42c0fe2
--- /dev/null
+++ b/doc/html/man/curs_touch.3x.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_touch.3x,v 1.11 2006/02/25 21:49:19 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_touch 3x</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>curs_touch 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</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>
+       <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>
+       <STRONG>int</STRONG> <STRONG>untouchwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wtouchln(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>int</STRONG> <STRONG>changed);</STRONG>
+       <STRONG>bool</STRONG> <STRONG>is_linetouched(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>line);</STRONG>
+       <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>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.
+
+       X/Open  does not define any error conditions.  In this im-
+       plementation
+
+              <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>PORTABILITY</H2><PRE>
+       The XSI Curses standard, Issue  4  describes  these  func-
+       tions.
+
+       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.
+
+
+</PRE>
+<H2>NOTES</H2><PRE>
+       Note that all routines except <STRONG>wtouchln</STRONG> may be macros.
+
+
+</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>
+</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/curs_trace.3x.html b/doc/html/man/curs_trace.3x.html
new file mode 100644
index 0000000..f24a8c8
--- /dev/null
+++ b/doc/html/man/curs_trace.3x.html
@@ -0,0 +1,175 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2000-2005,2007 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: curs_trace.3x,v 1.8 2007/02/24 17:33:49 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_trace 3x</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>curs_trace 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>_tracef</STRONG>, <STRONG>_tracedump</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>,
+       <STRONG>_nc_tracebits</STRONG>, <STRONG>_tracechar</STRONG>, <STRONG>_tracechtype</STRONG>, <STRONG>_tracechtype2</STRONG>,
+       <STRONG>_tracemouse</STRONG>, <STRONG>trace</STRONG> - <STRONG>curses</STRONG> debugging routines
+
+
+</PRE>
+<H2>SYNOPSIS</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>char</STRONG> <STRONG>*_nc_tracebits(void);</STRONG>
+       <STRONG>char</STRONG> <STRONG>*_tracechar(int);</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>
+
+
+</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>.
+
+       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
+            trace user and system times of updates.
+
+       TRACE_TPUTS
+            trace tputs calls.
+
+       TRACE_UPDATE
+            trace update actions, old &amp; new screens.
+
+       TRACE_MOVE
+            trace cursor movement and scrolling.
+
+       TRACE_CHARPUT
+            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.
+
+       TRACE_CALLS
+            trace all curses calls.  The parameters for each call
+            are traced, as well as return values.
+
+       TRACE_VIRTPUT
+            trace virtual character puts, i.e., calls to <STRONG>addch</STRONG>.
+
+       TRACE_IEVENT
+            trace low-level input processing, including timeouts.
+
+       TRACE_BITS
+            trace state of TTY control bits.
+
+       TRACE_ICALLS
+            trace internal/nested calls.
+
+       TRACE_CCALLS
+            trace per-character calls.
+
+       TRACE_DATABASE
+            trace read/write of terminfo/termcap data.
+
+       TRACE_ATTRS
+            trace changes to video attributes and colors.
+
+       TRACE_MAXIMUM
+            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.
+
+
+</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>
+<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.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_util.3x.html b/doc/html/man/curs_util.3x.html
new file mode 100644
index 0000000..981a372
--- /dev/null
+++ b/doc/html/man/curs_util.3x.html
@@ -0,0 +1,261 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2007,2008 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: curs_util.3x,v 1.26 2008/10/11 20:32:56 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_util 3x</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>curs_util 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>wunctrl</STRONG> - miscellaneous
+       <STRONG>curses</STRONG> utility routines
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</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>void</STRONG> <STRONG>filter(void);</STRONG>
+       <STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG>
+       <STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <STRONG>f);</STRONG>
+       <STRONG>int</STRONG> <STRONG>putwin(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>FILE</STRONG> <STRONG>*filep);</STRONG>
+       <STRONG>WINDOW</STRONG> <STRONG>*getwin(FILE</STRONG> <STRONG>*filep);</STRONG>
+       <STRONG>int</STRONG> <STRONG>delay_output(int</STRONG> <STRONG>ms);</STRONG>
+       <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>:
+
+          -  Printable  characters  are  displayed as themselves,
+             e.g., a one-character string containing the key.
+
+          -  Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation.
+
+          -  DEL (character 127) is displayed as <STRONG>^?</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> no-
+             tation, or are displayed as themselves.  In the lat-
+             ter case, the values may not be printable; this fol-
+             lows the X/Open specification.
+
+          -  Values above 256 may be the names of  the  names  of
+             function keys.
+
+          -  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, is called before <STRONG>initscr</STRONG>  or
+       <STRONG>newterm</STRONG>  are  called.   When called with <STRONG>FALSE</STRONG> as an argu-
+       ment, the values of <STRONG>lines</STRONG> and  <STRONG>columns</STRONG>  specified  in  the
+       <EM>terminfo</EM>  database will be used, even if environment vari-
+       ables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> (used by default) are set,  or  if
+       <STRONG>curses</STRONG>  is  running in a window (in which case default be-
+       havior would be to  use  the  window  size  if  <STRONG>LINES</STRONG>  and
+       <STRONG>COLUMNS</STRONG>  are not set).  Note that setting <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG>
+       overrides the corresponding size  which  may  be  obtained
+       from the operating system.
+
+       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>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.
+
+       Routines that return pointers return <STRONG>NULL</STRONG> on error.
+
+       X/Open does not define any error conditions.  In this  im-
+       plementation
+
+              <STRONG>flushinp</STRONG>
+                   returns  an error if the terminal was not ini-
+                   tialized.
+
+              <STRONG>putwin</STRONG>
+                   returns an  error  if  the  associated  <STRONG>fwrite</STRONG>
+                   calls return an error.
+
+
+</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:
+
+              -    the  parameter is a 7-bit US-ASCII code.  This
+                   is the case that X/Open Curses documented.
+
+              -    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 implementation permits that, and  returns
+                   the ``~@'', etc., values in that case.
+
+              -    parameter  values  outside the 0 to 255 range.
+                   <STRONG>unctrl</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 af-
+       ter curses is initialized.  X/Open Curses does  not  docu-
+       ment  the  treatment  of  codes 128 to 159.  When treating
+       them as ``meta'' keys (or if <STRONG>keyname</STRONG> is called before ini-
+       tializing  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> 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  ex-
+       tensions be conditioned 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="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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/curs_window.3x.html b/doc/html/man/curs_window.3x.html
new file mode 100644
index 0000000..da6219d
--- /dev/null
+++ b/doc/html/man/curs_window.3x.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: curs_window.3x,v 1.14 2006/02/25 21:49:19 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>curs_window 3x</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>curs_window 3x</H1>
+<HR>
+<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>
+
+
+
+
+</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>SYNOPSIS</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>
+
+
+</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>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.
+
+       Routines that return pointers return <STRONG>NULL</STRONG> on error.
+
+       X/Open defines no error conditions.  In  this  implementa-
+       tion
+
+              <STRONG>delwin</STRONG>
+                   returns  an  error  if  the  window pointer is
+                   null, or if the window is the parent of anoth-
+                   er 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>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.
+
+              <STRONG>syncok</STRONG>
+                   returns  an  error  if  the  window pointer is
+                   null.
+
+
+</PRE>
+<H2>NOTES</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
+       may result in slower updates.
+
+
+</PRE>
+<H2>PORTABILITY</H2><PRE>
+       The  XSI  Curses  standard,  Issue 4 describes these func-
+       tions.
+
+
+</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><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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/default_colors.3x.html b/doc/html/man/default_colors.3x.html
new file mode 100644
index 0000000..4c9e801
--- /dev/null
+++ b/doc/html/man/default_colors.3x.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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 1997,1999,2000,2005
+  * @Id: default_colors.3x,v 1.20 2006/12/24 15:02:53 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>default_colors 3x</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>default_colors 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's
+       default colors
+
+
+</PRE>
+<H2>SYNOPSIS</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.
+
+       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
+       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 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>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>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="ded.1.html">ded(1)</A></STRONG>.
+
+
+</PRE>
+<H2>AUTHOR</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>
+</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/define_key.3x.html b/doc/html/man/define_key.3x.html
new file mode 100644
index 0000000..0a6b54b
--- /dev/null
+++ b/doc/html/man/define_key.3x.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2004,2006 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 1997
+  * @Id: define_key.3x,v 1.12 2006/02/25 21:49:19 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>define_key 3x</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>define_key 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>define_key</STRONG> - define a keycode
+
+
+</PRE>
+<H2>SYNOPSIS</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.
+
+       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,  else  ERR  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>SEE ALSO</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>
+       Thomas Dickey.
+
+
+
+                                                         <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html
new file mode 100644
index 0000000..a2135f3
--- /dev/null
+++ b/doc/html/man/form.3x.html
@@ -0,0 +1,258 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2008 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: form.3x,v 1.22 2008/10/11 20:48:11 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form 3x</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>form 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form</STRONG> - curses extension for programming forms
+
+
+</PRE>
+<H2>SYNOPSIS</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-
+       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>.
+
+       Your program should set up the locale, e.g.,
+
+            <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
+
+       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:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine  detected  an incorrect or out-of-range argu-
+            ment.
+
+       <STRONG>E_BAD_STATE</STRONG>
+            Routine was called from an initialization or termina-
+            tion function.
+
+       <STRONG>E_CONNECTED</STRONG>
+            The field is already connected to a form.
+
+       <STRONG>E_INVALID_FIELD</STRONG>
+            Contents of a field are not valid.
+
+       <STRONG>E_NOT_CONNECTED</STRONG>
+            No fields are connected to the form.
+
+       <STRONG>E_NOT_POSTED</STRONG>
+            The form has not been posted.
+
+       <STRONG>E_NO_ROOM</STRONG>
+            Form is too large for its window.
+
+       <STRONG>E_POSTED</STRONG>
+            The form is already posted.
+
+       <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>).
+
+       <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>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>PORTABILITY</H2><PRE>
+       These routines emulate the System V forms  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</H2><PRE>
+       Juergen  Pfeifer.  Manual pages and adaptation for ncurses
+       by Eric S. Raymond.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011).
+
+
+
+                                                               <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/form_cursor.3x.html b/doc/html/man/form_cursor.3x.html
new file mode 100644
index 0000000..af34701
--- /dev/null
+++ b/doc/html/man/form_cursor.3x.html
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: form_cursor.3x,v 1.6 2006/11/04 18:50:24 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_cursor 3x</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>form_cursor 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_cursor</STRONG> - position a form window cursor
+
+
+</PRE>
+<H2>SYNOPSIS</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>RETURN VALUE</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.
+
+       <STRONG>E_NOT_POSTED</STRONG>
+            The form has not been posted.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</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>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>PORTABILITY</H2><PRE>
+       These  routines  emulate the System V forms library.  They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_data.3x.html b/doc/html/man/form_data.3x.html
new file mode 100644
index 0000000..0232996
--- /dev/null
+++ b/doc/html/man/form_data.3x.html
@@ -0,0 +1,104 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: form_data.3x,v 1.8 2006/02/25 21:38:26 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_data 3x</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>form_data 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_data</STRONG> - test for off-screen data in given forms
+
+
+</PRE>
+<H2>SYNOPSIS</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).
+
+       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>
+       <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>PORTABILITY</H2><PRE>
+       These routines emulate the System V forms  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_driver.3x.html b/doc/html/man/form_driver.3x.html
new file mode 100644
index 0000000..66eb7e6
--- /dev/null
+++ b/doc/html/man/form_driver.3x.html
@@ -0,0 +1,376 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2007,2008 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: form_driver.3x,v 1.16 2008/06/21 21:55:39 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_driver 3x</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>form_driver 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_driver</STRONG> - command-processing loop of the form system
+
+
+</PRE>
+<H2>SYNOPSIS</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:
+
+       -  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>.
+
+       -  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.
+
+       -  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.
+
+       REQ_END_FIELD
+            Move to the end of the field.
+
+       REQ_BEG_LINE
+            Move to the beginning of the line.
+
+       REQ_END_LINE
+            Move to the end of the line.
+
+       REQ_LEFT_CHAR
+            Move left in the field.
+
+       REQ_RIGHT_CHAR
+            Move right in the field.
+
+       REQ_UP_CHAR
+            Move up in the field.
+
+       REQ_DOWN_CHAR
+            Move down in the field.
+
+
+       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.
+
+   <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.
+
+       If you click above the display region of the form:
+
+              a REQ_PREV_FIELD is generated for a single click,
+
+              a REQ_PREV_PAGE is generated for a double-click and
+
+              a REQ_FIRST_FIELD is generated for a  triple-click.
+
+       If you click below the display region of the form:
+
+              a REQ_NEXT_FIELD is generated for a single click,
+
+              a REQ_NEXT_PAGE is generated for a double-click and
+
+              a REQ_LAST_FIELD is generated for a triple-click.
+
+       If you click at an field inside the display  area  of  the
+       form:
+
+              -  the form cursor is positioned to that field.
+
+              -  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 sig-
+                 nal  that an application specific command should
+                 be executed.
+
+              -  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.
+
+   <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>
+<H2>RETURN VALUE</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.
+
+       <STRONG>E_BAD_STATE</STRONG>
+            Routine was called from an initialization or termina-
+            tion function.
+
+       <STRONG>E_NOT_POSTED</STRONG>
+            The form has not been posted.
+
+       <STRONG>E_INVALID_FIELD</STRONG>
+            Contents of field is invalid.
+
+       <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>).
+
+       <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="wgetch.3x.html">wgetch(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>PORTABILITY</H2><PRE>
+       These routines emulate the System V forms  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_field.3x.html b/doc/html/man/form_field.3x.html
new file mode 100644
index 0000000..d743390
--- /dev/null
+++ b/doc/html/man/form_field.3x.html
@@ -0,0 +1,142 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2006 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: form_field.3x,v 1.8 2006/11/04 18:01:38 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_field 3x</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>form_field 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_field</STRONG> - make and break connections between fields and
+       forms
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+       int field_count(const FORM *form);
+       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>.
+
+       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>move_field</STRONG> moves the given field (which  must
+       be disconnected) to a specified location on the screen.
+
+
+</PRE>
+<H2>RETURN VALUES</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 functions <STRONG>set_form_fields</STRONG> and <STRONG>move_field</STRONG> 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.
+
+       <STRONG>E_CONNECTED</STRONG>
+            The field is already connected to a form.
+
+       <STRONG>E_POSTED</STRONG>
+            The form is already posted.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</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>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>PORTABILITY</H2><PRE>
+       These routines emulate the System V forms  library.   They
+       were not supported 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>).
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_field_attributes.3x.html b/doc/html/man/form_field_attributes.3x.html
new file mode 100644
index 0000000..54d77d9
--- /dev/null
+++ b/doc/html/man/form_field_attributes.3x.html
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2002,2006 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: form_field_attributes.3x,v 1.10 2006/11/04 18:51:26 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_field_attributes 3x</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>form_field_attributes 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_field_attributes</STRONG>  -  color  and attribute control for
+       form fields
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+       int set_field_back(FIELD *field, chtype attr);
+       chtype field_back(const FIELD *field);
+       int set_field_pad(FIELD *field, int pad);
+       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>.
+
+       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.
+
+
+</PRE>
+<H2>RETURN VALUE</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.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</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>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>PORTABILITY</H2><PRE>
+       These  routines  emulate the System V forms library.  They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_field_buffer.3x.html b/doc/html/man/form_field_buffer.3x.html
new file mode 100644
index 0000000..8e99806
--- /dev/null
+++ b/doc/html/man/form_field_buffer.3x.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: form_field_buffer.3x,v 1.14 2006/11/04 17:12:00 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_field_buffer 3x</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>form_field_buffer 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_field_buffer</STRONG> - field buffer control
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
+       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.  Buffer 0 is
+       the displayed value of the field; 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 manipulated by the
+       forms  library.   The  function  <STRONG>field_buffer</STRONG>  returns the
+       address of the buffer.  Please note that this  buffer  has
+       always  the  length  of the buffer, that means that it may
+       typically contain trailing spaces. If you entered  leading
+       spaces  the  buffer may also contain them. 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 trail-
+       ing spaces. Please note also, that  subsequent  operations
+       on  the  form  will  probably  change  the  content of the
+       buffer. So do not use it for  long  term  storage  of  the
+       entered 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_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:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine  detected  an incorrect or out-of-range argu-
+            ment.
+
+       The <STRONG>field_status</STRONG> function returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
+
+       The remaining 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>).
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine detected an incorrect or  out-of-range  argu-
+            ment.
+
+
+</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>NOTES</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_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>AUTHORS</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>
+</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/form_field_info.3x.html b/doc/html/man/form_field_info.3x.html
new file mode 100644
index 0000000..498fc29
--- /dev/null
+++ b/doc/html/man/form_field_info.3x.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: form_field_info.3x,v 1.10 2006/11/04 17:14:31 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_field_info 3x</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>form_field_info 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_field_info</STRONG> - retrieve field characteristics
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+
+
+</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.
+
+       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>
+       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>).
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine  detected  an incorrect or out-of-range argu-
+            ment.
+
+
+</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>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>PORTABILITY</H2><PRE>
+       These routines emulate the System V forms  library.   They
+       were not supported 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.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_field_just.3x.html b/doc/html/man/form_field_just.3x.html
new file mode 100644
index 0000000..507020f
--- /dev/null
+++ b/doc/html/man/form_field_just.3x.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2006 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: form_field_just.3x,v 1.9 2006/11/04 17:12:00 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_field_just 3x</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>form_field_just 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_field_just</STRONG> - retrieve field characteristics
+
+
+</PRE>
+<H2>SYNOPSIS</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>RETURN VALUE</H2><PRE>
+       The  function <STRONG>field_just</STRONG> returns one of: NO_JUSTIFICATION,
+       JUSTIFY_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>).
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine detected an incorrect or  out-of-range  argu-
+            ment.
+
+
+</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>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>PORTABILITY</H2><PRE>
+       These  routines  emulate the System V forms library.  They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_field_new.3x.html b/doc/html/man/form_field_new.3x.html
new file mode 100644
index 0000000..1a0269a
--- /dev/null
+++ b/doc/html/man/form_field_new.3x.html
@@ -0,0 +1,150 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: form_field_new.3x,v 1.16 2007/06/02 20:40:07 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_field_new 3x</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>form_field_new 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_field_new</STRONG> - create and destroy form fields
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
+       FIELD *new_field(int height, int width,
+                        int toprow, int leftcol,
+                        int offscreen, int nbuffers);
+       FIELD *dup_field(FIELD *field, int toprow, int leftcol);
+       FIELD *link_field(FIELD *field, int toprow, int leftcol);
+       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.
+
+       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>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.
+
+
+</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:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine detected an incorrect or  out-of-range  argu-
+            ment.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred, e.g., malloc failure.
+
+       The function <STRONG>free_field</STRONG> 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.
+
+       <STRONG>E_CONNECTED</STRONG>
+            field is connected.
+
+
+</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>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>PORTABILITY</H2><PRE>
+       These  routines  emulate the System V forms library.  They
+       were not supported 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.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_field_opts.3x.html b/doc/html/man/form_field_opts.3x.html
new file mode 100644
index 0000000..f9a1321
--- /dev/null
+++ b/doc/html/man/form_field_opts.3x.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: form_field_opts.3x,v 1.13 2007/02/24 17:34:27 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_field_opts 3x</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>form_field_opts 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_field_opts</STRONG> - set and get field options
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+       int field_opts_off(FIELD *field, Field_Options opts);
+       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.
+
+       The function <STRONG>field_opts_off</STRONG> turns  off  the  given  option
+       bits, and leaves others alone.
+
+       The function <STRONG>field_opts</STRONG> returns the field's current option
+       bits.
+
+       The following options are defined (all are on by default):
+
+       O_VISIBLE
+            The  field is displayed.  If this option is off, dis-
+            play of the field is suppressed.
+
+       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.
+
+       O_PUBLIC
+            The  field contents are displayed as data is entered.
+
+       O_EDIT
+            The field can be edited.
+
+       O_WRAP
+            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.
+
+       O_AUTOSKIP
+            Skip to the next field when this one fills.
+
+       O_NULLOK
+            Allow a blank field.
+
+       O_STATIC
+            Field buffers are fixed  to  field's  original  size.
+            Turn this option off to create a dynamic field.
+
+       O_PASSOK
+            Validate field only if modified by user.
+
+
+</PRE>
+<H2>RETURN VALUE</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.
+
+       <STRONG>E_CURRENT</STRONG>
+            The field is the current field.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</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>.
+
+
+       <STRONG>NOTES</STRONG>  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>AUTHORS</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>
+</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/form_field_userptr.3x.html b/doc/html/man/form_field_userptr.3x.html
new file mode 100644
index 0000000..c7a6ad4
--- /dev/null
+++ b/doc/html/man/form_field_userptr.3x.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: form_field_userptr.3x,v 1.8 2006/11/04 18:04:37 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_field_userptr 3x</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>form_field_userptr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_field_userptr</STRONG>  -  associate  application  data with a
+       form field
+
+
+</PRE>
+<H2>SYNOPSIS</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>RETURN VALUE</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>
+       <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>PORTABILITY</H2><PRE>
+       These  routines  emulate the System V forms library.  They
+       were not supported 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.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_field_validation.3x.html b/doc/html/man/form_field_validation.3x.html
new file mode 100644
index 0000000..9328031
--- /dev/null
+++ b/doc/html/man/form_field_validation.3x.html
@@ -0,0 +1,196 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2006 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: form_field_validation.3x,v 1.16 2006/12/24 16:08:08 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_field_validation 3x</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>form_field_validation 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_field_validation</STRONG> - data type validation for fields
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+       void *field_arg(const FIELD *field);
+
+       FIELDTYPE *TYPE_ALNUM;
+       FIELDTYPE *TYPE_ALPHA;
+       FIELDTYPE *TYPE_ENUM;
+       FIELDTYPE *TYPE_INTEGER;
+       FIELDTYPE *TYPE_NUMERIC;
+       FIELDTYPE *TYPE_REGEXP;
+       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:
+
+       TYPE_ALNUM
+            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.
+
+       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  not  copied,  only  a
+            reference to it is stored in the field. So you should
+            avoid using 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.
+
+       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.
+
+       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.
+
+       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.
+
+       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:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</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>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>PORTABILITY</H2><PRE>
+       These  routines  emulate the System V forms library.  They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_fieldtype.3x.html b/doc/html/man/form_fieldtype.3x.html
new file mode 100644
index 0000000..80dab41
--- /dev/null
+++ b/doc/html/man/form_fieldtype.3x.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2006 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: form_fieldtype.3x,v 1.14 2006/11/04 17:12:00 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_fieldtype 3x</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>form_fieldtype 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_fieldtype</STRONG> - define validation-field types
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
+       FIELDTYPE *new_fieldtype(
+           bool (* const field_check)(FIELD *, const void *),
+           bool (* const char_check)(int, const void *));
+       int free_fieldtype(FIELDTYPE *fieldtype);
+       int set_fieldtype_arg(
+           FIELDTYPE *fieldtype,
+           void *(* const make_arg)(va_list *),
+           void *(* const copy_arg)(const void *),
+           void  (* const free_arg)(void *));
+       int set_fieldtype_choice(
+           FIELDTYPE *fieldtype,
+           bool (* const next_choice)(FIELD *, const void *),
+           bool (* const prev_choice)(FIELD *, const void *));
+       FIELDTYPE *link_fieldtype(FIELDTYPE *type1,
+                                 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
+       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   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
+       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:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine detected an incorrect or  out-of-range  argu-
+            ment.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred, e.g., malloc failure.
+
+       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.
+
+       <STRONG>E_CONNECTED</STRONG>
+            The field is already connected to a form.
+
+       <STRONG>E_CURRENT</STRONG>
+            The field is the current field.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</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>NOTES</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.
+
+
+</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>AUTHORS</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>
+</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/form_hook.3x.html b/doc/html/man/form_hook.3x.html
new file mode 100644
index 0000000..f88aa1d
--- /dev/null
+++ b/doc/html/man/form_hook.3x.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: form_hook.3x,v 1.9 2007/02/24 17:34:18 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_hook 3x</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>form_hook 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_hook</STRONG> - set hooks for automatic invocation by applica-
+       tions
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+       int set_field_term(FORM *form, Form_Hook func);
+       Form_Hook field_term(const FORM *form);
+       int set_form_init(FORM *form, Form_Hook func);
+       Form_Hook form_init(const FORM *form);
+       int set_form_term(FORM *form, Form_Hook func);
+       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>.
+
+       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_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).
+
+
+</PRE>
+<H2>RETURN VALUE</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>).
+
+
+</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>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>PORTABILITY</H2><PRE>
+       These routines emulate the System V forms  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_new.3x.html b/doc/html/man/form_new.3x.html
new file mode 100644
index 0000000..c313012
--- /dev/null
+++ b/doc/html/man/form_new.3x.html
@@ -0,0 +1,132 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: form_new.3x,v 1.7 2006/11/04 17:12:00 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_new 3x</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>form_new 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_new</STRONG> - create and destroy forms
+
+
+</PRE>
+<H2>SYNOPSIS</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).
+
+       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:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine  detected  an incorrect or out-of-range argu-
+            ment.
+
+       <STRONG>E_CONNECTED</STRONG>
+            The field is already connected to a form.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred, e.g., malloc failure.
+
+       The function <STRONG>free_form</STRONG> 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.
+
+       <STRONG>E_POSTED</STRONG>
+            The form has already been posted.
+
+
+</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>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>PORTABILITY</H2><PRE>
+       These routines emulate the System V forms  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_new_page.3x.html b/doc/html/man/form_new_page.3x.html
new file mode 100644
index 0000000..8863369
--- /dev/null
+++ b/doc/html/man/form_new_page.3x.html
@@ -0,0 +1,119 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2002,2006 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: form_new_page.3x,v 1.8 2006/11/04 17:12:00 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_new_page 3x</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>form_new_page 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_new_page</STRONG> - form pagination functions
+
+
+</PRE>
+<H2>SYNOPSIS</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.
+
+       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>
+       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:
+
+       <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>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>PORTABILITY</H2><PRE>
+       These routines emulate the System V forms  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_opts.3x.html b/doc/html/man/form_opts.3x.html
new file mode 100644
index 0000000..53869a5
--- /dev/null
+++ b/doc/html/man/form_opts.3x.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: form_opts.3x,v 1.9 2007/02/24 17:34:36 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_opts 3x</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>form_opts 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_opts</STRONG> - set and get form options
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+       int form_opts_off(FORM *form, Field_Options opts);
+       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).
+
+       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</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.
+
+       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.
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+       Except for <STRONG>form_opts</STRONG>, each routine returns one of the fol-
+       lowing:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</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>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>PORTABILITY</H2><PRE>
+       These  routines  emulate the System V forms library.  They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_page.3x.html b/doc/html/man/form_page.3x.html
new file mode 100644
index 0000000..753075b
--- /dev/null
+++ b/doc/html/man/form_page.3x.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: form_page.3x,v 1.10 2006/11/04 18:52:32 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_page 3x</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>form_page 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_page</STRONG> - set and get form page number
+
+
+</PRE>
+<H2>SYNOPSIS</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 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.
+
+       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>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:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine  detected  an incorrect or out-of-range argu-
+            ment.
+
+       <STRONG>E_BAD_STATE</STRONG>
+            Routine was called from an initialization or termina-
+            tion function.
+
+       <STRONG>E_INVALID_FIELD</STRONG>
+            Contents of a field are not valid.
+
+       <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>).
+
+
+</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>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>PORTABILITY</H2><PRE>
+       These routines emulate the System V forms  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_post.3x.html b/doc/html/man/form_post.3x.html
new file mode 100644
index 0000000..f125a0b
--- /dev/null
+++ b/doc/html/man/form_post.3x.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: form_post.3x,v 1.7 2006/11/04 18:53:20 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_post 3x</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>form_post 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_post</STRONG>  -  write or erase forms from associated subwin-
+       dows
+
+
+</PRE>
+<H2>SYNOPSIS</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).
+
+       The function <STRONG>unpost_form</STRONG> erases form from  its  associated
+       subwindow.
+
+
+</PRE>
+<H2>RETURN VALUE</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.
+
+       <STRONG>E_BAD_STATE</STRONG>
+            Routine was called from an initialization or termina-
+            tion function.
+
+       <STRONG>E_NOT_POSTED</STRONG>
+            The form has not been posted.
+
+       <STRONG>E_NOT_CONNECTED</STRONG>
+            No items are connected to the form.
+
+       <STRONG>E_NO_ROOM</STRONG>
+            Form is too large for its window.
+
+       <STRONG>E_POSTED</STRONG>
+            The form has already been posted.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</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>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>PORTABILITY</H2><PRE>
+       These routines emulate the System V forms  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_requestname.3x.html b/doc/html/man/form_requestname.3x.html
new file mode 100644
index 0000000..6c0c2bd
--- /dev/null
+++ b/doc/html/man/form_requestname.3x.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: form_requestname.3x,v 1.7 2006/11/04 17:57:49 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_requestname 3x</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>form_requestname 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_requestname</STRONG> - handle printable form request names
+
+
+</PRE>
+<H2>SYNOPSIS</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>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>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>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>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>AUTHORS</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>
+</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/form_userptr.3x.html b/doc/html/man/form_userptr.3x.html
new file mode 100644
index 0000000..d6a50fd
--- /dev/null
+++ b/doc/html/man/form_userptr.3x.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: form_userptr.3x,v 1.11 2006/11/04 18:43:24 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_userptr 3x</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>form_userptr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_userptr</STRONG> - associate application data with a form item
+
+
+</PRE>
+<H2>SYNOPSIS</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>RETURN VALUE</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>
+       <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>PORTABILITY</H2><PRE>
+       These  routines  emulate the System V forms library.  They
+       were not supported 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.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/form_win.3x.html b/doc/html/man/form_win.3x.html
new file mode 100644
index 0000000..6d213df
--- /dev/null
+++ b/doc/html/man/form_win.3x.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: form_win.3x,v 1.10 2006/11/04 17:12:00 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>form_win 3x</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>form_win 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>form_win</STRONG>  - make and break form window and subwindow asso-
+       ciations
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+       int set_form_sub(FORM *form, WINDOW *sub);
+       WINDOW *form_sub(const FORM *form);
+       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.
+
+       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.
+
+       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>.
+
+
+</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:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</STRONG>).
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine detected an incorrect or  out-of-range  argu-
+            ment.
+
+       <STRONG>E_POSTED</STRONG>
+            The form has already been posted.
+
+       <STRONG>E_NOT_CONNECTED</STRONG>
+            No items are connected to the form.
+
+
+</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>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>PORTABILITY</H2><PRE>
+       These routines emulate the System V forms  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/index.html b/doc/html/man/index.html
new file mode 100644
index 0000000..5db3a6d
--- /dev/null
+++ b/doc/html/man/index.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
+<!--
+  $Id: index.html,v 1.3 2006/12/24 23:05:35 tom Exp $
+  ****************************************************************************
+  * Copyright (c) 1998-2001,2006 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.                                                           *
+  ****************************************************************************
+  -->
+<HTML>
+<HEAD>
+<TITLE>NCURSES - Manual Pages</TITLE>
+<LINK REV=MADE HREF="mailto:dickey@invisible-island.net">
+</HEAD>
+<BODY>
+<HR>
+<ul>
+<li>Programs:
+<ul>
+<li><a href = "captoinfo.1m.html">captoinfo - convert a termcap description into a terminfo description</a>
+<li><a href = "clear.1.html">clear - clear the terminal screen</a>
+<li><a href = "infocmp.1m.html">infocmp - compare or print out terminfo descriptions</a>
+<li><a href = "infotocap.1m.html">infotocap - convert a terminfo description into a termcap description</a>
+<li><a href = "tic.1m.html">tic - the terminfo entry-description compiler</a>
+<li><a href = "toe.1m.html">toe - table of (terminfo) entries</a>
+<li><a href = "tput.1.html">tput -  initialize  a  terminal or query terminfo database</a>
+<li><a href = "tset.1.html">tset - terminal initialization</a>
+</ul>
+<li>Libraries:
+<ul>
+<li><a href = "ncurses.3x.html">ncurses - CRT screen handling and optimization package</a>
+<li><a href = "panel.3x.html">panel- panel stack extension for curses</a>
+<li><a href = "form.3x.html">form - curses extension for programming forms</a>
+<li><a href = "menu.3x.html">menu - curses extension for programming menus</a>
+</ul>
+<li>File formats:
+<ul>
+<li><a href = "terminfo.5.html">terminfo - terminal capability data base</a>
+<li><a href = "term.5.html">term - format of compiled term file.</a>
+<li><a href = "term.7.html">term - conventions for naming terminal types</a>
+</ul>
+</ul>
+</BODY>
+</HTML>
diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html
new file mode 100644
index 0000000..9e63557
--- /dev/null
+++ b/doc/html/man/infocmp.1m.html
@@ -0,0 +1,444 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2004,2006 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: infocmp.1m,v 1.44 2006/12/24 18:16:31 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>infocmp 1m</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>infocmp 1m</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>infocmp</STRONG> - compare or print out <EM>terminfo</EM> descriptions
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>infocmp</STRONG> [<STRONG>-1CEFGILTUVcdegilnpqrtux</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>]
+             [<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 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 neither entry.  If no <EM>termnames</EM> are given, the environ-
+       ment 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
+
+       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.
+
+       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.
+
+       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
+       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.
+
+   <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
+       The location of the compiled <STRONG>terminfo</STRONG>  database  is  taken
+       from  the environment variable <STRONG>TERMINFO</STRONG> .  If the variable
+       is not defined, or the terminal is not found in that loca-
+       tion,  the  system  <STRONG>terminfo</STRONG>  database, in <STRONG>/usr/share/ter-</STRONG>
+       <STRONG>minfo</STRONG>, will be used.  The options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> may be used to
+       override  this  location.  The <STRONG>-A</STRONG> option will set <STRONG>TERMINFO</STRONG>
+       for the first <EM>termname</EM> and the <STRONG>-B</STRONG> option will set <STRONG>TERMINFO</STRONG>
+       for  the  other  <EM>termnames</EM>.   With this, it is possible to
+       compare descriptions for a terminal  with  the  same  name
+       located  in  two  different databases.  This is useful for
+       comparing descriptions for the same  terminal  created  by
+       different people.
+
+   <STRONG>Other</STRONG> <STRONG>Options</STRONG>
+       <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>-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>-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>-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.
+
+       <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:
+
+            <STRONG>d</STRONG>    leave  fields  in the order that they are stored
+                 in the <EM>terminfo</EM> database.
+
+            <STRONG>i</STRONG>    sort by <EM>terminfo</EM> name.
+
+            <STRONG>l</STRONG>    sort by the long C variable name.
+
+            <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.
+
+       <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>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> <EM>n</EM> prints  out  tracing information on standard error as
+            the program runs.  Higher values of n induce  greater
+            verbosity.
+
+       <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>.
+
+
+</PRE>
+<H2>FILES</H2><PRE>
+       /usr/share/terminfo Compiled      terminal     description
+                           database.
+
+
+</PRE>
+<H2>EXTENSIONS</H2><PRE>
+       The <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.
+
+       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>BUGS</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>.
+
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011).
+
+
+</PRE>
+<H2>AUTHOR</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>
+</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/infotocap.1m.html b/doc/html/man/infotocap.1m.html
new file mode 100644
index 0000000..15359d8
--- /dev/null
+++ b/doc/html/man/infotocap.1m.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1999-2004,2006 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: infotocap.1m,v 1.8 2006/12/24 20:13:56 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>infotocap 1m</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>infotocap 1m</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</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>DESCRIPTION</H2><PRE>
+       <STRONG>infotocap</STRONG> looks in <EM>file</EM> for  <STRONG>terminfo</STRONG>  descriptions.   For
+       each one found, an equivalent <STRONG>termcap</STRONG> description is writ-
+       ten 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 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.
+
+       <STRONG>-w</STRONG>   change the output to <EM>width</EM> characters.
+
+
+</PRE>
+<H2>FILES</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>SEE ALSO</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.6 (patch 20081011).
+
+
+
+                                                          <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/key_defined.3x.html b/doc/html/man/key_defined.3x.html
new file mode 100644
index 0000000..7b1debe
--- /dev/null
+++ b/doc/html/man/key_defined.3x.html
@@ -0,0 +1,103 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2003-2004,2006 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 2003
+  * @Id: key_defined.3x,v 1.4 2006/02/25 21:50:01 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>key_defined 3x</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>key_defined 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>key_defined</STRONG> - check if a keycode is defined
+
+
+</PRE>
+<H2>SYNOPSIS</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>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>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>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>.
+
+
+</PRE>
+<H2>AUTHOR</H2><PRE>
+       Thomas Dickey.
+
+
+
+                                                        <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/keybound.3x.html b/doc/html/man/keybound.3x.html
new file mode 100644
index 0000000..c62d9da
--- /dev/null
+++ b/doc/html/man/keybound.3x.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1999-2003,2006 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 1999
+  * @Id: keybound.3x,v 1.6 2006/02/25 21:47:06 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>keyok 3x</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>keyok 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>keybound</STRONG> - return definition of keycode
+
+
+</PRE>
+<H2>SYNOPSIS</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>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>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>SEE ALSO</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>
+       Thomas Dickey.
+
+
+
+                                                              <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/keyok.3x.html b/doc/html/man/keyok.3x.html
new file mode 100644
index 0000000..2a38610
--- /dev/null
+++ b/doc/html/man/keyok.3x.html
@@ -0,0 +1,105 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2006 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 1997
+  * @Id: keyok.3x,v 1.9 2006/02/25 21:47:06 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>keyok 3x</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>keyok 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>keyok</STRONG> - enable or disable a keycode
+
+
+</PRE>
+<H2>SYNOPSIS</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 reenabled.
+
+
+</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>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>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>.
+
+
+</PRE>
+<H2>AUTHOR</H2><PRE>
+       Thomas Dickey.
+
+
+
+                                                              <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/legacy_coding.3x.html b/doc/html/man/legacy_coding.3x.html
new file mode 100644
index 0000000..9297a7b
--- /dev/null
+++ b/doc/html/man/legacy_coding.3x.html
@@ -0,0 +1,118 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 2005,2006 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: legacy_coding.3x,v 1.3 2006/12/24 15:12:55 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>legacy_coding 3x</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>legacy_coding 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>use_legacy_coding</STRONG> - use terminal's default colors
+
+
+</PRE>
+<H2>SYNOPSIS</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.
+
+       The <EM>level</EM> parameter controls the result:
+
+              0    the library functions normally, rendering non-
+                   printing characters as described in <STRONG>unctrl</STRONG>.
+
+              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.
+
+
+</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>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>SEE ALSO</H2><PRE>
+       <STRONG>unctrl</STRONG>.
+
+
+</PRE>
+<H2>AUTHOR</H2><PRE>
+       Thomas Dickey (to support lynx's font-switching  feature).
+
+
+
+                                                      <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html
new file mode 100644
index 0000000..4ab9195
--- /dev/null
+++ b/doc/html/man/menu.3x.html
@@ -0,0 +1,241 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2002,2006 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: menu.3x,v 1.19 2006/11/04 18:38:29 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu 3x</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>menu 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu</STRONG> - curses extension for programming menus
+
+
+</PRE>
+<H2>SYNOPSIS</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.
+
+       <STRONG>curses</STRONG> Routine Name    Manual Page Name
+       --------------------------------------------
+       current_item           <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+       free_item              <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+       free_menu              <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+       item_count             <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+       item_description       <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+       item_index             <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+       item_init              <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+       item_name              <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+       item_opts              <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+       item_opts_off          <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+       item_opts_on           <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+       item_term              <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+       item_userptr           <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+       item_value             <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+       item_visible           <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+       menu_back              <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+       menu_driver            <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+       menu_fore              <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+       menu_format            <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+       menu_grey              <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+       menu_init              <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+       menu_items             <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+       menu_mark              <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+       menu_opts              <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+       menu_opts_off          <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+       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>
+       menu_win               <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+       new_item               <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+       new_menu               <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+       pos_menu_cursor        <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+       post_menu              <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+       scale_menu             <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+       set_current_item       <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+       set_item_init          <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+       set_item_opts          <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+       set_item_term          <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+       set_item_userptr       <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+       set_item_value         <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+       set_menu_back          <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+       set_menu_fore          <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+       set_menu_format        <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+       set_menu_grey          <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+       set_menu_init          <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+       set_menu_items         <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+       set_menu_mark          <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+       set_menu_opts          <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+       set_menu_pad           <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+       set_menu_pattern       <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+       set_menu_spacing       <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+       set_menu_sub           <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+       set_menu_term          <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+       set_menu_userptr       <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+       set_menu_win           <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+       set_top_row            <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+       top_row                <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+       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:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine  detected  an incorrect or out-of-range argu-
+            ment.
+
+       <STRONG>E_BAD_STATE</STRONG>
+            Routine was called from an initialization or termina-
+            tion function.
+
+       <STRONG>E_NO_MATCH</STRONG>
+            Character failed to match.
+
+       <STRONG>E_NO_ROOM</STRONG>
+            Menu is too large for its window.
+
+       <STRONG>E_NOT_CONNECTED</STRONG>
+            No items are connected to the menu.
+
+       <STRONG>E_NOT_POSTED</STRONG>
+            The menu has not been posted.
+
+       <STRONG>E_NOT_SELECTABLE</STRONG>
+            The designated item cannot be selected.
+
+       <STRONG>E_POSTED</STRONG>
+            The menu is already posted.
+
+       <STRONG>E_REQUEST_DENIED</STRONG>
+            The menu driver could not process the request.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</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>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>PORTABILITY</H2><PRE>
+       These routines emulate the System V  menu  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</H2><PRE>
+       Juergen  Pfeifer.  Manual pages and adaptation for ncurses
+       by Eric S. Raymond.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011).
+
+
+
+                                                               <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/menu_attributes.3x.html b/doc/html/man/menu_attributes.3x.html
new file mode 100644
index 0000000..d7c2c6d
--- /dev/null
+++ b/doc/html/man/menu_attributes.3x.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2008 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: menu_attributes.3x,v 1.10 2008/08/23 18:24:23 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_attributes 3x</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>menu_attributes 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_attributes</STRONG> - color and attribute control for menus
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+       int set_menu_back(MENU *menu, chtype attr);
+       chtype menu_back(const MENU *menu);
+       int set_menu_grey(MENU *menu, chtype attr);
+       chtype menu_grey(const MENU *menu);
+       int set_menu_pad(MENU *menu, int pad);
+       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>RETURN VALUE</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>).
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine  detected  an incorrect or out-of-range argu-
+            ment.
+
+
+</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>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>PORTABILITY</H2><PRE>
+       These routines emulate the System V  menu  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/menu_cursor.3x.html b/doc/html/man/menu_cursor.3x.html
new file mode 100644
index 0000000..815dcf6
--- /dev/null
+++ b/doc/html/man/menu_cursor.3x.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: menu_cursor.3x,v 1.6 2006/11/04 17:13:57 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_cursor 3x</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>menu_cursor 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_cursor</STRONG> - position a menu's cursor
+
+
+</PRE>
+<H2>SYNOPSIS</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>RETURN VALUE</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>).
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine detected an incorrect or  out-of-range  argu-
+            ment.
+
+       <STRONG>E_NOT_POSTED</STRONG>
+            The menu has not been posted.
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These routines emulate the System V  menu  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/menu_driver.3x.html b/doc/html/man/menu_driver.3x.html
new file mode 100644
index 0000000..c592699
--- /dev/null
+++ b/doc/html/man/menu_driver.3x.html
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2007,2008 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: menu_driver.3x,v 1.15 2008/06/21 21:55:30 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_driver 3x</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>menu_driver 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_driver</STRONG> - command-processing loop of the menu system
+
+
+</PRE>
+<H2>SYNOPSIS</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:
+
+       -  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>.
+
+       -  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.
+
+       -  The input is the KEY_MOUSE special key associated  with
+          an mouse event.
+
+       The menu driver requests are as follows:
+
+       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.
+
+       REQ_SCR_ULINE
+            Scroll up a line.
+
+       REQ_SCR_DLINE
+            Scroll down a line.
+
+       REQ_SCR_DPAGE
+            Scroll down a page.
+
+       REQ_SCR_UPAGE
+            Scroll up a page.
+
+       REQ_FIRST_ITEM
+            Move to the first item.
+
+       REQ_LAST_ITEM
+            Move to the last item.
+
+       REQ_NEXT_ITEM
+            Move to the next item.
+
+       REQ_PREV_ITEM
+            Move to the previous item.
+
+       REQ_TOGGLE_ITEM
+            Select/deselect an item.
+
+       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.
+
+       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.
+
+   <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.
+
+       If you click above the display region of the menu:
+
+              a REQ_SCR_ULINE is generated for a single click,
+
+              a REQ_SCR_UPAGE is generated for a double-click and
+
+              a REQ_FIRST_ITEM is generated for a triple-click.
+
+       If you click below the display region of the menu:
+
+              a REQ_SCR_DLINE is generated for a single click,
+
+              a REQ_SCR_DPAGE is generated for a double-click and
+
+              a REQ_LAST_ITEM is generated for a triple-click.
+
+       If you click at an item inside the  display  area  of  the
+       menu:
+
+              -  the menu cursor is positioned to that item.
+
+              -  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  applica-
+                 tion specific command should be executed.
+
+              -  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.
+
+   <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>
+<H2>RETURN VALUE</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>).
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine detected an incorrect or  out-of-range  argu-
+            ment.
+
+       <STRONG>E_BAD_STATE</STRONG>
+            Routine was called from an initialization or termina-
+            tion function.
+
+       <STRONG>E_NOT_POSTED</STRONG>
+            The menu has not been posted.
+
+       <STRONG>E_UNKNOWN_COMMAND</STRONG>
+            The menu driver code saw an unknown request code.
+
+       <STRONG>E_NO_MATCH</STRONG>
+            Character failed to match.
+
+       <STRONG>E_REQUEST_DENIED</STRONG>
+            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="wgetch.3x.html">wgetch(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>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>AUTHORS</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>
+</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/menu_format.3x.html b/doc/html/man/menu_format.3x.html
new file mode 100644
index 0000000..77b73c6
--- /dev/null
+++ b/doc/html/man/menu_format.3x.html
@@ -0,0 +1,133 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2001,2006 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: menu_format.3x,v 1.10 2006/11/04 17:12:00 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_format 3x</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>menu_format 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_format</STRONG> - set and get menu sizes
+
+
+</PRE>
+<H2>SYNOPSIS</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.
+
+       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>.
+
+
+</PRE>
+<H2>RETURN VALUE</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>).
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine detected an incorrect or  out-of-range  argu-
+            ment.
+
+       <STRONG>E_POSTED</STRONG>
+            The menu is already posted.
+
+       <STRONG>E_NOT_CONNECTED</STRONG>
+            No items are connected to the menu.
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These routines emulate the System V  menu  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/menu_hook.3x.html b/doc/html/man/menu_hook.3x.html
new file mode 100644
index 0000000..95addf4
--- /dev/null
+++ b/doc/html/man/menu_hook.3x.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: menu_hook.3x,v 1.9 2007/02/24 17:34:08 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_hook 3x</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>menu_hook 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_hook</STRONG> - set hooks for automatic invocation by applica-
+       tions
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+       int set_item_term(MENU *menu, Menu_Hook func);
+       Menu_Hook item_term(const MENU *menu);
+       int set_menu_init(MENU *menu, Menu_Hook func);
+       Menu_Hook menu_init(const MENU *menu);
+       int set_menu_term(MENU *menu, Menu_Hook func);
+       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>.
+
+       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_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).
+
+
+</PRE>
+<H2>RETURN VALUE</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>).
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These routines emulate the System V  menu  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/menu_items.3x.html b/doc/html/man/menu_items.3x.html
new file mode 100644
index 0000000..ad609f8
--- /dev/null
+++ b/doc/html/man/menu_items.3x.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: menu_items.3x,v 1.7 2006/11/04 18:35:31 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_items 3x</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>menu_items 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_items</STRONG>  - make and break connections between items and
+       menus
+
+
+</PRE>
+<H2>SYNOPSIS</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>.
+
+       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>.
+
+
+</PRE>
+<H2>RETURN VALUES</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>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.
+
+       <STRONG>E_NOT_CONNECTED</STRONG>
+            No items are connected to the menu.
+
+       <STRONG>E_POSTED</STRONG>
+            The menu is already posted.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</STRONG>).
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These  routines  emulate  the System V menu library.  They
+       were not supported 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>).
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/menu_mark.3x.html b/doc/html/man/menu_mark.3x.html
new file mode 100644
index 0000000..6929963
--- /dev/null
+++ b/doc/html/man/menu_mark.3x.html
@@ -0,0 +1,131 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: menu_mark.3x,v 1.9 2006/11/04 18:33:18 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_mark 3x</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>menu_mark 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_mark</STRONG> - get and set the menu mark string
+
+
+</PRE>
+<H2>SYNOPSIS</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.
+
+       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  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.
+
+       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.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</STRONG>).
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These routines emulate the System V  menu  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/menu_new.3x.html b/doc/html/man/menu_new.3x.html
new file mode 100644
index 0000000..c8fdde7
--- /dev/null
+++ b/doc/html/man/menu_new.3x.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: menu_new.3x,v 1.9 2006/11/04 18:31:37 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_new 3x</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>menu_new 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_new</STRONG> - create and destroy menus
+
+
+</PRE>
+<H2>SYNOPSIS</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).
+
+       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:
+
+       <STRONG>E_NOT_CONNECTED</STRONG>
+            No items are connected to the menu.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred, e.g., malloc failure.
+
+       The function <STRONG>free_menu</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_BAD_ARGUMENT</STRONG>
+            Routine  detected  an incorrect or out-of-range argu-
+            ment.
+
+       <STRONG>E_POSTED</STRONG>
+            The menu has already been posted.
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These  routines  emulate  the System V menu library.  They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/menu_opts.3x.html b/doc/html/man/menu_opts.3x.html
new file mode 100644
index 0000000..3fb9670
--- /dev/null
+++ b/doc/html/man/menu_opts.3x.html
@@ -0,0 +1,148 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: menu_opts.3x,v 1.10 2007/02/24 17:33:59 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_opts 3x</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>menu_opts 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_opts</STRONG> - set and get menu options
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+       int menu_opts_off(MENU *menu, Menu_Options opts);
+       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).
+
+       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</STRONG> returns the menu's current option
+       bits.
+
+       The following options are defined (all are on by default):
+
+       O_ONEVALUE
+            Only one item can be selected for this menu.
+
+       O_SHOWDESC
+            Display  the  item  descriptions  when  the  menu  is
+            posted.
+
+       O_ROWMAJOR
+            Display the menu in row-major order.
+
+       O_IGNORECASE
+            Ignore the case when pattern-matching.
+
+       O_SHOWMATCH
+            Move the cursor to within the item  name  while  pat-
+            tern-matching.
+
+       O_NONCYCLIC
+            Don't   wrap   around  next-item  and  previous-item,
+            requests to the other end of the menu.
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+       Except for <STRONG>menu_opts</STRONG>, each routine returns one of the fol-
+       lowing:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</STRONG>).
+
+       <STRONG>E_POSTED</STRONG>
+            The menu is already posted.
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These routines emulate the System V  menu  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/menu_pattern.3x.html b/doc/html/man/menu_pattern.3x.html
new file mode 100644
index 0000000..0345c56
--- /dev/null
+++ b/doc/html/man/menu_pattern.3x.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2008 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: menu_pattern.3x,v 1.11 2008/06/21 21:58:20 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_pattern 3x</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>menu_pattern 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_pattern</STRONG> - get and set a menu's pattern buffer
+
+
+</PRE>
+<H2>SYNOPSIS</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>.
+
+       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>.
+
+
+</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.
+
+       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.
+
+       <STRONG>E_BAD_STATE</STRONG>
+            Routine was called from an initialization or termina-
+            tion function.
+
+       <STRONG>E_NOT_CONNECTED</STRONG>
+            No items are connected to menu.
+
+       <STRONG>E_NO_MATCH</STRONG>
+            Character failed to match.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</STRONG>).
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These  routines  emulate  the System V menu library.  They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/menu_post.3x.html b/doc/html/man/menu_post.3x.html
new file mode 100644
index 0000000..84055be
--- /dev/null
+++ b/doc/html/man/menu_post.3x.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: menu_post.3x,v 1.9 2006/11/04 17:12:00 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_post 3x</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>menu_post 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_post</STRONG>  -  write or erase menus from associated subwin-
+       dows
+
+
+</PRE>
+<H2>SYNOPSIS</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
+       items.
+
+       The  function  <STRONG>unpost_menu</STRONG> erases menu from its associated
+       subwindow.
+
+
+</PRE>
+<H2>RETURN VALUE</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>).
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine detected an incorrect or  out-of-range  argu-
+            ment.
+
+       <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.
+
+       <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.
+
+       <STRONG>E_NOT_POSTED</STRONG>
+            The menu has not been posted.
+
+       <STRONG>E_NOT_CONNECTED</STRONG>
+            No items are connected to the menu.
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These routines emulate the System V  menu  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/menu_requestname.3x.html b/doc/html/man/menu_requestname.3x.html
new file mode 100644
index 0000000..6da9ee9
--- /dev/null
+++ b/doc/html/man/menu_requestname.3x.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: menu_requestname.3x,v 1.7 2006/11/04 17:56:09 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_requestname 3x</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>menu_requestname 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_requestname</STRONG> - handle printable menu request names
+
+
+</PRE>
+<H2>SYNOPSIS</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>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>SEE ALSO</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>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>AUTHORS</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>
+</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/menu_spacing.3x.html b/doc/html/man/menu_spacing.3x.html
new file mode 100644
index 0000000..736e95c
--- /dev/null
+++ b/doc/html/man/menu_spacing.3x.html
@@ -0,0 +1,129 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2001,2004 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: menu_spacing.3x,v 1.8 2004/12/11 23:39:07 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_spacing 3x</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>menu_spacing 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_spacing</STRONG> - Control spacing between menu items.
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
+       int set_menu_spacing(MENU *menu,
+                            int spc_description,
+                            int spc_rows,
+                            int spc_columns);
+       int menu_spacing(const MENU *menu,
+                        int* spc_description,
+                        int* spc_rows,
+                        int* spc_columns);
+
+
+</PRE>
+<H2>DESCRIPTION</H2><PRE>
+       The  function  <STRONG>set_menu_spacing</STRONG>  sets the spacing informa-
+       tions for the menu.  <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.  <STRONG>spc_rows</STRONG> 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 char-
+       acter in the appropriate positions.  <STRONG>spc_columns</STRONG>  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 sim-
+       ply 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_ARGUMENT</STRONG>
+       if one of the spacing values is out of range.
+
+
+</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>.
+
+
+</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>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>AUTHORS</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>
+</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/menu_userptr.3x.html b/doc/html/man/menu_userptr.3x.html
new file mode 100644
index 0000000..78341cd
--- /dev/null
+++ b/doc/html/man/menu_userptr.3x.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: menu_userptr.3x,v 1.8 2006/11/04 18:21:03 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_userptr 3x</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>menu_userptr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_userptr</STRONG> - associate application data with a menu item
+
+
+</PRE>
+<H2>SYNOPSIS</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>RETURN VALUE</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>
+       <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>PORTABILITY</H2><PRE>
+       These  routines  emulate  the System V menu library.  They
+       were not supported 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.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/menu_win.3x.html b/doc/html/man/menu_win.3x.html
new file mode 100644
index 0000000..85511bf
--- /dev/null
+++ b/doc/html/man/menu_win.3x.html
@@ -0,0 +1,139 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: menu_win.3x,v 1.8 2006/11/04 17:12:00 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>menu_win 3x</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>menu_win 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>menu_win</STRONG>  - make and break menu window and subwindow asso-
+       ciations
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+       int set_menu_sub(MENU *menu, WINDOW *sub);
+       WINDOW *menu_sub(const MENU *menu);
+       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.
+
+       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.
+
+       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>.
+
+
+</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:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</STRONG>).
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine detected an incorrect or  out-of-range  argu-
+            ment.
+
+       <STRONG>E_POSTED</STRONG>
+            The menu has already been posted.
+
+       <STRONG>E_NOT_CONNECTED</STRONG>
+            No items are connected to the menu.
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These routines emulate the System V  menu  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/mitem_current.3x.html b/doc/html/man/mitem_current.3x.html
new file mode 100644
index 0000000..9529473
--- /dev/null
+++ b/doc/html/man/mitem_current.3x.html
@@ -0,0 +1,146 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: mitem_current.3x,v 1.11 2006/11/04 18:18:19 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>mitem_current 3x</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>mitem_current 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>mitem_current</STRONG> - set and get current_menu_item
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
+       int set_current_item(MENU *menu, const 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
+       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.
+
+
+</PRE>
+<H2>RETURN VALUE</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>set_current_item</STRONG> and <STRONG>set_top_row</STRONG> return one of the follow-
+       ing:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine  detected  an incorrect or out-of-range argu-
+            ment.
+
+       <STRONG>E_BAD_STATE</STRONG>
+            Routine was called from an initialization or termina-
+            tion 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>).
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These routines emulate the System V  menu  library.   They
+       were not supported 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>).
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/mitem_name.3x.html b/doc/html/man/mitem_name.3x.html
new file mode 100644
index 0000000..90895d3
--- /dev/null
+++ b/doc/html/man/mitem_name.3x.html
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: mitem_name.3x,v 1.6 2006/11/04 17:53:40 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>mitem_name 3x</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>mitem_name 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>mitem_name</STRONG> - get menu item name and description fields
+
+
+</PRE>
+<H2>SYNOPSIS</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
+       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>SEE ALSO</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>PORTABILITY</H2><PRE>
+       These  routines  emulate  the System V menu library.  They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/mitem_new.3x.html b/doc/html/man/mitem_new.3x.html
new file mode 100644
index 0000000..e069b12
--- /dev/null
+++ b/doc/html/man/mitem_new.3x.html
@@ -0,0 +1,134 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2006 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: mitem_new.3x,v 1.10 2006/11/04 18:16:36 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>mitem_new 3x</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>mitem_new 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>mitem_new</STRONG> - create and destroy menu items
+
+
+</PRE>
+<H2>SYNOPSIS</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>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:
+
+       <STRONG>E_BAD_ARGUMENT</STRONG>
+            Routine  detected  an incorrect or out-of-range argu-
+            ment.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred, e.g., malloc failure.
+
+       The function <STRONG>free_item</STRONG> 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.
+
+       <STRONG>E_CONNECTED</STRONG>
+            Item is connected to a menu.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</STRONG>).
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These routines emulate the System V  menu  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/mitem_opts.3x.html b/doc/html/man/mitem_opts.3x.html
new file mode 100644
index 0000000..459930a
--- /dev/null
+++ b/doc/html/man/mitem_opts.3x.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: mitem_opts.3x,v 1.9 2007/02/24 17:33:32 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>mitem_opts 3x</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>mitem_opts 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>mitem_opts</STRONG> - set and get menu item options
+
+
+</PRE>
+<H2>SYNOPSIS</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);
+       int item_opts_off(ITEM *item, Item_Options opts);
+       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).
+
+       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</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.
+
+
+</PRE>
+<H2>RETURN VALUE</H2><PRE>
+       Except for <STRONG>item_opts</STRONG>, each routine returns one of the fol-
+       lowing:
+
+       <STRONG>E_OK</STRONG> The routine succeeded.
+
+       <STRONG>E_SYSTEM_ERROR</STRONG>
+            System error occurred (see <STRONG>errno</STRONG>).
+
+
+</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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These routines emulate the System V  menu  library.   They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/mitem_userptr.3x.html b/doc/html/man/mitem_userptr.3x.html
new file mode 100644
index 0000000..fc7c9c5
--- /dev/null
+++ b/doc/html/man/mitem_userptr.3x.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998,2006 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: mitem_userptr.3x,v 1.9 2006/11/04 18:21:03 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>mitem_userptr 3x</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>mitem_userptr 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>mitem_userptr</STRONG>  -  associate  application  data with a menu
+       item
+
+
+</PRE>
+<H2>SYNOPSIS</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>RETURN VALUE</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>
+       <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>PORTABILITY</H2><PRE>
+       These  routines  emulate  the System V menu library.  They
+       were not supported 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.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/mitem_value.3x.html b/doc/html/man/mitem_value.3x.html
new file mode 100644
index 0000000..386c8b8
--- /dev/null
+++ b/doc/html/man/mitem_value.3x.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2002,2006 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: mitem_value.3x,v 1.8 2006/11/04 17:12:00 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>mitem_value 3x</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>mitem_value 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>mitem_value</STRONG> - set and get menu item values
+
+
+</PRE>
+<H2>SYNOPSIS</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.
+
+       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>).
+
+
+</PRE>
+<H2>RETURN VALUE</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>).
+
+       <STRONG>E_REQUEST_DENIED</STRONG>
+            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>.
+
+
+</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>PORTABILITY</H2><PRE>
+       These  routines  emulate  the System V menu library.  They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/mitem_visible.3x.html b/doc/html/man/mitem_visible.3x.html
new file mode 100644
index 0000000..8d3d016
--- /dev/null
+++ b/doc/html/man/mitem_visible.3x.html
@@ -0,0 +1,100 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998 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: mitem_visible.3x,v 1.5 1998/11/29 01:12:55 Rick.Ohnemus Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>mitem_visible 3x</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>mitem_visible 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>mitem_visible</STRONG> - check visibility of a menu item
+
+
+</PRE>
+<H2>SYNOPSIS</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>SEE ALSO</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>PORTABILITY</H2><PRE>
+       These  routines  emulate  the System V menu library.  They
+       were not supported on Version 7 or BSD versions.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/ncurses.3x.html b/doc/html/man/ncurses.3x.html
new file mode 100644
index 0000000..8b1dee8
--- /dev/null
+++ b/doc/html/man/ncurses.3x.html
@@ -0,0 +1,1233 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2007,2008 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: ncurses.3x,v 1.91 2008/10/11 20:43:11 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>ncurses 3x</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>ncurses 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>ncurses</STRONG> - CRT screen handling and optimization package
+
+
+</PRE>
+<H2>SYNOPSIS</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  classic curses, which has been discontinued.  This
+       describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011).
+
+       The <STRONG>ncurses</STRONG> library emulates  the  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  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>
+
+       Most programs would additionally use the sequence:
+
+             <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
+       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>,
+
+       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_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>*
+              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>
+
+
+</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.
+
+       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>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 symbol
+            when the application has redirected output to a file.
+            The  symbol'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 symbol.  Very  few  ter-
+            minfo entries provide this feature.
+
+       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 (including system calls) to determine
+            the screen size.
+
+       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 symbol lets you customize the mouse.  The symbol
+            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
+            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 inter-
+            faced into a terminal concentrator (which  does  flow
+            control),   it  (or  your  application)  must  manage
+            dataflow, preventing 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 symbol 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
+            Normally <STRONG>ncurses</STRONG> enables buffered output during  ter-
+            minal  initialization.   This  is  done  (as  in SVr4
+            curses) for performance reasons.   For  testing  pur-
+            poses, both of <STRONG>ncurses</STRONG> and certain applications, this
+            feature    is    made    optional.     Setting    the
+            NCURSES_NO_SETBUF variable disables output buffering,
+            leaving the output  in  the  original  (usually  line
+            buffered) mode.
+
+       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.
+
+       NCURSES_TRACE
+            During initialization, the <STRONG>ncurses</STRONG> debugging  library
+            checks  the  NCURSES_TRACE symbol.  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  symbol  contains  either   a   terminal
+            description  (with  newlines stripped out), or a file
+            name telling where the  information  denoted  by  the
+            TERM  symbol  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:
+
+            -  the last directory to which <STRONG>ncurses</STRONG> wrote, if any,
+               is searched first
+
+            -  the directory specified by the TERMINFO symbol
+
+            -  $HOME/.terminfo
+
+            -  directories listed in the TERMINFO_DIRS symbol
+
+            -  one or more directories whose names are configured
+               and  compiled  into  the  ncurses  library,  e.g.,
+               /usr/share/terminfo
+
+       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, which
+            makes  a  subdirectory  named for the first letter of
+            the terminal names therein.
+
+       TERMPATH
+            If TERMCAP does not hold a  file  name  then  <STRONG>ncurses</STRONG>
+            checks  the TERMPATH symbol.  This is a list of file-
+            names separated by spaces or colons  (i.e.,  ":")  on
+            Unix, semicolons on OS/2 EMX.  If the TERMPATH symbol
+            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>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>:
+
+       --disable-overwrite
+            The standard include for <STRONG>ncurses</STRONG> is as noted in  <STRONG>SYN-</STRONG>
+            <STRONG>OPSIS</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.,
+
+            <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.
+
+       --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
+
+            <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.
+
+       --with-shared
+
+       --with-normal
+
+       --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>.
+
+       --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.
+
+
+</PRE>
+<H2>FILES</H2><PRE>
+       /usr/share/tabset
+            directory  containing  initialization  files  for the
+            terminal capability database /usr/share/terminfo ter-
+            minal 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>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.
+
+       This implementation also contains several extensions:
+
+            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.
+
+            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.
+
+            The routines <STRONG>getmouse</STRONG>,  <STRONG>mousemask</STRONG>,  <STRONG>ungetmouse</STRONG>,  <STRONG>mou-</STRONG>
+            <STRONG>seinterval</STRONG>,  and <STRONG>wenclose</STRONG> relating to mouse interfac-
+            ing 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.
+
+            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.
+
+            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.
+
+            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.
+
+       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.
+
+
+</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>.
+
+       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.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/panel.3x.html b/doc/html/man/panel.3x.html
new file mode 100644
index 0000000..a5b5a06
--- /dev/null
+++ b/doc/html/man/panel.3x.html
@@ -0,0 +1,241 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: panel.3x,v 1.14 2007/05/12 20:45:20 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>panel 3x</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>panel 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       panel - panel stack extension for curses
+
+
+</PRE>
+<H2>SYNOPSIS</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>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 wrefresh or wnoutrefresh.
+              update_panels() may be called more than once before
+              a  call  to doupdate(), but doupdate() is the func-
+              tion responsible for updating the physical  screen.
+
+       <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).
+
+       <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.
+
+       <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.
+
+       <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.
+
+       <STRONG>top_panel(pan)</STRONG>
+              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.
+
+       <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.
+
+       <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.
+
+       <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.
+
+       <STRONG>set_panel_userptr(pan,ptr)</STRONG>
+              sets the panel's user pointer.
+
+       <STRONG>panel_userptr(pan)</STRONG>
+              returns the user pointer for a given panel.
+
+       <STRONG>panel_window(pan)</STRONG>
+              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>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
+       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  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>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>FILES</H2><PRE>
+       panel.h interface for the panels library
+
+       libpanel.a the panels library itself
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011).
+
+
+</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.
+
+
+
+                                                              <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/resizeterm.3x.html b/doc/html/man/resizeterm.3x.html
new file mode 100644
index 0000000..23b0845
--- /dev/null
+++ b/doc/html/man/resizeterm.3x.html
@@ -0,0 +1,141 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2005 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 1996-2005
+  * @Id: resizeterm.3x,v 1.11 2005/06/25 22:19:42 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>resizeterm 3x</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>resizeterm 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>is_term_resized</STRONG>,  <STRONG>resize_term</STRONG>,  <STRONG>resizeterm</STRONG>  -  change  the
+       curses terminal size
+
+
+</PRE>
+<H2>SYNOPSIS</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>
+       <STRONG>int</STRONG> <STRONG>resize_term(int</STRONG> <STRONG>lines,</STRONG> <STRONG>int</STRONG> <STRONG>columns);</STRONG>
+       <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.
+
+       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>RETURN VALUE</H2><PRE>
+       Except  as  notes,  these  function 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>
+<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 ungetch'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.
+       In that case, no <STRONG>KEY_RESIZE</STRONG> is queued for the next call to
+       <STRONG>getch</STRONG>; an <STRONG>ERR</STRONG> will be returned instead.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <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).
+
+
+
+                                                         <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/term.5.html b/doc/html/man/term.5.html
new file mode 100644
index 0000000..50fdc55
--- /dev/null
+++ b/doc/html/man/term.5.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2004,2006 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: term.5,v 1.19 2006/12/24 18:12:38 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>term 5</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>term 5</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       term - format of compiled term file.
+
+
+</PRE>
+<H2>SYNOPSIS</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):
+
+       <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.
+
+       <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
+            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.
+
+            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.
+
+       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 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);
+
+            (2) the size, in bytes, of the names section;
+
+            (3) the number of bytes in the boolean section;
+
+            (4) the number of short integers in the numbers  sec-
+            tion;
+
+            (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.
+
+       First, it reads the extended header (5 short integers):
+
+            (1)  count of extended boolean capabilities
+
+            (2)  count of extended numeric capabilities
+
+            (3)  count of extended string capabilities
+
+            (4)  size of the extended string table in bytes.
+
+            (5)  last offset 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 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.
+
+
+</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.
+
+
+</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>
+<H2>LIMITS</H2><PRE>
+       Some  limitations:  total  compiled  entries cannot exceed
+       4096 bytes.  The name field cannot exceed 128 bytes.
+
+
+</PRE>
+<H2>FILES</H2><PRE>
+       /usr/share/terminfo/*/*  compiled terminal capability data
+       base
+
+
+</PRE>
+<H2>SEE ALSO</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>
+       Thomas E. Dickey
+       extended terminfo format for ncurses 5.0
+       hashed database support for ncurses 5.6
+
+       Eric S. Raymond
+
+
+
+                                                                <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/term.7.html b/doc/html/man/term.7.html
new file mode 100644
index 0000000..53ea633
--- /dev/null
+++ b/doc/html/man/term.7.html
@@ -0,0 +1,251 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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: term.7,v 1.18 2007/06/02 20:40:07 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>term 7</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>term 7</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</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> (Linux and  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
+       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 capabil-
+       ity 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:
+
+            infocmp <EM>entry-name</EM>
+
+       where <EM>entry-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.
+
+       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.
+
+       -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.
+
+       -nam No auto-margin - suppress am capability.
+
+       -nl  No labels - suppress soft labels.
+
+       -nsl No status line - suppress status line.
+
+       -pp  Has a printer port which is used.
+
+       -rv  Terminal in reverse video mode (black on white).
+
+       -s   Enable status line.
+
+       -vb  Use visible bell (flash) rather than beep.
+
+       -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').
+
+       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.
+
+
+</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>FILES</H2><PRE>
+       /usr/share/terminfo/?/*
+            compiled terminal capability data base
+
+       /etc/inittab
+            tty line initialization (AT&amp;T-like UNIXes)
+
+       /etc/ttys
+            tty line initialization (BSD-like UNIXes)
+
+
+</PRE>
+<H2>SEE ALSO</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>
+</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/terminfo.5.html b/doc/html/man/terminfo.5.html
new file mode 100644
index 0000000..1284d02
--- /dev/null
+++ b/doc/html/man/terminfo.5.html
@@ -0,0 +1,2374 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  * DO NOT EDIT THIS FILE BY HAND!
+  * It is generated from terminfo.head, Caps, 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-2004,2006 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.head,v 1.16 2007/03/04 00:09:46 tom Exp @
+  * Head of terminfo man page ends here
+  * @Id: terminfo.tail,v 1.49 2008/02/16 20:57:43 tom Exp @
+  * Beginning of terminfo.tail file
+  * This file is part of ncurses.
+  * See "terminfo.head" for copyright.
+  *.in -2
+  *.in +2
+  *.in -2
+  *.in +2
+  *.TH
+-->
+<HTML>
+<HEAD>
+<TITLE>terminfo 5   File Formats</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>terminfo 5   File Formats</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       terminfo - terminal capability data base
+
+
+</PRE>
+<H2>SYNOPSIS</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><A HREF="nvi.1.html">nvi(1)</A></STRONG>,  <STRONG><A HREF="rogue.1.html">rogue(1)</A></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.6 (patch 20081011).
+
+       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>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:
+
+       (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>).
+
+       (P*)   indicates that padding may vary  in  proportion  to
+              the number of lines affected
+
+       (#<EM>i</EM>)   indicates the <EM>i</EM>th parameter.
+
+
+       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
+
+       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
+
+       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
+                                             columns #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.   They  are  some
+        post-4.1  versions  of System V curses, e.g., Solaris 2.5
+        and IRIX 6.x.  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           slengthsL   YI Set page length
+                                             to #1 hundredth of
+                                             an inch
+
+   <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.
+
+     ansi|ansi/pc-term compatible with color,
+             mc5i,
+             colors#8, ncv#3, pairs#64,
+             cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
+             cuu=\E[%p1%dA, dch=\E[%p1%dP, dl=\E[%p1%dM,
+             ech=\E[%p1%dX, el1=\E[1K, hpa=\E[%p1%dG, ht=\E[I,
+             ich=\E[%p1%d@, il=\E[%p1%dL, indn=\E[%p1%dS, .indn=\E[%p1%dT,
+             kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
+             kcuf1=\E[C, kcuu1=\E[A, kf1=\E[M, kf10=\E[V,
+             kf11=\E[W, kf12=\E[X, kf2=\E[N, kf3=\E[O, kf4=\E[P,
+             kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U,
+             kich1=\E[L, mc4=\E[4i, mc5=\E[5i, nel=\r\E[S,
+             op=\E[37;40m, rep=%p1%c\E[%p2%{1}%-%db,
+             rin=\E[%p1%dT, s0ds=\E(B, s1ds=\E)B, s2ds=\E*B,
+             s3ds=\E+B, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+             setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+             setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+             sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p8%t;11%;%?%p9%t;12%;m,
+             sgr0=\E[0;10m, tbc=\E[2g, u6=\E[%d;%dR, u7=\E[6n,
+             u8=\E[?%[;0123456789]c, u9=\E[c, vpa=\E[%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: Boolean capa-
+       bilities which indicate that the terminal has some partic-
+       ular  feature, numeric capabilities giving the size of the
+       terminal or the size  of  particular  delays,  and  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 <STRONG>\^</STRONG>
+       for  <STRONG>^</STRONG>, <STRONG>\\</STRONG> for <STRONG>\</STRONG>, <STRONG>\</STRONG>, for comma, <STRONG>\:</STRONG> for <STRONG>:</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 terminals, provid-
+       ing CS7 is specified.  See <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>.)  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>
+       If the environment variable TERMINFO is set, it is  inter-
+       preted  as the pathname of a directory containing the com-
+       piled description you are working on.  Only that directory
+       is searched.
+
+       If  TERMINFO  is  not set, the <STRONG>ncurses</STRONG> version of the ter-
+       minfo reader code  will  instead  look  in  the  directory
+       <STRONG>$HOME/.terminfo</STRONG>  for  a compiled description.  If it fails
+       to find one  there,  and  the  environment  variable  TER-
+       MINFO_DIRS  is set, it will interpret the contents of that
+       variable as a list of colon- separated directories  to  be
+       searched  (an  empty  entry is interpreted as a command to
+       search <EM>/usr/share/terminfo</EM>).  If no description  is  found
+       in  any of the TERMINFO_DIRS directories, the fetch fails.
+
+       If neither TERMINFO nor TERMINFO_DIRS  is  set,  the  last
+       place   tried  will  be  the  system  terminfo  directory,
+       <EM>/usr/share/terminfo</EM>.
+
+       (Neither the  <STRONG>$HOME/.terminfo</STRONG>  lookups  nor  TERMINFO_DIRS
+       extensions   are  supported  under  stock  System  V  ter-
+       minfo/curses.)
+
+
+   <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
+
+       33|tty33|tty|model 33 teletype,
+            bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,
+
+       while the Lear Siegler ADM-3 is described as
+
+       adm3|3|lsi adm3,
+            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 <STRONG><A HREF="printf.3.html">printf(3)</A></STRONG> like escapes  <STRONG>%x</STRONG>  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.
+
+       The <STRONG>%</STRONG> encodings have the following meanings:
+
+
+       %%   outputs `%'
+
+       %<EM>[[</EM>:<EM>]flags][width[.precision]][</EM>doxXs<EM>]</EM>
+            as in <STRONG>printf</STRONG>, flags are [-+#] and space.  Use  a  `:'
+            to  allow the next character to be a `-' flag, avoid-
+            ing interpreting "%-" as an operator.
+
+       %c   print pop() like %c in <STRONG>printf</STRONG>
+
+       %s   print pop() like %s in <STRONG>printf</STRONG>
+
+       %p[1-9]
+            push <EM>i</EM>'th parameter
+
+       %P[a-z]
+            set dynamic variable [a-z] to pop()
+
+       %g[a-z]
+            get dynamic variable [a-z] and push it
+
+       %P[A-Z]
+            set static variable [a-z] to pop()
+
+       %g[A-Z]
+            get static variable [a-z] 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
+            impact portability to other implementations.
+
+       %'<EM>c</EM>' char constant <EM>c</EM>
+
+       %{<EM>nn</EM>}
+            integer constant <EM>nn</EM>
+
+       %l   push strlen(pop)
+
+       %+ %- %* %/ %m
+            arithmetic (%m is mod): push(pop() op pop())
+
+       %&amp; %| %^
+            bit operations (AND, OR and exclusive-OR): push(pop()
+            op pop())
+
+       %= %&gt; %&lt;
+            logical operations: push(pop() op pop())
+
+       %A, %O
+            logical AND and OR operations (for conditionals)
+
+       %! %~
+            unary  operations  (logical  and   bit   complement):
+            push(op pop())
+
+       %i   add 1 to first two parameters (for ANSI terminals)
+
+       %? <EM>expr</EM> %t <EM>thenpart</EM> %e <EM>elsepart</EM> %;
+            This  forms  an  if-then-else.   The  %e  <EM>elsepart</EM> is
+            optional.  Usually the %? <EM>expr</EM> part  pushes  a  value
+            onto  the stack, and %t pops it from the stack, test-
+            ing if it is nonzero (true).  If it is zero  (false),
+            control passes to the %e (else) part.
+
+            It is possible to form else-if's a la Algol 68:
+            %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e %;
+
+            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-the-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}%-".  %P and %g 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
+       parameterized 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
+       <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
+       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
+       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  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 ter-
+       minal  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  ter-
+       minals whose insert mode cannot be described with the sin-
+       gle 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  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
+       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 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
+       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), 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.
+
+       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%;
+
+       Putting this all together into the sgr sequence gives:
+
+           sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;
+               %?%p4%t;5%;%?%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
+       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:
+       <STRONG>kll</STRONG> (home down), <STRONG>kbs</STRONG> (backspace), <STRONG>ktbc</STRONG> (clear  all  tabs),
+       <STRONG>kctab</STRONG>  (clear  the  tab  stop in this column), <STRONG>kclr</STRONG> (clear
+       screen or  erase  key),  <STRONG>kdch1</STRONG>  (delete  character),  <STRONG>kdl1</STRONG>
+       (delete line), <STRONG>krmir</STRONG> (exit insert mode), <STRONG>kel</STRONG> (clear to end
+       of line), <STRONG>ked</STRONG> (clear to  end  of  screen),  <STRONG>kich1</STRONG>  (insert
+       character  or  enter insert mode), <STRONG>kil1</STRONG> (insert line), <STRONG>knp</STRONG>
+       (next  page),  <STRONG>kpp</STRONG>  (previous  page),  <STRONG>kind</STRONG>  (scroll  for-
+       ward/down), <STRONG>kri</STRONG> (scroll backward/up), <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 useful when the effects of a 3 by 3 direc-
+       tional 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
+       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 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:
+
+              run the program
+                     <STRONG>iprog</STRONG>
+
+              output <STRONG>is1</STRONG> <STRONG>is2</STRONG>
+
+              set the margins using
+                     <STRONG>mgc</STRONG>, <STRONG>smgl</STRONG> and <STRONG>smgr</STRONG>
+
+              set tabs using
+                     <STRONG>tbc</STRONG> and <STRONG>hts</STRONG>
+
+              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>
+                      A_STANDOUT     0     1
+                      A_UNDERLINE    1     2
+                      A_REVERSE      2     4
+                      A_BLINK        3     8
+                      A_DIM          4     16
+                      A_BOLD         5     32
+                      A_INVIS        6     64
+                      A_PROTECT      7     128
+                      A_ALTCHARSET   8     256
+
+       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 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
+
+                   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.
+
+
+   <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:
+
+       *    a termcap entry before expansion is  more  than  1023
+            bytes long,
+
+       *    and the application has only allocated a 1k buffer,
+
+       *    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,
+
+       *    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.
+
+
+</PRE>
+<H2>EXTENSIONS</H2><PRE>
+       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.
+
+       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.
+
+
+</PRE>
+<H2>FILES</H2><PRE>
+       /usr/share/terminfo/?/*  files     containing     terminal
+                                descriptions
+
+
+</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><A HREF="printf.3.html">printf(3)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
+
+
+</PRE>
+<H2>AUTHORS</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>
+</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/tic.1m.html b/doc/html/man/tic.1m.html
new file mode 100644
index 0000000..b3103ad
--- /dev/null
+++ b/doc/html/man/tic.1m.html
@@ -0,0 +1,324 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: tic.1m,v 1.44 2006/12/24 17:59:11 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>tic 1m</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>tic 1m</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>tic</STRONG> - the <EM>terminfo</EM> entry-description compiler
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>tic</STRONG>  [<STRONG>-1CGILNTUVacfgrstx</STRONG>]  [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</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 command <STRONG>tic</STRONG> 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>.
+
+       The results are normally placed  in  the  system  terminfo
+       directory  <STRONG>/usr/share/terminfo</STRONG>.   There  are  two  ways to
+       change this behavior.
+
+       First, you may override the system default by setting  the
+       variable  <STRONG>TERMINFO</STRONG>  in  your  shell environment to a valid
+       (existing) directory name.
+
+       Secondly, if <STRONG>tic</STRONG> cannot get access to  <EM>/usr/share/terminfo</EM>
+       or  your  TERMINFO  directory,  it looks for the directory
+       <EM>$HOME/.terminfo</EM>; if that directory exists,  the  entry  is
+       placed there.
+
+       Libraries that read terminfo entries are expected to check
+       for a TERMINFO directory first, look at <EM>$HOME/.terminfo</EM> if
+       TERMINFO  is  not set, and finally look in <EM>/usr/share/ter-</EM>
+       <EM>minfo</EM>.
+
+       <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.
+
+       <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 (and a
+              documented limit in terminfo),  these  entries  may
+              cause core dumps.
+
+       <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.
+
+       <STRONG>-I</STRONG>     Force source translation to terminfo format.
+
+       <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
+              also preserves the obsolete capabilities.
+
+       <STRONG>-o</STRONG><EM>dir</EM>  Write compiled entries to given  directory.   Over-
+              rides the TERMINFO environment variable.
+
+       <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
+              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 multi-
+              ple tc capabilities per entry.
+
+       <STRONG>-s</STRONG>     Summarize the compile by showing the directory 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.
+
+       <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.
+
+       <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  particu-
+            lar terminal.
+
+       The debug flag levels are as follows:
+
+       1      Names of files created and linked
+
+       2      Information related to the ``use'' facility
+
+       3      Statistics from the hashing algorithm
+
+       5      String-table memory allocations
+
+       7      Entries into the string-table
+
+       8      List of tokens encountered by scanner
+
+       9      All values computed in construction of the hash ta-
+              ble
+
+       If the debug level <EM>n</EM> is not given, it is taken to be  one.
+
+       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.  If the  environment
+       variable  <STRONG>TERMINFO</STRONG>  is  set,  that  directory  is searched
+       instead of <STRONG>/usr/share/terminfo</STRONG>.)  <STRONG>tic</STRONG> duplicates the capa-
+       bilities  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>.
+
+       If the environment variable <STRONG>TERMINFO</STRONG> is set, the  compiled
+       results are placed there instead of <STRONG>/usr/share/terminfo</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>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.
+
+
+</PRE>
+<H2>EXTENSIONS</H2><PRE>
+       Unlike the stock 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 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> directory (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>-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> directory unless TERMINFO is  explic-
+       itly set to it.
+
+
+</PRE>
+<H2>FILES</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="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011).
+
+
+
+                                                                <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html
new file mode 100644
index 0000000..7f4372f
--- /dev/null
+++ b/doc/html/man/toe.1m.html
@@ -0,0 +1,126 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2008 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: toe.1m,v 1.21 2008/01/05 20:57:16 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>toe 1m</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>toe 1m</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>toe</STRONG> - table of (terminfo) entries
+
+
+</PRE>
+<H2>SYNOPSIS</H2><PRE>
+       <STRONG>toe</STRONG> [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-ahuUV</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.
+
+       <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
+
+       <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.
+
+       <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>FILES</H2><PRE>
+       <STRONG>/usr/share/terminfo/?/*</STRONG>
+            Compiled terminal description database.
+
+
+</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>.
+
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011).
+
+
+
+                                                                <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html
new file mode 100644
index 0000000..2d31aa5
--- /dev/null
+++ b/doc/html/man/tput.1.html
@@ -0,0 +1,343 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: tput.1,v 1.27 2006/12/24 18:11:31 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>tput 1</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>tput 1</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</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> ... ]
+       <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>
+       <STRONG>tput</STRONG> <STRONG>-S</STRONG>  <STRONG>&lt;&lt;</STRONG>
+       <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><A HREF="sh.1.html">sh(1)</A></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><A HREF="sh.1.html">sh(1)</A></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 be ignored,and the operating system  will  not
+              be queried for the actual screen size.
+
+       <EM>capname</EM>
+              indicates   the   capability   from   the  <STRONG>terminfo</STRONG>
+              database.  When <STRONG>termcap</STRONG> support is compiled in, the
+              <STRONG>termcap</STRONG> name for the capability is also accepted.
+
+       <EM>parms</EM>  If  the  capability  is a string that takes parame-
+              ters, the arguments <EM>parms</EM> will be instantiated into
+              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
+              substitution.
+
+       <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>.
+
+       <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  <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>
+<H2>EXAMPLES</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><A HREF="profile.5.html">profile(5)</A></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>.
+
+       <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).
+
+       <STRONG>tput</STRONG> <STRONG>clear</STRONG>
+            Echo the clear-screen sequence for the current termi-
+            nal.
+
+       <STRONG>tput</STRONG> <STRONG>cols</STRONG>
+            Print the number of columns for the current terminal.
+
+       <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>cols</STRONG>
+            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>
+
+       <STRONG>tput</STRONG> <STRONG>hc</STRONG>
+            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.
+
+       <STRONG>tput</STRONG> <STRONG>cup</STRONG>
+            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>.
+
+            <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG>&lt;&lt;!</STRONG>
+            <STRONG>&gt;</STRONG> <STRONG>clear</STRONG>
+            <STRONG>&gt;</STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG>
+            <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.
+
+
+</PRE>
+<H2>FILES</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>
+
+
+</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>DIAGNOSTICS</H2><PRE>
+       <STRONG>tput</STRONG> prints the following error messages and sets the cor-
+       responding exit codes.
+
+
+       exit code   error message
+       ---------------------------------------------------------------------
+       <STRONG>0</STRONG>           (<EM>capname</EM> is a numeric variable that is not specified  in
+                   the  <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  database  for this terminal type, e.g.
+                   <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-T2621</STRONG> <STRONG>xmc</STRONG>)
+       <STRONG>1</STRONG>           no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> section.
+       <STRONG>2</STRONG>           usage error
+       <STRONG>3</STRONG>           unknown terminal <EM>type</EM> or no <STRONG>terminfo</STRONG> database
+       <STRONG>4</STRONG>           unknown <STRONG>terminfo</STRONG> capability <EM>capname</EM>
+       <STRONG>&gt;4</STRONG>          error occurred in -S
+       ---------------------------------------------------------------------
+
+
+</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>
+       operands.  A few platforms such as FreeBSD and NetBSD rec-
+       ognize termcap names rather than terminfo capability names
+       in their respective <STRONG>tput</STRONG> commands.
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011).
+
+
+
+                                                                <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
new file mode 100644
index 0000000..951fd0c
--- /dev/null
+++ b/doc/html/man/tset.1.html
@@ -0,0 +1,333 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2005,2006 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: tset.1,v 1.19 2006/12/24 15:00:30 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>tset 1</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>tset 1</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</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>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.
+
+       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 Linux and System-V-like UNIXes, <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 ter-
+       minal 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.
+
+       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>   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>-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>   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>-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.
+
+       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''.
+
+
+</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 ... `
+
+
+</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 exclama-
+       tion marks (``!'').
+
+
+</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>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><A HREF="getty.1.html">getty(1)</A></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 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  -n
+       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.
+
+
+</PRE>
+<H2>ENVIRONMENT</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.
+
+       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.
+
+
+</PRE>
+<H2>FILES</H2><PRE>
+       /etc/ttys
+            system  port  name  to terminal type mapping database
+            (BSD versions only).
+
+       /usr/share/terminfo
+            terminal capability database
+
+
+</PRE>
+<H2>SEE ALSO</H2><PRE>
+       <STRONG><A HREF="csh.1.html">csh(1)</A></STRONG>, <STRONG><A HREF="sh.1.html">sh(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>,  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>,  <STRONG><A HREF="tty.4.html">tty(4)</A></STRONG>,  ter-
+       <STRONG><A HREF="minfo.5.html">minfo(5)</A></STRONG>, <STRONG><A HREF="ttys.5.html">ttys(5)</A></STRONG>, <STRONG><A HREF="environ.7.html">environ(7)</A></STRONG>
+
+       This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011).
+
+
+
+                                                                <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>
+</BODY>
+</HTML>
diff --git a/doc/html/man/wresize.3x.html b/doc/html/man/wresize.3x.html
new file mode 100644
index 0000000..3e4ed35
--- /dev/null
+++ b/doc/html/man/wresize.3x.html
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2003,2006 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 1996
+  * @Id: wresize.3x,v 1.9 2006/02/25 21:47:06 tom Exp @
+-->
+<HTML>
+<HEAD>
+<TITLE>wresize 3x</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>wresize 3x</H1>
+<HR>
+<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>
+
+
+
+
+</PRE>
+<H2>NAME</H2><PRE>
+       <STRONG>wresize</STRONG> - resize a curses window
+
+
+</PRE>
+<H2>SYNOPSIS</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>
+       The  <STRONG>wresize</STRONG>  function  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>wbkgndset</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>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>SEE ALSO</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).
+
+
+
+                                                            <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>
+</BODY>
+</HTML>
diff --git a/doc/html/ncurses-intro.html b/doc/html/ncurses-intro.html
new file mode 100644
index 0000000..451e7ab
--- /dev/null
+++ b/doc/html/ncurses-intro.html
@@ -0,0 +1,2722 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
+<!--
+  $Id: ncurses-intro.html,v 1.43 2007/03/03 19:31:50 tom Exp $
+  ****************************************************************************
+  * Copyright (c) 1998-2006,2007 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.                                                           *
+  ****************************************************************************
+-->
+<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>
+      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>
+#include &lt;curses.h&gt;
+#include &lt;signal.h&gt;
+
+static void finish(int sig);
+
+int
+main(int argc, char *argv[])
+{
+    int num = 0;
+
+    /* initialize your non-curses data structures here */
+
+    (void) signal(SIGINT, finish);      /* arrange interrupts to terminate */
+
+    (void) initscr();      /* initialize the curses library */
+    keypad(stdscr, TRUE);  /* enable keyboard mapping */
+    (void) nonl();         /* tell curses not to do NL-&gt;CR/NL on output */
+    (void) cbreak();       /* take input chars one at a time, no wait for \n */
+    (void) echo();         /* echo input - in color */
+
+    if (has_colors())
+    {
+        start_color();
+
+        /*
+         * 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:
+         */
+        init_pair(1, COLOR_RED,     COLOR_BLACK);
+        init_pair(2, COLOR_GREEN,   COLOR_BLACK);
+        init_pair(3, COLOR_YELLOW,  COLOR_BLACK);
+        init_pair(4, COLOR_BLUE,    COLOR_BLACK);
+        init_pair(5, COLOR_CYAN,    COLOR_BLACK);
+        init_pair(6, COLOR_MAGENTA, COLOR_BLACK);
+        init_pair(7, COLOR_WHITE,   COLOR_BLACK);
+    }
+
+    for (;;)
+    {
+        int c = getch();     /* refresh, accept single keystroke of input */
+	attrset(COLOR_PAIR(num % 8));
+	num++;
+
+        /* process the command keystroke */
+    }
+
+    finish(0);               /* we're done */
+}
+
+static void finish(int sig)
+{
+    endwin();
+
+    /* do your non-curses wrapup here */
+
+    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>
+    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.
+
+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>
+
+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>
+
+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>
+
+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>
+
+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>
+
+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.
+
+<H2><A NAME="fcreate">Creating and Freeing Fields and Forms</A></H2>
+
+The basic function for creating fields is <CODE>new_field()</CODE>:
+
+<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>
+
+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).
+
+<PRE>
+FIELD *link_field(FIELD *field,           /* field to copy */
+                  int top, int left);     /* location of new copy */
+</PRE>
+
+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>
+
+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>
+
+As with duplicated fields, linked fields have attribute bits separate
+from the original. <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>
+
+To connect fields to a form, use
+
+<PRE>
+FORM *new_form(FIELD **fields);
+</PRE>
+
+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>
+
+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>
+
+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.
+
+<H2><A NAME="fattributes">Fetching and Changing Field Attributes</A></H2>
+
+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>
+
+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.
+
+<H3><A NAME="fsizes">Fetching Size and Location Data</A></H3>
+
+You can retrieve field sizes and locations through:
+
+<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>
+
+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.
+
+<H3><A NAME="flocation">Changing the Field Location</A></H3>
+
+It is possible to move a field's location on the screen:
+
+<PRE>
+int move_field(FIELD *field,              /* field to alter */
+               int top, int left);        /* new upper-left corner */
+</PRE>
+
+You can, of course. query the current location through <CODE>field_info()</CODE>.
+
+<H3><A NAME="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:
+
+<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>
+
+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>.
+
+<H3><A NAME="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>
+
+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.
+
+<PRE>
+int set_field_fore(FIELD *field,          /* field to alter */
+                   chtype attr);          /* attribute to set */
+
+chtype field_fore(FIELD *field);          /* field to query */
+
+int set_field_back(FIELD *field,          /* field to alter */
+                   chtype attr);          /* attribute to set */
+
+chtype field_back(FIELD *field);          /* field to query */
+
+int set_field_pad(FIELD *field,           /* field to alter */
+                 int pad);                /* pad character to set */
+
+chtype field_pad(FIELD *field);
+
+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).
+
+The page bit of a field controls whether it is displayed at the start of
+a new form screen.
+
+<H3><A NAME="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:
+
+<PRE>
+int set_field_opts(FIELD *field,          /* field to alter */
+                   int attr);             /* attribute to set */
+
+int field_opts_on(FIELD *field,           /* field to alter */
+                  int attr);              /* attributes to turn on */
+
+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 */
+
+int field_status(FIELD *field);         /* fetch mode of field */
+</PRE>
+
+Setting this flag under program control can be useful if you use the same
+form repeatedly, looking for modified fields each time. <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 isn't 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.
+
+<H2><A NAME="fuser">Field User Pointer</A></H2>
+
+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:
+
+<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.
+
+<H2><A NAME="fdynamic">Variable-Sized Fields</A></H2>
+
+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>
+
+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>
+
+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:
+
+<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>
+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>
+
+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:
+
+<H3><A NAME="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:
+
+<PRE>
+int set_field_type(FIELD *field,          /* field to alter */
+                   TYPE_ALPHA,            /* type to associate */
+                   int width);            /* maximum width of field */
+</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.
+
+<H3><A NAME="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:
+
+<PRE>
+int set_field_type(FIELD *field,          /* field to alter */
+                   TYPE_ALNUM,            /* type to associate */
+                   int width);            /* maximum width of field */
+</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.
+
+<H3><A NAME="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:
+
+<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>
+
+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>
+
+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.
+
+<H3><A NAME="ftype_integer">TYPE_INTEGER</A></H3>
+
+This field type accepts an integer.  It is set up as follows:
+
+<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>
+
+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>
+
+A <CODE>TYPE_INTEGER</CODE> value buffer can conveniently be interpreted
+with the C library function <CODE>atoi(3)</CODE>.
+
+<H3><A NAME="ftype_numeric">TYPE_NUMERIC</A></H3>
+
+This field type accepts a decimal number.  It is set up as follows:
+
+<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>
+
+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>
+
+A <CODE>TYPE_NUMERIC</CODE> value buffer can conveniently be interpreted
+with the C library function <CODE>atof(3)</CODE>.
+
+<H3><A NAME="ftype_regexp">TYPE_REGEXP</A></H3>
+
+This field type accepts data matching a regular expression.  It is set up
+as follows:
+
+<PRE>
+int set_field_type(FIELD *field,          /* field to alter */
+                   TYPE_REGEXP,           /* type to associate */
+                   char *regexp);         /* expression to match */
+</PRE>
+
+The syntax for regular expressions is that of <CODE>regcomp(3)</CODE>.
+The check for regular-expression match is performed on exit.
+
+<H2><A NAME="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:
+
+<PRE>
+char *field_buffer(FIELD *field,          /* field to query */
+                   int bufindex);         /* number of buffer to query */
+</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:
+
+<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>
+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>
+int scale_form(FORM *form,                /* form to query */
+               int *rows,                 /* form rows */
+               int *cols);                /* form cols */
+</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:
+
+<PRE>
+int set_form_win(FORM *form,              /* form to alter */
+                 WINDOW *win);            /* frame window to connect */
+
+WINDOW *form_win(FORM *form);             /* fetch frame window of form */
+
+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>
+
+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:
+
+<PRE>
+int data_ahead(FORM *form);               /* form to be queried */
+
+int data_behind(FORM *form);              /* form to be queried */
+</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>
+
+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:
+
+<PRE>
+int pos_form_cursor(FORM *)               /* form to be queried */
+</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.
+
+<H2><A NAME="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>).
+
+<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 */
+
+int set_form_init(FORM *form,    /* form to alter */
+                  HOOK hook);    /* initialization hook */
+
+HOOK form_init(FORM *form);      /* form to query */
+
+int set_form_term(FORM *form,    /* form to alter */
+                  HOOK hook);    /* termination hook */
+
+HOOK form_term(FORM *form);      /* form to query */
+
+int set_field_init(FORM *form,   /* form to alter */
+                  HOOK hook);    /* initialization hook */
+
+HOOK field_init(FORM *form);     /* form to query */
+
+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>
+int set_current_field(FORM *form,         /* form to alter */
+                      FIELD *field);      /* field to shift to */
+
+FIELD *current_field(FORM *form);         /* form to query */
+
+int field_index(FORM *form,               /* form to query */
+                FIELD *field);            /* field to get index of */
+</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>
+
+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.
+
+<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>
+
+The initial page of a newly-created form is 0.  The function
+<CODE>set_form_fields()</CODE> resets this.
+
+<H2><A NAME="frmoptions">Form Options</A></H2>
+
+Like fields, forms may have control option bits.  They can be changed
+or queried with these functions:
+
+<PRE>
+int set_form_opts(FORM *form,             /* form to alter */
+                  int attr);              /* attribute to set */
+
+int form_opts_on(FORM *form,              /* form to alter */
+                 int attr);               /* attributes to turn on */
+
+int form_opts_off(FORM *form,             /* form to alter */
+                  int attr);              /* attributes to turn off */
+
+int form_opts(FORM *form);                /* form to query */
+</PRE>
+
+By default, all options are on.  Here are the available option bits:
+
+<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>
+
+The option values are bit-masks and can be composed with logical-or in
+the obvious way.
+
+<H2><A NAME="fcustom">Custom Validation Types</A></H2>
+
+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.
+
+<H3><A NAME="flinktypes">Union Types</A></H3>
+
+The simplest way to create a custom data type is to compose it from two
+preexisting ones:
+
+<PRE>
+FIELD *link_fieldtype(FIELDTYPE *type1,
+                      FIELDTYPE *type2);
+</PRE>
+
+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.
+
+<H3><A NAME="fnewtypes">New Field Types</A></H3>
+
+To create a field type from scratch, you need to specify one or both of the
+following things:
+
+<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>
+
+Here's how you do that:
+<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>
+
+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>
+
+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.
+
+<H3><A NAME="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>
+
+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:
+
+<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 */
+
+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>