]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/ncurses.3x.html
ncurses 6.4 - patch 20231125
[ncurses.git] / doc / html / man / ncurses.3x.html
1 <!--
2   * t
3   ****************************************************************************
4   * Copyright 2018-2021,2023 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.181 2023/11/25 14:32:36 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 2023-11-25 ncurses 6.4 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 2023-11-25 ncurses 6.4 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  <STRONG>ncurses</STRONG>  library  routines  give  the  user a terminal-independent
60        method of updating  character  screens  with  reasonable  optimization.
61        This  implementation  is  "new  curses"  (ncurses)  and is the approved
62        replacement for 4.4BSD classic curses,  which  has  been  discontinued.
63        This describes <STRONG>ncurses</STRONG> version 6.4 (patch 20231125).
64
65        The  <STRONG>ncurses</STRONG>  library emulates the curses library of System V Release 4
66        Unix ("SVr4"), and XPG4 (X/Open Portability Guide) curses  (also  known
67        as  XSI  curses).   XSI  stands for X/Open System Interfaces Extension.
68        The <STRONG>ncurses</STRONG> library is freely redistributable in source form.
69
70        <EM>ncurses</EM> man pages employ several sections to clarify matters  of  usage
71        and interoperability with other <EM>curses</EM> implementations.
72
73        <STRONG>o</STRONG>   "NOTES"  describes  matters  and  caveats  of which any user of the
74            <EM>ncurses</EM> API should be aware, such as limitations on the size of  an
75            underlying  integral  type  or  the  availability of a preprocessor
76            macro for a function (which prevents its address from being taken).
77            This  section  also  describes  implementation details that will be
78            significant to the programmer but which are not standardized.
79
80        <STRONG>o</STRONG>   "EXTENSIONS" presents <EM>ncurses</EM> innovations beyond the X/Open  Curses
81            standard  and/or  the  SVr4 <EM>curses</EM> implementation.  They are termed
82            <EM>extensions</EM> to indicate that they cannot be  implemented  solely  by
83            using the library API, but require access to the library's internal
84            state.
85
86        <STRONG>o</STRONG>   "PORTABILITY" discusses matters (beyond the exercise of extensions)
87            that  should be considered when writing to a <EM>curses</EM> standard, or to
88            multiple implementations.
89
90        <STRONG>o</STRONG>   "HISTORY" examines points of detail in  <EM>ncurses</EM>  and  other  <EM>curses</EM>
91            implementations over the decades of their development, particularly
92            where precedent or inertia have frustrated better design (and, in a
93            few cases, where such inertia has been overcome).
94
95        A  program  using  these  routines  must  be  linked with the <STRONG>-lncurses</STRONG>
96        option, or (if it  has  been  generated)  with  the  debugging  library
97        <STRONG>-lncurses_g</STRONG>.   (Your  system  integrator  may also have installed these
98        libraries under the names  <STRONG>-lcurses</STRONG>  and  <STRONG>-lcurses_g</STRONG>.)   The  ncurses_g
99        library  generates  trace logs (in a file called "trace" in the current
100        directory) that describe curses  actions.   See  also  the  section  on
101        <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
102
103        The   <STRONG>ncurses</STRONG>   package   supports:  overall  screen,  window  and  pad
104        manipulation; output to  windows  and  pads;  reading  terminal  input;
105        control  over terminal and <STRONG>curses</STRONG> input and output options; environment
106        query routines; color manipulation; use of soft  label  keys;  terminfo
107        capabilities; and access to low-level terminal-manipulation routines.
108
109
110 </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
111        The  library uses the locale which the calling program has initialized.
112        That is normally done with <STRONG>setlocale(3)</STRONG>:
113
114            <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
115
116        If the locale is not initialized, the library assumes  that  characters
117        are  printable  as in ISO-8859-1, to work with certain legacy programs.
118        You should initialize the locale and not rely on  specific  details  of
119        the library when the locale has not been setup.
120
121        The  function  <STRONG>initscr</STRONG>  or  <STRONG>newterm</STRONG>  must  be  called to initialize the
122        library before any of the other routines that  deal  with  windows  and
123        screens  are  used.   The  routine  <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>  must  be  called before
124        exiting.
125
126        To get character-at-a-time input  without  echoing  (most  interactive,
127        screen  oriented  programs want this), the following sequence should be
128        used:
129
130            <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
131
132        Most programs would additionally use the sequence:
133
134            <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
135            <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
136
137        Before a <STRONG>curses</STRONG> program is run, the tab stops of the terminal should be
138        set  and  its initialization strings, if defined, must be output.  This
139        can be done  by  executing  the  <STRONG>tput</STRONG>  <STRONG>init</STRONG>  command  after  the  shell
140        environment  variable  <STRONG>TERM</STRONG>  has been exported.  (The BSD-style <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
141        utility  also  performs  this  function.)   See  subsection  "Tabs  and
142        Initialization" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
143
144
145 </PRE><H3><a name="h3-Datatypes">Datatypes</a></H3><PRE>
146        The  <STRONG>ncurses</STRONG>  library  permits  manipulation of data structures, called
147        <EM>windows</EM>,  which  can  be  thought  of  as  two-dimensional  arrays   of
148        characters  representing all or part of a CRT screen.  A default window
149        called <STRONG>stdscr</STRONG>, which is the size of the terminal screen,  is  supplied.
150        Others may be created with <STRONG>newwin</STRONG>.
151
152        Note  that  <STRONG>curses</STRONG>  does not handle overlapping windows, that's done by
153        the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library.  This means that you can either  use  <STRONG>stdscr</STRONG>  or
154        divide  the  screen  into  tiled  windows  and not using <STRONG>stdscr</STRONG> at all.
155        Mixing the two will result in unpredictable, and undesired, effects.
156
157        Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>.  These  data
158        structures  are  manipulated with routines described here and elsewhere
159        in the <STRONG>ncurses</STRONG> manual pages.  Among those, the most basic routines  are
160        <STRONG>move</STRONG>  and  <STRONG>addch</STRONG>.  More general versions of these routines are included
161        with names beginning with <STRONG>w</STRONG>, allowing the user  to  specify  a  window.
162        The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
163
164        After  using  routines  to  manipulate a window, <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called,
165        telling <STRONG>curses</STRONG> to make the user's CRT screen  look  like  <STRONG>stdscr</STRONG>.   The
166        characters  in  a  window  are  actually of type <STRONG>chtype</STRONG>, (character and
167        attribute data) so that other information about the character may  also
168        be stored with each character.
169
170        Special windows called <EM>pads</EM> may also be manipulated.  These are windows
171        which are not constrained to the size of the screen and whose  contents
172        need   not   be   completely  displayed.   See  <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>  for  more
173        information.
174
175        In addition to drawing characters on the screen, video  attributes  and
176        colors  may  be  supported,  causing  the characters to show up in such
177        modes as underlined, in reverse video, or in color  on  terminals  that
178        support  such  display  enhancements.   Line  drawing characters may be
179        specified to be output.  On input, <STRONG>curses</STRONG> is  also  able  to  translate
180        arrow  and  function  keys  that  transmit escape sequences into single
181        values.  The video  attributes,  line  drawing  characters,  and  input
182        values  use names, defined in <STRONG>&lt;curses.h&gt;</STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>,
183        and <STRONG>KEY_LEFT</STRONG>.
184
185
186 </PRE><H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE>
187        If the environment variables <STRONG>LINES</STRONG> and  <STRONG>COLUMNS</STRONG>  are  set,  or  if  the
188        program   is  executing  in  a  window  environment,  line  and  column
189        information in  the  environment  will  override  information  read  by
190        <EM>terminfo</EM>.   This  would  affect a program running in an AT&amp;T 630 layer,
191        for  example,  where  the  size  of  a  screen   is   changeable   (see
192        <STRONG>ENVIRONMENT</STRONG>).
193
194        If  the  environment  variable  <STRONG>TERMINFO</STRONG>  is defined, any program using
195        <STRONG>curses</STRONG> checks for a local terminal definition before  checking  in  the
196        standard  place.   For  example,  if  <STRONG>TERM</STRONG>  is set to <STRONG>att4424</STRONG>, then the
197        compiled terminal definition is found in
198
199            <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
200
201        (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid creation  of
202        huge  directories.)   However,  if  <STRONG>TERMINFO</STRONG>  is  set to <STRONG>$HOME/myterms</STRONG>,
203        <STRONG>curses</STRONG> first checks
204
205            <STRONG>$HOME/myterms/a/att4424</STRONG>,
206
207        and if that fails, it then checks
208
209            <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
210
211        This is useful for developing experimental definitions  or  when  write
212        permission in <STRONG>/usr/share/terminfo</STRONG> is not available.
213
214        The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG> and will
215        be filled in by <STRONG>initscr</STRONG> with the size of  the  screen.   The  constants
216        <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the values <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
217
218        The  <STRONG>curses</STRONG>  routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable <STRONG>curscr</STRONG> which is
219        used for certain low-level operations like  clearing  and  redrawing  a
220        screen  containing  garbage.   The  <STRONG>curscr</STRONG>  can  be  used in only a few
221        routines.
222
223
224 </PRE><H3><a name="h3-Routine-and-Argument-Names">Routine and Argument Names</a></H3><PRE>
225        Many <STRONG>curses</STRONG> routines have two or more versions.  The routines  prefixed
226        with <EM>w</EM> require a window argument.  The routines prefixed with <EM>p</EM> require
227        a pad argument.  Those without a prefix generally use <STRONG>stdscr</STRONG>.
228
229        The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate to  move  to
230        before performing the appropriate action.  The <STRONG>mv</STRONG> routines imply a call
231        to <STRONG>move</STRONG> before the call to the other routine.  The coordinate <EM>y</EM>  always
232        refers  to  the row (of the window), and <EM>x</EM> always refers to the column.
233        The upper left-hand corner is always (0,0), not (1,1).
234
235        The routines prefixed with <STRONG>mvw</STRONG> take both a window argument and <EM>x</EM> and  <EM>y</EM>
236        coordinates.   The  window  argument  is  always  specified  before the
237        coordinates.
238
239        In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the pad  affected;
240        <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WINDOW</STRONG>.
241
242        Option  setting  routines require a Boolean flag <EM>bf</EM> with the value <STRONG>TRUE</STRONG>
243        or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>.  Most of the data  types  used  in
244        the  library  routines,  such  as  <STRONG>WINDOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are
245        defined in <STRONG>&lt;curses.h&gt;</STRONG>.  Types used for the terminfo  routines  such  as
246        <STRONG>TERMINAL</STRONG> are defined in <STRONG>&lt;term.h&gt;</STRONG>.
247
248        This   manual   page  describes  functions  which  may  appear  in  any
249        configuration of the library.  There are two common  configurations  of
250        the library:
251
252           <EM>ncurses</EM>
253                the  "normal"  library,  which  handles  8-bit characters.  The
254                normal  (8-bit)  library  stores   characters   combined   with
255                attributes in <STRONG>chtype</STRONG> data.
256
257                Attributes  alone (no corresponding character) may be stored in
258                <STRONG>chtype</STRONG> or the equivalent <STRONG>attr_t</STRONG> data.  In either case, the data
259                is stored in something like an integer.
260
261                Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored as a <STRONG>chtype</STRONG>.
262
263           <EM>ncursesw</EM>
264                the   so-called   "wide"   library,   which  handles  multibyte
265                characters (see the section on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>).   The
266                "wide"  library  includes  all  of  the calls from the "normal"
267                library.  It adds about one third more calls using  data  types
268                which store multibyte characters:
269
270                <STRONG>cchar_t</STRONG>
271                     corresponds to <STRONG>chtype</STRONG>.  However it is a structure, because
272                     more data is stored than can fit  into  an  integer.   The
273                     characters  are  large  enough  to  require a full integer
274                     value - and there may be more than one character per cell.
275                     The  video  attributes  and  color  are stored in separate
276                     fields of the structure.
277
278                     Each cell (row and column) in a  <STRONG>WINDOW</STRONG>  is  stored  as  a
279                     <STRONG>cchar_t</STRONG>.
280
281                     The  <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>  and  <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG>  functions  store and
282                     retrieve the data from a <STRONG>cchar_t</STRONG> structure.
283
284                <STRONG>wchar_t</STRONG>
285                     stores a "wide" character.  Like <STRONG>chtype</STRONG>, this  may  be  an
286                     integer.
287
288                <STRONG>wint_t</STRONG>
289                     stores  a  <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same, though both may
290                     have the same size.
291
292                The "wide" library provides new functions which  are  analogous
293                to  functions  in  the  "normal"  library.   There  is a naming
294                convention which relates many of the  normal/wide  variants:  a
295                "_w"  is  inserted  into the name.  For example, <STRONG>waddch</STRONG> becomes
296                <STRONG>wadd_wch</STRONG>.
297
298
299 </PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
300        The following table lists the <STRONG>curses</STRONG> routines provided in the  "normal"
301        and  "wide"  libraries  and the names of the manual pages on which they
302        are described.  Routines flagged with  "*"  are  ncurses-specific,  not
303        described by XPG4 or present in SVr4.
304
305                     <STRONG>curses</STRONG> Routine Name      Manual Page Name
306                     ---------------------------------------------
307                     COLOR_PAIR               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
308                     PAIR_NUMBER              <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
309                     add_wch                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
310                     add_wchnstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
311                     add_wchstr               <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
312                     addch                    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
313                     addchnstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
314                     addchstr                 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
315                     addnstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
316
317                     addnwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
318                     addstr                   <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
319                     addwstr                  <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
320                     alloc_pair               <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
321                     assume_default_colors    <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
322                     attr_get                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
323                     attr_off                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
324                     attr_on                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
325                     attr_set                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
326                     attroff                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
327                     attron                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
328                     attrset                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
329                     baudrate                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
330                     beep                     <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
331                     bkgd                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
332                     bkgdset                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
333                     bkgrnd                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
334                     bkgrndset                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
335                     border                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
336                     border_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
337                     box                      <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
338                     box_set                  <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
339                     can_change_color         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
340                     cbreak                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
341                     chgat                    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
342                     clear                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
343                     clearok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
344                     clrtobot                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
345                     clrtoeol                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
346                     color_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
347                     color_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
348                     copywin                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
349                     curs_set                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
350                     curses_trace             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
351                     curses_version           <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
352                     def_prog_mode            <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
353                     def_shell_mode           <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
354                     define_key               <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
355                     del_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
356                     delay_output             <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
357                     delch                    <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
358                     deleteln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
359                     delscreen                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
360                     delwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
361                     derwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
362                     doupdate                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
363                     dupwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
364                     echo                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
365                     echo_wchar               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
366                     echochar                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
367                     endwin                   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
368                     erase                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
369                     erasechar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
370                     erasewchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
371                     exit_curses              <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
372                     exit_terminfo            <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
373                     extended_color_content   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
374                     extended_pair_content    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
375                     extended_slk_color       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
376                     filter                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
377                     find_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
378                     flash                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
379                     flushinp                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
380                     free_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
381                     get_wch                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
382
383                     get_wstr                 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
384                     getattrs                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
385                     getbegx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
386                     getbegy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
387                     getbegyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
388                     getbkgd                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
389                     getbkgrnd                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
390                     getcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
391                     getch                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
392                     getcurx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
393                     getcury                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
394                     getmaxx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
395                     getmaxy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
396                     getmaxyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
397                     getmouse                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
398                     getn_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
399                     getnstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
400                     getparx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
401                     getpary                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
402                     getparyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
403                     getstr                   <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
404                     getsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
405                     getwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
406                     getyx                    <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
407                     halfdelay                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
408                     has_colors               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
409                     has_ic                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
410                     has_il                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
411                     has_key                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
412                     has_mouse                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
413                     hline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
414                     hline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
415                     idcok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
416                     idlok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
417                     immedok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
418                     in_wch                   <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
419                     in_wchnstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
420                     in_wchstr                <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
421                     inch                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
422                     inchnstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
423                     inchstr                  <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
424                     init_color               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
425                     init_extended_color      <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
426                     init_extended_pair       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
427                     init_pair                <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
428                     initscr                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
429                     innstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
430                     innwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
431                     ins_nwstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
432                     ins_wch                  <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
433                     ins_wstr                 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
434                     insch                    <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
435                     insdelln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
436                     insertln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
437                     insnstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
438                     insstr                   <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
439                     instr                    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
440                     intrflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
441                     inwstr                   <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
442                     is_cbreak                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
443                     is_cleared               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
444                     is_echo                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
445                     is_idcok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
446                     is_idlok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
447                     is_immedok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
448
449                     is_keypad                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
450                     is_leaveok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
451                     is_linetouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
452                     is_nl                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
453                     is_nodelay               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
454                     is_notimeout             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
455                     is_pad                   <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
456                     is_raw                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>*
457                     is_scrollok              <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
458                     is_subwin                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
459                     is_syncok                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
460                     is_term_resized          <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
461                     is_wintouched            <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
462                     isendwin                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
463                     key_defined              <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
464                     key_name                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
465                     keybound                 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
466                     keyname                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
467                     keyok                    <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
468                     keypad                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
469                     killchar                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
470                     killwchar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
471                     leaveok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
472                     longname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
473                     mcprint                  <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
474                     meta                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
475                     mouse_trafo              <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
476                     mouseinterval            <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
477                     mousemask                <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
478                     move                     <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
479                     mvadd_wch                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
480                     mvadd_wchnstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
481                     mvadd_wchstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
482                     mvaddch                  <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
483                     mvaddchnstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
484                     mvaddchstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
485                     mvaddnstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
486                     mvaddnwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
487                     mvaddstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
488                     mvaddwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
489                     mvchgat                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
490                     mvcur                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
491                     mvdelch                  <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
492                     mvderwin                 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
493                     mvget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
494                     mvget_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
495                     mvgetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
496                     mvgetn_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
497                     mvgetnstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
498                     mvgetstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
499                     mvhline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
500                     mvhline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
501                     mvin_wch                 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
502                     mvin_wchnstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
503                     mvin_wchstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
504                     mvinch                   <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
505                     mvinchnstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
506                     mvinchstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
507                     mvinnstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
508                     mvinnwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
509                     mvins_nwstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
510                     mvins_wch                <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
511                     mvins_wstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
512                     mvinsch                  <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
513                     mvinsnstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
514
515                     mvinsstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
516                     mvinstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
517                     mvinwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
518                     mvprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
519                     mvscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
520                     mvvline                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
521                     mvvline_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
522                     mvwadd_wch               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
523                     mvwadd_wchnstr           <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
524                     mvwadd_wchstr            <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
525                     mvwaddch                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
526                     mvwaddchnstr             <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
527                     mvwaddchstr              <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
528                     mvwaddnstr               <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
529                     mvwaddnwstr              <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
530                     mvwaddstr                <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
531                     mvwaddwstr               <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
532                     mvwchgat                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
533                     mvwdelch                 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
534                     mvwget_wch               <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
535                     mvwget_wstr              <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
536                     mvwgetch                 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
537                     mvwgetn_wstr             <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
538                     mvwgetnstr               <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
539                     mvwgetstr                <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
540                     mvwhline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
541                     mvwhline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
542                     mvwin                    <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
543                     mvwin_wch                <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
544                     mvwin_wchnstr            <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
545                     mvwin_wchstr             <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
546                     mvwinch                  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
547                     mvwinchnstr              <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
548                     mvwinchstr               <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
549                     mvwinnstr                <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
550                     mvwinnwstr               <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
551                     mvwins_nwstr             <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
552                     mvwins_wch               <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
553                     mvwins_wstr              <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
554                     mvwinsch                 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
555                     mvwinsnstr               <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
556                     mvwinsstr                <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
557                     mvwinstr                 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
558                     mvwinwstr                <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
559                     mvwprintw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
560                     mvwscanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
561                     mvwvline                 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
562                     mvwvline_set             <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
563                     napms                    <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
564                     newpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
565                     newterm                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
566                     newwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
567                     nl                       <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
568                     nocbreak                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
569                     nodelay                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
570                     noecho                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
571                     nofilter                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
572                     nonl                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
573                     noqiflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
574                     noraw                    <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
575                     notimeout                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
576                     overlay                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
577                     overwrite                <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
578                     pair_content             <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
579                     pecho_wchar              <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
580
581                     pechochar                <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
582                     pnoutrefresh             <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
583                     prefresh                 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
584                     printw                   <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
585                     putp                     <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
586                     putwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
587                     qiflush                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
588                     raw                      <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
589                     redrawwin                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
590                     refresh                  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
591                     reset_color_pairs        <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
592                     reset_prog_mode          <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
593                     reset_shell_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
594                     resetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
595                     resize_term              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
596                     resizeterm               <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
597                     restartterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
598                     ripoffline               <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
599                     savetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
600                     scanw                    <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
601                     scr_dump                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
602                     scr_init                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
603                     scr_restore              <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
604                     scr_set                  <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
605                     scrl                     <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
606                     scroll                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
607                     scrollok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
608                     set_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
609                     set_term                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
610                     setcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
611                     setscrreg                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
612                     setsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
613                     setupterm                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
614                     slk_attr                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
615                     slk_attr_off             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
616                     slk_attr_on              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
617                     slk_attr_set             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
618                     slk_attroff              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
619                     slk_attron               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
620                     slk_attrset              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
621                     slk_clear                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
622                     slk_color                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
623                     slk_init                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
624                     slk_label                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
625                     slk_noutrefresh          <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
626                     slk_refresh              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
627                     slk_restore              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
628                     slk_set                  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
629                     slk_touch                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
630                     slk_wset                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
631                     standend                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
632                     standout                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
633                     start_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
634                     subpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
635                     subwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
636                     syncok                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
637                     term_attrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
638                     termattrs                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
639                     termname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
640                     tgetent                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
641                     tgetflag                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
642                     tgetnum                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
643                     tgetstr                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
644                     tgoto                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
645                     tigetflag                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
646
647                     tigetnum                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
648                     tigetstr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
649                     timeout                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
650                     tiparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
651                     tiparm_s                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
652                     tiscan_s                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
653                     touchline                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
654                     touchwin                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
655                     tparm                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
656                     tputs                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
657                     tputs                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
658                     trace                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
659                     typeahead                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
660                     unctrl                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
661                     unget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
662                     ungetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
663                     ungetmouse               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
664                     untouchwin               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
665                     use_default_colors       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
666                     use_env                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
667                     use_extended_names       <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
668                     use_legacy_coding        <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
669                     use_tioctl               <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
670                     vid_attr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
671                     vid_puts                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
672                     vidattr                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
673                     vidputs                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
674                     vline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
675                     vline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
676                     vw_printw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
677                     vw_scanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
678                     vwprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
679                     vwscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
680                     wadd_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
681                     wadd_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
682                     wadd_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
683                     waddch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
684                     waddchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
685                     waddchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
686                     waddnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
687                     waddnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
688                     waddstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
689                     waddwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
690                     wattr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
691                     wattr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
692                     wattr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
693                     wattr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
694                     wattroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
695                     wattron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
696                     wattrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
697                     wbkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
698                     wbkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
699                     wbkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
700                     wbkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
701                     wborder                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
702                     wborder_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
703                     wchgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
704                     wclear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
705                     wclrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
706                     wclrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
707                     wcolor_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
708                     wcursyncup               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
709                     wdelch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
710                     wdeleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
711                     wecho_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
712
713                     wechochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
714                     wenclose                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
715                     werase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
716                     wget_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
717                     wget_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
718                     wgetbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
719                     wgetch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
720                     wgetdelay                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
721                     wgetn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
722                     wgetnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
723                     wgetparent               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
724                     wgetscrreg               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
725                     wgetstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
726                     whline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
727                     whline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
728                     win_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
729                     win_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
730                     win_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
731                     winch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
732                     winchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
733                     winchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
734                     winnstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
735                     winnwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
736                     wins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
737                     wins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
738                     wins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
739                     winsch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
740                     winsdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
741                     winsertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
742                     winsnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
743                     winsstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
744                     winstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
745                     winwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
746                     wmouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
747                     wmove                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
748                     wnoutrefresh             <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
749                     wprintw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
750                     wredrawln                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
751                     wrefresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
752                     wresize                  <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
753                     wscanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
754                     wscrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
755                     wsetscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
756                     wstandend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
757                     wstandout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
758                     wsyncdown                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
759                     wsyncup                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
760                     wtimeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
761                     wtouchln                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
762                     wunctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
763                     wvline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
764                     wvline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
765
766        Depending  on  the  configuration,  additional sets of functions may be
767        available:
768
769           <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> - curses memory-leak checking
770
771           <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> - curses screen-pointer extension
772
773           <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> - curses thread support
774
775           <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> - curses debugging routines
776
777
778 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
779        Routines that return an integer return <STRONG>ERR</STRONG> upon failure and an  integer
780        value other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted
781        in the routine descriptions.
782
783        As  a  general  rule,  routines  check  for  null  pointers  passed  as
784        parameters, and handle this as an error.
785
786        All  macros  return  the  value  of  the  <STRONG>w</STRONG>  version, except <STRONG>setscrreg</STRONG>,
787        <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>,  <STRONG>getbegyx</STRONG>,  and  <STRONG>getmaxyx</STRONG>.   The  return  values  of
788        <STRONG>setscrreg</STRONG>,  <STRONG>wsetscrreg</STRONG>,  <STRONG>getyx</STRONG>,  <STRONG>getbegyx</STRONG>,  and  <STRONG>getmaxyx</STRONG> are undefined
789        (i.e., these should not be used as the right-hand  side  of  assignment
790        statements).
791
792        Functions  with  a  "mv"  prefix  first perform a cursor movement using
793        <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
794        the  window  pointer  is  null.   Most  "mv"-prefixed functions (except
795        variadic functions such as <STRONG>mvprintw</STRONG>) are provided both  as  macros  and
796        functions.
797
798        Routines that return pointers return <STRONG>NULL</STRONG> on error.
799
800
801 </PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
802        The  following  environment  symbols  are  useful  for  customizing the
803        runtime behavior of the <STRONG>ncurses</STRONG> library.  The most important ones  have
804        been already discussed in detail.
805
806
807 </PRE><H3><a name="h3-CC-command-character">CC command-character</a></H3><PRE>
808        When  set, change occurrences of the command_character (i.e., the <STRONG>cmdch</STRONG>
809        capability) of the  loaded  terminfo  entries  to  the  value  of  this
810        variable.  Very few terminfo entries provide this feature.
811
812        Because this name is also used in development environments to represent
813        the C compiler's name, <STRONG>ncurses</STRONG> ignores it if it does not happen to be a
814        single character.
815
816
817 </PRE><H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
818        The  debugging  library  checks  this  environment  variable  when  the
819        application has redirected output to a file.   The  variable's  numeric
820        value  is  used  for  the baudrate.  If no value is found, <STRONG>ncurses</STRONG> uses
821        9600.  This allows testers to construct repeatable test-cases that take
822        into account costs that depend on baudrate.
823
824
825 </PRE><H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
826        Specify the width of the screen in characters.  Applications running in
827        a windowing environment usually are able to obtain  the  width  of  the
828        window  in  which they are executing.  If neither the <STRONG>COLUMNS</STRONG> value nor
829        the terminal's screen size is available, <STRONG>ncurses</STRONG> uses  the  size  which
830        may be specified in the terminfo database (i.e., the <STRONG>cols</STRONG> capability).
831
832        It  is  important  that  your  application  use  a correct size for the
833        screen.  This is not always possible because your  application  may  be
834        running  on a host which does not honor NAWS (Negotiations About Window
835        Size),  or  because  you  are  temporarily  running  as  another  user.
836        However,  setting  <STRONG>COLUMNS</STRONG>  and/or <STRONG>LINES</STRONG> overrides the library's use of
837        the screen size obtained from the operating system.
838
839        Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified  independently.   This
840        is   mainly   useful  to  circumvent  legacy  misfeatures  of  terminal
841        descriptions, e.g., xterm which commonly specifies a  65  line  screen.
842        For  best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified in a terminal
843        description for terminals which are run as emulations.
844
845        Use the <STRONG>use_env</STRONG> function to disable all  use  of  external  environment
846        (but not including system calls) to determine the screen size.  Use the
847        <STRONG>use_tioctl</STRONG> function to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen size
848        obtained from system calls or the terminal database.
849
850
851 </PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
852        Specifies the total time, in milliseconds, for which ncurses will await
853        a character sequence, e.g., a function key.  The  default  value,  1000
854        milliseconds,  is enough for most uses.  However, it is made a variable
855        to accommodate unusual applications.
856
857        The most common instance where you may wish to change this value is  to
858        work  with  slow hosts, e.g., running on a network.  If the host cannot
859        read characters rapidly enough, it will have the same effect as if  the
860        terminal  did  not  send  characters  rapidly enough.  The library will
861        still see a timeout.
862
863        Note that xterm mouse events are  built  up  from  character  sequences
864        received  from  the  xterm.   If  your  application  makes heavy use of
865        multiple-clicking, you may wish to lengthen this default value  because
866        the  timeout  applies  to the composed multi-click event as well as the
867        individual clicks.
868
869        In addition to the environment variable, this implementation provides a
870        global  variable  with the same name.  Portable applications should not
871        rely upon the presence of ESCDELAY in  either  form,  but  setting  the
872        environment  variable  rather  than the global variable does not create
873        problems when compiling an application.
874
875
876 </PRE><H3><a name="h3-HOME">HOME</a></H3><PRE>
877        Tells <STRONG>ncurses</STRONG> where your home directory is.  That is where it may  read
878        and write auxiliary terminal descriptions:
879
880            $HOME/.termcap
881            $HOME/.terminfo
882
883
884 </PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
885        Like  COLUMNS,  specify  the  height  of the screen in characters.  See
886        COLUMNS for a detailed description.
887
888
889 </PRE><H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE>
890        This applies only to the OS/2 EMX port.   It  specifies  the  order  of
891        buttons  on  the  mouse.   OS/2 numbers a 3-button mouse inconsistently
892        from other platforms:
893
894            1 = left
895            2 = right
896            3 = middle.
897
898        This variable lets you customize the mouse.  The variable must be three
899        numeric  digits  1-3  in  any  order,  e.g.,  123 or 321.  If it is not
900        specified, <STRONG>ncurses</STRONG> uses 132.
901
902
903 </PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
904        Override the compiled-in assumption that the terminal's default  colors
905        are   white-on-black   (see   <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>).   You  may  set  the
906        foreground and background color values with this  environment  variable
907        by  proving  a  2-element list: foreground,background.  For example, to
908        tell ncurses to not assume anything  about  the  colors,  set  this  to
909        "-1,-1".   To  make  it  green-on-black, set it to "2,0".  Any positive
910        value from zero to the terminfo <STRONG>max_colors</STRONG> value is allowed.
911
912
913 </PRE><H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
914        This applies only to the MinGW port of ncurses.
915
916        The <STRONG>Console2</STRONG> program's handling  of  the  Microsoft  Console  API  call
917        <STRONG>CreateConsoleScreenBuffer</STRONG>  is  defective.   Applications which use this
918        will hang.  However, it is possible to simulate the action of this call
919        by  mapping  coordinates,  explicitly saving and restoring the original
920        screen contents.  Setting the environment variable <STRONG>NCGDB</STRONG> has  the  same
921        effect.
922
923
924 </PRE><H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE>
925        This applies only to ncurses configured to use the GPM interface.
926
927        If  present, the environment variable is a list of one or more terminal
928        names against which the <STRONG>TERM</STRONG> environment variable is matched.   Setting
929        it  to  an  empty  value disables the GPM interface; using the built-in
930        support for xterm, etc.
931
932        If the environment variable is absent, ncurses will attempt to open GPM
933        if <STRONG>TERM</STRONG> contains "linux".
934
935
936 </PRE><H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
937        <STRONG>Ncurses</STRONG>  may  use tabs as part of the cursor movement optimization.  In
938        some cases, your terminal driver may not handle  these  properly.   Set
939        this  environment variable to disable the feature.  You can also adjust
940        your <STRONG>stty(1)</STRONG> settings to avoid the problem.
941
942
943 </PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></H3><PRE>
944        Some terminals  use  a  magic-cookie  feature  which  requires  special
945        handling  to  make  highlighting  and  other  video  attributes display
946        properly.   You  can  suppress  the  highlighting  entirely  for  these
947        terminals by setting this environment variable.
948
949
950 </PRE><H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE>
951        Most  of the terminal descriptions in the terminfo database are written
952        for real "hardware" terminals.   Many  people  use  terminal  emulators
953        which run in a windowing environment and use curses-based applications.
954        Terminal emulators can duplicate all of  the  important  aspects  of  a
955        hardware  terminal,  but  they  do  not have the same limitations.  The
956        chief limitation of a hardware terminal from  the  standpoint  of  your
957        application  is  the  management  of  dataflow, i.e., timing.  Unless a
958        hardware terminal is interfaced into  a  terminal  concentrator  (which
959        does  flow  control),  it  (or  your application) must manage dataflow,
960        preventing overruns.  The cheapest solution (no hardware cost)  is  for
961        your  program  to do this by pausing after operations that the terminal
962        does slowly, such as clearing the display.
963
964        As a result, many terminal  descriptions  (including  the  vt100)  have
965        delay  times embedded.  You may wish to use these descriptions, but not
966        want to pay the performance penalty.
967
968        Set the NCURSES_NO_PADDING environment  variable  to  disable  all  but
969        mandatory  padding.   Mandatory  padding  is  used as a part of special
970        control sequences such as <STRONG>flash</STRONG>.
971
972
973 </PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
974        This setting is obsolete.  Before changes
975
976           <STRONG>o</STRONG>   started with 5.9 patch 20120825 and
977
978           <STRONG>o</STRONG>   continued though 5.9 patch 20130126
979
980        <STRONG>ncurses</STRONG> enabled buffered output during terminal  initialization.   This
981        was  done  (as  in  SVr4  curses) for performance reasons.  For testing
982        purposes, both of <STRONG>ncurses</STRONG> and certain applications,  this  feature  was
983        made  optional.  Setting the NCURSES_NO_SETBUF variable disabled output
984        buffering, leaving the output in the original (usually  line  buffered)
985        mode.
986
987        In  the  current implementation, ncurses performs its own buffering and
988        does not require this workaround.  It does not modify the buffering  of
989        the standard output.
990
991        The  reason  for the change was to make the behavior for interrupts and
992        other  signals   more   robust.    One   drawback   is   that   certain
993        nonconventional  programs  would  mix ordinary stdio calls with ncurses
994        calls and (usually) work.  This is no longer possible since ncurses  is
995        not  using the buffered standard output but its own output (to the same
996        file descriptor).  As a special case, the low-level calls such as  <STRONG>putp</STRONG>
997        still use the standard output.  But high-level curses calls do not.
998
999
1000 </PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
1001        During  initialization,  the  <STRONG>ncurses</STRONG>  library checks for special cases
1002        where VT100 line-drawing (and the corresponding alternate character set
1003        capabilities)  described  in  the  terminfo  are  known  to be missing.
1004        Specifically, when  running  in  a  UTF-8  locale,  the  Linux  console
1005        emulator  and  the GNU screen program ignore these.  Ncurses checks the
1006        <STRONG>TERM</STRONG> environment variable for these.   For  other  special  cases,  you
1007        should  set this environment variable.  Doing this tells ncurses to use
1008        Unicode values which correspond to the VT100 line-drawing glyphs.  That
1009        works  for  the special cases cited, and is likely to work for terminal
1010        emulators.
1011
1012        When setting this variable, you should  set  it  to  a  nonzero  value.
1013        Setting  it  to zero (or to a nonnumber) disables the special check for
1014        "linux" and "screen".
1015
1016        As an alternative to the environment variable, ncurses  checks  for  an
1017        extended  terminfo  capability  <STRONG>U8</STRONG>.  This is a numeric capability which
1018        can be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>.  For example
1019
1020           # linux console, if patched to provide working
1021           # VT100 shift-in/shift-out, with corresponding font.
1022           linux-vt100|linux console with VT100 line-graphics,
1023                   U8#0, use=linux,
1024
1025           # uxterm with vt100Graphics resource set to false
1026           xterm-utf8|xterm relying on UTF-8 line-graphics,
1027                   U8#1, use=xterm,
1028
1029        The name "U8" is chosen to be two characters, to permit it to  be  used
1030        by applications that use ncurses' termcap interface.
1031
1032
1033 </PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
1034        During   initialization,  the  <STRONG>ncurses</STRONG>  debugging  library  checks  the
1035        NCURSES_TRACE environment variable.  If it is  defined,  to  a  numeric
1036        value,  <STRONG>ncurses</STRONG>  calls  the  <STRONG>trace</STRONG>  function,  using  that value as the
1037        argument.
1038
1039        The argument values, which are defined  in  <STRONG>curses.h</STRONG>,  provide  several
1040        types   of   information.   When  running  with  traces  enabled,  your
1041        application will write the file <STRONG>trace</STRONG> to the current directory.
1042
1043        See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
1044
1045
1046 </PRE><H3><a name="h3-TERM">TERM</a></H3><PRE>
1047        Denotes your terminal type.  Each terminal  type  is  distinct,  though
1048        many are similar.
1049
1050        <STRONG>TERM</STRONG>  is commonly set by terminal emulators to help applications find a
1051        workable  terminal  description.   Some  of  those  choose  a   popular
1052        approximation, e.g., "ansi", "vt100", "xterm" rather than an exact fit.
1053        Not  infrequently,  your  application  will  have  problems  with  that
1054        approach, e.g., incorrect function-key definitions.
1055
1056        If  you set <STRONG>TERM</STRONG> in your environment, it has no effect on the operation
1057        of the terminal emulator.  It only affects the  way  applications  work
1058        within  the  terminal.   Likewise,  as a general rule (<STRONG>xterm(1)</STRONG> being a
1059        rare exception), terminal emulators which allow you to specify <STRONG>TERM</STRONG>  as
1060        a  parameter  or  configuration  value  do not change their behavior to
1061        match that setting.
1062
1063
1064 </PRE><H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
1065        If the <STRONG>ncurses</STRONG>  library  has  been  configured  with  <EM>termcap</EM>  support,
1066        <STRONG>ncurses</STRONG>  will  check for a terminal's description in termcap form if it
1067        is not available in the terminfo database.
1068
1069        The <STRONG>TERMCAP</STRONG> environment variable contains either a terminal description
1070        (with  newlines  stripped  out),  or  a  file  name  telling  where the
1071        information denoted by the <STRONG>TERM</STRONG> environment variable exists.  In either
1072        case,  setting  it  directs  <STRONG>ncurses</STRONG> to ignore the usual place for this
1073        information, e.g., /etc/termcap.
1074
1075
1076 </PRE><H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
1077        <STRONG>ncurses</STRONG> can be configured to read  from  multiple  terminal  databases.
1078        The  <STRONG>TERMINFO</STRONG>  variable overrides the location for the default terminal
1079        database.  Terminal descriptions (in terminal  format)  are  stored  in
1080        terminal databases:
1081
1082        <STRONG>o</STRONG>   Normally these are stored in a directory tree, using subdirectories
1083            named by the first letter of the terminal names therein.
1084
1085            This is the scheme used in System V, which legacy Unix systems use,
1086            and  the  <STRONG>TERMINFO</STRONG> variable is used by <EM>curses</EM> applications on those
1087            systems to override the default location of the terminal database.
1088
1089        <STRONG>o</STRONG>   If <STRONG>ncurses</STRONG> is built to use hashed databases,  then  each  entry  in
1090            this list may be the path of a hashed database file, e.g.,
1091
1092                /usr/share/terminfo.db
1093
1094            rather than
1095
1096                /usr/share/terminfo/
1097
1098            The  hashed  database  uses  less disk-space and is a little faster
1099            than the directory tree.  However,  some  applications  assume  the
1100            existence  of  the  directory tree, reading it directly rather than
1101            using the terminfo library calls.
1102
1103        <STRONG>o</STRONG>   If <STRONG>ncurses</STRONG> is built  with  a  support  for  reading  termcap  files
1104            directly,  then  an entry in this list may be the path of a termcap
1105            file.
1106
1107        <STRONG>o</STRONG>   If the <STRONG>TERMINFO</STRONG> variable begins with "hex:" or "b64:", <STRONG>ncurses</STRONG> uses
1108            the  remainder of that variable as a compiled terminal description.
1109            You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
1110
1111                TERMINFO="$(infocmp -0 -Q2 -q)"
1112                export TERMINFO
1113
1114            The compiled description is used if it corresponds to the  terminal
1115            identified by the <STRONG>TERM</STRONG> variable.
1116
1117        Setting  <STRONG>TERMINFO</STRONG> is the simplest, but not the only way to set location
1118        of the default  terminal  database.   The  complete  list  of  database
1119        locations in order follows:
1120
1121           <STRONG>o</STRONG>   the  last  terminal  database to which <STRONG>ncurses</STRONG> wrote, if any, is
1122               searched first
1123
1124           <STRONG>o</STRONG>   the location specified by the TERMINFO environment variable
1125
1126           <STRONG>o</STRONG>   $HOME/.terminfo
1127
1128           <STRONG>o</STRONG>   locations listed in the TERMINFO_DIRS environment variable
1129
1130           <STRONG>o</STRONG>   one or more locations whose names are  configured  and  compiled
1131               into the ncurses library, i.e.,
1132
1133              <STRONG>o</STRONG>   /usr/share/terminfo   (corresponding   to  the  TERMINFO_DIRS
1134                  variable)
1135
1136              <STRONG>o</STRONG>   /usr/share/terminfo (corresponding to the TERMINFO variable)
1137
1138
1139 </PRE><H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
1140        Specifies a list of locations  to  search  for  terminal  descriptions.
1141        Each  location  in  the list is a terminal database as described in the
1142        section on the <STRONG>TERMINFO</STRONG> variable.  The  list  is  separated  by  colons
1143        (i.e., ":") on Unix, semicolons on OS/2 EMX.
1144
1145        There  is  no  corresponding  feature  in  System  V terminfo; it is an
1146        extension developed for <STRONG>ncurses</STRONG>.
1147
1148
1149 </PRE><H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
1150        If <STRONG>TERMCAP</STRONG> does not hold a file name then <STRONG>ncurses</STRONG> checks  the  <STRONG>TERMPATH</STRONG>
1151        environment  variable.  This is a list of filenames separated by spaces
1152        or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
1153
1154        If the <STRONG>TERMPATH</STRONG> environment variable is not set, <STRONG>ncurses</STRONG> looks  in  the
1155        files
1156
1157            /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
1158
1159        in that order.
1160
1161        The library may be configured to disregard the following variables when
1162        the current user is the superuser (root), or if  the  application  uses
1163        setuid or setgid permissions:
1164
1165            $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
1166
1167
1168 </PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
1169        Several   different  configurations  are  possible,  depending  on  the
1170        configure script options used when building <STRONG>ncurses</STRONG>.  There are  a  few
1171        main  options  whose  effects are visible to the applications developer
1172        using <STRONG>ncurses</STRONG>:
1173
1174        --disable-overwrite
1175             The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYNOPSIS</STRONG>:
1176
1177                 <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
1178
1179             This option is used to avoid filename conflicts  when  <STRONG>ncurses</STRONG>  is
1180             not the main implementation of curses of the computer.  If <STRONG>ncurses</STRONG>
1181             is installed  disabling  overwrite,  it  puts  its  headers  in  a
1182             subdirectory, e.g.,
1183
1184                 <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
1185
1186             It  also  omits  a  symbolic  link  which  would  allow you to use
1187             <STRONG>-lcurses</STRONG> to build executables.
1188
1189        --enable-widec
1190             The  configure  script   renames   the   library   and   (if   the
1191             <STRONG>--disable-overwrite</STRONG>  option  is  used)  puts the header files in a
1192             different subdirectory.  All of  the  library  names  have  a  "w"
1193             appended to them, i.e., instead of
1194
1195                 <STRONG>-lncurses</STRONG>
1196
1197             you link with
1198
1199                 <STRONG>-lncursesw</STRONG>
1200
1201             You  must  also  enable  the wide-character features in the header
1202             file when compiling for the  wide-character  library  to  use  the
1203             extended  (wide-character)  functions.   The  symbol which enables
1204             these features has changed since XSI Curses, Issue 4:
1205
1206             <STRONG>o</STRONG>   Originally, the wide-character  feature  required  the  symbol
1207                 <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG>  but  that  was  only  valid  for  XPG4
1208                 (1996).
1209
1210             <STRONG>o</STRONG>   Later, that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG>  defined
1211                 to 500.
1212
1213             <STRONG>o</STRONG>   As  of  mid-2018,  none of the features in this implementation
1214                 require a <STRONG>_XOPEN_SOURCE</STRONG> feature greater  than  600.   However,
1215                 X/Open Curses, Issue 7 (2009) recommends defining it to 700.
1216
1217             <STRONG>o</STRONG>   Alternatively,   you   can  enable  the  feature  by  defining
1218                 <STRONG>NCURSES_WIDECHAR</STRONG> with the caveat that some other  header  file
1219                 than  <STRONG>curses.h</STRONG>  may require a specific value for <STRONG>_XOPEN_SOURCE</STRONG>
1220                 (or a system-specific symbol).
1221
1222             The <STRONG>curses.h</STRONG>  file  which  is  installed  for  the  wide-character
1223             library  is  designed  to  be compatible with the normal library's
1224             header.  Only the size of the <STRONG>WINDOW</STRONG> structure differs,  and  very
1225             few applications require more than a pointer to <STRONG>WINDOW</STRONG>s.
1226
1227             If  the  headers  are  installed  allowing  overwrite,  the  wide-
1228             character library's headers should be  installed  last,  to  allow
1229             applications to be built using either library from the same set of
1230             headers.
1231
1232        --with-pthread
1233             The configure script renames the  library.   All  of  the  library
1234             names  have  a  "t"  appended  to  them  (before  any "w" added by
1235             <STRONG>--enable-widec</STRONG>).
1236
1237             The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow
1238             read-only access.  At the same time, setter-functions are provided
1239             to set these values.  Some applications  (very  few)  may  require
1240             changes to work with this convention.
1241
1242        --with-shared
1243
1244        --with-normal
1245
1246        --with-debug
1247
1248        --with-profile
1249             The  shared  and  normal  (static)  library  names differ by their
1250             suffixes, e.g., <STRONG>libncurses.so</STRONG> and  <STRONG>libncurses.a</STRONG>.   The  debug  and
1251             profiling  libraries  add  a  "_g"  and  a  "_p" to the root names
1252             respectively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
1253
1254        --with-termlib
1255             Low-level functions which do not depend upon whether  the  library
1256             supports wide-characters, are provided in the tinfo library.
1257
1258             By  doing  this, it is possible to share the tinfo library between
1259             wide/normal configurations as well  as  reduce  the  size  of  the
1260             library when only low-level functions are needed.
1261
1262             Those functions are described in these pages:
1263
1264             <STRONG>o</STRONG>   <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> - miscellaneous curses extensions
1265
1266             <STRONG>o</STRONG>   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> - <STRONG>curses</STRONG> input options
1267
1268             <STRONG>o</STRONG>   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> - low-level <STRONG>curses</STRONG> routines
1269
1270             <STRONG>o</STRONG>   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> - <STRONG>curses</STRONG> environment query routines
1271
1272             <STRONG>o</STRONG>   <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> - <STRONG>curses</STRONG> emulation of termcap
1273
1274             <STRONG>o</STRONG>   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> - <STRONG>curses</STRONG> interfaces to terminfo database
1275
1276             <STRONG>o</STRONG>   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <STRONG>curses</STRONG> utility routines
1277
1278        --with-trace
1279             The  <STRONG>trace</STRONG>  function normally resides in the debug library, but it
1280             is sometimes useful to  configure  this  in  the  shared  library.
1281             Configure scripts should check for the function's existence rather
1282             than assuming it is always in the debug library.
1283
1284
1285 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
1286        <EM>/usr/share/tabset</EM>
1287             tab stop initialization database
1288
1289        <EM>/usr/share/terminfo</EM>
1290             compiled terminal capability database
1291
1292
1293 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
1294        If standard output from a <STRONG>ncurses</STRONG> program is re-directed  to  something
1295        which  is not a tty, screen updates will be directed to standard error.
1296        This was an undocumented feature of AT&amp;T System V Release 3 curses.
1297
1298        See subsection  "Header  files"  below  regarding  symbols  exposed  by
1299        inclusion of <EM>curses.h</EM>.
1300
1301
1302 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
1303        The  <STRONG>ncurses</STRONG> library can be compiled with an option (<STRONG>-DUSE_GETCAP</STRONG>) that
1304        falls back to the old-style /etc/termcap file  if  the  terminal  setup
1305        code  cannot  find a terminfo entry corresponding to <STRONG>TERM</STRONG>.  Use of this
1306        feature is not  recommended,  as  it  essentially  includes  an  entire
1307        termcap  compiler  in  the <STRONG>ncurses</STRONG> startup code, at significant cost in
1308        core and startup cycles.
1309
1310        The <STRONG>ncurses</STRONG> library includes facilities for capturing mouse  events  on
1311        certain  terminals  (including  xterm).   See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual
1312        page for details.
1313
1314        The <STRONG>ncurses</STRONG>  library  includes  facilities  for  responding  to  window
1315        resizing   events,   e.g.,   when   running   in  an  xterm.   See  the
1316        <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for details.  In  addition,
1317        the library may be configured with a <STRONG>SIGWINCH</STRONG> handler.
1318
1319        The  <STRONG>ncurses</STRONG> library extends the fixed set of function key capabilities
1320        of terminals by allowing the application designer to define  additional
1321        key  sequences at runtime.  See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and
1322        <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> manual pages for details.
1323
1324        The <STRONG>ncurses</STRONG> library can exploit the  capabilities  of  terminals  which
1325        implement  the  ISO-6429  SGR  39  and  SGR 49 controls, which allow an
1326        application to reset  the  terminal  to  its  original  foreground  and
1327        background  colors.   From  the  users' perspective, the application is
1328        able  to  draw  colored  text  on  a  background  whose  color  is  set
1329        independently,  providing better control over color contrasts.  See the
1330        <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
1331
1332        The <STRONG>ncurses</STRONG> library  includes  a  function  for  directing  application
1333        output  to  a  printer  attached  to  the  terminal  device.   See  the
1334        <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
1335
1336
1337 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
1338        The <STRONG>ncurses</STRONG> library is intended to be BASE-level  conformant  with  XSI
1339        Curses.    The  EXTENDED  XSI  Curses  functionality  (including  color
1340        support) is supported.
1341
1342        A small number of local differences (that  is,  individual  differences
1343        between  the XSI Curses and <STRONG>ncurses</STRONG> calls) are described in <STRONG>PORTABILITY</STRONG>
1344        sections of the library man pages.
1345
1346
1347 </PRE><H3><a name="h3-Error-checking">Error checking</a></H3><PRE>
1348        In many cases, X/Open Curses is vague about error conditions,  omitting
1349        some of the SVr4 documentation.
1350
1351        Unlike  other  implementations,  this  one  checks  parameters  such as
1352        pointers to WINDOW structures to ensure they are not  null.   The  main
1353        reason  for  providing  this  behavior  is  to guard against programmer
1354        error.  The standard interface does not provide a way for  the  library
1355        to  tell an application which of several possible errors were detected.
1356        Relying on this (or some other) extension  will  adversely  affect  the
1357        portability of curses applications.
1358
1359
1360 </PRE><H3><a name="h3-Extensions-versus-portability">Extensions versus portability</a></H3><PRE>
1361        Most  of the extensions provided by ncurses have not been standardized.
1362        Some  have  been  incorporated  into  other  implementations,  such  as
1363        PDCurses or NetBSD curses.  Here are a few to consider:
1364
1365        <STRONG>o</STRONG>   The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it present in SVr4.
1366            See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page for details.
1367
1368        <STRONG>o</STRONG>   The routine <STRONG>slk_attr</STRONG> is not part of XPG4,  nor  is  it  present  in
1369            SVr4.  See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for details.
1370
1371        <STRONG>o</STRONG>   The  routines  <STRONG>getmouse</STRONG>,  <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mouseinterval</STRONG>, and
1372            <STRONG>wenclose</STRONG> relating to mouse interfacing are not part  of  XPG4,  nor
1373            are  they  present in SVr4.  See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for
1374            details.
1375
1376        <STRONG>o</STRONG>   The  routine  <STRONG>mcprint</STRONG>  was  not  present  in  any  previous  curses
1377            implementation.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
1378
1379        <STRONG>o</STRONG>   The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it present in SVr4.
1380            See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for details.
1381
1382        <STRONG>o</STRONG>   The  WINDOW  structure's  internal  details  can  be  hidden   from
1383            application  programs.   See  <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for the discussion of
1384            <STRONG>is_scrollok</STRONG>, etc.
1385
1386        <STRONG>o</STRONG>   This  implementation  can  be  configured  to  provide  rudimentary
1387            support  for multi-threaded applications.  See <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for
1388            details.
1389
1390        <STRONG>o</STRONG>   This implementation can also be configured  to  provide  a  set  of
1391            functions  which  improve  the  ability to manage multiple screens.
1392            See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
1393
1394
1395 </PRE><H3><a name="h3-Padding-differences">Padding differences</a></H3><PRE>
1396        In historic curses versions, delays embedded in  the  capabilities  <STRONG>cr</STRONG>,
1397        <STRONG>ind</STRONG>,  <STRONG>cub1</STRONG>,  <STRONG>ff</STRONG>  and <STRONG>tab</STRONG> activated corresponding delay bits in the Unix
1398        tty driver.  In this implementation, all padding is done by sending NUL
1399        bytes.   This  method  is  slightly  more  expensive,  but  narrows the
1400        interface to the Unix kernel significantly and increases the  package's
1401        portability correspondingly.
1402
1403
1404 </PRE><H3><a name="h3-Header-files">Header files</a></H3><PRE>
1405        The  header  file <EM>curses.h</EM> itself includes the header files <EM>stdio.h</EM> and
1406        <EM>unctrl.h</EM>.
1407
1408        X/Open Curses has more to say, but does not finish the story:
1409
1410            The inclusion of &lt;curses.h&gt; may make visible all symbols  from  the
1411            headers &lt;stdio.h&gt;, &lt;term.h&gt;, &lt;termios.h&gt;, and &lt;wchar.h&gt;.
1412
1413        Here is a more complete story:
1414
1415        <STRONG>o</STRONG>   Starting   with  BSD  curses,  all  implementations  have  included
1416            &lt;stdio.h&gt;.
1417
1418            BSD curses included &lt;curses.h&gt;  and  &lt;unctrl.h&gt;  from  an  internal
1419            header "curses.ext" ("ext" was a short name for <EM>externs</EM>).
1420
1421            BSD  curses  used  &lt;stdio.h&gt; internally (for <STRONG>printw</STRONG> and <STRONG>scanw</STRONG>), but
1422            nothing in &lt;curses.h&gt; itself relied upon &lt;stdio.h&gt;.
1423
1424        <STRONG>o</STRONG>   SVr2 curses added <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>, which relies upon  &lt;stdio.h&gt;.   That
1425            is, the function prototype uses <STRONG>FILE</STRONG>.
1426
1427            SVr4 curses added <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>, which also use &lt;stdio.h&gt;.
1428
1429            X/Open Curses documents all three of these functions.
1430
1431            SVr4  curses  and  X/Open  Curses  do  not require the developer to
1432            include  &lt;stdio.h&gt;  before  including  &lt;curses.h&gt;.   Both  document
1433            curses showing &lt;curses.h&gt; as the only required header.
1434
1435            As a result, standard &lt;curses.h&gt; will always include &lt;stdio.h&gt;.
1436
1437        <STRONG>o</STRONG>   X/Open  Curses  is  inconsistent  with  respect  to  SVr4 regarding
1438            &lt;unctrl.h&gt;.
1439
1440            As  noted  in  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,  ncurses  includes  &lt;unctrl.h&gt;   from
1441            &lt;curses.h&gt; (like SVr4).
1442
1443        <STRONG>o</STRONG>   X/Open's comments about &lt;term.h&gt; and &lt;termios.h&gt; may refer to HP-UX
1444            and AIX:
1445
1446            HP-UX curses includes &lt;term.h&gt; from &lt;curses.h&gt; to declare <STRONG>setupterm</STRONG>
1447            in curses.h, but ncurses (and Solaris curses) do not.
1448
1449            AIX  curses includes &lt;term.h&gt; and &lt;termios.h&gt;.  Again, ncurses (and
1450            Solaris curses) do not.
1451
1452        <STRONG>o</STRONG>   X/Open says that &lt;curses.h&gt; <EM>may</EM> include &lt;term.h&gt;, but there  is  no
1453            requirement that it do that.
1454
1455            Some  programs  use  functions  declared  in  both  &lt;curses.h&gt;  and
1456            &lt;term.h&gt;, and must include both headers in the same  module.   Very
1457            old  versions  of  AIX  curses required including &lt;curses.h&gt; before
1458            including &lt;term.h&gt;.
1459
1460            Because ncurses header files include the headers needed  to  define
1461            datatypes used in the headers, ncurses header files can be included
1462            in any order.  But for portability, you should  include  &lt;curses.h&gt;
1463            before &lt;term.h&gt;.
1464
1465        <STRONG>o</STRONG>   X/Open  Curses  says  <EM>"may</EM> <EM>make</EM> <EM>visible"</EM> because including a header
1466            file does not necessarily make all symbols in it visible (there are
1467            ifdef's to consider).
1468
1469            For  instance,  in  ncurses &lt;wchar.h&gt; <EM>may</EM> be included if the proper
1470            symbol is defined, and if ncurses is configured for  wide-character
1471            support.   If  the  header  is  included,  its  symbols may be made
1472            visible.  That depends on the value used for <STRONG>_XOPEN_SOURCE</STRONG>  feature
1473            test macro.
1474
1475        <STRONG>o</STRONG>   X/Open  Curses  documents  one  required header, in a special case:
1476            &lt;stdarg.h&gt;  before  &lt;curses.h&gt;  to  prototype  the  <STRONG>vw_printw</STRONG>   and
1477            <STRONG>vw_scanw</STRONG>  functions  (as  well  as  the  obsolete  the <STRONG>vwprintw</STRONG> and
1478            <STRONG>vwscanw</STRONG> functions).  Each of those uses a <STRONG>va_list</STRONG> parameter.
1479
1480            The two obsolete functions were  introduced  in  SVr3.   The  other
1481            functions  were  introduced  in  X/Open  Curses.   In between, SVr4
1482            curses provided for  the  possibility  that  an  application  might
1483            include either &lt;varargs.h&gt; or &lt;stdarg.h&gt;.  Initially, that was done
1484            by using <STRONG>void*</STRONG> for the <STRONG>va_list</STRONG> parameter.  Later,  a  special  type
1485            (defined  in &lt;stdio.h&gt;) was introduced, to allow for compiler type-
1486            checking.  That special type is always available, because &lt;stdio.h&gt;
1487            is always included by &lt;curses.h&gt;.
1488
1489            None of the X/Open Curses implementations require an application to
1490            include &lt;stdarg.h&gt;  before  &lt;curses.h&gt;  because  they  either  have
1491            allowed  for  a  special type, or (like ncurses) include &lt;stdarg.h&gt;
1492            directly to provide a portable interface.
1493
1494
1495 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
1496        Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.  Based on <EM>pcurses</EM>
1497        by Pavel Curtis.
1498
1499
1500 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
1501        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>  and  related  pages whose names begin "curs_" for detailed
1502        routine descriptions.
1503        <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
1504        <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> for user-defined capabilities
1505
1506
1507
1508 ncurses 6.4                       2023-11-25                       <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
1509 </PRE>
1510 <div class="nav">
1511 <ul>
1512 <li><a href="#h2-NAME">NAME</a></li>
1513 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
1514 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
1515 <ul>
1516 <li><a href="#h3-Initialization">Initialization</a></li>
1517 <li><a href="#h3-Datatypes">Datatypes</a></li>
1518 <li><a href="#h3-Environment-variables">Environment variables</a></li>
1519 <li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li>
1520 <li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
1521 </ul>
1522 </li>
1523 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
1524 <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
1525 <ul>
1526 <li><a href="#h3-CC-command-character">CC command-character</a></li>
1527 <li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
1528 <li><a href="#h3-COLUMNS">COLUMNS</a></li>
1529 <li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
1530 <li><a href="#h3-HOME">HOME</a></li>
1531 <li><a href="#h3-LINES">LINES</a></li>
1532 <li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
1533 <li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
1534 <li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
1535 <li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
1536 <li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
1537 <li><a href="#h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></li>
1538 <li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
1539 <li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
1540 <li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
1541 <li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
1542 <li><a href="#h3-TERM">TERM</a></li>
1543 <li><a href="#h3-TERMCAP">TERMCAP</a></li>
1544 <li><a href="#h3-TERMINFO">TERMINFO</a></li>
1545 <li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
1546 <li><a href="#h3-TERMPATH">TERMPATH</a></li>
1547 </ul>
1548 </li>
1549 <li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
1550 <li><a href="#h2-FILES">FILES</a></li>
1551 <li><a href="#h2-NOTES">NOTES</a></li>
1552 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
1553 <li><a href="#h2-PORTABILITY">PORTABILITY</a>
1554 <ul>
1555 <li><a href="#h3-Error-checking">Error checking</a></li>
1556 <li><a href="#h3-Extensions-versus-portability">Extensions versus portability</a></li>
1557 <li><a href="#h3-Padding-differences">Padding differences</a></li>
1558 <li><a href="#h3-Header-files">Header files</a></li>
1559 </ul>
1560 </li>
1561 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
1562 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
1563 </ul>
1564 </div>
1565 </BODY>
1566 </HTML>