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