]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/ncurses.3x.html
ncurses 6.4 - patch 20240302
[ncurses.git] / doc / html / man / ncurses.3x.html
index 5fb8400f404fb2f425ed1ecd2bb6eead5246b2f4..5a1ac23919121d4745dc582eba1a15f8ff0d64dc 100644 (file)
+<!--
+  * t
+  ****************************************************************************
+  * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+  * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
+  *                                                                          *
+  * Permission is hereby granted, free of charge, to any person obtaining a  *
+  * copy of this software and associated documentation files (the            *
+  * "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.200 2024/02/24 20:03:50 tom Exp @
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
+<TITLE>ncurses 3x 2024-02-24 ncurses 6.4 Library calls</TITLE>
+<link rel="author" href="mailto:bug-ncurses@gnu.org">
+
+</HEAD>
 <BODY>
+<H1 class="no-header">ncurses 3x 2024-02-24 ncurses 6.4 Library calls</H1>
 <PRE>
-<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>                      Library calls                     <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> - character-cell terminal interface with optimized output
 
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-       The  <B>ncurses</B>  library  routines  give the user a terminal-
-       independent method  of  updating  character  screens  with
-       reasonable  optimization.   This  implementation  is ``new
-       curses'' (ncurses) and is  the  approved  replacement  for
-       4.4BSD classic curses, which has been discontinued.
-
-       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
-       summarized  under  the  EXTENSIONS and BUGS sections below
-       and  described  in  detail  in  the  EXTENSIONS  and  BUGS
-       sections of individual man pages.
-
-       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
-       may also have installed these libraries  under  the  names
-       <B>-lcurses</B> and <B>-lcurses_g</B>.)  The ncurses_g library generates
-       trace logs (in  a  file  called  'trace'  in  the  current
-       directory) that describe curses actions.
-
-       The  <B>ncurses</B>  package supports: overall screen, window and
-       pad manipulation; output  to  windows  and  pads;  reading
-       terminal input; control over terminal and <B>curses</B> input and
-       output  options;   environment   query   routines;   color
-       manipulation;   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
+
+</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  <EM>ncurses</EM>  library  routines  give  the  user a terminal-independent
+       method of updating  character  screens  with  reasonable  optimization.
+       This  implementation  is  "new  curses"  (<EM>ncurses</EM>)  and is the approved
+       replacement for 4.4BSD classic curses,  which  has  been  discontinued.
+       This describes <EM>ncurses</EM> version 6.4 (patch 20240302).
+
+       The  <EM>ncurses</EM>  library emulates the curses library of System V Release 4
+       Unix ("SVr4"), and XPG4 (X/Open Portability Guide) curses  (also  known
+       as  XSI  curses).   XSI  stands for X/Open System Interfaces Extension.
+       The <EM>ncurses</EM> library is freely redistributable in source form.
+
+       <EM>ncurses</EM> man pages employ several sections to clarify matters  of  usage
+       and interoperability with other <EM>curses</EM> implementations.
+
+       <STRONG>o</STRONG>   "NOTES"  describes  matters  and  caveats  of which any user of the
+           <EM>ncurses</EM> API should be aware, such as limitations on the size of  an
+           underlying  integral  type  or  the  availability of a preprocessor
+           macro exclusive  of  a  function  definition  (which  prevents  its
+           address   from   being   taken).    This   section  also  describes
+           implementation details that will be significant to  the  programmer
+           but which are not standardized.
+
+       <STRONG>o</STRONG>   "EXTENSIONS"  presents <EM>ncurses</EM> innovations beyond the X/Open Curses
+           standard and/or the SVr4 <EM>curses</EM> implementation.   They  are  termed
+           <EM>extensions</EM>  to  indicate  that they cannot be implemented solely by
+           using the library API, but require access to the library's internal
+           state.
+
+       <STRONG>o</STRONG>   "PORTABILITY" discusses matters (beyond the exercise of extensions)
+           that should be considered when writing to a <EM>curses</EM> standard, or  to
+           multiple implementations.
+
+       <STRONG>o</STRONG>   "HISTORY"  examines  points  of  detail in <EM>ncurses</EM> and other <EM>curses</EM>
+           implementations over the decades of their development, particularly
+           where precedent or inertia have frustrated better design (and, in a
+           few cases, where such inertia has been overcome).
+
+       A program using these  routines  must  be  linked  with  the  <STRONG>-lncurses</STRONG>
+       option,  or  (if  it  has  been  generated)  with the debugging library
+       <STRONG>-lncurses_g</STRONG>.  (Your system integrator may  also  have  installed  these
+       libraries  under  the  names  <STRONG>-lcurses</STRONG>  and <STRONG>-lcurses_g</STRONG>.)  The ncurses_g
+       library generates trace logs (in a file called "trace" in  the  current
+       directory)  that  describe  curses  actions.   See  section  "ALTERNATE
+       CONFIGURATIONS" below.
+
+       The  <EM>ncurses</EM>  package  supports:  overall  screen,   window   and   pad
+       manipulation;  output  to  windows  and  pads;  reading terminal input;
+       control over terminal and <STRONG>curses</STRONG> input and output options;  environment
+       query  routines;  color  manipulation; use of soft label keys; terminfo
+       capabilities; and access to low-level terminal-manipulation routines.
+
+
+</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
+       The library uses the locale which the calling program has  initialized.
+       That is normally done with <STRONG>setlocale(3)</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 set up.
+
+       The function <STRONG>initscr</STRONG> or  <STRONG>newterm</STRONG>  must  be  called  to  initialize  the
+       library  before  any  of  the other routines that deal with windows and
+       screens are  used.   The  routine  <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>  must  be  called  before
+       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>
+           <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
-       terminal 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
-       structures,  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
-       windows and not using <B>stdscr</B> 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
-       information about the character may also  be  stored  with
-       each character.
-
-       Special  windows  called  <I>pads</I>  may  also  be manipulated.
-       These are windows which are not constrained to the size of
-       the  screen  and  whose  contents  need  not be completely
-       displayed.  See <B><A HREF="curs_pad.3x.html">curs_pad(3x)</A></B> for more information.
-
-       In addition to drawing characters  on  the  screen,  video
-       attributes  and  colors  may  be  supported,  causing  the
-       characters to show up in  such  modes  as  underlined,  in
-       reverse  video, or in color on terminals that support such
-       display enhancements.   Line  drawing  characters  may  be
-       specified  to be output.  On input, <B>curses</B> 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>.
-
-       If the environment variables <B>LINES</B> and <B>COLUMNS</B> 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
-       running  in an AT&amp;T 630 layer, for example, where the size
-       of a screen is changeable (see <B>ENVIRONMENT</B>).
-
-       If the  environment  variable  <B>TERMINFO</B>  is  defined,  any
-       program   using   <B>curses</B>   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 definition is found in
-
-             <B>/usr/share/terminfo/a/att4424</B>.
-
-       (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
-
-             <B>$HOME/myterms/a/att4424</B>,
-
-       and if that fails, it then checks
-
-             <B>/usr/share/terminfo/a/att4424</B>.
-
-       This is useful for developing experimental definitions  or
-       when   write  permission  in  <B>/usr/share/terminfo</B>  is  not
+           <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 terminal should be
+       set and its initialization strings, if defined, must be  output.   This
+       can  be  done  by  executing  the  <STRONG>tput</STRONG>  <STRONG>init</STRONG>  command  after the shell
+       environment variable <EM>TERM</EM> has been exported.   (The  BSD-style  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+       utility  also  performs  this  function.)   See  subsection  "Tabs  and
+       Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-Overview">Overview</a></H3><PRE>
+       A <EM>curses</EM> library abstracts the terminal screen by representing  all  or
+       part  of it as a <EM>WINDOW</EM> data structure.  A <EM>window</EM> is a rectangular grid
+       of character cells, addressed by row and  column  coordinates  (<EM>y</EM>,  <EM>x</EM>),
+       with the upper left corner as (0, 0).  A window called <STRONG>stdscr</STRONG>, the same
+       size as the terminal screen, is always available.  Create  others  with
+       <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG>.
+
+       A  <EM>curses</EM>  library does not manage overlapping windows.  (See <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+       if you desire this.)  You can either use <STRONG>stdscr</STRONG> to manage  one  screen-
+       filling window, or tile the screen into non-overlapping windows and not
+       use  <STRONG>stdscr</STRONG>  at  all.   Mixing  the  two  approaches  will  result   in
+       unpredictable, and undesired, effects.
+
+       Functions  permit  manipulation  of a window and the <EM>cursor</EM> identifying
+       the cell within it at which  the  next  output  operation  will  occur.
+       Among those, the most basic are <STRONG><A HREF="curs_move.3x.html">move(3x)</A></STRONG> and <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>: these place the
+       cursor and write a character  to  <STRONG>stdscr</STRONG>,  respectively.   As  a  rule,
+       window-addressing  functions  feature  names  prefixed (or infixed, see
+       below) with "w"; these allow the user to specify a pointer to a <EM>WINDOW.</EM>
+       Counterparts  not  thus  prefixed  (or infixed) affect <STRONG>stdscr</STRONG>.  Because
+       moving the cursor prior to  another  operation  is  so  common,  <EM>curses</EM>
+       generally  also provides functions with a "mv" prefix as a convenience.
+       Thus, the library defines all of <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG>, and  <STRONG>mvwaddch</STRONG>.
+       When  both  prefixes  are  present,  the order of arguments is a <EM>WINDOW</EM>
+       pointer first, then a <EM>y</EM> and <EM>x</EM> coordinate pair.
+
+       Updating  the  terminal  screen  with  every  <EM>curses</EM>  call  can   cause
+       unpleasant  flicker or inefficient use of the communications channel to
+       the device.  Therefore, after using <EM>curses</EM> functions  to  accumulate  a
+       set  of  desired  updates  that  make  sense  to present together, call
+       <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> to tell the library to make the  user's  screen  look  like
+       <STRONG>stdscr</STRONG>.   <EM>ncurses</EM> <EM>optimizes</EM> its output by computing a minimal number of
+       operations to mutate the screen from its state at the previous  refresh
+       to  the  new  one.  Effective optimization demands accurate information
+       about the terminal device: the management of such  information  is  the
+       province  of  the  <STRONG><A HREF="curs_terminfo.3x.html">terminfo(3x)</A></STRONG> API, a feature of every standard <EM>curses</EM>
+       implementation.
+
+       Special windows called <EM>pads</EM> may also be manipulated.  These are windows
+       that  are  not constrained to the size of the terminal screen and whose
+       contents need not be completely displayed.  See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>.
+
+       In addition to drawing characters on the screen,  rendering  attributes
+       and  colors may be supported, causing the characters to show up in such
+       modes as underlined, in reverse video, or in color  on  terminals  that
+       support such display enhancements.  See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>.
+
+       <EM>curses</EM>  predefines  constants for a small set of line-drawing and other
+       graphics corresponding to the DEC  Alternate  Character  Set  (ACS),  a
+       feature of VT100 and other terminals.  See <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> and <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG>.
+
+       <EM>curses</EM>  is  implemented  using  the operating system's terminal driver;
+       keystroke events are received not as scan codes but as byte  sequences.
+       Graphical  keycaps  (alphanumeric  and punctuation keys, and the space)
+       appear  as-is.   Everything  else,  including  the  tab,  enter/return,
+       keypad,  arrow,  and function keys, appears as a control character or a
+       multibyte <EM>escape</EM> <EM>sequence.</EM>  <EM>curses</EM> translates  these  into  unique  <EM>key</EM>
+       <EM>codes.</EM>  See <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
+
+
+</PRE><H3><a name="h3-Effects-of-GUIs-and-Environment-Variables">Effects of GUIs and Environment Variables</a></H3><PRE>
+       The   selection  of  an  appropriate  value  of  <EM>TERM</EM>  in  the  process
+       environment  is  essential  to  correct  <EM>curses</EM>  and  <EM>terminfo</EM>  library
+       operation.   A  well-configured  system  selects  a  correct <EM>TERM</EM> value
+       automatically;  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>  may   assist   with   troubleshooting   exotic
+       situations.
+
+       If  the  environment  variables  <EM>LINES</EM>  and  <EM>COLUMNS</EM> are set, or if the
+       <EM>curses</EM> program is executing in a graphical windowing  environment,  the
+       information  obtained  thence  overrides that obtained by <EM>terminfo</EM>.  An
+       <EM>ncurses</EM> extension supports resizable terminals; see <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
+
+       If the environment variable  <EM>TERMINFO</EM>  is  defined,  a  <EM>curses</EM>  program
+       checks  first  for  a  terminal  type  description  in  the location it
+       identifies.   <EM>TERMINFO</EM>  is  useful  for  developing  experimental  type
+       descriptions  or  when  write  permission to <EM>/usr/share/terminfo</EM> is not
        available.
 
-       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
-       values <B>1</B> and <B>0</B>, 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
-       clearing  and  redrawing a screen containing garbage.  The
-       <B>curscr</B> 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
-       routines  prefixed  with <B>w</B> require a window argument.  The
-       routines prefixed with <B>p</B> require a  pad  argument.   Those
-       without a prefix generally use <B>stdscr</B>.
-
-       The routines prefixed with <B>mv</B> require a <I>y</I> and <I>x</I> 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
-       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
-       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
-       variables <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
-       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="default_colors.3x.html">default_colors(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="default_colors.3x.html">default_colors(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>
+       See section "ENVIRONMENT" below.
+
+
+</PRE><H3><a name="h3-Naming-Conventions">Naming Conventions</a></H3><PRE>
+       Many <EM>curses</EM> functions have two or more versions.  Those  prefixed  with
+       "w"  require  a  window  argument.   Four  functions  prefixed with "p"
+       require a pad argument.  Those without a prefix  generally  operate  on
+       <STRONG>stdscr</STRONG>.
+
+       In  function  synopses,  <EM>ncurses</EM> man pages apply the following names to
+       parameters.
+
+                        <EM>bf</EM>    <EM>bool</EM> (<STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>)
+                        <EM>win</EM>   pointer to <EM>WINDOW</EM>
+                        <EM>pad</EM>   pointer to <EM>WINDOW</EM> that is a pad
+
+
+</PRE><H3><a name="h3-Wide-and-Non-wide-Character-Configurations">Wide and Non-wide Character Configurations</a></H3><PRE>
+       This manual page describes functions that appear in  any  configuration
+       of  the  library.   There  are  two  common configurations; see section
+       "ALTERNATE CONFIGURATIONS" below.
+
+       <EM>ncurses</EM>   is the library in its "non-wide" configuration, handling only
+                 eight-bit  characters.   It  stores a character combined with
+                 attributes in a <EM>chtype</EM> datum, which is often an alias of <EM>int.</EM>
+
+                 Attributes alone (with no  corresponding  character)  can  be
+                 stored  in  variables  of  <EM>chtype</EM>  or <EM>attr</EM><STRONG>_</STRONG><EM>t</EM> type.  In either
+                 case, they are represented as an integral bit mask.
+
+                 Each cell of a <EM>WINDOW</EM> is stored as a <EM>chtype.</EM>
+
+       <EM>ncursesw</EM>  is the library in its  "wide"  configuration,  which  handles
+                 character encodings requiring a larger data type than <EM>char</EM> (a
+                 byte-sized type) can represent.  It adds about one third more
+                 calls  using  additional  data  types  that  can  store  such
+                 <EM>multibyte</EM> characters.
+
+                 <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  corresponds to the non-wide configuration's  <EM>chtype.</EM>
+                          It  always  a structure type, because it stores more
+                          data than fits into an integral type.   A  character
+                          code  may  not  be  representable  as  a  <EM>char,</EM>  and
+                          moreover more than one character may occupy  a  cell
+                          (as  with  accent marks and other diacritics).  Each
+                          character is of type <EM>wchar</EM><STRONG>_</STRONG><EM>t;</EM>  a  complex  character
+                          contains one spacing character and zero or more non-
+                          spacing  characters  (see  below).   Attributes  and
+                          color  data  are  stored  in  separate fields of the
+                          structure, not combined as in <EM>chtype.</EM>
+
+                 Each cell of a <EM>WINDOW</EM> is stored as a <EM>cchar</EM><STRONG>_</STRONG><EM>t.</EM>
+
+                 The  <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>  and  <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG>  functions   store   and
+                 retrieve the data from a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> structure.  The wide library
+                 API of <EM>ncurses</EM> depends on two data types standardized by  ISO
+                 C95.
+
+                 <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>  stores  a wide character.  Like <EM>chtype,</EM> it may be an
+                          alias of <EM>int.</EM>  Depending on the character  encoding,
+                          a  wide  character  may  be <EM>spacing,</EM> meaning that it
+                          occupies a character cell by  itself  and  typically
+                          accompanies   cursor  advancement,  or  <EM>non-spacing,</EM>
+                          meaning that it occupies the same cell as a  spacing
+                          character,  is often regarded as a "modifier" of the
+                          base glyph with which  it  combines,  and  typically
+                          does not advance the cursor.
+
+                 <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>   can   store   a   <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>   or  the  constant  <STRONG>WEOF</STRONG>,
+                          analogously to the <EM>int</EM>-sized character  manipulation
+                          functions of ISO C and its constant <STRONG>EOF</STRONG>.
+
+                 The   wide   library   provides   additional  functions  that
+                 complement those in the non-wide library where  the  size  of
+                 the  underlying  character  type  is significant.  A somewhat
+                 regular naming convention relates many of the  wide  variants
+                 to  their  non-wide  counterparts;  where a non-wide function
+                 name contains "ch" or "str", prefix it with  "_w"  to  obtain
+                 the wide counterpart.  For example, <STRONG>waddch</STRONG> becomes <STRONG>wadd_wch</STRONG>.
+
+                 This  convention  is  inapplicable  to some non-wide function
+                 names,  so  other  transformations  are  used  for  the  wide
+                 configuration: in the window background management functions,
+                 "bkgd"  becomes  "bkgrnd";  the  window  border-drawing   and
+                 -clearing functions are suffixed with "_set".
+
+
+</PRE><H3><a name="h3-Function-Name-Index">Function Name Index</a></H3><PRE>
+       The following table lists the <EM>curses</EM> functions provided in the non-wide
+       and wide APIs and the  corresponding  man  pages  that  describe  them.
+       Those  flagged  with  "*"  are  <EM>ncurses</EM>-specific,  neither described by
+       X/Open Curses nor present in SVr4.
+
+                    <STRONG><EM>curses</EM></STRONG> Function Name     Man Page
+                    ---------------------------------------------
+                    COLOR_PAIR               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    PAIR_NUMBER              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    add_wch                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    add_wchnstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    add_wchstr               <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    addch                    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    addchnstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    addchstr                 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    addnstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    addnwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    addstr                   <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    addwstr                  <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    alloc_pair               <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+                    assume_default_colors    <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
+                    attr_get                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attr_off                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attr_on                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attr_set                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attroff                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attron                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    attrset                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    baudrate                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    beep                     <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+                    bkgd                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    bkgdset                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    bkgrnd                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    bkgrndset                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    border                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    border_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    box                      <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    box_set                  <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    can_change_color         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    cbreak                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    chgat                    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    clear                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    clearok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    clrtobot                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    clrtoeol                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    color_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    color_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    copywin                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+                    curs_set                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    curses_trace             <STRONG><A HREF="curs_trace.3x.html">curs_trace(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>
+                    exit_curses              <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+
+                    exit_terminfo            <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
+                    extended_color_content   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    extended_pair_content    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    extended_slk_color       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
+                    filter                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    find_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+                    flash                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+                    flushinp                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    free_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
+                    get_wch                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                    get_wstr                 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    getattrs                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    getbegx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getbegy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getbegyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                    getbkgd                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    getbkgrnd                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    getcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+                    getch                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                    getcurx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getcury                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getmaxx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getmaxy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getmaxyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                    getmouse                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    getn_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    getnstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    getparx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getpary                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
+                    getparyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                    getstr                   <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    getsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+                    getwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    getyx                    <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+                    halfdelay                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    has_colors               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    has_ic                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    has_il                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    has_key                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
+                    has_mouse                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    hline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    hline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    idcok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    idlok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    immedok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    in_wch                   <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+                    in_wchnstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    in_wchstr                <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    inch                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+                    inchnstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    inchstr                  <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    init_color               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    init_extended_color      <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    init_extended_pair       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
+                    init_pair                <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    initscr                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+                    innstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    innwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    ins_nwstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    ins_wch                  <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+                    ins_wstr                 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    insch                    <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+                    insdelln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    insertln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    insnstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+
+                    insstr                   <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    instr                    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    intrflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    inwstr                   <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    is_cbreak                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
+                    is_cleared               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    is_echo                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(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_nl                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(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_raw                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(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_inopts.3x.html">curs_inopts(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_inopts.3x.html">curs_inopts(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>
+                    pecho_wchar              <STRONG><A HREF="curs_pad.3x.html">curs_pad(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_color_pairs        <STRONG><A HREF="curs_color.3x.html">curs_color(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>
+                    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>
+                    slk_wset                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+                    standend                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    standout                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    start_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+                    subpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+                    subwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+
+                    syncok                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    term_attrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    termattrs                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    termname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+                    tgetent                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tgetflag                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tgetnum                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tgetstr                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tgoto                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tigetflag                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    tigetnum                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    tigetstr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    timeout                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    tiparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    tiparm_s                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
+                    tiscan_s                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
+                    touchline                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    touchwin                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    tparm                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    tputs                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+                    tputs                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    trace                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
+                    typeahead                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    unctrl                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    unget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                    ungetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                    ungetmouse               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    untouchwin               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    use_default_colors       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
+                    use_env                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    use_extended_names       <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
+                    use_legacy_coding        <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
+                    use_tioctl               <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
+                    vid_attr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    vid_puts                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    vidattr                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    vidputs                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+                    vline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    vline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    vw_printw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    vw_scanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    vwprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    vwscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    wadd_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    wadd_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    wadd_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+                    waddch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    waddchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    waddchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+                    waddnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    waddnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    waddstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+                    waddwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+                    wattr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wattrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wbkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    wbkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+                    wbkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    wbkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    wborder                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+
+                    wborder_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    wchgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wclear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    wclrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    wclrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    wcolor_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wcursyncup               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    wdelch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+                    wdeleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    wecho_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+                    wechochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+                    wenclose                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    werase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+                    wget_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+                    wget_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    wgetbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+                    wgetch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+                    wgetdelay                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    wgetn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+                    wgetnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    wgetparent               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    wgetscrreg               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
+                    wgetstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+                    whline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    whline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+                    win_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+                    win_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    win_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+                    winch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+                    winchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    winchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+                    winnstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    winnwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    wins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    wins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+                    wins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+                    winsch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+                    winsdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    winsertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+                    winsnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    winsstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+                    winstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+                    winwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+                    wmouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+                    wmove                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+                    wnoutrefresh             <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    wprintw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+                    wredrawln                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    wrefresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+                    wresize                  <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
+                    wscanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+                    wscrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+                    wsetscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+                    wstandend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wstandout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+                    wsyncdown                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    wsyncup                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+                    wtimeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+                    wtouchln                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+                    wunctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    wvline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+                    wvline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+
+       Depending on the configuration, additional sets  of  functions  may  be
+       available:
+
+          <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> - curses memory-leak checking
+
+          <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> - curses screen-pointer extension
+
+          <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> - curses thread support
+
+          <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> - curses debugging routines
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+       Unless  otherwise  noted, functions that return an integer return <STRONG>OK</STRONG> on
+       success and <STRONG>ERR</STRONG> on failure.  Functions that return pointers return <STRONG>NULL</STRONG>
+       on  failure.   Typically,  <EM>ncurses</EM>  treats  a  null pointer passed as a
+       function parameter as a failure.
+
+       Functions with a "mv" prefix first perform cursor movement using  <STRONG>wmove</STRONG>
+       and  fail  if  the  position  is  outside  the  window,  or  (for "mvw"
+       functions) if the <EM>WINDOW</EM> pointer is null.
+
+
+</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
+       The following  environment  symbols  are  useful  for  customizing  the
+       runtime  behavior of the <EM>ncurses</EM> library.  The most important ones have
+       been already discussed in detail.
+
+
+</PRE><H3><a name="h3-CC-_command-character_"><EM>CC</EM> (command character)</a></H3><PRE>
+       When set, change the  <STRONG>command_character</STRONG>  (<STRONG>cmdch</STRONG>)  capability  value  of
+       loaded  <EM>terminfo</EM> entries to the value of this variable.  Very few <EM>term-</EM>
+       <EM>info</EM> entries provide this feature.
+
+       Because this name is also used in development environments to represent
+       the C compiler's name, <EM>ncurses</EM> ignores it if it does not happen to be a
+       single character.
+
+
+</PRE><H3><a name="h3-BAUDRATE"><EM>BAUDRATE</EM></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 baud rate.  If no value is  found,  <EM>ncurses</EM>  uses
+       9600.  This allows testers to construct repeatable test-cases that take
+       into account costs that depend on baud rate.
+
+
+</PRE><H3><a name="h3-COLUMNS"><EM>COLUMNS</EM></a></H3><PRE>
+       Specify the width of the screen in characters.  Applications running in
+       a  windowing  environment  usually  are able to obtain the width of the
+       window in which they are executing.  If neither the <EM>COLUMNS</EM>  value  nor
+       the  terminal's  screen  size is available, <EM>ncurses</EM> 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 <EM>COLUMNS</EM> and/or <EM>LINES</EM> overrides the  library's  use  of
+       the screen size obtained from the operating system.
+
+       Either  <EM>COLUMNS</EM>  or <EM>LINES</EM> symbols may be specified independently.  This
+       is  mainly  useful  to  circumvent  legacy  misfeatures   of   terminal
+       descriptions,  e.g.,  xterm  which commonly specifies a 65 line screen.
+       For best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified in a  terminal
+       description for terminals which are run as emulations.
+
+       Use  the  <STRONG>use_env</STRONG>  function  to disable all use of external environment
+       (but not including system calls) to determine the screen size.  Use the
+       <STRONG>use_tioctl</STRONG> function to update <EM>COLUMNS</EM> or <EM>LINES</EM> to match the screen size
+       obtained from system calls or the terminal database.
+
+
+</PRE><H3><a name="h3-ESCDELAY"><EM>ESCDELAY</EM></a></H3><PRE>
+       Specifies the total time, in milliseconds, for which <EM>ncurses</EM> will await
+       a  character  sequence,  e.g., a function key.  The default value, 1000
+       milliseconds, is enough for most uses.  However, it is made a  variable
+       to accommodate unusual applications.
+
+       The  most common instance where you may wish to change this value is to
+       work with slow hosts, e.g., running on a network.  If the  host  cannot
+       read  characters rapidly enough, it will have the same effect as if the
+       terminal did not send characters  rapidly  enough.   The  library  will
+       still see a timeout.
+
+       Note  that  xterm  mouse  events  are built up from character sequences
+       received from the xterm.   If  your  application  makes  heavy  use  of
+       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 implementation provides a
+       global variable with the same name.  Portable applications  should  not
+       rely  upon  the  presence  of  <STRONG>ESCDELAY</STRONG> in either form, but setting the
+       environment variable rather than the global variable  does  not  create
+       problems when compiling an application.
 
-</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
-       completion,  unless  otherwise  noted   in   the   routine
-       descriptions.
 
-       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 the right-hand side of assignment statements).
+</PRE><H3><a name="h3-HOME"><EM>HOME</EM></a></H3><PRE>
+       Tells  <EM>ncurses</EM> where your home directory is.  That is where it may read
+       and write auxiliary terminal descriptions:
 
-       Routines that return pointers return <B>NULL</B> on error.
+           $HOME/.termcap
+           $HOME/.terminfo
 
 
-</PRE>
-<H2>ENVIRONMENT</H2><PRE>
-       The   following   environment   symbols   are  useful  for
-       customizing the runtime behavior of the  <B>ncurses</B>  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
-            terminfo entries provide this feature.
-
-       COLUMNS
-            Specify  the  width  of  the  screen  in  characters.
-            Applications   running  in  a  windowing  environment
-            usually are able to obtain the width of the window in
-            which  they  are  executing.  If neither the $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
-            variable to accommodate unusual applications.
-
-            The most common instance where you may wish to change
-            this value is to work with slow hosts, e.g.,  running
-            on  a  network.   If  the host cannot read characters
-            rapidly enough, it will have the same  effect  as  if
-            the  terminal did not send characters rapidly enough.
-            The library will still see a timeout.
-
-            Note that  xterm  mouse  events  are  built  up  from
-            character sequences received from the xterm.  If your
-            application makes heavy use of 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
-            applications.  Terminal emulators can  duplicate  all
-            of  the important aspects of a hardware terminal, but
-            they do not have the  same  limitations.   The  chief
-            limitation of a hardware terminal from the standpoint
-            of your application is the  management  of  dataflow,
-            i.e.,   timing.    Unless   a  hardware  terminal  is
-            interfaced into a terminal concentrator  (which  does
-            flow  control),  it (or your application) must manage
-            dataflow, preventing overruns.  The cheapest solution
-            (no  hardware cost) is for your program to do this by
-            pausing  after  operations  that  the  terminal  does
-            slowly, such as clearing the display.
-
-            As  a  result,  many terminal descriptions (including
-            the vt100) have delay times embedded.  You  may  wish
-            to  use  these  descriptions, but not want to pay the
-            performance penalty.
-
-            Set the NCURSES_NO_PADDING symbol to disable all  but
-            mandatory  padding.   Mandatory  padding is used as a
-            part of special control sequences such as <I>flash</I>.
-
-       NCURSES_NO_SETBUF
-            Normally  <B>ncurses</B>  enables  buffered  output   during
-            terminal  initialization.   This  is done (as in SVr4
-            curses)  for  performance   reasons.    For   testing
-            purposes,  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>termcap</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.,
-               /usr/share/terminfo
-
-       TERMINFO_DIRS
-            Specifies  a  list  of  directories  to  search   for
-            terminal  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
-            filenames  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.
-
-       The library may be configured to disregard  the  following
-       variables  when  the current user is the superuser (root),
-       or if the application uses setuid or  setgid  permissions:
-       $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
+</PRE><H3><a name="h3-LINES"><EM>LINES</EM></a></H3><PRE>
+       Like <EM>COLUMNS</EM>, specify the height of  the  screen  in  characters.   See
+       <EM>COLUMNS</EM> for a detailed description.
 
 
-</PRE>
-<H2>FILES</H2><PRE>
-       /usr/share/tabset
-            directory  containing  initialization  files  for the
-            terminal  capability   database   /usr/share/terminfo
-            terminal capability database
+</PRE><H3><a name="h3-MOUSE_BUTTONS_123"><EM>MOUSE_BUTTONS_123</EM></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.
 
-</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.
+       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, <EM>ncurses</EM> uses 132.
 
 
-</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/termcap 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.
-
-       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.
-
-       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.
-
-       The  <B>ncurses</B>  library  can  exploit  the  capabilities  of
-       terminals  which  implement the ISO-6429 SGR 39 and SGR 49
-       controls, which allow an application to reset the terminal
-       to  its  original  foreground and background colors.  From
-       the users' perspective, the application is  able  to  draw
-       colored   text   on   a  background  whose  color  is  set
-       independently,  providing  better   control   over   color
-       contrasts.  See the <B><A HREF="use_default_colors.3x.html">use_default_colors(3x)</A></B> manual page for
-       details.
-       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.
+</PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS"><EM>NCURSES_ASSUMED_COLORS</EM></a></H3><PRE>
+       Override  the compiled-in assumption that the terminal's default colors
+       are  white-on-black  (see  <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>).   You   may   set   the
+       foreground  and  background color values with this environment variable
+       by proving a 2-element list: foreground,background.   For  example,  to
+       tell  <EM>ncurses</EM>  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"><EM>NCURSES_CONSOLE2</EM></a></H3><PRE>
+       This applies only to the MinGW port of <EM>ncurses</EM>.
+
+       The  <STRONG>Console2</STRONG>  program's  handling  of  the  Microsoft Console API call
+       <STRONG>CreateConsoleScreenBuffer</STRONG> is defective.  Applications  which  use  this
+       will hang.  However, it is possible to simulate the action of this call
+       by mapping coordinates, explicitly saving and  restoring  the  original
+       screen  contents.   Setting the environment variable <STRONG>NCGDB</STRONG> has the same
+       effect.
+
+
+</PRE><H3><a name="h3-NCURSES_GPM_TERMS"><EM>NCURSES_GPM_TERMS</EM></a></H3><PRE>
+       This applies only to <EM>ncurses</EM> configured to use the GPM interface.
+
+       If present, the environment variable is a list of one or more  terminal
+       names  against which the <EM>TERM</EM> environment variable is matched.  Setting
+       it to an empty value disables the GPM  interface;  using  the  built-in
+       support for xterm, etc.
+
+       If the environment variable is absent, <EM>ncurses</EM> will attempt to open GPM
+       if <EM>TERM</EM> contains "linux".
+
+
+</PRE><H3><a name="h3-NCURSES_NO_HARD_TABS"><EM>NCURSES_NO_HARD_TABS</EM></a></H3><PRE>
+       <EM>ncurses</EM> may use tabs as part of cursor movement optimization.  In  some
+       cases,  your  terminal  driver may not handle these properly.  Set this
+       environment variable to any value to disable the feature.  You can also
+       adjust your <STRONG>stty(1)</STRONG> settings to avoid the problem.
+
 
+</PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE"><EM>NCURSES_NO_MAGIC_COOKIE</EM></a></H3><PRE>
+       Some  terminals  use  a  magic-cookie  feature  which  requires special
+       handling to  make  highlighting  and  other  video  attributes  display
+       properly.   You  can  suppress  the  highlighting  entirely  for  these
+       terminals by setting this environment variable to any value.
 
-</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>addnwstr</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>killwchar</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>mvhline_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>mvwvline_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
-       present  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>mouseinterval</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
-       capabilities   <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
-       implementation,  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
-       declaration <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-NCURSES_NO_PADDING"><EM>NCURSES_NO_PADDING</EM></a></H3><PRE>
+       Most of the terminal descriptions in the terminfo database are  written
+       for  real  "hardware"  terminals.   Many  people use terminal emulators
+       which run in a windowing environment and use curses-based applications.
+       Terminal  emulators  can  duplicate  all  of the important aspects of a
+       hardware terminal, but they do not  have  the  same  limitations.   The
+       chief  limitation  of  a  hardware terminal from the standpoint of your
+       application is the management of  dataflow,  i.e.,  timing.   Unless  a
+       hardware  terminal  is  interfaced  into a terminal concentrator (which
+       does flow control), it (or  your  application)  must  manage  dataflow,
+       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.
 
-</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>.
+       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.
 
-       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
-       feature of AT&amp;T System V Release 3 curses.
+       Set  the  <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>PADDING</EM>  environment  variable  to disable all but
+       mandatory padding.  Mandatory padding is used  as  a  part  of  special
+       control sequences such as <STRONG>flash</STRONG>.
 
 
-</PRE>
-<H2>AUTHORS</H2><PRE>
-       Zeyd M. Ben-Halim, Eric  S.  Raymond,  Thomas  E.  Dickey.
-       Based on pcurses by Pavel Curtis.
+</PRE><H3><a name="h3-NCURSES_NO_SETBUF"><EM>NCURSES_NO_SETBUF</EM></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
+
+       <EM>ncurses</EM>  enabled  buffered output during terminal initialization.  This
+       was done (as in SVr4 curses)  for  performance  reasons.   For  testing
+       purposes,  both  of  <EM>ncurses</EM> and certain applications, this feature was
+       made optional.  Setting the <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>SETBUF</EM> variable disabled  output
+       buffering,  leaving  the output in the original (usually line buffered)
+       mode.
+
+       In the current implementation, <EM>ncurses</EM> 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 <STRONG>stdio(3)</STRONG> calls with <EM>ncurses</EM>
+       calls  and (usually) work.  This is no longer possible since <EM>ncurses</EM> 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"><EM>NCURSES_NO_UTF8_ACS</EM></a></H3><PRE>
+       During initialization, the <EM>ncurses</EM> library  checks  for  special  cases
+       where VT100 line-drawing (and the corresponding alternate character set
+       capabilities) described in  the  terminfo  are  known  to  be  missing.
+       Specifically,  when  running  in  a  UTF-8  locale,  the  Linux console
+       emulator and the GNU screen program ignore these.  <EM>ncurses</EM>  <EM>checks</EM>  <EM>the</EM>
+       <EM>TERM</EM>  <EM>environment</EM>  <EM>variable</EM>  <EM>for</EM>  <EM>these.</EM>   <EM>For</EM> <EM>other</EM> <EM>special</EM> <EM>cases,</EM> <EM>you</EM>
+       <EM>should</EM> <EM>set</EM> <EM>this</EM> <EM>environment</EM> <EM>variable.</EM>  <EM>Doing</EM> <EM>this</EM> <EM>tells</EM> <EM>ncurses</EM> <EM>to</EM>  <EM>use</EM>
+       <EM>Unicode</EM> <EM>values</EM> <EM>which</EM> <EM>correspond</EM> <EM>to</EM> <EM>the</EM> <EM>VT100</EM> <EM>line-drawing</EM> <EM>glyphs.</EM>  <EM>That</EM>
+       <EM>works</EM> <EM>for</EM> <EM>the</EM> <EM>special</EM> <EM>cases</EM> <EM>cited,</EM> <EM>and</EM> <EM>is</EM> <EM>likely</EM> <EM>to</EM> <EM>work</EM>  <EM>for</EM>  <EM>terminal</EM>
+       <EM>emulators.</EM>
+
+       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, <EM>ncurses</EM> 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 <EM>ncurses</EM>' termcap interface.
+
+
+</PRE><H3><a name="h3-NCURSES_TRACE"><EM>NCURSES_TRACE</EM></a></H3><PRE>
+       During  initialization,  the  <EM>ncurses</EM>  debugging  library  checks   the
+       <EM>NCURSES</EM><STRONG>_</STRONG><EM>TRACE</EM>  environment  variable.   If  it is defined, to a numeric
+       value, <EM>ncurses</EM> calls the  <STRONG>trace</STRONG>  function,  using  that  value  as  the
+       argument.
+
+       The  argument  values,  which  are defined in <STRONG>curses.h</STRONG>, provide several
+       types  of  information.   When  running  with  traces   enabled,   your
+       application will write the file <STRONG>trace</STRONG> to the current directory.
+
+       See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
+
+
+</PRE><H3><a name="h3-TERM"><EM>TERM</EM></a></H3><PRE>
+       Denotes  your  terminal  type.   Each terminal type is distinct, though
+       many are similar.
+
+       <EM>TERM</EM> is commonly set by terminal emulators to help applications find  a
+       workable   terminal  description.   Some  of  those  choose  a  popular
+       approximation, e.g., "ansi", "vt100", "xterm" rather than an exact fit.
+       Not  infrequently,  your  application  will  have  problems  with  that
+       approach, e.g., incorrect function-key definitions.
+
+       If you set <EM>TERM</EM> 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(1)</STRONG>  being  a
+       rare  exception), terminal emulators which allow you to specify <EM>TERM</EM> as
+       a parameter or configuration value do  not  change  their  behavior  to
+       match that setting.
+
+
+</PRE><H3><a name="h3-TERMCAP"><EM>TERMCAP</EM></a></H3><PRE>
+       If  the  <EM>ncurses</EM>  library  has  been  configured  with <EM>termcap</EM> support,
+       <EM>ncurses</EM> will check for a terminal's description in termcap form  if  it
+       is not available in the terminfo database.
+
+       The <EM>TERMCAP</EM> environment variable contains either a terminal description
+       (with newlines  stripped  out),  or  a  file  name  telling  where  the
+       information denoted by the <EM>TERM</EM> environment variable exists.  In either
+       case, setting it directs <EM>ncurses</EM> to ignore the  usual  place  for  this
+       information, e.g., /etc/termcap.
+
+
+</PRE><H3><a name="h3-TERMINFO"><EM>TERMINFO</EM></a></H3><PRE>
+       <EM>ncurses</EM>  can  be  configured  to read from multiple terminal databases.
+       The <EM>TERMINFO</EM> variable overrides the location for the  default  terminal
+       database.   Terminal  descriptions  (in  terminal format) are stored in
+       terminal databases:
+
+       <STRONG>o</STRONG>   Normally these are stored in a directory tree, using subdirectories
+           named by the first letter of the terminal names therein.
+
+           This is the scheme used in System V, which legacy Unix systems use,
+           and the <EM>TERMINFO</EM> variable is used by <EM>curses</EM> applications  on  those
+           systems to override the default location of the terminal database.
+
+       <STRONG>o</STRONG>   If  <EM>ncurses</EM>  is  built  to use hashed databases, then each entry in
+           this list may be the path of a hashed database file, e.g.,
+
+               /usr/share/terminfo.db
+
+           rather than
+
+               /usr/share/terminfo/
+
+           The hashed database uses less disk-space and  is  a  little  faster
+           than  the  directory  tree.   However, some applications assume the
+           existence of the directory tree, reading it  directly  rather  than
+           using the terminfo library calls.
+
+       <STRONG>o</STRONG>   If  <EM>ncurses</EM>  is  built  with  a  support  for reading termcap files
+           directly, then an entry in this list may be the path of  a  termcap
+           file.
+
+       <STRONG>o</STRONG>   If the <EM>TERMINFO</EM> variable begins with "hex:" or "b64:", <EM>ncurses</EM> uses
+           the remainder of that variable as a compiled terminal  description.
+           You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
+
+               TERMINFO="$(infocmp -0 -Q2 -q)"
+               export TERMINFO
+
+           The  compiled description is used if it corresponds to the terminal
+           identified by the <EM>TERM</EM> variable.
+
+       Setting <EM>TERMINFO</EM> is the simplest, but not the only way to set  location
+       of  the  default  terminal  database.   The  complete  list of database
+       locations in order follows:
+
+          <STRONG>o</STRONG>   the last terminal database to which <EM>ncurses</EM> wrote,  if  any,  is
+              searched first
+
+          <STRONG>o</STRONG>   the location specified by the <EM>TERMINFO</EM> environment variable
+
+          <STRONG>o</STRONG>   $HOME/.terminfo
+
+          <STRONG>o</STRONG>   locations listed in the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable
+
+          <STRONG>o</STRONG>   one  or  more  locations whose names are configured and compiled
+              into the <EM>ncurses</EM> library, i.e.,
+
+             <STRONG>o</STRONG>   /usr/share/terminfo  (corresponding  to   the   <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>
+                 variable)
+
+             <STRONG>o</STRONG>   /usr/share/terminfo (corresponding to the <EM>TERMINFO</EM> variable)
+
+
+</PRE><H3><a name="h3-TERMINFO_DIRS"><EM>TERMINFO_DIRS</EM></a></H3><PRE>
+       Specifies  a  list  of  locations  to search for terminal descriptions.
+       Each location in the list is a terminal database as  described  in  the
+       section  on  the  <EM>TERMINFO</EM>  variable.   The list is separated by colons
+       (i.e., ":") on Unix, semicolons on OS/2 EMX.
+
+       There is no corresponding feature  in  System  V  terminfo;  it  is  an
+       extension developed for <EM>ncurses</EM>.
+
+
+</PRE><H3><a name="h3-TERMPATH"><EM>TERMPATH</EM></a></H3><PRE>
+       If  <EM>TERMCAP</EM>  does not hold a file name then <EM>ncurses</EM> checks the <EM>TERMPATH</EM>
+       environment variable.  This is a list of filenames separated by  spaces
+       or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
+
+       If  the  <EM>TERMPATH</EM> environment variable is not set, <EM>ncurses</EM> looks in the
+       files
+
+           /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
+
+       in that order.
+
+       The library may be configured to disregard the following variables when
+       the  current  user  is the superuser (root), or if the application uses
+       setuid or setgid permissions:
+
+           $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
+
+
+</PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
+       Many different <EM>ncurses</EM> configurations are possible, determined  by  the
+       options  given  to the <EM>configure</EM> script when building the library.  Run
+       the script with the <STRONG>--help</STRONG> option to peruse them all.   A  few  are  of
+       particular significance to the application developer employing <EM>ncurses.</EM>
+
+       --disable-overwrite
+            The standard include for <EM>ncurses</EM> is as noted in <STRONG>SYNOPSIS</STRONG>:
+
+                <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+            This  option  is  used to avoid filename conflicts when <EM>ncurses</EM> is
+            not the main implementation of curses of the computer.  If <EM>ncurses</EM>
+            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 enable the wide-character  features  in  the  header
+            file  when  compiling  for  the  wide-character library to use the
+            extended (wide-character) functions.   The  symbol  which  enables
+            these features has changed since XSI Curses, Issue 4:
+
+            <STRONG>o</STRONG>   Originally,  the  wide-character  feature  required the symbol
+                <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG>  but  that  was  only  valid  for  XPG4
+                (1996).
+
+            <STRONG>o</STRONG>   Later,  that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG> defined
+                to 500.
+
+            <STRONG>o</STRONG>   As of mid-2018, none of the features  in  this  implementation
+                require  a  <STRONG>_XOPEN_SOURCE</STRONG>  feature greater than 600.  However,
+                X/Open Curses, Issue 7 (2009) recommends defining it to 700.
+
+            <STRONG>o</STRONG>   Alternatively,  you  can  enable  the  feature   by   defining
+                <STRONG>NCURSES_WIDECHAR</STRONG>  with  the caveat that some other header file
+                than <STRONG>curses.h</STRONG> may require a specific value  for  <STRONG>_XOPEN_SOURCE</STRONG>
+                (or a system-specific symbol).
+
+            The  <EM>curses.h</EM> header file installed for the wide-character library
+            is designed to be compatible with the non-wide  library's  header.
+            Only  the  size  of the <EM>WINDOW</EM> structure differs; few applications
+            require more than pointers to <EM>WINDOW</EM>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>libncurses.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-termlib
+            Low-level  functions  which do not depend upon whether the library
+            supports wide-characters, are provided in the tinfo library.
+
+            By doing this, it is possible to share the tinfo  library  between
+            wide/normal  configurations  as  well  as  reduce  the size of the
+            library when only low-level functions are needed.
+
+            Those functions are described in these pages:
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> - miscellaneous <EM>curses</EM> extensions
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> - <EM>curses</EM> input options
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> - low-level <EM>curses</EM> routines
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> - <EM>curses</EM> environment query routines
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> - <EM>curses</EM> emulation of <EM>termcap</EM>
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> - <EM>curses</EM> interface to <EM>terminfo</EM> database
+
+            <STRONG>o</STRONG>   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <EM>curses</EM> utility routines
+
+       --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 assuming it is always in the debug library.
+
+
+</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
+       <EM>/usr/share/tabset</EM>
+              tab stop initialization database
+
+       <EM>/usr/share/terminfo</EM>
+              compiled terminal capability database
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+       X/Open  Curses permits most functions it specifies to be made available
+       as macros as well.  <EM>ncurses</EM> does so
+
+       <STRONG>o</STRONG>   for functions that return values via their parameters,
+
+       <STRONG>o</STRONG>   to support obsolete features,
+
+       <STRONG>o</STRONG>   to reuse functions (for example, those that move the cursor  before
+           another operation), and
+
+       <STRONG>o</STRONG>   a few special cases.
+
+       If  the  standard  output  file  descriptor  of  an  <EM>ncurses</EM> program is
+       redirected to something that is not  a  terminal  device,  the  library
+       writes  screen updates to the standard error file descriptor.  This was
+       an undocumented feature of SVr3.
+
+       See subsection  "Header  files"  below  regarding  symbols  exposed  by
+       inclusion of <EM>curses.h</EM>.
+
+
+</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
+       <EM>ncurses</EM>  enables  an  application  to  capture  mouse events on certain
+       terminals, including <EM>xterm;</EM> see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
+
+       <EM>ncurses</EM> provides a means of responding to window  resizing  events,  as
+       when  running in a GUI terminal emulator application such as <EM>xterm;</EM> see
+       <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
+
+       <EM>ncurses</EM> allows an application to query the terminal for the presence of
+       a wide variety of special keys; see <STRONG><A HREF="curs_getch.3x.html">has_key(3x)</A></STRONG>.
+
+       <EM>ncurses</EM> extends the fixed set of function key capabilities specified by
+       X/Open  Curses  by  allowing  the  application  programmer  to   define
+       additional    key    sequences    at   runtime;   see   <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>.
+
+       <EM>ncurses</EM>  can  exploit  the  capabilities  of   terminals   implementing
+       ISO 6429/ECMA-48   SGR 39   and   SGR 49   sequences,  which  allow  an
+       application to reset  the  terminal  to  its  original  foreground  and
+       background  colors.  From a user's perspective, the application is able
+       to draw colored text on a background whose color is set  independently,
+       providing better control over color contrasts.  See <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>.
+
+       An  <EM>ncurses</EM>  application  can  choose  to  hide the internal details of
+       <EM>WINDOW</EM>  structures,  instead   using   accessor   functions   such   as
+       <STRONG><A HREF="curs_opaque.3x.html">is_scrollok(3x)</A></STRONG>.
+
+       <EM>ncurses</EM>  enables  an  application  to  direct  application  output to a
+       printer attached to the terminal device; see <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>.
+
+       <EM>ncurses</EM> offers <STRONG><A HREF="curs_slk.3x.html">slk_attr(3x)</A></STRONG> as a counterpart of <STRONG><A HREF="curs_attr.3x.html">attr_get(3x)</A></STRONG> for  soft-
+       label  key lines, and <STRONG><A HREF="curs_slk.3x.html">extended_slk_color(3x)</A></STRONG> as a form of <STRONG><A HREF="curs_slk.3x.html">slk_color(3x)</A></STRONG>
+       that can gather color  information  from  them  when  many  colors  are
+       supported.
+
+       Some  extensions  are  only available if <EM>ncurses</EM> is compiled to support
+       them; see section "ALTERNATE CONFIGURATIONS" above.
+
+       <STRONG>o</STRONG>   Rudimentary  support  for  multi-threaded   applications   may   be
+           available; see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
+
+       <STRONG>o</STRONG>   Functions  that  ease  the  management  of  multiple screens can be
+           exposed; see <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>.
+
+       <STRONG>o</STRONG>   The compiler option <STRONG>-DUSE_GETCAP</STRONG> causes the library to fall back to
+           reading <EM>/etc/termcap</EM> if the terminal setup code cannot find a <EM>term-</EM>
+           <EM>info</EM> entry corresponding to <EM>TERM.</EM>   Use  of  this  feature  is  not
+           recommended,  as it essentially includes an entire <EM>termcap</EM> compiler
+           in the <EM>ncurses</EM>  startup  code,  at  a  cost  in  memory  usage  and
+           application launch latency.
+
+       <EM>PDCurses</EM>   and  NetBSD  <EM>curses</EM>  incorporate  some  <EM>ncurses</EM>  extensions.
+       Individual man pages indicate where this is the case.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+       X/Open Curses defines two levels of conformance, "base" and "enhanced".
+       The latter includes several additional features, such as wide-character
+       and color support.  <EM>ncurses</EM> intends base-level conformance with  X/Open
+       Curses, and supports nearly all its enhanced features.
+
+       Differences  between  X/Open  Curses  and <EM>ncurses</EM> are documented in the
+       "PORTABILITY" sections of applicable man pages.
+
+
+</PRE><H3><a name="h3-Error-Checking">Error Checking</a></H3><PRE>
+       In many cases, X/Open Curses is vague about error conditions,  omitting
+       some of the SVr4 documentation.
+
+       Unlike  other  implementations,  this  one  checks  parameters  such as
+       pointers to <EM>WINDOW</EM> structures to ensure they are not  null.   The  main
+       reason  for  providing  this  behavior  is  to guard against programmer
+       error.  The standard interface does not provide a way for  the  library
+       to  tell an application which of several possible errors were detected.
+       Relying on this (or some other) extension  will  adversely  affect  the
+       portability of curses applications.
+
+
+</PRE><H3><a name="h3-Padding-Differences">Padding Differences</a></H3><PRE>
+       In  historic  curses  versions, delays embedded in the capabilities <STRONG>cr</STRONG>,
+       <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits  in  the  Unix
+       tty driver.  In this implementation, all padding is done by sending NUL
+       bytes.  This  method  is  slightly  more  expensive,  but  narrows  the
+       interface  to the Unix kernel significantly and increases the package's
+       portability correspondingly.
+
+
+</PRE><H3><a name="h3-Header-Files">Header Files</a></H3><PRE>
+       The header file <EM>curses.h</EM> itself includes the header files  <EM>stdio.h</EM>  and
+       <EM>unctrl.h</EM>.
+
+       X/Open Curses has more to say, but does not finish the story:
+
+           The  inclusion  of &lt;curses.h&gt; may make visible all symbols from the
+           headers &lt;stdio.h&gt;, &lt;term.h&gt;, &lt;termios.h&gt;, and &lt;wchar.h&gt;.
+
+       Here is a more complete story:
+
+       <STRONG>o</STRONG>   Starting  with  BSD  curses,  all  implementations  have   included
+           &lt;stdio.h&gt;.
+
+           BSD  curses  included  &lt;curses.h&gt;  and  &lt;unctrl.h&gt; from an internal
+           header file <EM>curses.ext</EM> ("ext" abbreviated "externs").
+
+           BSD curses used &lt;stdio.h&gt; internally (for <STRONG>printw</STRONG>  and  <STRONG>scanw</STRONG>),  but
+           nothing in &lt;curses.h&gt; itself relied upon &lt;stdio.h&gt;.
+
+       <STRONG>o</STRONG>   SVr2  curses  added <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>, which relies upon &lt;stdio.h&gt;.  That
+           is, the function prototype uses <STRONG>FILE</STRONG>.
+
+           SVr4 curses added <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>, which also use &lt;stdio.h&gt;.
+
+           X/Open Curses documents all three of these functions.
+
+           SVr4 curses and X/Open Curses  do  not  require  the  developer  to
+           include  &lt;stdio.h&gt;  before  including  &lt;curses.h&gt;.   Both  document
+           curses showing &lt;curses.h&gt; as the only required header.
+
+           As a result, standard &lt;curses.h&gt; will always include &lt;stdio.h&gt;.
+
+       <STRONG>o</STRONG>   X/Open Curses  is  inconsistent  with  respect  to  SVr4  regarding
+           &lt;unctrl.h&gt;.
+
+           As   noted  in  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,  <EM>ncurses</EM>  includes  &lt;unctrl.h&gt;  from
+           &lt;curses.h&gt; (like SVr4).
+
+       <STRONG>o</STRONG>   X/Open's comments about &lt;term.h&gt; and &lt;termios.h&gt; may refer to HP-UX
+           and AIX:
 
+           HP-UX curses includes &lt;term.h&gt; from &lt;curses.h&gt; to declare <STRONG>setupterm</STRONG>
+           in curses.h, but <EM>ncurses</EM> (and Solaris curses) do not.
 
+           AIX curses includes &lt;term.h&gt; and &lt;termios.h&gt;.  Again, <EM>ncurses</EM>  (and
+           Solaris curses) do not.
 
+       <STRONG>o</STRONG>   X/Open  says  that &lt;curses.h&gt; <EM>may</EM> include &lt;term.h&gt;, but there is no
+           requirement that it do that.
 
+           Some  programs  use  functions  declared  in  both  &lt;curses.h&gt;  and
+           &lt;term.h&gt;,  and  must include both headers in the same module.  Very
+           old versions of AIX curses  required  including  &lt;curses.h&gt;  before
+           including &lt;term.h&gt;.
 
+           Because  <EM>ncurses</EM>  header files include the headers needed to define
+           datatypes used in the headers, <EM>ncurses</EM> header files can be included
+           in  any  order.  But for portability, you should include &lt;curses.h&gt;
+           before &lt;term.h&gt;.
 
+       <STRONG>o</STRONG>   X/Open Curses says <EM>"may</EM> <EM>make</EM> <EM>visible"</EM> because  including  a  header
+           file does not necessarily make all symbols in it visible (there are
+           ifdef's to consider).
 
+           For instance, in <EM>ncurses</EM> &lt;wchar.h&gt; <EM>may</EM> be included  if  the  proper
+           symbol  is defined, and if <EM>ncurses</EM> is configured for wide-character
+           support.  If the header  is  included,  its  symbols  may  be  made
+           visible.   That depends on the value used for <STRONG>_XOPEN_SOURCE</STRONG> feature
+           test macro.
 
+       <STRONG>o</STRONG>   X/Open Curses documents one required header,  in  a  special  case:
+           &lt;stdarg.h&gt;   before  &lt;curses.h&gt;  to  prototype  the  <STRONG>vw_printw</STRONG>  and
+           <STRONG>vw_scanw</STRONG> functions (as  well  as  the  obsolete  the  <STRONG>vwprintw</STRONG>  and
+           <STRONG>vwscanw</STRONG> functions).  Each of those uses a <STRONG>va_list</STRONG> parameter.
 
+           The  two  obsolete  functions  were  introduced in SVr3.  The other
+           functions were introduced  in  X/Open  Curses.   In  between,  SVr4
+           curses  provided  for  the  possibility  that  an application might
+           include either &lt;varargs.h&gt; or &lt;stdarg.h&gt;.  Initially, that was done
+           by  using  <STRONG>void*</STRONG>  for the <STRONG>va_list</STRONG> parameter.  Later, a special type
+           (defined in &lt;stdio.h&gt;) was introduced, to allow for compiler  type-
+           checking.  That special type is always available, because &lt;stdio.h&gt;
+           is always included by &lt;curses.h&gt;.
 
+           None of the X/Open Curses implementations require an application to
+           include  &lt;stdarg.h&gt;  before  &lt;curses.h&gt;  because  they  either have
+           allowed for a special type, or (like  <EM>ncurses</EM>)  include  &lt;stdarg.h&gt;
+           directly to provide a portable interface.
 
 
+</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
+       Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.  Based on <EM>pcurses</EM>
+       by Pavel Curtis.
 
 
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
 
 
 
+ncurses 6.4                       2024-02-24                       <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-Overview">Overview</a></li>
+<li><a href="#h3-Effects-of-GUIs-and-Environment-Variables">Effects of GUIs and Environment Variables</a></li>
+<li><a href="#h3-Naming-Conventions">Naming Conventions</a></li>
+<li><a href="#h3-Wide-and-Non-wide-Character-Configurations">Wide and Non-wide Character Configurations</a></li>
+<li><a href="#h3-Function-Name-Index">Function Name Index</a></li>
+</ul>
+</li>
+<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
+<li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
+<ul>
+<li><a href="#h3-CC-_command-character_">CC (command character)</a></li>
+<li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
+<li><a href="#h3-COLUMNS">COLUMNS</a></li>
+<li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
+<li><a href="#h3-HOME">HOME</a></li>
+<li><a href="#h3-LINES">LINES</a></li>
+<li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
+<li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
+<li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
+<li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
+<li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
+<li><a href="#h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></li>
+<li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
+<li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
+<li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
+<li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
+<li><a href="#h3-TERM">TERM</a></li>
+<li><a href="#h3-TERMCAP">TERMCAP</a></li>
+<li><a href="#h3-TERMINFO">TERMINFO</a></li>
+<li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
+<li><a href="#h3-TERMPATH">TERMPATH</a></li>
+</ul>
+</li>
+<li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
+<li><a href="#h2-FILES">FILES</a></li>
+<li><a href="#h2-NOTES">NOTES</a></li>
+<li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
+<li><a href="#h2-PORTABILITY">PORTABILITY</a>
+<ul>
+<li><a href="#h3-Error-Checking">Error Checking</a></li>
+<li><a href="#h3-Padding-Differences">Padding Differences</a></li>
+<li><a href="#h3-Header-Files">Header Files</a></li>
+</ul>
+</li>
+<li><a href="#h2-AUTHORS">AUTHORS</a></li>
+<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
+</ul>
+</div>
 </BODY>
 </HTML>