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