]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/ncurses.3x.html
ncurses 6.5 - patch 20240601
[ncurses.git] / doc / html / man / ncurses.3x.html
1 <!--
2   * t
3   ****************************************************************************
4   * Copyright 2018-2023,2024 Thomas E. Dickey                                *
5   * Copyright 1998-2015,2017 Free Software Foundation, Inc.                  *
6   *                                                                          *
7   * Permission is hereby granted, free of charge, to any person obtaining a  *
8   * copy of this software and associated documentation files (the            *
9   * "Software"), to deal in the Software without restriction, including      *
10   * without limitation the rights to use, copy, modify, merge, publish,      *
11   * distribute, distribute with modifications, sublicense, and/or sell       *
12   * copies of the Software, and to permit persons to whom the Software is    *
13   * furnished to do so, subject to the following conditions:                 *
14   *                                                                          *
15   * The above copyright notice and this permission notice shall be included  *
16   * in all copies or substantial portions of the Software.                   *
17   *                                                                          *
18   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
19   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
20   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
21   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
22   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
23   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
24   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
25   *                                                                          *
26   * Except as contained in this notice, the name(s) of the above copyright   *
27   * holders shall not be used in advertising or otherwise to promote the     *
28   * sale, use or other dealings in this Software without prior written       *
29   * authorization.                                                           *
30   ****************************************************************************
31   * @Id: ncurses.3x,v 1.221 2024/06/01 22:29:08 tom Exp @
32 -->
33 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
34 <HTML>
35 <HEAD>
36 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
37 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
38 <TITLE>ncurses 3x 2024-06-01 ncurses 6.5 Library calls</TITLE>
39 <link rel="author" href="mailto:bug-ncurses@gnu.org">
40
41 </HEAD>
42 <BODY>
43 <H1 class="no-header">ncurses 3x 2024-06-01 ncurses 6.5 Library calls</H1>
44 <PRE>
45 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>                      Library calls                     <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
46
47
48
49
50 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
51        <STRONG>ncurses</STRONG> - character-cell terminal interface with optimized output
52
53
54 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
55        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
56
57
58 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
59        The  "new  curses" library offers the programmer a terminal-independent
60        means of reading keyboard and mouse input and  updating  character-cell
61        terminals  with  output  optimized to minimize screen updates.  <EM>ncurses</EM>
62        replaces the <EM>curses</EM> libraries from System V Release 4 Unix ("SVr4") and
63        4.4BSD  Unix,  the  development  of  which  ceased  in the 1990s.  This
64        document describes <EM>ncurses</EM> version 6.5 (patch 20240601).
65
66        <EM>ncurses</EM> permits control of the terminal screen's contents;  abstraction
67        and  subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; acquisition of keyboard
68        and mouse  events;  control  of  terminal  input  and  output  options;
69        selection   of   color  and  rendering  attributes  (such  as  bold  or
70        underline); the definition and use of <EM>soft</EM> <EM>label</EM> keys;  access  to  the
71        <EM>terminfo</EM>   terminal   capability   database;  a  <EM>termcap</EM>  compatibility
72        interface; and an abstraction of the system's API for manipulating  the
73        terminal (such as <STRONG>termios(3)</STRONG>).
74
75        <EM>ncurses</EM>  implements  the  interface described by X/Open Curses Issue 7.
76        In many behavioral details not standardized by X/Open, <EM>ncurses</EM> emulates
77        the <EM>curses</EM> library of SVr4 and provides numerous useful extensions.
78
79        <EM>ncurses</EM>  man  pages employ several sections to clarify matters of usage
80        and interoperability with other <EM>curses</EM> implementations.
81
82        <STRONG>o</STRONG>   "NOTES" describes issues and caveats  of  which  any  user  of  the
83            <EM>ncurses</EM>  API should be aware, such as limitations on the size of an
84            underlying integral type or  the  availability  of  a  preprocessor
85            macro  exclusive  of  a  function  definition  (which  prevents its
86            address  from  being   taken).    This   section   also   describes
87            implementation  details  that will be significant to the programmer
88            but which are not standardized.
89
90        <STRONG>o</STRONG>   "EXTENSIONS" presents <EM>ncurses</EM> innovations beyond the X/Open  Curses
91            standard  and/or  the  SVr4 <EM>curses</EM> implementation.  They are termed
92            <EM>extensions</EM> to indicate that they cannot be  implemented  solely  by
93            using the library API, but require access to the library's internal
94            state.
95
96        <STRONG>o</STRONG>   "PORTABILITY" discusses matters (beyond the exercise of extensions)
97            that should be considered when writing to a <EM>curses</EM> standard, or for
98            multiple implementations.
99
100        <STRONG>o</STRONG>   "HISTORY" examines points of detail in  <EM>ncurses</EM>  and  other  <EM>curses</EM>
101            implementations over the decades of their development, particularly
102            where precedent or inertia have frustrated better design (and, in a
103            few cases, where such inertia has been overcome).
104
105        A <EM>curses</EM> application must be linked with the library; use the <STRONG>-lncurses</STRONG>
106        option to your compiler or linker.  A debugging version of the  library
107        may  be available; if so, link with it using <STRONG>-lncurses_g</STRONG>.  (Your system
108        integrator may have installed these libraries such that you can use the
109        options  <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>, respectively.)  The <EM>ncurses</EM><STRONG>_</STRONG><EM>g</EM> library
110        generates trace logs (in a file called <EM>trace</EM> in the current  directory)
111        that  describe <EM>ncurses</EM> actions.  See section "ALTERNATE CONFIGURATIONS"
112        below.
113
114
115 </PRE><H3><a name="h3-Application-Structure">Application Structure</a></H3><PRE>
116        A  <EM>curses</EM>  application  uses  information  from  the   system   locale;
117        <STRONG>setlocale(3)</STRONG> prepares it for <EM>curses</EM> library calls.
118
119            setlocale(LC_ALL, "");
120
121        If  the  locale  is  not  thus  initialized,  the  library assumes that
122        characters are printable as in ISO 8859-1, to work with certain  legacy
123        programs.   You  should initialize the locale; do not expect consistent
124        behavior from the library when the locale has not been set up.
125
126        <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG> must be called to initialize  <EM>curses</EM>  before
127        use of any functions that deal with windows and screens.
128
129        To  get  character-at-a-time  input  without echoing--most interactive,
130        screen-oriented programs want this--use the following sequence.
131
132            initscr(); cbreak(); noecho();
133
134        Most applications would perform further setup as follows.
135
136            noqiflush();
137            keypad(stdscr, TRUE);
138
139        A <EM>curses</EM> program then often enters an event loop of  some  sort.   Call
140        <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> before exiting.
141
142
143 </PRE><H3><a name="h3-Overview">Overview</a></H3><PRE>
144        A  <EM>curses</EM>  library abstracts the terminal screen by representing all or
145        part of it as a <EM>WINDOW</EM> data structure.  A <EM>window</EM> is a rectangular  grid
146        of  character  cells,  addressed  by row and column coordinates (<EM>y</EM>, <EM>x</EM>),
147        with the upper left corner as (0, 0).  A window called <STRONG>stdscr</STRONG>, the same
148        size  as  the terminal screen, is always available.  Create others with
149        <STRONG><A HREF="curs_window.3x.html">newwin(3x)</A></STRONG>.
150
151        A <EM>curses</EM> library does not manage overlapping windows (but  see  below).
152        You  can either use <STRONG>stdscr</STRONG> to manage one screen-filling window, or tile
153        the screen into non-overlapping windows and  not  use  <STRONG>stdscr</STRONG>  at  all.
154        Mixing  the  two  approaches will result in unpredictable and undesired
155        effects.
156
157        Functions permit manipulation of a window and  the  <EM>cursor</EM>  identifying
158        the  cell  within  it  at  which  the next output operation will occur.
159        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
160        cursor within and write a character to <STRONG>stdscr</STRONG>, respectively.
161
162        Frequent changes to the terminal screen can cause unpleasant flicker or
163        inefficient use of the communication channel to the  device,  so  as  a
164        rule  the  library  does not update it automatically.  Therefore, after
165        using <EM>curses</EM> functions to accumulate a set of desired updates that make
166        sense to present together, call <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> to tell the library to make
167        the user's screen look like <STRONG>stdscr</STRONG>.  The library <EM>optimizes</EM>  its  output
168        by  computing  a minimal volume of operations to mutate the screen from
169        its  state  at  the  previous  refresh  to  the  new  one.    Effective
170        optimization  demands  accurate  information about the terminal device:
171        the management of such information is the province of the  <STRONG><A HREF="curs_terminfo.3x.html">terminfo(3x)</A></STRONG>
172        API, a feature of every standard <EM>curses</EM> implementation.
173
174        Special  windows  called  <EM>pads</EM>  may also be manipulated.  These are not
175        constrained to the size of the terminal screen and their contents  need
176        not be completely displayed.  See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>.
177
178        Many  terminals  support configuration of character cell foreground and
179        background colors as well as  <EM>attributes</EM>,  which  cause  characters  to
180        render  in  such  modes  as boldfaced, underlined, or in reverse video.
181        See <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>.
182
183        <EM>curses</EM> predefines constants for a small set of  forms-drawing  graphics
184        corresponding  to  the  DEC Alternate Character Set (ACS), a feature of
185        VT100 and other terminals.  See <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
186
187        <EM>curses</EM> is implemented using the operating system's terminal driver; key
188        events are received not as scan codes but as byte sequences.  Graphical
189        keycaps (alphanumeric and punctuation keys, and the space)  appear  as-
190        is.   Everything  else, including the tab, enter/return, keypad, arrow,
191        and function keys, appears as a control character or a multibyte <EM>escape</EM>
192        <EM>sequence.</EM>   <EM>curses</EM> can translate the latter into unique <EM>key</EM> <EM>codes.</EM>  See
193        <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> and <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
194
195        <EM>ncurses</EM> provides reimplementations of the SVr4 <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, and
196        <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>   libraries;   they   permit   overlapping  windows  and  ease
197        construction of user interfaces with <EM>curses</EM>.
198
199
200 </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
201        The  selection  of  an  appropriate  value  of  <EM>TERM</EM>  in  the   process
202        environment  is  essential  to  correct  <EM>curses</EM>  and  <EM>terminfo</EM>  library
203        operation.  A well-configured  system  selects  a  correct  <EM>TERM</EM>  value
204        automatically;   <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>   may   assist   with  troubleshooting  exotic
205        situations.
206
207        If you change the terminal type, export the shell's <EM>TERM</EM> variable, then
208        run  <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>  or  the  "<STRONG>tput</STRONG>  <STRONG>init</STRONG>"  command.  See subsection "Tabs and
209        Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
210
211        If the environment variables <EM>LINES</EM> and  <EM>COLUMNS</EM>  are  set,  or  if  the
212        <EM>curses</EM>  program  is executing in a graphical windowing environment, the
213        information obtained thence overrides that obtained  by  <EM>terminfo</EM>.   An
214        <EM>ncurses</EM> extension supports resizable terminals; see <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
215
216        If  the  environment  variable  <EM>TERMINFO</EM>  is  defined, a <EM>curses</EM> program
217        checks first for  a  terminal  type  description  in  the  location  it
218        identifies.   <EM>TERMINFO</EM>  is  useful  for developing type descriptions or
219        when write permission to <EM>/usr/share/terminfo</EM> is not available.
220
221        See section "ENVIRONMENT" below.
222
223
224 </PRE><H3><a name="h3-Naming-Conventions">Naming Conventions</a></H3><PRE>
225        <EM>curses</EM> offers many functions in variant forms using a  regular  set  of
226        alternatives  to the name of an elemental one.  Those prefixed with "w"
227        require a <EM>WINDOW</EM> pointer argument;  those  with  a  "mv"  prefix  first
228        perform cursor movement using <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>; a "mvw" prefix indicates both.
229        The "w" function is typically the elemental one; the  removal  of  this
230        prefix usually indicates operation on <STRONG>stdscr</STRONG>.
231
232        Four functions prefixed with "p" require a pad argument.
233
234        In  function  synopses,  <EM>ncurses</EM> man pages apply the following names to
235        parameters.  We introduce the character types in the next subsection.
236
237                        <EM>bf</EM>    a <EM>bool</EM> (<STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>)
238                        <EM>c</EM>     a <EM>char</EM> or <EM>int</EM>
239                        <EM>ch</EM>    a <EM>chtype</EM>
240                        <EM>wc</EM>    a <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> or <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>
241                        <EM>wch</EM>   a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
242                        <EM>win</EM>   pointer to a <EM>WINDOW</EM>
243                        <EM>pad</EM>   pointer to a <EM>WINDOW</EM> that is a pad
244
245
246 </PRE><H3><a name="h3-Wide-and-Non-wide-Character-Configurations">Wide and Non-wide Character Configurations</a></H3><PRE>
247        This  man  page  primarily  surveys  functions  that  appear   in   any
248        configuration of the library.  There are two common configurations; see
249        section "ALTERNATE CONFIGURATIONS" below.
250
251        <EM>ncurses</EM>   is the library in its "non-wide" configuration, handling only
252                  eight-bit  characters.   It  stores a character combined with
253                  attributes and a color pair in a <EM>chtype</EM> datum, which is often
254                  an alias of <EM>int</EM>.  A string of <EM>curses</EM> characters is similar to
255                  a C <EM>char</EM> string; a <EM>chtype</EM> string ends with an integral <STRONG>0</STRONG>, the
256                  null <EM>curses</EM> character.
257
258                  Attributes  and a color pair selection (with no corresponding
259                  character) can be stored in variables  of  <EM>chtype</EM>  or  <EM>attr</EM><STRONG>_</STRONG><EM>t</EM>
260                  type.   In either case, they are accessed via an integral bit
261                  mask.
262
263                  Each cell of a <EM>WINDOW</EM> is stored as a <EM>chtype</EM>.
264
265        <EM>ncursesw</EM>  is the library in its  "wide"  configuration,  which  handles
266                  character encodings requiring a larger data type than <EM>char</EM> (a
267                  byte-sized  type)  can  represent.   It  provides  additional
268                  functions that complement those in the non-wide library where
269                  the size of the underlying character type is significant.   A
270                  somewhat  regular  naming convention relates many of the wide
271                  variants to their non-wide  counterparts;  where  a  non-wide
272                  function  name contains "ch" or "str", prefix it with "_w" to
273                  obtain the wide counterpart.   For  example,  <STRONG>waddch</STRONG>  becomes
274                  <STRONG>wadd_wch</STRONG>.   (Exceptions  that  add only "w" comprise <STRONG>addwstr</STRONG>,
275                  <STRONG>inwstr</STRONG>, and their variants.)
276
277                  This convention is inapplicable  to  some  non-wide  function
278                  names,  so  other  transformations  are  used  for  the  wide
279                  configuration:  the  window  background  management  function
280                  "bkgd"   becomes  "bkgrnd";  the  window  border-drawing  and
281                  -clearing functions are suffixed with "_set";  and  character
282                  attribute   manipulation   functions   like  "attron"  become
283                  "attr_on".
284
285                  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  corresponds to the non-wide configuration's  <EM>chtype</EM>.
286                           It  is  a  structure  type  because it requires more
287                           storage than fits into a standard  scalar  type.   A
288                           character  code  may not be representable as a <EM>char</EM>,
289                           and moreover more than one character  may  occupy  a
290                           cell  (as  with  accent marks and other diacritics).
291                           Each  character  is  of  type  <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>;  a   complex
292                           character contains one spacing character and zero or
293                           more non-spacing characters (see below).   A  string
294                           of  complex  characters  ends  with  a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> whose
295                           <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>  member  is   the   null   wide   character.
296                           Attributes  and a color pair selection are stored in
297                           separate fields of the structure, not combined  into
298                           an integer as in <EM>chtype</EM>.
299
300                  Each cell of a <EM>WINDOW</EM> is stored as a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
301
302                  <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>  and  <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG>  store  and  retrieve <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
303                  data.  The wide library API of <EM>ncurses</EM> depends  on  two  data
304                  types standardized by ISO C95.
305
306                  <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>  stores  a wide character.  Like <EM>chtype</EM>, it may be an
307                           alias of <EM>int</EM>.  Depending on the character  encoding,
308                           a  wide  character  may  be <EM>spacing</EM>, meaning that it
309                           occupies a character cell by  itself  and  typically
310                           accompanies   cursor  advancement,  or  <EM>non-spacing</EM>,
311                           meaning that it occupies the same cell as a  spacing
312                           character,  is often regarded as a "modifier" of the
313                           base glyph with which  it  combines,  and  typically
314                           does not advance the cursor.
315
316                  <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>,
317                           analogously to the <EM>int</EM>-sized character  manipulation
318                           functions of ISO C and its constant <STRONG>EOF</STRONG>.
319
320
321 </PRE><H3><a name="h3-Function-Name-Index">Function Name Index</a></H3><PRE>
322        The following table lists the <EM>curses</EM> functions provided in the non-wide
323        and wide APIs and the  corresponding  man  pages  that  describe  them.
324        Those  flagged  with  "*"  are  <EM>ncurses</EM>-specific,  neither described by
325        X/Open Curses nor present in SVr4.
326
327                     <STRONG><EM>curses</EM></STRONG> Function Name     Man Page
328                     ---------------------------------------------
329                     COLOR_PAIR               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
330                     PAIR_NUMBER              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
331                     add_wch                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
332                     add_wchnstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
333                     add_wchstr               <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
334                     addch                    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
335                     addchnstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
336                     addchstr                 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
337                     addnstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
338                     addnwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
339                     addstr                   <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
340                     addwstr                  <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
341                     alloc_pair               <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
342                     assume_default_colors    <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
343                     attr_get                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
344                     attr_off                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
345                     attr_on                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
346                     attr_set                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
347                     attroff                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
348                     attron                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
349                     attrset                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
350                     baudrate                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
351                     beep                     <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
352                     bkgd                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
353                     bkgdset                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
354                     bkgrnd                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
355                     bkgrndset                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
356                     border                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
357                     border_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
358                     box                      <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
359                     box_set                  <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
360                     can_change_color         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
361                     cbreak                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
362                     chgat                    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
363                     clear                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
364                     clearok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
365                     clrtobot                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
366                     clrtoeol                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
367                     color_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
368                     color_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
369                     copywin                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
370                     curs_set                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
371                     curses_trace             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
372                     curses_version           <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
373                     def_prog_mode            <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
374                     def_shell_mode           <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
375                     define_key               <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
376                     del_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
377                     delay_output             <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
378                     delch                    <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
379                     deleteln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
380                     delscreen                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
381                     delwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
382                     derwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
383                     doupdate                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
384                     dupwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
385
386                     echo                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
387                     echo_wchar               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
388                     echochar                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
389                     endwin                   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
390                     erase                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
391                     erasechar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
392                     erasewchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
393                     exit_curses              <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
394                     exit_terminfo            <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
395                     extended_color_content   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
396                     extended_pair_content    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
397                     extended_slk_color       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
398                     filter                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
399                     find_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
400                     flash                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
401                     flushinp                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
402                     free_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
403                     get_escdelay             <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
404                     get_wch                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
405                     get_wstr                 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
406                     getattrs                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
407                     getbegx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
408                     getbegy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
409                     getbegyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
410                     getbkgd                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
411                     getbkgrnd                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
412                     getcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
413                     getch                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
414                     getcurx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
415                     getcury                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
416                     getmaxx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
417                     getmaxy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
418                     getmaxyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
419                     getmouse                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
420                     getn_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
421                     getnstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
422                     getparx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
423                     getpary                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
424                     getparyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
425                     getstr                   <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
426                     getsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
427                     getwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
428                     getyx                    <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
429                     halfdelay                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
430                     has_colors               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
431                     has_ic                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
432                     has_il                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
433                     has_key                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
434                     has_mouse                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
435                     hline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
436                     hline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
437                     idcok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
438                     idlok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
439                     immedok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
440                     in_wch                   <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
441                     in_wchnstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
442                     in_wchstr                <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
443                     inch                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
444                     inchnstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
445                     inchstr                  <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
446                     init_color               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
447                     init_extended_color      <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
448                     init_extended_pair       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
449                     init_pair                <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
450                     initscr                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
451                     innstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
452
453                     innwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
454                     ins_nwstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
455                     ins_wch                  <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
456                     ins_wstr                 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
457                     insch                    <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
458                     insdelln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
459                     insertln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
460                     insnstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
461                     insstr                   <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
462                     instr                    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
463                     intrflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
464                     inwstr                   <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
465                     is_cbreak                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
466                     is_cleared               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
467                     is_echo                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
468                     is_idcok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
469                     is_idlok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
470                     is_immedok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
471                     is_keypad                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
472                     is_leaveok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
473                     is_linetouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
474                     is_nl                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
475                     is_nodelay               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
476                     is_notimeout             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
477                     is_pad                   <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
478                     is_raw                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
479                     is_scrollok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
480                     is_subwin                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
481                     is_syncok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
482                     is_term_resized          <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
483                     is_wintouched            <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
484                     isendwin                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
485                     key_defined              <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
486                     key_name                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
487                     keybound                 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
488                     keyname                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
489                     keyok                    <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
490                     keypad                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
491                     killchar                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
492                     killwchar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
493                     leaveok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
494                     longname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
495                     mcprint                  <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
496                     meta                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
497                     mouse_trafo              <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
498                     mouseinterval            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
499                     mousemask                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
500                     move                     <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
501                     mvadd_wch                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
502                     mvadd_wchnstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
503                     mvadd_wchstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
504                     mvaddch                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
505                     mvaddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
506                     mvaddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
507                     mvaddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
508                     mvaddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
509                     mvaddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
510                     mvaddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
511                     mvchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
512                     mvcur                    <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
513                     mvdelch                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
514                     mvderwin                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
515                     mvget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
516                     mvget_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
517                     mvgetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
518                     mvgetn_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
519
520                     mvgetnstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
521                     mvgetstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
522                     mvhline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
523                     mvhline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
524                     mvin_wch                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
525                     mvin_wchnstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
526                     mvin_wchstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
527                     mvinch                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
528                     mvinchnstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
529                     mvinchstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
530                     mvinnstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
531                     mvinnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
532                     mvins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
533                     mvins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
534                     mvins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
535                     mvinsch                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
536                     mvinsnstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
537                     mvinsstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
538                     mvinstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
539                     mvinwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
540                     mvprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
541                     mvscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
542                     mvvline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
543                     mvvline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
544                     mvwadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
545                     mvwadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
546                     mvwadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
547                     mvwaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
548                     mvwaddchnstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
549                     mvwaddchstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
550                     mvwaddnstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
551                     mvwaddnwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
552                     mvwaddstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
553                     mvwaddwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
554                     mvwchgat                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
555                     mvwdelch                 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
556                     mvwget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
557                     mvwget_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
558                     mvwgetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
559                     mvwgetn_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
560                     mvwgetnstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
561                     mvwgetstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
562                     mvwhline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
563                     mvwhline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
564                     mvwin                    <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
565                     mvwin_wch                <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
566                     mvwin_wchnstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
567                     mvwin_wchstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
568                     mvwinch                  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
569                     mvwinchnstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
570                     mvwinchstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
571                     mvwinnstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
572                     mvwinnwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
573                     mvwins_nwstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
574                     mvwins_wch               <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
575                     mvwins_wstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
576                     mvwinsch                 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
577                     mvwinsnstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
578                     mvwinsstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
579                     mvwinstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
580                     mvwinwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
581                     mvwprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
582                     mvwscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
583                     mvwvline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
584                     mvwvline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
585                     napms                    <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
586
587                     newpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
588                     newterm                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
589                     newwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
590                     nl                       <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
591                     nocbreak                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
592                     nodelay                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
593                     noecho                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
594                     nofilter                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
595                     nonl                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
596                     noqiflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
597                     noraw                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
598                     notimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
599                     overlay                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
600                     overwrite                <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
601                     pair_content             <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
602                     pecho_wchar              <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
603                     pechochar                <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
604                     pnoutrefresh             <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
605                     prefresh                 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
606                     printw                   <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
607                     putp                     <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
608                     putwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
609                     qiflush                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
610                     raw                      <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
611                     redrawwin                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
612                     refresh                  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
613                     reset_color_pairs        <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
614                     reset_prog_mode          <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
615                     reset_shell_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
616                     resetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
617                     resize_term              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
618                     resizeterm               <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
619                     restartterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
620                     ripoffline               <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
621                     savetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
622                     scanw                    <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
623                     scr_dump                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
624                     scr_init                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
625                     scr_restore              <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
626                     scr_set                  <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
627                     scrl                     <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
628                     scroll                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
629                     scrollok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
630                     set_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
631                     set_escdelay             <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
632                     set_tabsize              <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
633                     set_term                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
634                     setcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
635                     setscrreg                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
636                     setsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
637                     setupterm                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
638                     slk_attr                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
639                     slk_attr_off             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
640                     slk_attr_on              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
641                     slk_attr_set             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
642                     slk_attroff              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
643                     slk_attron               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
644                     slk_attrset              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
645                     slk_clear                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
646                     slk_color                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
647                     slk_init                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
648                     slk_label                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
649                     slk_noutrefresh          <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
650                     slk_refresh              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
651                     slk_restore              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
652                     slk_set                  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
653
654                     slk_touch                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
655                     slk_wset                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
656                     standend                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
657                     standout                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
658                     start_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
659                     subpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
660                     subwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
661                     syncok                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
662                     term_attrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
663                     termattrs                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
664                     termname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
665                     tgetent                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
666                     tgetflag                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
667                     tgetnum                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
668                     tgetstr                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
669                     tgoto                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
670                     tigetflag                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
671                     tigetnum                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
672                     tigetstr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
673                     timeout                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
674                     tiparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
675                     tiparm_s                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
676                     tiscan_s                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
677                     touchline                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
678                     touchwin                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
679                     tparm                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
680                     tputs                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
681                     tputs                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
682                     trace                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
683                     typeahead                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
684                     unctrl                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
685                     unget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
686                     ungetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
687                     ungetmouse               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
688                     untouchwin               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
689                     use_default_colors       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
690                     use_env                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
691                     use_extended_names       <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
692                     use_legacy_coding        <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
693                     use_screen               <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
694                     use_tioctl               <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
695                     use_window               <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>*
696                     vid_attr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
697                     vid_puts                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
698                     vidattr                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
699                     vidputs                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
700                     vline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
701                     vline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
702                     vw_printw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
703                     vw_scanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
704                     vwprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
705                     vwscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
706                     wadd_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
707                     wadd_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
708                     wadd_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
709                     waddch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
710                     waddchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
711                     waddchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
712                     waddnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
713                     waddnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
714                     waddstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
715                     waddwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
716                     wattr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
717                     wattr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
718                     wattr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
719                     wattr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
720
721                     wattroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
722                     wattron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
723                     wattrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
724                     wbkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
725                     wbkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
726                     wbkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
727                     wbkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
728                     wborder                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
729                     wborder_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
730                     wchgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
731                     wclear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
732                     wclrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
733                     wclrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
734                     wcolor_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
735                     wcursyncup               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
736                     wdelch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
737                     wdeleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
738                     wecho_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
739                     wechochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
740                     wenclose                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
741                     werase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
742                     wget_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
743                     wget_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
744                     wgetbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
745                     wgetch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
746                     wgetdelay                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
747                     wgetn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
748                     wgetnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
749                     wgetparent               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
750                     wgetscrreg               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
751                     wgetstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
752                     whline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
753                     whline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
754                     win_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
755                     win_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
756                     win_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
757                     winch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
758                     winchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
759                     winchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
760                     winnstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
761                     winnwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
762                     wins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
763                     wins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
764                     wins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
765                     winsch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
766                     winsdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
767                     winsertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
768                     winsnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
769                     winsstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
770                     winstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
771                     winwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
772                     wmouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
773                     wmove                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
774                     wnoutrefresh             <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
775                     wprintw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
776                     wredrawln                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
777                     wrefresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
778                     wresize                  <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
779                     wscanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
780                     wscrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
781                     wsetscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
782                     wstandend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
783                     wstandout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
784                     wsyncdown                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
785                     wsyncup                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
786                     wtimeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
787
788                     wtouchln                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
789                     wunctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
790                     wvline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
791                     wvline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
792
793        <EM>ncurses</EM>'s   <EM>screen-pointer</EM>   <EM>extension</EM>   adds   additional    functions
794        corresponding  to  many  of  the  above, each with an "_sp" suffix; see
795        <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>.
796
797        The availability of some extensions is  configurable  when  <EM>ncurses</EM>  is
798        compiled;  see  sections  "ALTERNATE  CONFIGURATIONS"  and "EXTENSIONS"
799        below.
800
801
802 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
803        Unless otherwise noted,  functions  that  return  integers  return  the
804        constants  <STRONG>OK</STRONG>  on  success  and <STRONG>ERR</STRONG> on failure; see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
805        Functions that return pointers  return  <STRONG>NULL</STRONG>  on  failure.   Typically,
806        <EM>ncurses</EM>  treats  a  null  pointer  passed  as a function parameter as a
807        failure.  Functions prefixed with "mv" first  perform  cursor  movement
808        and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
809
810
811 </PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
812        The  following  symbols  from  the  process  environment  customize the
813        runtime  behavior  of  <EM>ncurses</EM>  applications.   The  library   may   be
814        configured   to   disregard   the  variables  <EM>TERMINFO</EM>,  <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>,
815        <EM>TERMPATH</EM>, and <EM>HOME</EM>, if  the  user  is  the  superuser  (root),  or  the
816        application uses <STRONG>setuid(2)</STRONG> or <STRONG>setgid(2)</STRONG>.
817
818
819 </PRE><H3><a name="h3-BAUDRATE"><EM>BAUDRATE</EM></a></H3><PRE>
820        The  debugging  library  checks  this variable when the application has
821        redirected output to a file.  Its integral value is used for  the  baud
822        rate.   If  that  value  is absent or invalid, <EM>ncurses</EM> uses 9600.  This
823        feature allows developers to construct repeatable test cases that  take
824        into account optimization decisions that depend on baud rate.
825
826
827 </PRE><H3><a name="h3-CC-_command-character_"><EM>CC</EM> (command character)</a></H3><PRE>
828        When  set,  the  <STRONG>command_character</STRONG>  (<STRONG>cmdch</STRONG>)  capability value of loaded
829        <EM>terminfo</EM> entries changes to the value of this variable.  Very few <EM>term-</EM>
830        <EM>info</EM> entries provide this feature.
831
832        Because this name is also used in development environments to store the
833        C compiler's name, <EM>ncurses</EM> ignores its value if it is not one character
834        in length.
835
836
837 </PRE><H3><a name="h3-COLUMNS"><EM>COLUMNS</EM></a></H3><PRE>
838        This  variable  specifies  the  width  of  the  screen  in  characters.
839        Applications running in a windowing environment  usually  are  able  to
840        obtain the width of the window in which they are executing.  If <EM>COLUMNS</EM>
841        is not defined and the terminal's screen size is not available from the
842        terminal  driver, <EM>ncurses</EM> uses the size specified by the <STRONG>columns</STRONG> (<STRONG>cols</STRONG>)
843        capability of the terminal type's entry in the  <EM>terminfo</EM>  database,  if
844        any.
845
846        It  is  important  that  your  application use the correct screen size.
847        Automatic  detection  thereof  is  not  always  possible   because   an
848        application  may  be  running  on  a  host  that  does  not  honor NAWS
849        (Negotiations About Window Size) or as a different  user  ID  than  the
850        owner  of  the  terminal  device  file.   Setting  <EM>COLUMNS</EM> and/or <EM>LINES</EM>
851        overrides the library's use  of  the  screen  size  obtained  from  the
852        operating system.
853
854        The  <EM>COLUMNS</EM>  and  <EM>LINES</EM>  variables  may  be  specified  independently.
855        <EM>ncurses</EM> enforces an upper limit of 512 on each when reading the  value.
856        This  property  is  useful to circumvent misfeatures of legacy terminal
857        type descriptions; <STRONG>xterm(1)</STRONG> descriptions specifying 65 lines were  once
858        notorious.    For   best  results,  avoid  specifying  <STRONG>cols</STRONG>  and  <STRONG>lines</STRONG>
859        capability codes in <EM>terminfo</EM> descriptions of terminal emulators.
860
861        <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG> can disable use of the process environment  in  determining
862        the  screen size.  <STRONG><A HREF="curs_util.3x.html">use_tioctl(3x)</A></STRONG> can update <EM>COLUMNS</EM> and <EM>LINES</EM> to match
863        the screen size obtained from system calls or the terminal database.
864
865
866 </PRE><H3><a name="h3-ESCDELAY"><EM>ESCDELAY</EM></a></H3><PRE>
867        For <EM>curses</EM> to distinguish the ESC character  resulting  from  a  user's
868        press  of  the  "Escape"  key on the input device from one beginning an
869        <EM>escape</EM> <EM>sequence</EM> (as commonly produced by function keys), it waits after
870        receiving  the  escape  character  to  see  if  further  characters are
871        available on the input  stream  within  a  short  interval.   A  global
872        variable  <STRONG>ESCDELAY</STRONG>  stores  this interval in milliseconds.  The default
873        value of 1000 (one second) is adequate for most uses.  This environment
874        variable  overrides  it;  <EM>ncurses</EM> enforces an upper limit of 30,000 (30
875        seconds) when reading the value.
876
877        The most common instance where you may wish to change this value is  to
878        work with a remote host over a slow communication channel.  If the host
879        running a <EM>curses</EM> application does not  receive  the  characters  of  an
880        escape  sequence  in a timely manner, the library can interpret them as
881        multiple key stroke events.
882
883        <STRONG>xterm(1)</STRONG> mouse events are a form of escape sequence; therefore, if your
884        application  makes  heavy  use  of  multiple-clicking,  you may wish to
885        lengthen the default value because the delay applies to  the  composite
886        multi-click event as well as the individual clicks.
887
888        Portable  applications should not rely upon the presence of <STRONG>ESCDELAY</STRONG> in
889        either form, but setting  the  environment  variable  rather  than  the
890        global variable does not create problems when compiling an application.
891
892        If  <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG>  is  disabled  for  the <EM>curses</EM> window receiving input, a
893        program must disambiguate escape sequences itself.
894
895
896 </PRE><H3><a name="h3-HOME"><EM>HOME</EM></a></H3><PRE>
897        <EM>ncurses</EM> may read and write auxiliary terminal descriptions in  <EM>.termcap</EM>
898        and <EM>.terminfo</EM> files in the user's home directory.
899
900
901 </PRE><H3><a name="h3-LINES"><EM>LINES</EM></a></H3><PRE>
902        This  counterpart  to  <EM>COLUMNS</EM>  specifies  the  height of the screen in
903        characters.  The corresponding <EM>terminfo</EM> capability and code  is  <STRONG>lines</STRONG>.
904        See the description of the <EM>COLUMNS</EM> variable above.
905
906
907 </PRE><H3><a name="h3-MOUSE_BUTTONS_123"><EM>MOUSE_BUTTONS_123</EM></a></H3><PRE>
908        (OS/2  EMX  port only) OS/2 numbers a three-button mouse inconsistently
909        with other platforms, such that 1 is the left button, 2 the right,  and
910        3  the  middle.   This  variable customizes the mouse button numbering.
911        Its value must be three digits 1-3 in any order.  By  default,  <EM>ncurses</EM>
912        assumes a numbering of "132".
913
914
915 </PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS"><EM>NCURSES_ASSUMED_COLORS</EM></a></H3><PRE>
916        If  set,  this  variable  overrides  the  <EM>ncurses</EM> library's compiled-in
917        assumption that the terminal's default colors are white on  black;  see
918        <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>.   Set  the  foreground  and background color values
919        with this environment variable  by  assigning  it  two  integer  values
920        separated  by  a  comma,  indicating  foregound  and  background  color
921        numbers, respectively.
922
923        For example, to tell <EM>ncurses</EM> not to assume anything about  the  colors,
924        use  a  value  of  "-1,-1".   To make the default color scheme green on
925        black, use "2,0".  <EM>ncurses</EM> accepts integral values from -1  up  to  the
926        value of the <EM>terminfo</EM> <STRONG>max_colors</STRONG> (<STRONG>colors</STRONG>) capability.
927
928
929 </PRE><H3><a name="h3-NCURSES_CONSOLE2"><EM>NCURSES_CONSOLE2</EM></a></H3><PRE>
930        (MinGW   port  only)  The  <EM>Console2</EM>  program  defectively  handles  the
931        Microsoft Console  API  call  <EM>CreateConsoleScreenBuffer</EM>.   Applications
932        that  use it will hang.  However, it is possible to simulate the action
933        of this call by mapping coordinates, explicitly  saving  and  restoring
934        the  original  screen contents.  Setting the environment variable <EM>NCGDB</EM>
935        has the same effect.
936
937
938 </PRE><H3><a name="h3-NCURSES_GPM_TERMS"><EM>NCURSES_GPM_TERMS</EM></a></H3><PRE>
939        (Linux only) When <EM>ncurses</EM> is configured to use the GPM interface,  this
940        variable  may  list  one  or  more  terminal  type  names, delimited by
941        vertical bars (<STRONG>|</STRONG>) or colons (<STRONG>:</STRONG>), against which the <EM>TERM</EM>  variable  (see
942        below)  is  matched.   An empty value disables the GPM interface, using
943        <EM>ncurses</EM>'s built-in support for <STRONG>xterm(1)</STRONG> mouse  protocols  instead.   If
944        the  variable  is absent, <EM>ncurses</EM> attempts to open GPM if <EM>TERM</EM> contains
945        "linux".
946
947
948 </PRE><H3><a name="h3-NCURSES_NO_HARD_TABS"><EM>NCURSES_NO_HARD_TABS</EM></a></H3><PRE>
949        <EM>ncurses</EM> may use tab characters in  cursor  movement  optimization.   In
950        some  cases,  your  terminal  driver may not handle them properly.  Set
951        this environment variable to any value to disable the feature.  You can
952        also adjust your <STRONG>stty(1)</STRONG> settings to avoid the problem.
953
954
955 </PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE"><EM>NCURSES_NO_MAGIC_COOKIE</EM></a></H3><PRE>
956        Many  terminals  store  video  attributes  as a property of a character
957        cell, as <EM>curses</EM> does.  Historically, some  recorded  changes  in  video
958        attributes  as  data  that  logically  <EM>occupies</EM>  character cells on the
959        display, switching attributes on or off, similarly to tags in a  markup
960        language;  these  are  termed "magic cookies", and must be subsequently
961        overprinted.  If the <EM>terminfo</EM> entry for your  terminal  type  does  not
962        adequately describe its handling of magic cookies, set this variable to
963        any value to instruct <EM>ncurses</EM> to disable attributes entirely.
964
965
966 </PRE><H3><a name="h3-NCURSES_NO_PADDING"><EM>NCURSES_NO_PADDING</EM></a></H3><PRE>
967        Most  terminal  type  descriptions  in  the  <EM>terminfo</EM>  database  detail
968        hardware   devices.   Many  people  use  <EM>curses</EM>-based  applications  in
969        terminal emulator programs that run in a windowing environment.   These
970        programs  can  duplicate  all  of  the important features of a hardware
971        terminal, but often lack their limitations.  Chief among  these  absent
972        drawbacks is the problem of data flow management; that is, limiting the
973        speed of communication to what the hardware  could  handle.   Unless  a
974        hardware  terminal  is  interfaced  into a terminal concentrator (which
975        does flow control), an application must manage flow itself  to  prevent
976        overruns and data loss.
977
978        A  solution  that  comes  at  no hardware cost is for an application to
979        pause after directing a  terminal  to  execute  an  operation  that  it
980        performs  slowly,  such  as  clearing  the display.  Many terminal type
981        descriptions, including that for the VT100, embed delay  specifications
982        in  capabilities.   You  may  wish  to  use these terminal descriptions
983        without paying the performance penalty.  Set <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>PADDING</EM> to  any
984        value  to disable all but mandatory padding.  Mandatory padding is used
985        by such terminal capabilities as <STRONG>flash_screen</STRONG> (<STRONG>flash</STRONG>).
986
987
988 </PRE><H3><a name="h3-NCURSES_NO_SETBUF"><EM>NCURSES_NO_SETBUF</EM></a></H3><PRE>
989        (Obsolete) Prior to internal changes developed in <EM>ncurses</EM> 5.9  (patches
990        20120825  through 20130126), the library used <STRONG>setbuf(3)</STRONG> to enable fully
991        buffered output when initializing the terminal.  This was done,  as  in
992        SVr4  <EM>curses</EM>,  to  increase performance.  For testing purposes, both of
993        <EM>ncurses</EM> and of certain applications, this feature  was  made  optional.
994        Setting  this  variable  disabled  output buffering, leaving the output
995        stream in the original (usually line-buffered) mode.
996
997        Nowadays, <EM>ncurses</EM> performs its own buffering and does not require  this
998        workaround;  it  does  not  modify the buffering of the standard output
999        stream.  This approach makes signal handling, as for  interrupts,  more
1000        robust.   A  drawback  is  that  certain  unconventional programs mixed
1001        <STRONG>stdio(3)</STRONG> calls with <EM>ncurses</EM> calls and (usually) got the  behavior  they
1002        expected.   This  is  no longer the case; <EM>ncurses</EM> does not write to the
1003        standard output file descriptor through a <EM>stdio</EM>-buffered stream.
1004
1005        As a special case, low-level API calls such as <STRONG><A HREF="curs_terminfo.3x.html">putp(3x)</A></STRONG> still  use  the
1006        standard  output stream.  High-level <EM>curses</EM> calls such as <STRONG><A HREF="curs_printw.3x.html">printw(3x)</A></STRONG> do
1007        not.
1008
1009
1010 </PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS"><EM>NCURSES_NO_UTF8_ACS</EM></a></H3><PRE>
1011        At initialization, <EM>ncurses</EM> inspects the <EM>TERM</EM> environment  variable  for
1012        special   cases   where   VT100   forms-drawing   characters  (and  the
1013        corresponding alternate character set <EM>terminfo</EM> capabilities) are  known
1014        to  be  unsupported  by  terminal  types  that  otherwise  claim  VT100
1015        compatibility.  Specifically, when running in a UTF-8 locale, the Linux
1016        virtual  console device and the GNU <STRONG>screen(1)</STRONG> program ignore them.  Set
1017        this  variable  to  a  nonzero  value  to  instruct  <EM>ncurses</EM>  that  the
1018        terminal's ACS support is broken; the library then outputs Unicode code
1019        points that correspond to the forms-drawing characters.  Set it to zero
1020        (or a non-integer) to disable the special check for terminal type names
1021        matching "linux" or "screen", directing <EM>ncurses</EM> to assume that the  ACS
1022        feature works if the terminal type description advertises it.
1023
1024        As  an  alternative  to  use  of  this  variable, <EM>ncurses</EM> checks for an
1025        extended <EM>terminfo</EM> numeric capability <STRONG>U8</STRONG> that can be compiled using "<STRONG>tic</STRONG>
1026        <STRONG>-x</STRONG>".  Examples follow.
1027
1028           # linux console, if patched to provide working
1029           # VT100 shift-in/shift-out, with corresponding font.
1030           linux-vt100|linux console with VT100 line-graphics,
1031                   U8#0, use=linux,
1032
1033           # uxterm with vt100Graphics resource set to false
1034           xterm-utf8|xterm relying on UTF-8 line-graphics,
1035                   U8#1, use=xterm,
1036
1037        The  two-character name "U8" was chosen to permit its use via <EM>ncurses</EM>'s
1038        <EM>termcap</EM> interface.
1039
1040
1041 </PRE><H3><a name="h3-NCURSES_TRACE"><EM>NCURSES_TRACE</EM></a></H3><PRE>
1042        At initialization, <EM>ncurses</EM> (in its debugging configuration) checks  for
1043        this  variable's  presence.   If  defined  with  an integral value, the
1044        library calls <STRONG><A HREF="curs_trace.3x.html">curses_trace(3x)</A></STRONG> with that value as the argument.
1045
1046
1047 </PRE><H3><a name="h3-TERM"><EM>TERM</EM></a></H3><PRE>
1048        The <EM>TERM</EM> variable denotes the terminal type.  Each is distinct,  though
1049        many  are  similar.   It  is commonly set by terminal emulators to help
1050        applications find a  workable  terminal  description.   Some  choose  a
1051        popular  approximation  such as "ansi", "vt100", or "xterm" rather than
1052        an exact fit to their capabilities.  Not infrequently,  an  application
1053        will  have  problems  with that approach; for example, a key stroke may
1054        not operate  correctly,  or  produce  no  effect  but  seeming  garbage
1055        characters on the screen.
1056
1057        Setting  <EM>TERM</EM>  has  no effect on hardware operation; it affects the way
1058        applications communicate with the terminal.   Likewise,  as  a  general
1059        rule  (<STRONG>xterm(1)</STRONG>  being a rare exception), terminal emulators that allow
1060        you to specify <EM>TERM</EM> as a parameter or configuration value do not change
1061        their behavior to match that setting.
1062
1063
1064 </PRE><H3><a name="h3-TERMCAP"><EM>TERMCAP</EM></a></H3><PRE>
1065        If <EM>ncurses</EM> is configured with <EM>termcap</EM> support, it checks for a terminal
1066        type description in <EM>termcap</EM> format if one in  <EM>terminfo</EM>  format  is  not
1067        available.   Setting  this variable directs <EM>ncurses</EM> to ignore the usual
1068        <EM>termcap</EM> database location, <EM>/etc/termcap</EM>; see <EM>TERMPATH</EM>  below.   <EM>TERMCAP</EM>
1069        should  contain  either  a terminal description (with newlines stripped
1070        out), or a file name indicating where the information required  by  the
1071        <EM>TERM</EM> environment variable is stored.
1072
1073
1074 </PRE><H3><a name="h3-TERMINFO"><EM>TERMINFO</EM></a></H3><PRE>
1075        <EM>ncurses</EM>  can  be configured to read terminal type description databases
1076        in various locations using different formats.  This variable  overrides
1077        the default location.
1078
1079        <STRONG>o</STRONG>   Descriptions  in <EM>terminfo</EM> format are normally stored in a directory
1080            tree using subdirectories named by the common first letters of  the
1081            terminal types named therein.  This is the scheme used in System V.
1082
1083        <STRONG>o</STRONG>   If <EM>ncurses</EM> is configured to use hashed databases, then <EM>TERMINFO</EM> may
1084            name its location,  such  as  <EM>/usr/share/terminfo.db</EM>,  rather  than
1085            <EM>/usr/share/terminfo/</EM>.
1086
1087        The  hashed  database  uses less disk space and is a little faster than
1088        the directory tree.  However, some applications assume the existence of
1089        the directory tree, and read it directly rather than using the <EM>terminfo</EM>
1090        API.
1091
1092        <STRONG>o</STRONG>   If <EM>ncurses</EM> is configured with <EM>termcap</EM> support,  this  variable  may
1093            contain the location of a <EM>termcap</EM> file.
1094
1095        <STRONG>o</STRONG>   If the value of <EM>TERMINFO</EM> begins with "hex:" or "b64:", <EM>ncurses</EM> uses
1096            the remainder of the value as a compiled <EM>terminfo</EM> description.  You
1097            might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>.
1098
1099                   TERMINFO=$(infocmp -0 -Q2 -q)
1100                   export TERMINFO
1101
1102            The  compiled  description  is  used  only if it corresponds to the
1103            terminal type identified by <EM>TERM</EM>.
1104
1105        Setting <EM>TERMINFO</EM> is the simplest, but  not  the  only,  way  to  direct
1106        <EM>ncurses</EM> to a terminal database.  The search path is as follows.
1107
1108        <STRONG>o</STRONG>   the last terminal database to which the running <EM>ncurses</EM> application
1109            wrote, if any
1110
1111        <STRONG>o</STRONG>   the location specified by the <EM>TERMINFO</EM> environment variable
1112
1113        <STRONG>o</STRONG>   <EM>$HOME/.terminfo</EM>
1114
1115        <STRONG>o</STRONG>   locations listed in the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable
1116
1117        <STRONG>o</STRONG>   location(s) configured and compiled into <EM>ncurses</EM>
1118
1119            <STRONG>o</STRONG>   <EM>/usr/share/terminfo</EM>
1120
1121
1122 </PRE><H3><a name="h3-TERMINFO_DIRS"><EM>TERMINFO_DIRS</EM></a></H3><PRE>
1123        This variable specifies a list of locations, akin  to  <EM>PATH</EM>,  in  which
1124        <EM>ncurses</EM>  searches  for  the  terminal  type  descriptions  described by
1125        <EM>TERMINFO</EM> above.  The list items are separated by  colons  on  Unix  and
1126        semicolons  on  OS/2  EMX.   System V  <EM>terminfo</EM>  lacks  a corresponding
1127        feature; <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is an <EM>ncurses</EM> extension.
1128
1129
1130 </PRE><H3><a name="h3-TERMPATH"><EM>TERMPATH</EM></a></H3><PRE>
1131        If <EM>TERMCAP</EM> does not hold a terminal type description or file name, then
1132        <EM>ncurses</EM>  checks  the contents of <EM>TERMPATH</EM>, a list of locations, akin to
1133        <EM>PATH</EM>, in which it searches for <EM>termcap</EM> terminal type descriptions.  The
1134        list items are separated by colons on Unix and semicolons on OS/2 EMX.
1135
1136        If both <EM>TERMCAP</EM> and <EM>TERMPATH</EM> are unset or invalid, <EM>ncurses</EM> searches for
1137        the files <EM>/etc/termcap</EM>, <EM>/usr/share/misc/termcap</EM>, and <EM>$HOME/.termcap</EM>, in
1138        that order.
1139
1140
1141 </PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
1142        Many  different  <EM>ncurses</EM> configurations are possible, determined by the
1143        options given to the <EM>configure</EM> script when building the  library.   Run
1144        the  script  with  the  <STRONG>--help</STRONG> option to peruse them all.  A few are of
1145        particular significance to the application developer employing <EM>ncurses</EM>.
1146
1147        <STRONG>--disable-overwrite</STRONG>
1148             The standard C preprocessor inclusion for the <EM>curses</EM> library is as
1149             follows.
1150
1151                 <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
1152
1153             This  option  is used to avoid file name conflicts between <EM>ncurses</EM>
1154             and an existing <EM>curses</EM> installation on the system.  If <EM>ncurses</EM>  is
1155             installed  disabling  overwrite,  it  puts  its  header files in a
1156             subdirectory.  Here is an example.
1157
1158                 <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
1159
1160             Installation also omits a  symbolic  link  that  would  cause  the
1161             compiler's  <STRONG>-lcurses</STRONG>  option  to  link  object  files with <EM>ncurses</EM>
1162             instead of the system <EM>curses</EM> library.
1163
1164             The directory used by this configuration of <EM>ncurses</EM>  is  shown  in
1165             section "SYNOPSIS" above.
1166
1167        <STRONG>--enable-widec</STRONG>
1168             The   configure   script   renames   the   library   and  (if  the
1169             <STRONG>--disable-overwrite</STRONG> option is used) puts the  header  files  in  a
1170             different  subdirectory.   All  of  the  library  names have a "w"
1171             appended to them, i.e., instead of
1172
1173                 <STRONG>-lncurses</STRONG>
1174
1175             you link with
1176
1177                 <STRONG>-lncursesw</STRONG>
1178
1179             You must also enable the wide-character  features  in  the  header
1180             file  when  compiling  for  the  wide-character library to use the
1181             extended (wide-character) functions.   The  symbol  which  enables
1182             these features has changed since X/Open Curses, Issue 4:
1183
1184             <STRONG>o</STRONG>   Originally,  the  wide-character  feature  required the symbol
1185                 <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG>  but  that  was  only  valid  for  XPG4
1186                 (1996).
1187
1188             <STRONG>o</STRONG>   Later,  that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG> defined
1189                 to 500.
1190
1191             <STRONG>o</STRONG>   As of mid-2018, none of the features  in  this  implementation
1192                 require  a  <STRONG>_XOPEN_SOURCE</STRONG>  feature greater than 600.  However,
1193                 X/Open Curses, Issue 7 (2009) recommends defining it to 700.
1194
1195             <STRONG>o</STRONG>   Alternatively,  you  can  enable  the  feature   by   defining
1196                 <STRONG>NCURSES_WIDECHAR</STRONG>  with  the caveat that some other header file
1197                 than <STRONG>curses.h</STRONG> may require a specific value  for  <STRONG>_XOPEN_SOURCE</STRONG>
1198                 (or a system-specific symbol).
1199
1200             The  <EM>curses.h</EM> header file installed for the wide-character library
1201             is designed to be compatible with the non-wide  library's  header.
1202             Only  the  size  of the <EM>WINDOW</EM> structure differs; few applications
1203             require more than pointers to <EM>WINDOW</EM>s.
1204
1205             If  the  headers  are  installed  allowing  overwrite,  the  wide-
1206             character  library's  headers  should  be installed last, to allow
1207             applications to be built using either library from the same set of
1208             headers.
1209
1210        <STRONG>--with-pthread</STRONG>
1211             The  configure  script  renames  the  library.  All of the library
1212             names have a "t"  appended  to  them  (before  any  "w"  added  by
1213             <STRONG>--enable-widec</STRONG>).
1214
1215             The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow
1216             read-only access.  At the same time, setter-functions are provided
1217             to  set  these  values.   Some applications (very few) may require
1218             changes to work with this convention.
1219
1220        <STRONG>--with-shared</STRONG>
1221        <STRONG>--with-normal</STRONG>
1222        <STRONG>--with-debug</STRONG>
1223        <STRONG>--with-profile</STRONG>
1224             The shared and normal  (static)  library  names  differ  by  their
1225             suffixes,  e.g.,  <STRONG>libncurses.so</STRONG>  and  <STRONG>libncurses.a</STRONG>.  The debug and
1226             profiling libraries add a "_g"  and  a  "_p"  to  the  root  names
1227             respectively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
1228
1229        <STRONG>--with-termlib</STRONG>
1230             Low-level  functions  which do not depend upon whether the library
1231             supports wide-characters, are provided in the tinfo library.
1232
1233             By doing this, it is possible to share the tinfo  library  between
1234             wide/normal  configurations  as  well  as  reduce  the size of the
1235             library when only low-level functions are needed.
1236
1237             Those functions are described in these pages:
1238
1239             <STRONG>o</STRONG>   <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> - miscellaneous <EM>curses</EM> extensions
1240
1241             <STRONG>o</STRONG>   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> - <EM>curses</EM> input options
1242
1243             <STRONG>o</STRONG>   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> - low-level <EM>curses</EM> routines
1244
1245             <STRONG>o</STRONG>   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> - <EM>curses</EM> environment query routines
1246
1247             <STRONG>o</STRONG>   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> - <EM>curses</EM> emulation of <EM>termcap</EM>
1248
1249             <STRONG>o</STRONG>   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> - <EM>curses</EM> interface to <EM>terminfo</EM> database
1250
1251             <STRONG>o</STRONG>   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <EM>curses</EM> utility routines
1252
1253        <STRONG>--with-trace</STRONG>
1254             The <STRONG>trace</STRONG> function normally resides in the debug library,  but  it
1255             is  sometimes  useful  to  configure  this  in the shared library.
1256             Configure scripts should check for the function's existence rather
1257             than assuming it is always in the debug library.
1258
1259
1260 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
1261        <EM>/usr/share/tabset</EM>
1262               tab stop initialization database
1263
1264        <EM>/usr/share/terminfo</EM>
1265               compiled terminal capability database
1266
1267
1268 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
1269        X/Open  Curses permits most functions it specifies to be made available
1270        as macros as well.  <EM>ncurses</EM> does so
1271
1272        <STRONG>o</STRONG>   for functions that return values via their parameters,
1273
1274        <STRONG>o</STRONG>   to support obsolete features,
1275
1276        <STRONG>o</STRONG>   to reuse functions (for example, those that move the cursor  before
1277            another operation), and
1278
1279        <STRONG>o</STRONG>   in a few special cases.
1280
1281        If  the  standard  output  file  descriptor  of  an  <EM>ncurses</EM> program is
1282        redirected to something that is not  a  terminal  device,  the  library
1283        writes  screen updates to the standard error file descriptor.  This was
1284        an undocumented feature of SVr3 <EM>curses</EM>.
1285
1286        See subsection  "Header  Files"  below  regarding  symbols  exposed  by
1287        inclusion of <EM>curses.h</EM>.
1288
1289
1290 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
1291        <EM>ncurses</EM>  enables  an  application  to  capture  mouse events on certain
1292        terminals, including <STRONG>xterm(1)</STRONG>; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
1293
1294        <EM>ncurses</EM> provides a means of responding to window  resizing  events,  as
1295        when  running in a GUI terminal emulator application such as <EM>xterm</EM>; see
1296        <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
1297
1298        <EM>ncurses</EM> allows an application to query the terminal for the presence of
1299        a wide variety of special keys; see <STRONG><A HREF="curs_getch.3x.html">has_key(3x)</A></STRONG>.
1300
1301        <EM>ncurses</EM> extends the fixed set of function key capabilities specified by
1302        X/Open  Curses  by  allowing  the  application  programmer  to   define
1303        additional  key events 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>,
1304        <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>.
1305
1306        <EM>ncurses</EM>  can  exploit  the  capabilities  of   terminals   implementing
1307        ISO 6429/ECMA-48   SGR 39   and   SGR 49   sequences,  which  allow  an
1308        application to reset  the  terminal  to  its  original  foreground  and
1309        background  colors.  From a user's perspective, the application is able
1310        to draw colored text on a background whose color is set  independently,
1311        providing better control over color contrasts.  See <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>.
1312
1313        An  <EM>ncurses</EM>  application  can  eschew  knowledge  of  <EM>WINDOW</EM>  structure
1314        internals, instead using accessor functions such as <STRONG><A HREF="curs_opaque.3x.html">is_scrollok(3x)</A></STRONG>.
1315
1316        <EM>ncurses</EM> enables an application  to  direct  its  output  to  a  printer
1317        attached to the terminal device; see <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>.
1318
1319        <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-
1320        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>
1321        that  can  gather  color  information  from  them  when many colors are
1322        supported.
1323
1324        <EM>ncurses</EM>   permits   modification   of   <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>'s   behavior;    see
1325        <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG>.
1326
1327        Rudimentary  support  for multi-threaded applications may be available;
1328        see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
1329
1330        Functions that ease the management of multiple screens can be  exposed;
1331        see <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>.
1332
1333        To  aid  applications  to  debug their memory usage, <EM>ncurses</EM> optionally
1334        offers functions  to  more  aggressively  free  memory  it  dynamically
1335        allocates itself; see <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>.
1336
1337        The  library  facilitates auditing and troubleshooting of its behavior;
1338        see <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>.
1339
1340        Compiling <EM>ncurses</EM> with the option <STRONG>-DUSE_GETCAP</STRONG> causes it to  fall  back
1341        to  reading <EM>/etc/termcap</EM> if the terminal setup code cannot find a <EM>term-</EM>
1342        <EM>info</EM>  entry  corresponding  to  <EM>TERM</EM>.   Use  of  this  feature  is  not
1343        recommended,  as  it essentially includes an entire <EM>termcap</EM> compiler in
1344        the <EM>ncurses</EM> startup code, at a cost in  memory  usage  and  application
1345        launch latency.
1346
1347        <EM>PDCurses</EM>   and  NetBSD  <EM>curses</EM>  incorporate  some  <EM>ncurses</EM>  extensions.
1348        Individual man pages indicate where this is the case.
1349
1350
1351 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
1352        X/Open Curses defines two levels of conformance, "base" and "enhanced".
1353        The latter includes several additional features, such as wide-character
1354        and color support.  <EM>ncurses</EM> intends base-level conformance with  X/Open
1355        Curses,  and  supports  all  features  of its enhanced level except the
1356        <STRONG>untic</STRONG> utility.
1357
1358        Differences between X/Open Curses and <EM>ncurses</EM>  are  documented  in  the
1359        "PORTABILITY" sections of applicable man pages.
1360
1361
1362 </PRE><H3><a name="h3-Error-Checking">Error Checking</a></H3><PRE>
1363        In  many cases, X/Open Curses is vague about error conditions, omitting
1364        some of the SVr4 documentation.
1365
1366        Unlike other implementations, <EM>ncurses</EM> checks pointer  parameters,  such
1367        as  those to <EM>WINDOW</EM> structures, to ensure that they are not null.  This
1368        is done primarily to guard  against  programmer  error.   The  standard
1369        interface does not provide a way for the library to tell an application
1370        which of several possible errors occurred.  An application that  relies
1371        on  <EM>ncurses</EM>  to  check  its function parameters for validity limits its
1372        portability and robustness.
1373
1374
1375 </PRE><H3><a name="h3-Padding-Differences">Padding Differences</a></H3><PRE>
1376        In historical <EM>curses</EM> implementations, delays embedded in  the  <EM>terminfo</EM>
1377        capabilities  <STRONG>carriage_return</STRONG>  (<STRONG>cr</STRONG>),  <STRONG>scroll_forward</STRONG> (<STRONG>ind</STRONG>), <STRONG>cursor_left</STRONG>
1378        (<STRONG>cub1</STRONG>), <STRONG>form_feed</STRONG> (<STRONG>ff</STRONG>), and <STRONG>tab</STRONG> (<STRONG>ht</STRONG>) activated corresponding delay bits
1379        in  the  Unix terminal driver.  <EM>ncurses</EM> performs all padding by sending
1380        NUL bytes to the device.  This method is slightly more  expensive,  but
1381        narrows   the   interface   to   the   Unix  kernel  significantly  and
1382        correspondingly increases the package's portability.
1383
1384
1385 </PRE><H3><a name="h3-Header-Files">Header Files</a></H3><PRE>
1386        The header file <EM>curses.h</EM> itself includes the header files  <EM>stdio.h</EM>  and
1387        <EM>unctrl.h</EM>.
1388
1389        X/Open Curses has more to say,
1390
1391            The  inclusion  of  <EM>curses.h</EM>  may make visible all symbols from the
1392            headers <EM>stdio.h</EM>, <EM>term.h</EM>, <EM>termios.h</EM>, and <EM>wchar.h</EM>.
1393
1394        but does not finish the story.  A more complete account follows.
1395
1396        <STRONG>o</STRONG>   The first <EM>curses</EM>, in 4BSD, provided a <EM>curses.h</EM> file.
1397
1398            BSD <EM>curses</EM> code included <EM>curses.h</EM> and  <EM>unctrl.h</EM>  from  an  internal
1399            header file <EM>curses.ext</EM>, where "ext" abbreviated "externs".
1400
1401            The  implementations of <EM>printw</EM> and <EM>scanw</EM> used undocumented internal
1402            functions of the standard I/O library (<STRONG>_</STRONG><EM>doprnt</EM>  and  <STRONG>_</STRONG><EM>doscan</EM>),  but
1403            nothing in <EM>curses.h</EM> itself relied upon <EM>stdio.h</EM>.
1404
1405        <STRONG>o</STRONG>   SVr2  <EM>curses</EM>  added  <EM>newterm</EM>, which relies upon <EM>stdio.h</EM> because its
1406            function prototype employs the <EM>FILE</EM> type.
1407
1408            SVr4 <EM>curses</EM> added <EM>putwin</EM> and <EM>getwin</EM>, which also use <EM>stdio.h</EM>.
1409
1410            X/Open Curses specifies all three of these functions.
1411
1412            SVr4 <EM>curses</EM> and X/Open Curses  do  not  require  the  developer  to
1413            include  <EM>stdio.h</EM>  before  <EM>curses.h</EM>.  Both document use of <EM>curses</EM> as
1414            requiring only <EM>curses.h</EM>.
1415
1416            As a result, standard <EM>curses.h</EM> always includes <EM>stdio.h</EM>.
1417
1418        <STRONG>o</STRONG>   X/Open Curses and SVr4 <EM>curses</EM>  are  inconsistent  with  respect  to
1419            <EM>unctrl.h</EM>.
1420
1421            As  noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <EM>ncurses</EM> includes <EM>unctrl.h</EM> from <EM>curses.h</EM>
1422            (as SVr4 does).
1423
1424        <STRONG>o</STRONG>   X/Open Curses's comments about <EM>term.h</EM> and <EM>termios.h</EM>  may  refer  to
1425            HP-UX and AIX.
1426
1427            HP-UX  <EM>curses</EM> includes <EM>term.h</EM> from <EM>curses.h</EM> to declare <EM>setupterm</EM> in
1428            <EM>curses.h</EM>, but <EM>ncurses</EM> and Solaris <EM>curses</EM> do not.
1429
1430            AIX <EM>curses</EM> includes  <EM>term.h</EM>  and  <EM>termios.h</EM>.   Again,  <EM>ncurses</EM>  and
1431            Solaris <EM>curses</EM> do not.
1432
1433        <STRONG>o</STRONG>   X/Open  Curses  says that <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>term.h</EM>, but does not
1434            require it to do so.
1435
1436            Some programs use functions declared in both <EM>curses.h</EM>  and  <EM>term.h</EM>,
1437            and  must  include  both header files in the same module.  Very old
1438            versions of  AIX  <EM>curses</EM>  required  inclusion  of  <EM>curses.h</EM>  before
1439            <EM>term.h</EM>.
1440
1441            The  header  files supplied by <EM>ncurses</EM> include the standard library
1442            headers required for its  declarations,  so  <EM>ncurses</EM>'s  own  header
1443            files  can  be  included  in  any  order.  But for portability, you
1444            should include <EM>curses.h</EM> before <EM>term.h</EM>.
1445
1446        <STRONG>o</STRONG>   X/Open Curses says "may make visible" because  including  a  header
1447            file  does  not  necessarily  make visible all of the symbols in it
1448            (consider <STRONG>#ifdef</STRONG> and similar).
1449
1450            For instance, <EM>ncurses</EM>'s <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>wchar.h</EM> if the  proper
1451            symbol  is defined, and if <EM>ncurses</EM> is configured for wide-character
1452            support.  If <EM>wchar.h</EM> is included, its symbols <STRONG>may</STRONG> be  made  visible
1453            depending on the value of the <STRONG>_XOPEN_SOURCE</STRONG> feature test macro.
1454
1455        <STRONG>o</STRONG>   X/Open Curses mandates an application's inclusion of one standard C
1456            library header in a  special  case:  <EM>stdarg.h</EM>  before  <EM>curses.h</EM>  to
1457            prototype  the  functions  <EM>vw</EM><STRONG>_</STRONG><EM>printw</EM>  and  <EM>vw</EM><STRONG>_</STRONG><EM>scanw</EM> (as well as the
1458            obsolete <EM>vwprintw</EM> and <EM>vwscanw</EM>).  Each of  these  takes  a  variadic
1459            argument list, a <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter, like that of <STRONG>printf(3)</STRONG>.
1460
1461            SVr3  <EM>curses</EM>  introduced  the  two  obsolete  functions, and X/Open
1462            Curses the others.   In  between,  SVr4  <EM>curses</EM>  provided  for  the
1463            possibility  that  an application might include either <EM>varargs.h</EM> or
1464            <EM>stdarg.h</EM>.  These represented  contrasting  approaches  to  handling
1465            variadic  argument  lists.   The older interface, <EM>varargs.h</EM>, used a
1466            pointer to <EM>char</EM> for variadic functions' <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter.   Later,
1467            the  list  acquired its own standard data type, <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, defined in
1468            <EM>stdarg.h</EM>, empowering the compiler to check the types of a  function
1469            call's  actual  parameters  against the formal ones declared in its
1470            prototype.
1471
1472            No  conforming  implementations  of  X/Open   Curses   require   an
1473            application to include <EM>stdarg.h</EM> before <EM>curses.h</EM> because they either
1474            have allowed for a special type, or,  like  <EM>ncurses</EM>,  they  include
1475            <EM>stdarg.h</EM> themselves to provide a portable interface.
1476
1477
1478 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
1479        Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.  Based on <EM>pcurses</EM>
1480        by Pavel Curtis.
1481
1482
1483 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
1484        <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>
1485
1486
1487
1488 ncurses 6.5                       2024-06-01                       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
1489 </PRE>
1490 <div class="nav">
1491 <ul>
1492 <li><a href="#h2-NAME">NAME</a></li>
1493 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
1494 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
1495 <ul>
1496 <li><a href="#h3-Application-Structure">Application Structure</a></li>
1497 <li><a href="#h3-Overview">Overview</a></li>
1498 <li><a href="#h3-Initialization">Initialization</a></li>
1499 <li><a href="#h3-Naming-Conventions">Naming Conventions</a></li>
1500 <li><a href="#h3-Wide-and-Non-wide-Character-Configurations">Wide and Non-wide Character Configurations</a></li>
1501 <li><a href="#h3-Function-Name-Index">Function Name Index</a></li>
1502 </ul>
1503 </li>
1504 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
1505 <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
1506 <ul>
1507 <li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
1508 <li><a href="#h3-CC-_command-character_">CC (command character)</a></li>
1509 <li><a href="#h3-COLUMNS">COLUMNS</a></li>
1510 <li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
1511 <li><a href="#h3-HOME">HOME</a></li>
1512 <li><a href="#h3-LINES">LINES</a></li>
1513 <li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
1514 <li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
1515 <li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
1516 <li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
1517 <li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
1518 <li><a href="#h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></li>
1519 <li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
1520 <li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
1521 <li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
1522 <li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
1523 <li><a href="#h3-TERM">TERM</a></li>
1524 <li><a href="#h3-TERMCAP">TERMCAP</a></li>
1525 <li><a href="#h3-TERMINFO">TERMINFO</a></li>
1526 <li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
1527 <li><a href="#h3-TERMPATH">TERMPATH</a></li>
1528 </ul>
1529 </li>
1530 <li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
1531 <li><a href="#h2-FILES">FILES</a></li>
1532 <li><a href="#h2-NOTES">NOTES</a></li>
1533 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
1534 <li><a href="#h2-PORTABILITY">PORTABILITY</a>
1535 <ul>
1536 <li><a href="#h3-Error-Checking">Error Checking</a></li>
1537 <li><a href="#h3-Padding-Differences">Padding Differences</a></li>
1538 <li><a href="#h3-Header-Files">Header Files</a></li>
1539 </ul>
1540 </li>
1541 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
1542 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
1543 </ul>
1544 </div>
1545 </BODY>
1546 </HTML>