ncurses 6.0 - patch 20160514
[ncurses.git] / doc / html / man / ncurses.3x.html
index 24ba4e7adb4e35e6db9e637a39c58e1465cda75d..6a0f8f922df175ba82740ca9a15d871cbcf5e8d0 100644 (file)
+<!-- 
+  * t
+  ****************************************************************************
+  * Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+  * copy of this software and associated documentation files (the            *
+  * "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.124 2015/08/08 14:57:51 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
+<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 class="no-header">ncurses 3x</H1>
 <PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>                                                 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
 
-</PRE>
-<H2>NAME</H2><PRE>
-       <B>ncurses</B> - CRT screen handling and optimization package
 
 
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-       <B>#include</B> <B>&lt;curses.h&gt;</B>
 
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+       <STRONG>ncurses</STRONG> - CRT screen handling and optimization package
 
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-       The  <B>ncurses</B>  library  routines  give the user a terminal-
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+       The  <STRONG>ncurses</STRONG>  library  routines  give the user a terminal-
        independent method of updating character screens with rea-
-       sonable   optimization.    This  implementation  is  ``new
-       curses'' (ncurses) and is  the  approved  replacement  for
-       4.4BSD classic curses, which has been discontinued.
-
-       The  <B>ncurses</B>  routines  emulate  the <B><A HREF="ncurses.3x.html">curses(3x)</A></B> library of
-       System V Release 4 UNIX, and the XPG4 curses standard (XSI
-       curses)  but the <B>ncurses</B> library is freely redistributable
-       in source form.  Differences from the SVr4 curses are sum-
-       marized  under  the EXTENSIONS and BUGS sections below and
-       described in detail in the EXTENSIONS and BUGS sections of
+       sonable optimization.  This implementation is "new curses"
+       (ncurses) and is the approved replacement for 4.4BSD clas-
+       sic  curses,  which has been discontinued.  This describes
+       <STRONG>ncurses</STRONG> version 6.0 (patch 20160514).
+
+       The <STRONG>ncurses</STRONG> library emulates the curses library of  System
+       V  Release  4  UNIX,  and  XPG4 (X/Open Portability Guide)
+       curses (also known as XSI curses).  XSI stands for  X/Open
+       System  Interfaces  Extension.   The  <STRONG>ncurses</STRONG>  library  is
+       freely redistributable in source form.   Differences  from
+       the  SVr4  curses  are summarized under the <STRONG>EXTENSIONS</STRONG> and
+       <STRONG>PORTABILITY</STRONG> sections below and described in detail in  the
+       respective  <STRONG>EXTENSIONS</STRONG>,  <STRONG>PORTABILITY</STRONG>  and <STRONG>BUGS</STRONG> sections of
        individual man pages.
 
+       The <STRONG>ncurses</STRONG> library also provides many useful  extensions,
+       i.e.,  features  which  cannot  be implemented by a simple
+       add-on library but which require access to  the  internals
+       of the library.
+
        A  program  using  these  routines must be linked with the
-       <B>-lncurses</B> option, or (if it has been generated)  with  the
-       debugging  library  <B>-lncurses_g</B>.   (Your system integrator
+       <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
-       <B>-lcurses</B> and <B>-lcurses_g</B>.)  The ncurses_g library generates
+       <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.
+       tory)  that describe curses actions.  See also the section
+       on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
 
-       The  <B>ncurses</B>  package supports: overall screen, window and
+       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 <B>curses</B> input and
-       output options; environment query routines; color  manipu-
+       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.
 
-       To initialize the routines, the routine <B>initscr</B> or <B>newterm</B>
-       must  be called before any of the other routines that deal
-       with windows and screens are  used.   The  routine  <B>endwin</B>
-       must be called before exiting.  To get character-at-a-time
-       input without echoing (most interactive,  screen  oriented
-       programs  want  this),  the  following  sequence should be
-       used:
 
-             <B>initscr();</B> <B>cbreak();</B> <B>noecho();</B>
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+       The  library uses the locale which the calling program has
+       initialized.  That is normally done with <STRONG>setlocale</STRONG>:
+
+             <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
+
+       If the locale is not initialized, the library assumes that
+       characters  are  printable  as in ISO-8859-1, to work with
+       certain legacy programs.  You should initialize the locale
+       and  not  rely on specific details of the library when the
+       locale has not been setup.
+
+       The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to 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:
 
-             <B>nonl();</B>
-             <B>intrflush(stdscr,</B> <B>FALSE);</B>
-             <B>keypad(stdscr,</B> <B>TRUE);</B>
-
-       Before a <B>curses</B> 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 <B>tput</B> <B>init</B> command after the shell environment variable
-       <B>TERM</B> has been exported.  <B>tset(1)</B>  is  usually  responsible
-       for doing this.  [See <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for further details.]
-
-       The  <B>ncurses</B>  library  permits manipulation of data struc-
-       tures, called <I>windows</I>, which can be  thought  of  as  two-
-       dimensional  arrays of characters representing all or part
-       of a CRT screen.  A default window called <B>stdscr</B>, which is
-       the  size of the terminal screen, is supplied.  Others may
-       be created with <B>newwin</B>.
-
-       Note that <B>curses</B>  does  not  handle  overlapping  windows,
-       that's  done by the <B><A HREF="panel.3x.html">panel(3x)</A></B> library. This means that you
-       can either use <B>stdscr</B> or divide the screen into tiled win-
-       dows  and  not  using  <B>stdscr</B>  at all. Mixing the two will
+             <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.]
+
+
+</PRE><H3><a name="h3-Datatypes">Datatypes</a></H3><PRE>
+       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 <B>WINDOW</B> <B>*</B>.
-       These   data  structures  are  manipulated  with  routines
-       described here and elsewhere in the <B>ncurses</B> manual  pages.
-       Among  which  the  most basic routines are <B>move</B> and <B>addch</B>.
-       More general versions of these routines are included  with
-       names  beginning  with  <B>w</B>,  allowing the user to specify a
-       window.  The routines not beginning with <B>w</B> affect <B>stdscr</B>.)
-
-       After  using  routines  to manipulate a window, <B>refresh</B> is
-       called, telling <B>curses</B> to make the user's CRT screen  look
-       like  <B>stdscr</B>.   The characters in a window are actually of
-       type <B>chtype</B>, (character and attribute data) so that  other
+       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  <I>pads</I>  may  also  be  manipulated.
+       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 <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B> for more information.
+       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, <B>curses</B> is  also  able  to  translate
+       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
-       <B>&lt;curses.h&gt;</B>, such as <B>A_REVERSE</B>, <B>ACS_HLINE</B>, and <B>KEY_LEFT</B>.
+       <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 <B>LINES</B> and <B>COLUMNS</B> are set, or
+</PRE><H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE>
+       If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or
        if  the program is executing in a window environment, line
        and column information in the  environment  will  override
-       information read by <I>terminfo</I>.  This would effect a program
+       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 <B>ENVIRONMENT</B>).
+       of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
 
-       If  the environment variable <B>TERMINFO</B> is defined, any pro-
-       gram using <B>curses</B> checks for a local  terminal  definition
+       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
-       <B>TERM</B> is set to <B>att4424</B>, then the compiled terminal defini-
+       <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the compiled terminal defini-
        tion is found in
 
-             <B>@DATADIR@/terminfo/a/att4424</B>.
+             <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
 
-       (The <B>a</B> is copied from the first letter of <B>att4424</B> to avoid
-       creation of huge directories.)  However,  if  <B>TERMINFO</B>  is
-       set to <B>$HOME/myterms</B>, <B>curses</B> first checks
+       (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
 
-             <B>$HOME/myterms/a/att4424</B>,
+             <STRONG>$HOME/myterms/a/att4424</STRONG>,
 
        and if that fails, it then checks
 
-             <B>@DATADIR@/terminfo/a/att4424</B>.
+             <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
 
        This  is useful for developing experimental definitions or
-       when write permission in <B>@DATADIR@/terminfo</B> is not  avail-
+       when write permission in <STRONG>/usr/share/terminfo</STRONG> is not avail-
        able.
 
-       The  integer  variables  <B>LINES</B>  and  <B>COLS</B>  are  defined in
-       <B>&lt;curses.h&gt;</B> and will be filled in by <B>initscr</B> with the  size
-       of the screen.  The constants <B>TRUE</B> and <B>FALSE</B> have the val-
-       ues <B>1</B> and <B>0</B>, respectively.
+       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 <B>curses</B> routines also  define  the  <B>WINDOW</B>  <B>*</B>  variable
-       <B>curscr</B> which is used for certain low-level operations like
+       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
-       <B>curscr</B> can be used in only a few routines.
+       <STRONG>curscr</STRONG> can be used in only a few routines.
 
 
-   <B>Routine</B> <B>and</B> <B>Argument</B> <B>Names</B>
-       Many  <B>curses</B> routines have two or more versions.  The rou-
-       tines prefixed with <B>w</B> require a window argument.  The rou-
-       tines prefixed with <B>p</B> require a pad argument.  Those with-
-       out a prefix generally use <B>stdscr</B>.
+</PRE><H3><a name="h3-Routine-and-Argument-Names">Routine and Argument Names</a></H3><PRE>
+       Many  <STRONG>curses</STRONG> routines have two or more versions.  The 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 <B>mv</B> require a <I>y</I> and <I>x</I> coordinate
+       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
-       <B>mv</B> routines imply a call to <B>move</B> before the  call  to  the
-       other  routine.  The coordinate <I>y</I> always refers to the row
-       (of the window), and <I>x</I> always refers to the  column.   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 <B>mvw</B> take both a window argument
-       and <I>x</I> and <I>y</I> coordinates.  The window  argument  is  always
+       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, <I>win</I> is the window affected, and <I>pad</I> is the
-       pad affected; <I>win</I> and <I>pad</I>  are  always  pointers  to  type
-       <B>WINDOW</B>.
-
-       Option setting routines require a Boolean flag <I>bf</I> with the
-       value <B>TRUE</B> or <B>FALSE</B>; <I>bf</I> is always of type <B>bool</B>.  The vari-
-       ables  <I>ch</I>  and <I>attrs</I> below are always of type <B>chtype</B>.  The
-       types <B>WINDOW</B>, <B>SCREEN</B>, <B>bool</B>,  and  <B>chtype</B>  are  defined  in
-       <B>&lt;curses.h&gt;</B>.   The  type  <B>TERMINAL</B>  is defined in <B>&lt;term.h&gt;</B>.
-       All other arguments are integers.
-
-
-   <B>Routine</B> <B>Name</B> <B>Index</B>
-       The following table lists each <B>curses</B> routine and the name
-       of  the  manual  page  on which it is described.  Routines
-       flagged with `*' are ncurses-specific,  not  described  by
+       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:
+
+          <EM>ncurses</EM>
+               the "normal" library, which handles 8-bit  charac-
+               ters.   The  normal (8-bit) library stores charac-
+               ters combined with attributes in <STRONG>chtype</STRONG> data.
+
+               Attributes alone (no corresponding character)  may
+               be stored in <STRONG>chtype</STRONG> or the equivalent <STRONG>attr_t</STRONG> data.
+               In either case, the data is  stored  in  something
+               like an integer.
+
+               Each  cell  (row and column) in a <STRONG>WINDOW</STRONG> is stored
+               as a <STRONG>chtype</STRONG>.
+
+          <EM>ncursesw</EM>
+               the so-called "wide" library, which handles multi-
+               byte characters (see the section on <STRONG>ALTERNATE</STRONG> <STRONG>CON-</STRONG>
+               <STRONG>FIGURATIONS</STRONG>).  The "wide" library includes all  of
+               the  calls  from  the  "normal"  library.  It adds
+               about one third more calls using data types  which
+               store multibyte characters:
+
+               <STRONG>cchar_t</STRONG>
+                    corresponds  to  <STRONG>chtype</STRONG>.   However  it  is  a
+                    structure, because more data is  stored  than
+                    can  fit into an integer.  The characters are
+                    large enough to require a full integer  value
+                    -  and  there  may be more than one character
+                    per cell.  The video attributes and color are
+                    stored in separate fields of the structure.
+
+                    Each  cell  (row  and  column) in a <STRONG>WINDOW</STRONG> is
+                    stored as a <STRONG>cchar_t</STRONG>.
+
+               <STRONG>wchar_t</STRONG>
+                    stores a "wide" character.  Like <STRONG>chtype</STRONG>, this
+                    may be an integer.
+
+               <STRONG>wint_t</STRONG>
+                    stores  a  <STRONG>wchar_t</STRONG>  or  <STRONG>WEOF</STRONG>  - not the same,
+                    though both may have the same size.
+
+               The "wide" library provides  new  functions  which
+               are   analogous   to  functions  in  the  "normal"
+               library.   There  is  a  naming  convention  which
+               relates  many  of the normal/wide variants: a "_w"
+               is inserted into the name.   For  example,  <STRONG>waddch</STRONG>
+               becomes <STRONG>wadd_wch</STRONG>.
+
+
+</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
+       The following table lists each <STRONG>curses</STRONG> routine and the name
+       of the manual page on which  it  is  described.   Routines
+       flagged  with  `*'  are ncurses-specific, not described by
        XPG4 or present in SVr4.
 
-               <B>curses</B> Routine Name     Manual Page Name
-               -------------------------------------------
-               COLOR_PAIR              <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               PAIR_NUMBER             <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               _nc_tracebits           <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _traceattr              <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _traceattr2             <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _tracechar              <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _tracechtype            <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _tracechtype2           <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _tracedump              <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _tracef                 <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               _tracemouse             <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               addch                   <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
-               addchnstr               <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               addchstr                <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               addnstr                 <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               addstr                  <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               assume_default_colors   <B><A HREF="dft_fgbg.3x.html">dft_fgbg(3x)</A></B>*
-               attr_get                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               attr_off                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               attr_on                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               attr_set                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               attroff                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               attron                  <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               attrset                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               baudrate                <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               beep                    <B><A HREF="curs_beep.3x.html">curs_beep(3x)</A></B>
-               bkgd                    <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
-               bkgdset                 <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
-               border                  <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               box                     <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               can_change_color        <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               cbreak                  <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               chgat                   <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               clear                   <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               clearok                 <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-
-               clrtobot                <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               clrtoeol                <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               color_content           <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               color_set               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               copywin                 <B><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></B>
-               curs_set                <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               curses_version          <B><A HREF="curs_extend.3x.html">curs_extend(3x)</A></B>*
-               def_prog_mode           <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               def_shell_mode          <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               define_key              <B><A HREF="define_key.3x.html">define_key(3x)</A></B>*
-               del_curterm             <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               delay_output            <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               delch                   <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
-               deleteln                <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
-               delscreen               <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-               delwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               derwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               doupdate                <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
-               dupwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               echo                    <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               echochar                <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
-               endwin                  <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-               erase                   <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               erasechar               <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               filter                  <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               flash                   <B><A HREF="curs_beep.3x.html">curs_beep(3x)</A></B>
-               flushinp                <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               getbegyx                <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
-               getbkgd                 <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
-               getch                   <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
-               getmaxyx                <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
-               getmouse                <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-               getnstr                 <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               getparyx                <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
-               getstr                  <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               getsyx                  <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               getwin                  <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               getyx                   <B><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></B>
-               halfdelay               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               has_colors              <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               has_ic                  <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               has_il                  <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               has_key                 <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>*
-               hline                   <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               idcok                   <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               idlok                   <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               immedok                 <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               inch                    <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
-               inchnstr                <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               inchstr                 <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               init_color              <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               init_pair               <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               initscr                 <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-
-               innstr                  <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               insch                   <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
-               insdelln                <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
-               insertln                <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
-               insnstr                 <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               insstr                  <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               instr                   <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               intrflush               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               is_linetouched          <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
-               is_wintouched           <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
-               isendwin                <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-               keybound                <B><A HREF="keybound.3x.html">keybound(3x)</A></B>*
-               keyname                 <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               keyok                   <B><A HREF="keyok.3x.html">keyok(3x)</A></B>*
-               keypad                  <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               killchar                <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               leaveok                 <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               longname                <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               mcprint                 <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B>*
-               meta                    <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               mouse_trafo             <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-               mouseinterval           <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-               mousemask               <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-               move                    <B><A HREF="curs_move.3x.html">curs_move(3x)</A></B>
-               mvaddch                 <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
-               mvaddchnstr             <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               mvaddchstr              <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               mvaddnstr               <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               mvaddstr                <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               mvchgat                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               mvcur                   <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               mvdelch                 <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
-               mvderwin                <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               mvgetch                 <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
-               mvgetnstr               <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               mvgetstr                <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               mvhline                 <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               mvinch                  <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
-               mvinchnstr              <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               mvinchstr               <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               mvinnstr                <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               mvinsch                 <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
-               mvinsnstr               <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               mvinsstr                <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               mvinstr                 <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               mvprintw                <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
-               mvscanw                 <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
-               mvvline                 <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               mvwaddch                <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
-               mvwaddchnstr            <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               mvwaddchstr             <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               mvwaddnstr              <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               mvwaddstr               <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-
-               mvwchgat                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               mvwdelch                <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
-               mvwgetch                <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
-               mvwgetnstr              <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               mvwgetstr               <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               mvwhline                <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               mvwin                   <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               mvwinch                 <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
-               mvwinchnstr             <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               mvwinchstr              <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               mvwinnstr               <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               mvwinsch                <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
-               mvwinsnstr              <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               mvwinsstr               <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               mvwinstr                <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               mvwprintw               <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
-               mvwscanw                <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
-               mvwvline                <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               napms                   <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               newpad                  <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
-               newterm                 <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-               newwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               nl                      <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               nocbreak                <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               nodelay                 <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               noecho                  <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               nonl                    <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               noqiflush               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               noraw                   <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               notimeout               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               overlay                 <B><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></B>
-               overwrite               <B><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></B>
-               pair_content            <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               pechochar               <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
-               pnoutrefresh            <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
-               prefresh                <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
-               printw                  <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
-               putp                    <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               putwin                  <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               qiflush                 <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               raw                     <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               redrawwin               <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
-               refresh                 <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
-               reset_prog_mode         <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               reset_shell_mode        <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               resetty                 <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               resizeterm              <B><A HREF="resizeterm.3x.html">resizeterm(3x)</A></B>*
-               restartterm             <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               ripoffline              <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               savetty                 <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               scanw                   <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
-               scr_dump                <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
-               scr_init                <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
-
-               scr_restore             <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
-               scr_set                 <B><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></B>
-               scrl                    <B><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></B>
-               scroll                  <B><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></B>
-               scrollok                <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               set_curterm             <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               set_term                <B><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></B>
-               setscrreg               <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               setsyx                  <B><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></B>
-               setterm                 <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               setupterm               <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               slk_attr                <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>*
-               slk_attr_off            <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_attr_on             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_attr_set            <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_attroff             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_attron              <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_attrset             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_clear               <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_color               <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_init                <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_label               <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_noutrefresh         <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_refresh             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_restore             <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_set                 <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               slk_touch               <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>
-               standend                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               standout                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               start_color             <B><A HREF="curs_color.3x.html">curs_color(3x)</A></B>
-               subpad                  <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B>
-               subwin                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               syncok                  <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               termattrs               <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               termname                <B><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></B>
-               tgetent                 <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
-               tgetflag                <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
-               tgetnum                 <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
-               tgetstr                 <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
-               tgoto                   <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
-               tigetflag               <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               tigetnum                <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               tigetstr                <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               timeout                 <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               touchline               <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
-               touchwin                <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
-               tparm                   <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               tputs                   <B><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></B>
-               tputs                   <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               trace                   <B><A HREF="curs_trace.3x.html">curs_trace(3x)</A></B>*
-               typeahead               <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               unctrl                  <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               ungetch                 <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
-
-               ungetmouse              <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-               untouchwin              <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
-               use_default_colors      <B><A HREF="dft_fgbg.3x.html">dft_fgbg(3x)</A></B>*
-               use_env                 <B><A HREF="curs_util.3x.html">curs_util(3x)</A></B>
-               use_extended_names      <B><A HREF="curs_extend.3x.html">curs_extend(3x)</A></B>*
-               vidattr                 <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               vidputs                 <B><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></B>
-               vline                   <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               vw_printw               <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
-               vw_scanw                <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
-               vwprintw                <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
-               vwscanw                 <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
-               waddch                  <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
-               waddchnstr              <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               waddchstr               <B><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></B>
-               waddnstr                <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               waddstr                 <B><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></B>
-               wattr_get               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wattr_off               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wattr_on                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wattr_set               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wattroff                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wattron                 <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wattrset                <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wbkgd                   <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
-               wbkgdset                <B><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></B>
-               wborder                 <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               wchgat                  <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wclear                  <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               wclrtobot               <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               wclrtoeol               <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               wcolor_set              <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wcursyncup              <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               wdelch                  <B><A HREF="curs_delch.3x.html">curs_delch(3x)</A></B>
-               wdeleteln               <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
-               wechochar               <B><A HREF="curs_addch.3x.html">curs_addch(3x)</A></B>
-               wenclose                <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-               werase                  <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>
-               wgetch                  <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B>
-               wgetnstr                <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               wgetstr                 <B><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></B>
-               whline                  <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-               winch                   <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>
-               winchnstr               <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               winchstr                <B><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></B>
-               winnstr                 <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               winsch                  <B><A HREF="curs_insch.3x.html">curs_insch(3x)</A></B>
-               winsdelln               <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
-               winsertln               <B><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></B>
-               winsnstr                <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               winsstr                 <B><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></B>
-               winstr                  <B><A HREF="curs_instr.3x.html">curs_instr(3x)</A></B>
-               wmouse_trafo            <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B>*
-
-               wmove                   <B><A HREF="curs_move.3x.html">curs_move(3x)</A></B>
-               wnoutrefresh            <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
-               wprintw                 <B><A HREF="curs_printw.3x.html">curs_printw(3x)</A></B>
-               wredrawln               <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
-               wrefresh                <B><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></B>
-               wresize                 <B><A HREF="wresize.3x.html">wresize(3x)</A></B>*
-               wscanw                  <B><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></B>
-               wscrl                   <B><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></B>
-               wsetscrreg              <B><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></B>
-               wstandend               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wstandout               <B><A HREF="curs_attr.3x.html">curs_attr(3x)</A></B>
-               wsyncdown               <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               wsyncup                 <B><A HREF="curs_window.3x.html">curs_window(3x)</A></B>
-               wtimeout                <B><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></B>
-               wtouchln                <B><A HREF="curs_touch.3x.html">curs_touch(3x)</A></B>
-               wvline                  <B><A HREF="curs_border.3x.html">curs_border(3x)</A></B>
-
-
-</PRE>
-<H2>RETURN VALUE</H2><PRE>
-       Routines  that  return  an integer return <B>ERR</B> upon failure
-       and an integer value other than <B>ERR</B> upon  successful  com-
-       pletion,  unless  otherwise  noted in the routine descrip-
+              <STRONG>curses</STRONG> Routine Name     Manual Page Name
+              --------------------------------------------
+              COLOR_PAIR              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+              PAIR_NUMBER             <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              _nc_free_and_exit       <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+              _nc_freeall             <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+              _nc_tracebits           <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+              _traceattr              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+              _traceattr2             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+              _tracechar              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+
+              _tracechtype            <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+              _tracechtype2           <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+              _tracedump              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+              _tracef                 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+              _tracemouse             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+              add_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+              add_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+              add_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+              addch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+              addchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+              addchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+              addnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+              addnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+              addstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+              addwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+              assume_default_colors   <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
+              attr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              attr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              attr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              attr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              attroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              attron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              attrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              baudrate                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+              beep                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+              bkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+              bkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+              bkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+              bkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+              border                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+              border_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+              box                     <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+              box_set                 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+              can_change_color        <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+              cbreak                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              chgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              clear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+              clearok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+              clrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+              clrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+              color_content           <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+              color_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              copywin                 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+              curs_set                <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+              curses_version          <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+              def_prog_mode           <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+              def_shell_mode          <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+              define_key              <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
+              del_curterm             <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              delay_output            <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+              delch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+              deleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+              delscreen               <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+              delwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+              derwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+              doupdate                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+              dupwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+              echo                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              echo_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+              echochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+              endwin                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+              erase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+              erasechar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+              erasewchar              <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+              filter                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+              flash                   <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+
+              flushinp                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+              get_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+              get_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+              getattrs                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              getbegx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getbegy                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getbegyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+              getbkgd                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+              getbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+              getcchar                <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+              getch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+              getcurx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getcury                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getmaxx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getmaxy                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getmaxyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+              getmouse                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+              getn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+              getnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+              getparx                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getpary                 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+              getparyx                <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+              getstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+              getsyx                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+              getwin                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+              getyx                   <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+              halfdelay               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              has_colors              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+              has_ic                  <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+              has_il                  <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+              has_key                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
+              hline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+              hline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+              idcok                   <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+              idlok                   <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+              immedok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+              in_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+              in_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+              in_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+              inch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+              inchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+              inchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+              init_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+              init_pair               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+              initscr                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+              innstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+              innwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+              ins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+              ins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+              ins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+              insch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+              insdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+              insertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+              insnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+              insstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+              instr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+              intrflush               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              inwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+              is_cleared              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_idcok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_idlok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_immedok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_keypad               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_leaveok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_linetouched          <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+              is_nodelay              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+
+              is_notimeout            <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_pad                  <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_scrollok             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_subwin               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_syncok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              is_term_resized         <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+              is_wintouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+              isendwin                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+              key_defined             <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
+              key_name                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+              keybound                <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
+              keyname                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+              keyok                   <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
+              keypad                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              killchar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+              killwchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+              leaveok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+              longname                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+              mcprint                 <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
+              meta                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              mouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+              mouseinterval           <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+              mousemask               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+              move                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+              mvadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+              mvadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+              mvadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+              mvaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+              mvaddchnstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+              mvaddchstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+              mvaddnstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+              mvaddnwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+              mvaddstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+              mvaddwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+              mvchgat                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              mvcur                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              mvdelch                 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+              mvderwin                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+              mvget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+              mvget_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+              mvgetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+              mvgetn_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+              mvgetnstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+              mvgetstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+              mvhline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+              mvhline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+              mvin_wch                <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+              mvin_wchnstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+              mvin_wchstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+              mvinch                  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+              mvinchnstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+              mvinchstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+              mvinnstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+              mvinnwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+              mvins_nwstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+              mvins_wch               <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+              mvins_wstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+              mvinsch                 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+              mvinsnstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+              mvinsstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+              mvinstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+              mvinwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+              mvprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+              mvscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+              mvvline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+              mvvline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+
+              mvwadd_wch              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+              mvwadd_wchnstr          <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+              mvwadd_wchstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+              mvwaddch                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+              mvwaddchnstr            <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+              mvwaddchstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+              mvwaddnstr              <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+              mvwaddnwstr             <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+              mvwaddstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+              mvwaddwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+              mvwchgat                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              mvwdelch                <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+              mvwget_wch              <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+              mvwget_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+              mvwgetch                <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+              mvwgetn_wstr            <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+              mvwgetnstr              <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+              mvwgetstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+              mvwhline                <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+              mvwhline_set            <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+              mvwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+              mvwin_wch               <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+              mvwin_wchnstr           <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+              mvwin_wchstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+              mvwinch                 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+              mvwinchnstr             <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+              mvwinchstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+              mvwinnstr               <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+              mvwinnwstr              <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+              mvwins_nwstr            <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+              mvwins_wch              <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+              mvwins_wstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+              mvwinsch                <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+              mvwinsnstr              <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+              mvwinsstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+              mvwinstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+              mvwinwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+              mvwprintw               <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+              mvwscanw                <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+              mvwvline                <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+              mvwvline_set            <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+              napms                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+              newpad                  <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+              newterm                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+              newwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+              nl                      <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+              nocbreak                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              nodelay                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              noecho                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              nofilter                <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
+              nonl                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+              noqiflush               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              noraw                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              notimeout               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              overlay                 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+              overwrite               <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+              pair_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+              pechochar               <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+              pnoutrefresh            <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+              prefresh                <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+              printw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+              putp                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              putwin                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+              qiflush                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              raw                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              redrawwin               <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+
+              refresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+              reset_prog_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+              reset_shell_mode        <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+              resetty                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+              resize_term             <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+              resizeterm              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
+              restartterm             <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              ripoffline              <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+              savetty                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+              scanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+              scr_dump                <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+              scr_init                <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+              scr_restore             <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+              scr_set                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+              scrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+              scroll                  <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+              scrollok                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+              set_curterm             <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              set_term                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+              setcchar                <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+              setscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+              setsyx                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+              setterm                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              setupterm               <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              slk_attr                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
+              slk_attr_off            <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_attr_on             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_attr_set            <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_attroff             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_attron              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_attrset             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_clear               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_color               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_init                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_label               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_noutrefresh         <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_refresh             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_restore             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_set                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              slk_touch               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+              standend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              standout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              start_color             <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+              subpad                  <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+              subwin                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+              syncok                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+              term_attrs              <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+              termattrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+              termname                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+              tgetent                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+              tgetflag                <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+              tgetnum                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+              tgetstr                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+              tgoto                   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+              tigetflag               <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              tigetnum                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              tigetstr                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              tiparm                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
+              timeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              touchline               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+              touchwin                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+              tparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              tputs                   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+              tputs                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              trace                   <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+              typeahead               <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+
+              unctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+              unget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+              ungetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+              ungetmouse              <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+              untouchwin              <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+              use_default_colors      <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
+              use_env                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+              use_extended_names      <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+              use_legacy_coding       <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
+              use_tioctl              <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+              vid_attr                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              vid_puts                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              vidattr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              vidputs                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+              vline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+              vline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+              vw_printw               <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+              vw_scanw                <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+              vwprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+              vwscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+              wadd_wch                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+              wadd_wchnstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+              wadd_wchstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+              waddch                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+              waddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+              waddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+              waddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+              waddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+              waddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+              waddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+              wattr_get               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              wattr_off               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              wattr_on                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              wattr_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              wattroff                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              wattron                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              wattrset                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              wbkgd                   <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+              wbkgdset                <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+              wbkgrnd                 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+              wbkgrndset              <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+              wborder                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+              wborder_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+              wchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              wclear                  <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+              wclrtobot               <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+              wclrtoeol               <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+              wcolor_set              <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              wcursyncup              <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+              wdelch                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+              wdeleteln               <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+              wecho_wchar             <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+              wechochar               <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+              wenclose                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+              werase                  <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+              wget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+              wget_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+              wgetbkgrnd              <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+              wgetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+              wgetdelay               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              wgetn_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+              wgetnstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+              wgetparent              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              wgetscrreg              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+              wgetstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+              whline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+
+              whline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+              win_wch                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+              win_wchnstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+              win_wchstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+              winch                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+              winchnstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+              winchstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+              winnstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+              winnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+              wins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+              wins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+              wins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+              winsch                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+              winsdelln               <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+              winsertln               <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+              winsnstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+              winsstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+              winstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+              winwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+              wmouse_trafo            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+              wmove                   <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+              wnoutrefresh            <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+              wprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+              wredrawln               <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+              wrefresh                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+              wresize                 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
+              wscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+              wscrl                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+              wsetscrreg              <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+              wstandend               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              wstandout               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+              wsyncdown               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+              wsyncup                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+              wtimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+              wtouchln                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+              wunctrl                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+              wvline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+              wvline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Routines that return an integer return  <STRONG>ERR</STRONG>  upon  failure
+       and  an  integer value other than <STRONG>ERR</STRONG> upon successful com-
+       pletion, unless otherwise noted in  the  routine  descrip-
        tions.
 
-       All macros return the  value  of  the  <B>w</B>  version,  except
-       <B>setscrreg</B>,  <B>wsetscrreg</B>,  <B>getyx</B>,  <B>getbegyx</B>,  <B>getmaxyx</B>.  The
-       return values of <B>setscrreg</B>, <B>wsetscrreg</B>,  <B>getyx</B>,  <B>getbegyx</B>,
-       and <B>getmaxyx</B> are undefined (<I>i</I>.<I>e</I>., these should not be used
+       As a general rule, routines check for null pointers passed
+       as parameters, and handle this as an error.
+
+       All macros return the  value  of  the  <STRONG>w</STRONG>  version,  except
+       <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>.  The
+       return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>,  <STRONG>getyx</STRONG>,  <STRONG>getbegyx</STRONG>,
+       and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
        as the right-hand side of assignment statements).
 
-       Routines that return pointers return <B>NULL</B> on error.
+       Routines that return pointers return <STRONG>NULL</STRONG> on error.
 
 
-</PRE>
-<H2>ENVIRONMENT</H2><PRE>
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
        The following environment symbols are useful for customiz-
-       ing the runtime behavior of the <B>ncurses</B> library.  The most
+       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 <B>ncurses</B> 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 <B>cmdch</B> 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 $COLUMNS
-            value nor the terminal's screen  size  is  available,
-            <B>ncurses</B>  uses  the size which may be specified in the
-            terminfo database (i.e., the <B>cols</B> capability).
-
-            It is important that your application use  a  correct
-            size  for  the  screen.   However, 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.
-
-            Either  COLUMNS  or  LINES  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, <B>lines</B> and <B>cols</B> should not be specified
-            in a terminal description for terminals which are run
-            as emulations.
-
-            Use the <B>use_env</B> function to disable this feature.
-
-       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.
-
-       HOME Tells  <B>ncurses</B> 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, <B>ncurses</B> uses
-            132.
-
-       NCURSES_NO_PADDING
-            Most of the terminal  descriptions  in  the  terminfo
-            database  are  written for real "hardware" terminals.
-            Many people use terminal emulators  which  run  in  a
-            windowing  environment  and use curses-based applica-
-            tions.  Terminal emulators can duplicate all  of  the
-            important aspects of a hardware terminal, but they do
-            not have the same limitations.  The chief  limitation
-            of  a  hardware  terminal from the standpoint of your
-            application is the management of dataflow, i.e., tim-
-            ing.  Unless a hardware terminal is interfaced into a
-            terminal concentrator (which does flow  control),  it
-            (or  your application) must manage dataflow, prevent-
-            ing overruns.  The  cheapest  solution  (no  hardware
-            cost) is for your program to do this by pausing after
-            operations that the terminal  does  slowly,  such  as
-            clearing the display.
-
-            As  a  result,  many terminal descriptions (including
-            the vt100) have delay times embedded.  You  may  wish
-            to  use  these  descriptions, but not want to pay the
-            performance penalty.
-
-            Set the NCURSES_NO_PADDING symbol to disable all  but
-            mandatory  padding.   Mandatory  padding is used as a
-            part of special control sequences such as <I>flash</I>.
-
-       NCURSES_NO_SETBUF
-            Normally <B>ncurses</B> enables buffered output during  ter-
-            minal  initialization.   This  is  done  (as  in SVr4
-            curses) for performance reasons.   For  testing  pur-
-            poses, both of <B>ncurses</B> 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_TRACE
-            During  initialization, the <B>ncurses</B> debugging library
-            checks the NCURSES_TRACE symbol.  If it  is  defined,
-            to a numeric value, <B>ncurses</B> calls the <B>trace</B> function,
-            using that value as the argument.
-
-            The argument values, which are defined  in  <B>curses.h</B>,
-            provide  several  types of information.  When running
-            with traces enabled, your application will write  the
-            file <B>trace</B> to the current directory.
-
-       TERM Denotes  your  terminal  type.  Each terminal type is
-            distinct, though many are similar.
-
-       TERMCAP
-            If the <B>ncurses</B> library has been configured with <I>term-</I>
-            <I>cap</I>  support,  <B>ncurses</B>  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  <B>ncurses</B>  to  ignore the usual place for this
-            information, e.g., /etc/termcap.
-
-       TERMINFO
-            Overrides the directory in which <B>ncurses</B> 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 <B>ncurses</B> 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.,
-               @DATADIR@/terminfo
-
-       TERMINFO_DIRS
-            Specifies a list of directories to search for  termi-
-            nal  descriptions.   The  list is separated by colons
-            (i.e., ":").  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  <B>ncurses</B>
-            checks  the TERMPATH symbol.  This is a list of file-
-            names  separated  by  colons  (i.e.,  ":").   If  the
-            TERMPATH  symbol  is  not  set,  <B>ncurses</B> looks in the
-            files   /etc/termcap,   /usr/share/misc/termcap   and
-            $HOME/.termcap, in that order.
+   <STRONG>CC</STRONG>
+       When set,  change  occurrences  of  the  command_character
+       (i.e.,  the  <STRONG>cmdch</STRONG>  capability)  of  the  loaded  terminfo
+       entries to the value of this variable.  Very few  terminfo
+       entries provide this feature.
+
+       Because this name is also used in development environments
+       to represent the C compiler's name, <STRONG>ncurses</STRONG> ignores it  if
+       it does not happen to be a single character.
+
+
+</PRE><H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
+       The  debugging  library  checks  this environment variable
+       when the application has redirected output to a file.  The
+       variable's  numeric value is used for the baudrate.  If no
+       value is found, <STRONG>ncurses</STRONG> uses 9600.  This allows testers to
+       construct  repeatable  test-cases  that  take into account
+       costs that depend on baudrate.
+
+
+</PRE><H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
+       Specify the width of the screen in  characters.   Applica-
+       tions  running in a windowing environment usually are able
+       to obtain the width of the window in which they  are  exe-
+       cuting.   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  indepen-
+       dently.   This  is mainly useful to circumvent legacy mis-
+       features of terminal descriptions, e.g., xterm which  com-
+       monly 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 external
+       environment (but not including system calls) to  determine
+       the  screen  size.   Use the <STRONG>use_tioctl</STRONG> function to update
+       <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen  size  obtained  from
+       system calls or the terminal database.
+
+
+</PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
+       Specifies  the  total  time,  in  milliseconds,  for which
+       ncurses will await a character sequence, e.g., a  function
+       key.   The default value, 1000 milliseconds, is enough for
+       most uses.  However, it is made a variable to  accommodate
+       unusual applications.
+
+       The most common instance where you may wish to change this
+       value is to work with slow hosts, e.g., running on a  net-
+       work.   If the host cannot read characters rapidly enough,
+       it will have the same effect as if the  terminal  did  not
+       send  characters  rapidly  enough.  The library will still
+       see a timeout.
+
+       Note that xterm mouse events are built up  from  character
+       sequences  received  from  the xterm.  If your application
+       makes heavy use of  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 implementa-
+       tion provides a global variable with the same name.   Por-
+       table  applications  should  not rely upon the presence of
+       ESCDELAY in either form, but setting the environment vari-
+       able rather than the global variable does not create prob-
+       lems when compiling an application.
+
+
+</PRE><H3><a name="h3-HOME">HOME</a></H3><PRE>
+       Tells <STRONG>ncurses</STRONG> where your home directory is.  That is where
+       it may read and write auxiliary terminal descriptions:
+
+       $HOME/.termcap
+       $HOME/.terminfo
+
+
+</PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
+       Like  COLUMNS, specify the height of the screen in charac-
+       ters.  See COLUMNS for a detailed description.
+
+
+</PRE><H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE>
+       This applies only to the OS/2 EMX port.  It specifies  the
+       order  of  buttons  on the mouse.  OS/2 numbers a 3-button
+       mouse inconsistently from other platforms:
+
+       1 = left
+       2 = right
+       3 = middle.
+
+       This variable lets you customize the mouse.  The  variable
+       must  be  three numeric digits 1-3 in any order, e.g., 123
+       or 321.  If it is not specified, <STRONG>ncurses</STRONG> uses 132.
+
+
+</PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
+       Override the compiled-in assumption  that  the  terminal's
+       default   colors   are  white-on-black  (see  <STRONG>default_col-</STRONG>
+       <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG>).  You may set the foreground and background color
+       values  with this environment variable by proving a 2-ele-
+       ment list: foreground,background.  For  example,  to  tell
+       ncurses  to not assume anything about the colors, set this
+       to "-1,-1".  To make it green-on-black, set it  to  "2,0".
+       Any  positive  value  from zero to the terminfo <STRONG>max_colors</STRONG>
+       value is allowed.
+
+
+</PRE><H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
+       This applies only to the MinGW port of ncurses.
+
+       The <STRONG>Console2</STRONG> program's handling of the  Microsoft  Console
+       API call <STRONG>CreateConsoleScreenBuffer</STRONG> is defective.  Applica-
+       tions which use this will hang.  However, it  is  possible
+       to  simulate  the  action  of this call by mapping coordi-
+       nates, explicitly saving and restoring the original screen
+       contents.   Setting the environment variable <STRONG>NCGDB</STRONG> has the
+       same effect.
+
+
+</PRE><H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE>
+       This applies only to ncurses configured  to  use  the  GPM
+       interface.
+
+       If  present,  the environment variable is a list of one or
+       more terminal names against  which  the  TERM  environment
+       variable  is  matched.   Setting it to an empty value dis-
+       ables 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".
+
+
+</PRE><H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
+       <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement  opti-
+       mization.   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> set-
+       tings to avoid the problem.  NCURSES_NO_MAGIC_COOKIE  Some
+       terminals  use  a magic-cookie feature which requires spe-
+       cial  handling  to  make  highlighting  and  other   video
+       attributes  display  properly.  You can suppress the high-
+       lighting entirely for  these  terminals  by  setting  this
+       environment variable.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE>
+       Most of the terminal descriptions in the terminfo database
+       are written for real "hardware"  terminals.   Many  people
+       use  terminal  emulators which run in a windowing environ-
+       ment and use curses-based applications.   Terminal  emula-
+       tors can duplicate all of the important aspects of a hard-
+       ware terminal, but they do not have the same  limitations.
+       The  chief  limitation  of  a  hardware  terminal from the
+       standpoint  of  your  application  is  the  management  of
+       dataflow,  i.e.,  timing.   Unless  a hardware terminal is
+       interfaced into a terminal concentrator (which  does  flow
+       control),  it  (or your application) must manage dataflow,
+       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 environment variable to disable
+       all but mandatory padding.  Mandatory padding is used as a
+       part of special control sequences such as <EM>flash</EM>.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
+       This setting is obsolete.  Before changes
+
+          <STRONG>o</STRONG>   started with 5.9 patch 20120825 and
+
+          <STRONG>o</STRONG>   continued though 5.9 patch 20130126
+
+       <STRONG>ncurses</STRONG> enabled buffered output during  terminal  initial-
+       ization.   This  was  done (as in SVr4 curses) for perfor-
+       mance reasons.  For testing purposes, both of <STRONG>ncurses</STRONG>  and
+       certain  applications,  this  feature  was  made optional.
+       Setting the  NCURSES_NO_SETBUF  variable  disabled  output
+       buffering,  leaving  the  output  in the original (usually
+       line buffered) mode.
+
+       In the current implementation, ncurses  performs  its  own
+       buffering  and  does not require this workaround.  It does
+       not modify the buffering of the standard output.
+
+       The reason for the change was to  make  the  behavior  for
+       interrupts and other signals more robust.  One drawback is
+       that certain nonconventional programs would  mix  ordinary
+       stdio  calls  with ncurses calls and (usually) work.  This
+       is no longer possible  since  ncurses  is  not  using  the
+       buffered  standard  output but its own output (to the same
+       file descriptor).  As a special case, the low-level  calls
+       such  as  <STRONG>putp</STRONG>  still  use the standard output.  But high-
+       level curses calls do not.
+
+
+</PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
+       During initialization, the <STRONG>ncurses</STRONG> library checks for spe-
+       cial cases where VT100 line-drawing (and the corresponding
+       alternate character set  capabilities)  described  in  the
+       terminfo are known to be missing.  Specifically, when run-
+       ning 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 terminal emulators.
+
+       When setting this variable, you should set it to a nonzero
+       value.   Setting  it  to zero (or to a nonnumber) disables
+       the special check for "linux" and "screen".
+
+       As an alternative to  the  environment  variable,  ncurses
+       checks  for an extended terminfo capability <STRONG>U8</STRONG>.  This is a
+       numeric capability which can  be  compiled  using  <STRONG>tic</STRONG> <STRONG>-x</STRONG>.
+       For example
+
+          # linux console, if patched to provide working
+          # VT100 shift-in/shift-out, with corresponding font.
+          linux-vt100|linux console with VT100 line-graphics,
+                  U8#0, use=linux,
+
+          # uxterm with vt100Graphics resource set to false
+          xterm-utf8|xterm relying on UTF-8 line-graphics,
+                  U8#1, use=xterm,
+
+       The name "U8" is chosen to be two characters, to permit it
+       to be used  by  applications  that  use  ncurses'  termcap
+       interface.
+
+
+</PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
+       During   initialization,  the  <STRONG>ncurses</STRONG>  debugging  library
+       checks the NCURSES_TRACE environment variable.  If  it  is
+       defined, to a numeric value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> func-
+       tion, using that value as the argument.
+
+       The argument values, which are defined in  <STRONG>curses.h</STRONG>,  pro-
+       vide  several  types  of  information.   When running with
+       traces enabled, your application will write the file <STRONG>trace</STRONG>
+       to the current directory.
+
+       See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
+
+
+</PRE><H3><a name="h3-TERM">TERM</a></H3><PRE>
+       Denotes  your  terminal  type.  Each terminal type is dis-
+       tinct, though many are similar.
+
+       <STRONG>TERM</STRONG> is commonly set by terminal emulators to help  appli-
+       cations  find  a  workable  terminal description.  Some of
+       those  choose  a  popular  approximation,  e.g.,   "ansi",
+       "vt100",  "xterm"  rather  than  an exact fit.  Not infre-
+       quently, your application will  have  problems  with  that
+       approach, e.g., incorrect function-key definitions.
 
+       If  you  set <STRONG>TERM</STRONG> in your environment, it has no effect on
+       the operation of the terminal emulator.  It  only  affects
+       the  way applications work within the terminal.  Likewise,
+       as a general rule (<STRONG>xterm</STRONG> being a rare exception), terminal
+       emulators  which  allow you to specify <STRONG>TERM</STRONG> as a parameter
+       or configuration value do not  change  their  behavior  to
+       match that setting.
 
-</PRE>
-<H2>FILES</H2><PRE>
-       @DATADIR@/tabset
-            directory  containing  initialization  files  for the
-            terminal capability database @DATADIR@/terminfo  ter-
-            minal capability database
 
+</PRE><H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
+       If  the  <STRONG>ncurses</STRONG>  library has been configured with <EM>termcap</EM>
+       support, <STRONG>ncurses</STRONG> will check for a  terminal's  description
+       in  termcap  form  if  it is not available in the terminfo
+       database.
+
+       The TERMCAP environment variable contains either a  termi-
+       nal  description  (with  newlines stripped out), or a file
+       name telling where the information  denoted  by  the  TERM
+       environment  variable  exists.  In either case, setting it
+       directs <STRONG>ncurses</STRONG> to ignore the usual place for this  infor-
+       mation, e.g., /etc/termcap.
 
-</PRE>
-<H2>SEE ALSO</H2><PRE>
-       <B><A HREF="terminfo.5.html">terminfo(5)</A></B>  and  3x  pages  whose names begin "curs_" for
-       detailed routine descriptions.
 
+</PRE><H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
+       Overrides the directory in which <STRONG>ncurses</STRONG> searches for your
+       terminal description.  This is the simplest, but  not  the
+       only  way to change the list of directories.  The complete
+       list of directories in order follows:
+
+          <STRONG>o</STRONG>   the last directory to which <STRONG>ncurses</STRONG> wrote, if  any,
+              is searched first
+
+          <STRONG>o</STRONG>   the directory specified by the TERMINFO environment
+              variable
+
+          <STRONG>o</STRONG>   $HOME/.terminfo
 
-</PRE>
-<H2>EXTENSIONS</H2><PRE>
-       The  <B>ncurses</B>  library  can  be  compiled  with  an  option
-       (<B>-DUSE_GETCAP</B>) that falls back to the old-style /etc/term-
-       cap file if the terminal setup code cannot find a terminfo
-       entry  corresponding  to <B>TERM</B>.  Use of this feature is not
-       recommended, as it essentially includes an entire  termcap
-       compiler  in the <B>ncurses</B> startup code, at significant cost
-       in core and startup cycles.
+          <STRONG>o</STRONG>   directories listed in the TERMINFO_DIRS environment
+              variable
+
+          <STRONG>o</STRONG>   one  or more directories whose names are configured
+              and compiled into the ncurses library, i.e.,
+
+             <STRONG>o</STRONG>   /usr/local/ncurses/share/ter-
+                 minfo:/usr/share/terminfo  (corresponding to the
+                 TERMINFO_DIRS variable)
 
-       The <B>ncurses</B>  library  includes  facilities  for  capturing
-       mouse  events  on certain terminals (including xterm). See
-       the <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B> manual page for details.
+             <STRONG>o</STRONG>   /usr/share/terminfo (corresponding to  the  TER-
+                 MINFO variable)
 
-       The <B>ncurses</B> library includes facilities for responding  to
-       window  resizing  events,  e.g., when running in an xterm.
-       See the <B><A HREF="resizeterm.3x.html">resizeterm(3x)</A></B> and <B><A HREF="wresize.3x.html">wresize(3x)</A></B>  manual  pages  for
-       details.   In addition, the library may be configured with
-       a SIGWINCH handler.
 
-       The <B>ncurses</B> 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  <B><A HREF="define_key.3x.html">define_key(3x)</A></B>  and  <B><A HREF="keyok.3x.html">keyok(3x)</A></B>  manual pages for
-       details.
+</PRE><H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
+       Specifies  a  list  of  directories to search for terminal
+       descriptions.  The list is separated by colons (i.e., ":")
+       on Unix, semicolons on OS/2 EMX.
 
-       The <B>ncurses</B> 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 <B><A HREF="use_default_colors.3x.html">use_default_colors(3x)</A></B> manual page for details.
+       All  of  the  terminal  descriptions are in terminfo form.
+       Normally these are stored in a directory tree, using  sub-
+       directories  named  by  the  first  letter of the terminal
+       names therein.
 
-       The  <B>ncurses</B>  library  includes  a  function for directing
-       application output to a printer attached to  the  terminal
-       device.  See the <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B> manual page for details.
+       If <STRONG>ncurses</STRONG> is built with  a  hashed  database,  then  each
+       entry in this list can also be the path of the correspond-
+       ing database file.
 
+       If <STRONG>ncurses</STRONG> is built with a  support  for  reading  termcap
+       files directly, then an entry in this list may be the path
+       of a termcap file.
 
-</PRE>
-<H2>PORTABILITY</H2><PRE>
-       The   <B>ncurses</B>   library   is  intended  to  be  BASE-level
-       conformant with the XSI Curses standard.  Certain portions
-       of  the EXTENDED XSI Curses functionality (including color
-       support) are supported.  The following EXTENDED XSI Curses
-       calls  in  support  of wide (multibyte) characters are not
-       yet implemented: <B>add_wch</B>, <B>add_wchnstr</B>, <B>add_wchstr</B>,  <B>addnw-</B>
-       <B>str</B>,  <B>addwstr</B>,  <B>bkgrnd</B>,  <B>bkgrndset</B>,  <B>border_set</B>,  <B>box_set</B>,
-       <B>echo_wchar</B>,  <B>erasewchar</B>,  <B>get_wch</B>,  <B>get_wstr</B>,   <B>getbkgrnd</B>,
-       <B>getcchar</B>,   <B>getn_wstr</B>,   <B>getwchtype</B>,   <B>hline_set</B>,  <B>in_wch</B>,
-       <B>in_wchnstr</B>,  <B>in_wchstr</B>,   <B>innwstr</B>,   <B>ins_nwstr</B>,   <B>ins_wch</B>,
-       <B>ins_wstr</B>,  <B>inwchnstr</B>,  <B>inwchstr</B>,  <B>inwstr</B>,  <B>key_name</B>, <B>kill-</B>
-       <B>wchar</B>, <B>mvadd_wch</B>, <B>mvadd_wchnstr</B>, <B>mvadd_wchstr</B>, <B>mvaddnwstr</B>,
-       <B>mvaddwstr</B>,   <B>mvget_wch</B>,   <B>mvget_wstr</B>,   <B>mvgetn_wstr</B>,  <B>mvh-</B>
-       <B>line_set</B>,  <B>mvin_wch</B>,  <B>mvinnwstr</B>,  <B>mvins_nwstr</B>,  <B>mvins_wch</B>,
-       <B>mvins_wstr</B>, <B>mvinwchnstr</B>, <B>mvinwchstr</B>, <B>mvinwchstr</B>, <B>mvinwstr</B>,
-       <B>mvvline_set</B>,  <B>mvwadd_wch</B>,  <B>mvwadd_wchnstr</B>,  <B>mvwadd_wchstr</B>,
-       <B>mvwaddnwstr</B>,     <B>mvwaddwstr</B>,     <B>mvwget_ch</B>,    <B>mvwget_wch</B>,
-       <B>mvwget_wstr</B>,   <B>mvwgetn_wstr</B>,   <B>mvwhline_set</B>,    <B>mvwin_wch</B>,
-       <B>mvwin_wchnstr</B>,   <B>mvwin_wchstr</B>,  <B>mvwinnwstr</B>,  <B>mvwins_nwstr</B>,
-       <B>mvwins_wch</B>, <B>mvwins_wstr</B>, <B>mvwinwchnstr</B>.   <B>mvwinwstr</B>,  <B>mvwv-</B>
-       <B>line_set</B>,  <B>pecho_wchar</B>,  <B>setcchar</B>,  <B>slk_wset</B>,  <B>term_attrs</B>,
-       <B>unget_wch</B>,  <B>vhline_set</B>,  <B>vid_attr</B>,  <B>vid_puts</B>,   <B>vline_set</B>,
-       <B>wadd_wch</B>,  <B>wadd_wchnstr</B>, <B>wadd_wchstr</B>, <B>waddnwstr</B>, <B>waddwstr</B>,
-       <B>waddwstr</B>, <B>wbkgrnd</B>,  <B>wbkgrndset</B>,  <B>wbkgrndset</B>,  <B>wborder_set</B>,
-       <B>wecho_wchar</B>, <B>wecho_wchar</B>, <B>wget_wch</B>, <B>wget_wstr</B>, <B>wgetbkgrnd</B>,
-       <B>wgetn_wstr</B>, <B>whline_set</B>, <B>win_wch</B>, <B>win_wchnstr</B>,  <B>win_wchstr</B>,
-       <B>winnwstr</B>,  <B>wins_nwstr</B>,  <B>wins_wch</B>,  <B>wins_wstr</B>,  <B>winwchnstr</B>,
-       <B>winwchstr</B>, <B>winwstr</B>, <B>wunctrl</B>, <B>wvline_set</B>,
-
-       A small number of local differences (that  is,  individual
-       differences  between the XSI Curses and <B>ncurses</B> calls) are
-       described in  <B>PORTABILITY</B>  sections  of  the  library  man
-       pages.
 
-       The routine <B>has_key</B> is not part of XPG4, nor is it present
-       in SVr4.  See the <B><A HREF="curs_getch.3x.html">curs_getch(3x)</A></B> manual page for  details.
-
-       The  routine  <B>slk_attr</B> is not part of XPG4, nor is it pre-
-       sent in  SVr4.   See  the  <B><A HREF="curs_slk.3x.html">curs_slk(3x)</A></B>  manual  page  for
-       details.
-
-       The  routines <B>getmouse</B>, <B>mousemask</B>, <B>ungetmouse</B>, <B>mouseinter-</B>
-       <B>val</B>, and <B>wenclose</B> relating to mouse  interfacing  are  not
-       part  of  XPG4,  nor  are  they  present in SVr4.  See the
-       <B><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></B> manual page for details.
-
-       The routine <B>mcprint</B> was not present in any previous curses
-       implementation.   See  the  <B><A HREF="curs_print.3x.html">curs_print(3x)</A></B> manual page for
-       details.
-
-       The routine <B>wresize</B> is not part of XPG4, nor is it present
-       in SVr4.  See the <B><A HREF="wresize.3x.html">wresize(3x)</A></B> manual page for details.
-
-       In  historic curses versions, delays embedded in the capa-
-       bilities <B>cr</B>, <B>ind</B>, <B>cub1</B>, <B>ff</B> and <B>tab</B> activated corresponding
-       delay  bits  in  the UNIX tty driver.  In this implementa-
-       tion, all padding is done by NUL sends.   This  method  is
-       slightly  more expensive, but narrows the interface to the
-       UNIX kernel  significantly  and  increases  the  package's
-       portability correspondingly.
-
-       In  the  XSI  standard  and  SVr4 manual pages, many entry
-       points have prototype arguments of the for <B>char</B> <B>*const</B> (or
-       <B>cchar_t</B>  <B>*const</B>,  or  <B>wchar_t</B>  <B>*const</B>,  or  <B>void</B>  <B>*const</B>).
-       Depending on one's interpretation of the ANSI  C  standard
-       (see  section  3.5.4.1), these declarations are either (a)
-       meaningless, or (b) meaningless and illegal.  The declara-
-       tion <B>const</B> <B>char</B> <B>*x</B> is a modifiable pointer to unmodifiable
-       data, but <B>char</B> <B>*const</B> <B>x</B>' is  an  unmodifiable  pointer  to
-       modifiable  data.  Given that C passes arguments by value,
-       <B>&lt;type&gt;</B> <B>*const</B> as a formal type is at best  dubious.   Some
-       compilers  choke  on  the  prototypes.  Therefore, in this
-       implementation, they have been changed to <B>const</B>  <B>&lt;type&gt;</B>  <B>*</B>
-       globally.
+</PRE><H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
+       If TERMCAP does not hold a file name then  <STRONG>ncurses</STRONG>  checks
+       the  TERMPATH  environment  variable.   This  is a list of
+       filenames separated by spaces or  colons  (i.e.,  ":")  on
+       Unix, semicolons on OS/2 EMX.
 
+       If  the  TERMPATH environment variable is not set, <STRONG>ncurses</STRONG>
+       looks in the files  /etc/termcap,  /usr/share/misc/termcap
+       and $HOME/.termcap, in that order.
 
-</PRE>
-<H2>NOTES</H2><PRE>
-       The  header  file  <B>&lt;curses.h&gt;</B>  automatically  includes the
-       header files <B>&lt;stdio.h&gt;</B> and <B>&lt;unctrl.h&gt;</B>.
+       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:
 
-       If standard output from a <B>ncurses</B> 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.
+       $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
 
 
-</PRE>
-<H2>AUTHORS</H2><PRE>
-       Zeyd  M.  Ben-Halim,  Eric  S.  Raymond, Thomas E. Dickey.
-       Based on pcurses by Pavel Curtis.
+</PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></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-pthread
+            The configure script renames the library.  All of the
+            library names have a "t" appended to them (before any
+            "w" added by <STRONG>--enable-widec</STRONG>).
+
+            The  global  variables  such as <STRONG>LINES</STRONG> are replaced by
+            macros to allow read-only access.  At the same  time,
+            setter-functions  are  provided  to set these values.
+            Some applications (very few) may require  changes  to
+            work with this convention.
+
+       --with-shared
+
+       --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><a name="h2-FILES">FILES</a></H2><PRE>
+       /usr/share/tabset
+            directory  containing  initialization  files  for the
+            terminal capability database /usr/share/terminfo ter-
+            minal capability database
 
 
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  and  related  pages whose names begin "curs_"
+       for detailed routine descriptions.
+       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
 
 
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       The  <STRONG>ncurses</STRONG>  library  can  be  compiled  with  an  option
+       (<STRONG>-DUSE_GETCAP</STRONG>) that falls back to the old-style /etc/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><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       The  <STRONG>ncurses</STRONG>  library is intended to be BASE-level confor-
+       mant with XSI Curses.  The EXTENDED XSI Curses functional-
+       ity (including color support) is supported.
 
+       A  small  number of local differences (that is, individual
+       differences between the XSI Curses and <STRONG>ncurses</STRONG> calls)  are
+       described  in  <STRONG>PORTABILITY</STRONG>  sections  of  the  library man
+       pages.
 
+       Unlike other implementations, this one  checks  parameters
+       such  as  pointers to WINDOW structures to ensure they are
+       not null.  The main reason for providing this behavior  is
+       to guard against programmer error.  The standard interface
+       does not provide a way for the library to tell an applica-
+       tion  which  of  several  possible  errors  were detected.
+       Relying on this (or some other) extension  will  adversely
+       affect the portability of curses applications.
+
+       This implementation also contains several extensions:
+
+       <STRONG>o</STRONG>   The  routine  <STRONG>has_key</STRONG>  is  not part of XPG4, nor is it
+           present in SVr4.  See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>  manual  page
+           for details.
+
+       <STRONG>o</STRONG>   The  routine  <STRONG>slk_attr</STRONG>  is not part of XPG4, nor is it
+           present in SVr4.  See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for
+           details.
+
+       <STRONG>o</STRONG>   The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousein-</STRONG>
+           <STRONG>terval</STRONG>, and <STRONG>wenclose</STRONG> relating to mouse interfacing are
+           not  part  of XPG4, nor are they present in SVr4.  See
+           the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for details.
+
+       <STRONG>o</STRONG>   The routine <STRONG>mcprint</STRONG> was not present  in  any  previous
+           curses  implementation.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual
+           page for details.
+
+       <STRONG>o</STRONG>   The routine <STRONG>wresize</STRONG> is not part of  XPG4,  nor  is  it
+           present  in SVr4.  See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for
+           details.
+
+       <STRONG>o</STRONG>   The WINDOW structure's internal details can be  hidden
+           from  application  programs.   See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for
+           the discussion of <STRONG>is_scrollok</STRONG>, etc.
+
+       <STRONG>o</STRONG>   This implementation can be configured to provide rudi-
+           mentary  support for multi-threaded applications.  See
+           <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for details.
+
+       <STRONG>o</STRONG>   This implementation can also be configured to  provide
+           a set of functions which improve the ability to manage
+           multiple screens.  See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
+
+       In historic curses versions, delays embedded in the  capa-
+       bilities <STRONG>cr</STRONG>, <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding
+       delay bits in the UNIX tty driver.   In  this  implementa-
+       tion,  all  padding  is  done  by sending NUL bytes.  This
+       method is slightly more expensive, but narrows the  inter-
+       face  to  the  UNIX kernel significantly and increases the
+       package's portability correspondingly.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       The header  file  <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes  the
+       header files <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
+
+       If  standard  output from a <STRONG>ncurses</STRONG> program is re-directed
+       to something which is not a tty, screen  updates  will  be
+       directed to standard error.  This was an undocumented fea-
+       ture of AT&amp;T System V Release 3 curses.
 
 
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Zeyd M. Ben-Halim, Eric  S.  Raymond,  Thomas  E.  Dickey.
+       Based on pcurses by Pavel Curtis.
 
 
 
+                                                            <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
 </PRE>
-<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+<div class="nav">
+<ul>
+<li><a href="#h2-NAME">NAME</a></li>
+<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
+<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
+<ul>
+<li><a href="#h3-Initialization">Initialization</a></li>
+<li><a href="#h3-Datatypes">Datatypes</a></li>
+<li><a href="#h3-Environment-variables">Environment variables</a></li>
+<li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li>
+<li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
+<ul>
+<li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
+<li><a href="#h3-COLUMNS">COLUMNS</a></li>
+<li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
+<li><a href="#h3-HOME">HOME</a></li>
+<li><a href="#h3-LINES">LINES</a></li>
+<li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
+<li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
+<li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
+<li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
+<li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
+<li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
+<li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
+<li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
+<li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
+<li><a href="#h3-TERM">TERM</a></li>
+<li><a href="#h3-TERMCAP">TERMCAP</a></li>
+<li><a href="#h3-TERMINFO">TERMINFO</a></li>
+<li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
+<li><a href="#h3-TERMPATH">TERMPATH</a></li>
+</ul>
+</li>
+<li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+</ul>
+</div>
 </BODY>
 </HTML>