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