ncurses 6.1 - patch 20191130
[ncurses.git] / doc / html / man / ncurses.3x.html
1 <!-- 
2   * t
3   ****************************************************************************
4   * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc.              *
5   *                                                                          *
6   * Permission is hereby granted, free of charge, to any person obtaining a  *
7   * copy of this software and associated documentation files (the            *
8   * "Software"), to deal in the Software without restriction, including      *
9   * without limitation the rights to use, copy, modify, merge, publish,      *
10   * distribute, distribute with modifications, sublicense, and/or sell       *
11   * copies of the Software, and to permit persons to whom the Software is    *
12   * furnished to do so, subject to the following conditions:                 *
13   *                                                                          *
14   * The above copyright notice and this permission notice shall be included  *
15   * in all copies or substantial portions of the Software.                   *
16   *                                                                          *
17   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
18   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
19   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
20   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
21   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
22   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
23   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
24   *                                                                          *
25   * Except as contained in this notice, the name(s) of the above copyright   *
26   * holders shall not be used in advertising or otherwise to promote the     *
27   * sale, use or other dealings in this Software without prior written       *
28   * authorization.                                                           *
29   ****************************************************************************
30   * @Id: ncurses.3x,v 1.143 2019/11/30 20:47:07 tom Exp @
31 -->
32 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
33 <HTML>
34 <HEAD>
35 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
36 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
37 <TITLE>ncurses 3x</TITLE>
38 <link rel="author" href="mailto:bug-ncurses@gnu.org">
39 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
40 </HEAD>
41 <BODY>
42 <H1 class="no-header">ncurses 3x</H1>
43 <PRE>
44 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>                                                        <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
45
46
47
48
49 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
50        <STRONG>ncurses</STRONG> - CRT screen handling and optimization package
51
52
53 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
54        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
55
56
57 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
58        The  <STRONG>ncurses</STRONG>  library  routines  give  the  user a terminal-independent
59        method of updating  character  screens  with  reasonable  optimization.
60        This  implementation  is  "new  curses"  (ncurses)  and is the approved
61        replacement for 4.4BSD classic curses,  which  has  been  discontinued.
62        This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191130).
63
64        The  <STRONG>ncurses</STRONG>  library emulates the curses library of System V Release 4
65        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
66        curses).   XSI  stands  for  X/Open  System  Interfaces Extension.  The
67        <STRONG>ncurses</STRONG> library is freely redistributable in source form.   Differences
68        from  the SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG> and <STRONG>PORTABIL-</STRONG>
69        <STRONG>ITY</STRONG> sections below and described in detail  in  the  respective  <STRONG>EXTEN-</STRONG>
70        <STRONG>SIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections of individual man pages.
71
72        The  <STRONG>ncurses</STRONG>  library  also provides many useful extensions, i.e., fea-
73        tures which cannot be implemented by a simple add-on library but  which
74        require access to the internals of the library.
75
76        A  program  using  these  routines  must  be  linked with the <STRONG>-lncurses</STRONG>
77        option, or (if it  has  been  generated)  with  the  debugging  library
78        <STRONG>-lncurses_g</STRONG>.   (Your  system  integrator  may also have installed these
79        libraries under the names  <STRONG>-lcurses</STRONG>  and  <STRONG>-lcurses_g</STRONG>.)   The  ncurses_g
80        library  generates  trace logs (in a file called 'trace' in the current
81        directory) that describe curses  actions.   See  also  the  section  on
82        <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
83
84        The  <STRONG>ncurses</STRONG> package supports: overall screen, window and pad manipula-
85        tion; output to windows and pads; reading terminal input; control  over
86        terminal  and  <STRONG>curses</STRONG>  input and output options; environment query rou-
87        tines; color manipulation; use of soft label keys;  terminfo  capabili-
88        ties; and access to low-level terminal-manipulation routines.
89
90
91 </PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
92        The  library uses the locale which the calling program has initialized.
93        That is normally done with <STRONG>setlocale</STRONG>:
94
95            <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
96
97        If the locale is not initialized, the library assumes  that  characters
98        are  printable  as in ISO-8859-1, to work with certain legacy programs.
99        You should initialize the locale and not rely on  specific  details  of
100        the library when the locale has not been setup.
101
102        The  function  <STRONG>initscr</STRONG>  or  <STRONG>newterm</STRONG>  must  be  called to initialize the
103        library before any of the other routines that  deal  with  windows  and
104        screens  are  used.  The routine <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> must be called before exit-
105        ing.
106
107        To get character-at-a-time input  without  echoing  (most  interactive,
108        screen  oriented  programs want this), the following sequence should be
109        used:
110
111            <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
112
113        Most programs would additionally use the sequence:
114
115            <STRONG>nonl();</STRONG>
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 environ-
122        ment  variable  <STRONG>TERM</STRONG> has been exported.  <STRONG>tset(1)</STRONG> is usually responsible
123        for doing this.  [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.]
124
125
126 </PRE><H3><a name="h3-Datatypes">Datatypes</a></H3><PRE>
127        The <STRONG>ncurses</STRONG> library permits manipulation  of  data  structures,  called
128        <EM>windows</EM>,  which  can be thought of as two-dimensional arrays of charac-
129        ters representing all or part of a CRT screen.  A default window called
130        <STRONG>stdscr</STRONG>,  which is the size of the terminal screen, is supplied.  Others
131        may be created with <STRONG>newwin</STRONG>.
132
133        Note that <STRONG>curses</STRONG> does not handle overlapping windows,  that's  done  by
134        the  <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>  library.   This means that you can either use <STRONG>stdscr</STRONG> or
135        divide the screen into tiled windows and not using <STRONG>stdscr</STRONG> at all.  Mix-
136        ing the two will result in unpredictable, and undesired, effects.
137
138        Windows  are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>.  These data
139        structures are manipulated with routines described here  and  elsewhere
140        in  the <STRONG>ncurses</STRONG> manual pages.  Among those, the most basic routines are
141        <STRONG>move</STRONG> and <STRONG>addch</STRONG>.  More general versions of these routines  are  included
142        with  names  beginning  with  <STRONG>w</STRONG>, allowing the user to specify a window.
143        The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
144
145        After using routines to manipulate a  window,  <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>  is  called,
146        telling  <STRONG>curses</STRONG>  to  make  the user's CRT screen look like <STRONG>stdscr</STRONG>.  The
147        characters in a window are actually  of  type  <STRONG>chtype</STRONG>,  (character  and
148        attribute  data) so that other information about the character may also
149        be stored with each character.
150
151        Special windows called <EM>pads</EM> may also be manipulated.  These are windows
152        which  are not constrained to the size of the screen and whose contents
153        need not be completely displayed.  See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for  more  informa-
154        tion.
155
156        In  addition  to drawing characters on the screen, video attributes and
157        colors may be supported, causing the characters  to  show  up  in  such
158        modes  as  underlined,  in reverse video, or in color on terminals that
159        support such display enhancements.   Line  drawing  characters  may  be
160        specified  to  be  output.   On input, <STRONG>curses</STRONG> is also able to translate
161        arrow and function keys that transmit escape sequences into single val-
162        ues.   The  video attributes, line drawing characters, and input values
163        use names, defined in <STRONG>&lt;curses.h&gt;</STRONG>, such  as  <STRONG>A_REVERSE</STRONG>,  <STRONG>ACS_HLINE</STRONG>,  and
164        <STRONG>KEY_LEFT</STRONG>.
165
166
167 </PRE><H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE>
168        If  the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or if the pro-
169        gram is executing in a window environment, line and column  information
170        in  the  environment  will override information read by <EM>terminfo</EM>.  This
171        would affect a program running in an AT&amp;T 630 layer, for example, where
172        the size of a screen is changeable (see <STRONG>ENVIRONMENT</STRONG>).
173
174        If  the  environment  variable  <STRONG>TERMINFO</STRONG>  is defined, any program using
175        <STRONG>curses</STRONG> checks for a local terminal definition before  checking  in  the
176        standard  place.  For example, if <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the com-
177        piled terminal definition is found in
178
179            <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
180
181        (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid creation  of
182        huge  directories.)   However,  if  <STRONG>TERMINFO</STRONG>  is  set to <STRONG>$HOME/myterms</STRONG>,
183        <STRONG>curses</STRONG> first checks
184
185            <STRONG>$HOME/myterms/a/att4424</STRONG>,
186
187        and if that fails, it then checks
188
189            <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
190
191        This is useful for developing experimental definitions  or  when  write
192        permission in <STRONG>/usr/share/terminfo</STRONG> is not available.
193
194        The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in <STRONG>&lt;curses.h&gt;</STRONG> and will
195        be filled in by <STRONG>initscr</STRONG> with the size of  the  screen.   The  constants
196        <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the values <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
197
198        The  <STRONG>curses</STRONG>  routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable <STRONG>curscr</STRONG> which is
199        used for certain low-level operations like  clearing  and  redrawing  a
200        screen  containing  garbage.  The <STRONG>curscr</STRONG> can be used in only a few rou-
201        tines.
202
203
204 </PRE><H3><a name="h3-Routine-and-Argument-Names">Routine and Argument Names</a></H3><PRE>
205        Many <STRONG>curses</STRONG> routines have two or more versions.  The routines  prefixed
206        with <STRONG>w</STRONG> require a window argument.  The routines prefixed with <STRONG>p</STRONG> require
207        a pad argument.  Those without a prefix generally use <STRONG>stdscr</STRONG>.
208
209        The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate to  move  to
210        before performing the appropriate action.  The <STRONG>mv</STRONG> routines imply a call
211        to <STRONG>move</STRONG> before the call to the other routine.  The coordinate <EM>y</EM>  always
212        refers  to  the row (of the window), and <EM>x</EM> always refers to the column.
213        The upper left-hand corner is always (0,0), not (1,1).
214
215        The routines prefixed with <STRONG>mvw</STRONG> take both a window argument and <EM>x</EM> and  <EM>y</EM>
216        coordinates.   The window argument is always specified before the coor-
217        dinates.
218
219        In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the pad  affected;
220        <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WINDOW</STRONG>.
221
222        Option  setting  routines require a Boolean flag <EM>bf</EM> with the value <STRONG>TRUE</STRONG>
223        or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>.  Most of the data  types  used  in
224        the  library  routines,  such  as  <STRONG>WINDOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are
225        defined in <STRONG>&lt;curses.h&gt;</STRONG>.  Types used for the terminfo  routines  such  as
226        <STRONG>TERMINAL</STRONG> are defined in <STRONG>&lt;term.h&gt;</STRONG>.
227
228        This manual page describes functions which may appear in any configura-
229        tion of the library.   There  are  two  common  configurations  of  the
230        library:
231
232           <EM>ncurses</EM>
233                the "normal" library, which handles 8-bit characters.  The nor-
234                mal (8-bit) library stores characters combined with  attributes
235                in <STRONG>chtype</STRONG> data.
236
237                Attributes  alone (no corresponding character) may be stored in
238                <STRONG>chtype</STRONG> or the equivalent <STRONG>attr_t</STRONG> data.  In either case, the data
239                is stored in something like an integer.
240
241                Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored as a <STRONG>chtype</STRONG>.
242
243           <EM>ncursesw</EM>
244                the  so-called  "wide" library, which handles multibyte charac-
245                ters (see the section on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>).  The "wide"
246                library  includes  all  of the calls from the "normal" library.
247                It adds about one third more calls using data types which store
248                multibyte characters:
249
250                <STRONG>cchar_t</STRONG>
251                     corresponds to <STRONG>chtype</STRONG>.  However it is a structure, because
252                     more data is stored than can fit  into  an  integer.   The
253                     characters  are  large  enough  to  require a full integer
254                     value - and there may be more than one character per cell.
255                     The  video  attributes  and  color  are stored in separate
256                     fields of the structure.
257
258                     Each cell (row and column) in a  <STRONG>WINDOW</STRONG>  is  stored  as  a
259                     <STRONG>cchar_t</STRONG>.
260
261                     The  <STRONG><A HREF="setcchar.3x.html">setcchar(3x)</A></STRONG>  and  <STRONG><A HREF="getcchar.3x.html">getcchar(3x)</A></STRONG>  functions  store and
262                     retrieve the data from a <STRONG>cchar_t</STRONG> structure.
263
264                <STRONG>wchar_t</STRONG>
265                     stores a "wide" character.  Like <STRONG>chtype</STRONG>, this  may  be  an
266                     integer.
267
268                <STRONG>wint_t</STRONG>
269                     stores  a  <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same, though both may
270                     have the same size.
271
272                The "wide" library provides new functions which  are  analogous
273                to  functions  in the "normal" library.  There is a naming con-
274                vention which relates many of the normal/wide variants: a  "_w"
275                is  inserted  into  the  name.   For  example,  <STRONG>waddch</STRONG>  becomes
276                <STRONG>wadd_wch</STRONG>.
277
278
279 </PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
280        The following table lists each <STRONG>curses</STRONG> routine and the name of the  man-
281        ual  page  on  which  it  is  described.  Routines flagged with "*" are
282        ncurses-specific, not described by XPG4 or present in SVr4.
283
284                     <STRONG>curses</STRONG> Routine Name      Manual Page Name
285                     ---------------------------------------------
286                     COLOR_PAIR               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
287                     PAIR_NUMBER              <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
288                     _nc_free_and_exit        <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
289                     _nc_freeall              <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
290                     _nc_tracebits            <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
291                     _traceattr               <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
292                     _traceattr2              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
293                     _tracechar               <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
294                     _tracechtype             <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
295                     _tracechtype2            <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
296                     _tracedump               <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
297                     _tracef                  <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
298                     _tracemouse              <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
299                     add_wch                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
300                     add_wchnstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
301                     add_wchstr               <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
302                     addch                    <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
303                     addchnstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
304                     addchstr                 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
305                     addnstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
306                     addnwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
307                     addstr                   <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
308                     addwstr                  <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
309                     alloc_pair               <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
310                     assume_default_colors    <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
311                     attr_get                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
312                     attr_off                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
313                     attr_on                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
314                     attr_set                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
315
316                     attroff                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
317                     attron                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
318                     attrset                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
319                     baudrate                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
320                     beep                     <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
321                     bkgd                     <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
322                     bkgdset                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
323                     bkgrnd                   <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
324                     bkgrndset                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
325                     border                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
326                     border_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
327                     box                      <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
328                     box_set                  <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
329                     can_change_color         <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
330                     cbreak                   <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
331                     chgat                    <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
332                     clear                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
333                     clearok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
334                     clrtobot                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
335                     clrtoeol                 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
336                     color_content            <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
337                     color_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
338                     copywin                  <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
339                     curs_set                 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
340                     curses_version           <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
341                     def_prog_mode            <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
342                     def_shell_mode           <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
343                     define_key               <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
344                     del_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
345                     delay_output             <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
346                     delch                    <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
347                     deleteln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
348                     delscreen                <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
349                     delwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
350                     derwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
351                     doupdate                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
352                     dupwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
353                     echo                     <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
354                     echo_wchar               <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
355                     echochar                 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
356                     endwin                   <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
357                     erase                    <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
358                     erasechar                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
359                     erasewchar               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
360                     extended_color_content   <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
361                     extended_pair_content    <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
362                     extended_slk_color       <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
363                     filter                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
364                     find_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
365                     flash                    <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
366                     flushinp                 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
367                     free_pair                <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
368                     get_wch                  <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
369                     get_wstr                 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
370                     getattrs                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
371                     getbegx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
372                     getbegy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
373                     getbegyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
374                     getbkgd                  <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
375                     getbkgrnd                <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
376                     getcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
377                     getch                    <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
378                     getcurx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
379                     getcury                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
380                     getmaxx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
381
382                     getmaxy                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
383                     getmaxyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
384                     getmouse                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
385                     getn_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
386                     getnstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
387                     getparx                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
388                     getpary                  <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
389                     getparyx                 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
390                     getstr                   <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
391                     getsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
392                     getwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
393                     getyx                    <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
394                     halfdelay                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
395                     has_colors               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
396                     has_ic                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
397                     has_il                   <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
398                     has_key                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
399                     hline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
400                     hline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
401                     idcok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
402                     idlok                    <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
403                     immedok                  <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
404                     in_wch                   <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
405                     in_wchnstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
406                     in_wchstr                <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
407                     inch                     <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
408                     inchnstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
409                     inchstr                  <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
410                     init_color               <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
411                     init_extended_color      <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
412                     init_extended_pair       <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
413                     init_pair                <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
414                     initscr                  <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
415                     innstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
416                     innwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
417                     ins_nwstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
418                     ins_wch                  <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
419                     ins_wstr                 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
420                     insch                    <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
421                     insdelln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
422                     insertln                 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
423                     insnstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
424                     insstr                   <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
425                     instr                    <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
426                     intrflush                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
427                     inwstr                   <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
428                     is_cleared               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
429                     is_idcok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
430                     is_idlok                 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
431                     is_immedok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
432                     is_keypad                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
433                     is_leaveok               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
434                     is_linetouched           <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
435                     is_nodelay               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
436                     is_notimeout             <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
437                     is_pad                   <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(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
448                     keyname                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
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
514                     mvwchgat                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
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_outopts.3x.html">curs_outopts(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_outopts.3x.html">curs_outopts(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                     pechochar                <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
562                     pnoutrefresh             <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
563                     prefresh                 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
564                     printw                   <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
565                     putp                     <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
566                     putwin                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
567                     qiflush                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
568                     raw                      <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
569                     redrawwin                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
570                     refresh                  <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
571                     reset_prog_mode          <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
572                     reset_shell_mode         <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
573                     resetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
574                     resize_term              <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
575                     resizeterm               <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
576                     restartterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
577                     ripoffline               <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
578                     savetty                  <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
579
580                     scanw                    <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
581                     scr_dump                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
582                     scr_init                 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
583                     scr_restore              <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
584                     scr_set                  <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
585                     scrl                     <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
586                     scroll                   <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
587                     scrollok                 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
588                     set_curterm              <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
589                     set_term                 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
590                     setcchar                 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
591                     setscrreg                <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
592                     setsyx                   <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
593                     setterm                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
594                     setupterm                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
595                     slk_attr                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
596                     slk_attr_off             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
597                     slk_attr_on              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
598                     slk_attr_set             <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
599                     slk_attroff              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
600                     slk_attron               <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
601                     slk_attrset              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
602                     slk_clear                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
603                     slk_color                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
604                     slk_init                 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
605                     slk_label                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
606                     slk_noutrefresh          <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
607                     slk_refresh              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
608                     slk_restore              <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
609                     slk_set                  <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
610                     slk_touch                <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
611                     standend                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
612                     standout                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
613                     start_color              <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
614                     subpad                   <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
615                     subwin                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
616                     syncok                   <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
617                     term_attrs               <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
618                     termattrs                <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
619                     termname                 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
620                     tgetent                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
621                     tgetflag                 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
622                     tgetnum                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
623                     tgetstr                  <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
624                     tgoto                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
625                     tigetflag                <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
626                     tigetnum                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
627                     tigetstr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
628                     timeout                  <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
629                     tiparm                   <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
630                     touchline                <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
631                     touchwin                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
632                     tparm                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
633                     tputs                    <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
634                     tputs                    <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
635                     trace                    <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
636                     typeahead                <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
637                     unctrl                   <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
638                     unget_wch                <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
639                     ungetch                  <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
640                     ungetmouse               <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
641                     untouchwin               <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
642                     use_default_colors       <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
643                     use_env                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
644                     use_extended_names       <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
645
646                     use_legacy_coding        <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
647                     use_tioctl               <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
648                     vid_attr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
649                     vid_puts                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
650                     vidattr                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
651                     vidputs                  <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
652                     vline                    <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
653                     vline_set                <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
654                     vw_printw                <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
655                     vw_scanw                 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
656                     vwprintw                 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
657                     vwscanw                  <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
658                     wadd_wch                 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
659                     wadd_wchnstr             <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
660                     wadd_wchstr              <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
661                     waddch                   <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
662                     waddchnstr               <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
663                     waddchstr                <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
664                     waddnstr                 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
665                     waddnwstr                <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
666                     waddstr                  <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
667                     waddwstr                 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
668                     wattr_get                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
669                     wattr_off                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
670                     wattr_on                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
671                     wattr_set                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
672                     wattroff                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
673                     wattron                  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
674                     wattrset                 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
675                     wbkgd                    <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
676                     wbkgdset                 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
677                     wbkgrnd                  <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
678                     wbkgrndset               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
679                     wborder                  <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
680                     wborder_set              <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
681                     wchgat                   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
682                     wclear                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
683                     wclrtobot                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
684                     wclrtoeol                <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
685                     wcolor_set               <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
686                     wcursyncup               <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
687                     wdelch                   <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
688                     wdeleteln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
689                     wecho_wchar              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
690                     wechochar                <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
691                     wenclose                 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
692                     werase                   <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
693                     wget_wch                 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
694                     wget_wstr                <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
695                     wgetbkgrnd               <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
696                     wgetch                   <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
697                     wgetdelay                <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
698                     wgetn_wstr               <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
699                     wgetnstr                 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
700                     wgetparent               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
701                     wgetscrreg               <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
702                     wgetstr                  <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
703                     whline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
704                     whline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
705                     win_wch                  <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
706                     win_wchnstr              <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
707                     win_wchstr               <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
708                     winch                    <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
709                     winchnstr                <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
710                     winchstr                 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
711
712                     winnstr                  <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
713                     winnwstr                 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
714                     wins_nwstr               <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
715                     wins_wch                 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
716                     wins_wstr                <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
717                     winsch                   <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
718                     winsdelln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
719                     winsertln                <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
720                     winsnstr                 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
721                     winsstr                  <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
722                     winstr                   <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
723                     winwstr                  <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
724                     wmouse_trafo             <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
725                     wmove                    <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
726                     wnoutrefresh             <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
727                     wprintw                  <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
728                     wredrawln                <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
729                     wrefresh                 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
730                     wresize                  <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
731                     wscanw                   <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
732                     wscrl                    <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
733                     wsetscrreg               <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
734                     wstandend                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
735                     wstandout                <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
736                     wsyncdown                <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
737                     wsyncup                  <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
738                     wtimeout                 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
739                     wtouchln                 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
740                     wunctrl                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
741                     wvline                   <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
742                     wvline_set               <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
743
744
745 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
746        Routines that return an integer return <STRONG>ERR</STRONG> upon failure and an  integer
747        value other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted
748        in the routine descriptions.
749
750        As a general rule, routines check for null pointers passed  as  parame-
751        ters, and handle this as an error.
752
753        All  macros  return  the  value  of  the  <STRONG>w</STRONG>  version, except <STRONG>setscrreg</STRONG>,
754        <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>,  <STRONG>getbegyx</STRONG>,  and  <STRONG>getmaxyx</STRONG>.   The  return  values  of
755        <STRONG>setscrreg</STRONG>,  <STRONG>wsetscrreg</STRONG>,  <STRONG>getyx</STRONG>,  <STRONG>getbegyx</STRONG>,  and  <STRONG>getmaxyx</STRONG> are undefined
756        (i.e., these should not be used as the right-hand  side  of  assignment
757        statements).
758
759        Routines that return pointers return <STRONG>NULL</STRONG> on error.
760
761
762 </PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
763        The  following  environment symbols are useful for customizing the run-
764        time behavior of the <STRONG>ncurses</STRONG> library.  The  most  important  ones  have
765        been already discussed in detail.
766
767
768 </PRE><H3><a name="h3-CC-command-character">CC command-character</a></H3><PRE>
769        When  set, change occurrences of the command_character (i.e., the <STRONG>cmdch</STRONG>
770        capability) of the loaded terminfo entries to the value of  this  vari-
771        able.  Very few terminfo entries provide this feature.
772
773        Because this name is also used in development environments to represent
774        the C compiler's name, <STRONG>ncurses</STRONG> ignores it if it does not happen to be a
775        single character.
776
777
778 </PRE><H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
779        The  debugging library checks this environment variable when the appli-
780        cation has redirected output to a file.  The variable's  numeric  value
781        is  used  for  the  baudrate.  If no value is found, <STRONG>ncurses</STRONG> uses 9600.
782        This allows testers to construct repeatable test-cases that  take  into
783        account costs that depend on baudrate.
784
785
786 </PRE><H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
787        Specify the width of the screen in characters.  Applications running in
788        a windowing environment usually are able to obtain  the  width  of  the
789        window  in  which they are executing.  If neither the <STRONG>COLUMNS</STRONG> value nor
790        the terminal's screen size is available, <STRONG>ncurses</STRONG> uses  the  size  which
791        may be specified in the terminfo database (i.e., the <STRONG>cols</STRONG> capability).
792
793        It  is  important  that  your  application  use  a correct size for the
794        screen.  This is not always possible because your  application  may  be
795        running  on a host which does not honor NAWS (Negotiations About Window
796        Size), or because you are temporarily running as  another  user.   How-
797        ever,  setting  <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> overrides the library's use of the
798        screen size obtained from the operating system.
799
800        Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified  independently.   This
801        is  mainly useful to circumvent legacy misfeatures of terminal descrip-
802        tions, e.g., xterm which commonly specifies a 65 line screen.  For best
803        results,  <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified in a terminal descrip-
804        tion for terminals which are run as emulations.
805
806        Use the <STRONG>use_env</STRONG> function to disable all  use  of  external  environment
807        (but not including system calls) to determine the screen size.  Use the
808        <STRONG>use_tioctl</STRONG> function to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen size
809        obtained from system calls or the terminal database.
810
811
812 </PRE><H3><a name="h3-ESCDELAY">ESCDELAY</a></H3><PRE>
813        Specifies the total time, in milliseconds, for which ncurses will await
814        a character sequence, e.g., a function key.  The  default  value,  1000
815        milliseconds,  is enough for most uses.  However, it is made a variable
816        to accommodate unusual applications.
817
818        The most common instance where you may wish to change this value is  to
819        work  with  slow hosts, e.g., running on a network.  If the host cannot
820        read characters rapidly enough, it will have the same effect as if  the
821        terminal  did  not  send  characters  rapidly enough.  The library will
822        still see a timeout.
823
824        Note that xterm mouse events are  built  up  from  character  sequences
825        received from the xterm.  If your application makes heavy use of multi-
826        ple-clicking, you may wish to lengthen this default value  because  the
827        timeout  applies to the composed multi-click event as well as the indi-
828        vidual clicks.
829
830        In addition to the environment variable, this implementation provides a
831        global  variable  with the same name.  Portable applications should not
832        rely upon the presence of ESCDELAY in  either  form,  but  setting  the
833        environment  variable  rather  than the global variable does not create
834        problems when compiling an application.
835
836
837 </PRE><H3><a name="h3-HOME">HOME</a></H3><PRE>
838        Tells <STRONG>ncurses</STRONG> where your home directory is.  That is where it may  read
839        and write auxiliary terminal descriptions:
840
841            $HOME/.termcap
842            $HOME/.terminfo
843
844
845 </PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
846        Like COLUMNS, specify the height of the screen in characters.  See COL-
847        UMNS for a detailed description.
848
849
850 </PRE><H3><a name="h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></H3><PRE>
851        This applies only to the OS/2 EMX port.  It specifies the order of but-
852        tons  on  the mouse.  OS/2 numbers a 3-button mouse inconsistently from
853        other platforms:
854
855            1 = left
856            2 = right
857            3 = middle.
858
859        This variable lets you customize the mouse.  The variable must be three
860        numeric digits 1-3 in any order, e.g., 123 or 321.  If it is not speci-
861        fied, <STRONG>ncurses</STRONG> uses 132.
862
863
864 </PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
865        Override the compiled-in assumption that the terminal's default  colors
866        are  white-on-black  (see  <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>).   You may set the fore-
867        ground and background color values with this  environment  variable  by
868        proving  a 2-element list: foreground,background.  For example, to tell
869        ncurses to not assume anything about the colors, set this  to  "-1,-1".
870        To  make  it  green-on-black, set it to "2,0".  Any positive value from
871        zero to the terminfo <STRONG>max_colors</STRONG> value is allowed.
872
873
874 </PRE><H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
875        This applies only to the MinGW port of ncurses.
876
877        The <STRONG>Console2</STRONG> program's handling of the Microsoft Console API call  <STRONG>Cre-</STRONG>
878        <STRONG>ateConsoleScreenBuffer</STRONG>  is defective.  Applications which use this will
879        hang.  However, it is possible to simulate the action of this  call  by
880        mapping  coordinates,  explicitly  saving  and  restoring  the original
881        screen contents.  Setting the environment variable <STRONG>NCGDB</STRONG> has  the  same
882        effect.
883
884
885 </PRE><H3><a name="h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></H3><PRE>
886        This applies only to ncurses configured to use the GPM interface.
887
888        If  present, the environment variable is a list of one or more terminal
889        names against which the <STRONG>TERM</STRONG> environment variable is matched.   Setting
890        it  to  an  empty  value disables the GPM interface; using the built-in
891        support for xterm, etc.
892
893        If the environment variable is absent, ncurses will attempt to open GPM
894        if <STRONG>TERM</STRONG> contains "linux".
895
896
897 </PRE><H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
898        <STRONG>Ncurses</STRONG>  may  use tabs as part of the cursor movement optimization.  In
899        some cases, your terminal driver may not handle  these  properly.   Set
900        this  environment variable to disable the feature.  You can also adjust
901        your <STRONG>stty</STRONG> settings to avoid the problem.
902
903
904 </PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></H3><PRE>
905        Some terminals use a magic-cookie feature which requires  special  han-
906        dling to make highlighting and other video attributes display properly.
907        You can suppress the highlighting entirely for these terminals by  set-
908        ting this environment variable.
909
910
911 </PRE><H3><a name="h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></H3><PRE>
912        Most  of the terminal descriptions in the terminfo database are written
913        for real "hardware" terminals.   Many  people  use  terminal  emulators
914        which run in a windowing environment and use curses-based applications.
915        Terminal emulators can duplicate all of  the  important  aspects  of  a
916        hardware  terminal,  but  they  do  not have the same limitations.  The
917        chief limitation of a hardware terminal from  the  standpoint  of  your
918        application  is  the  management  of  dataflow, i.e., timing.  Unless a
919        hardware terminal is interfaced into  a  terminal  concentrator  (which
920        does flow control), it (or your application) must manage dataflow, pre-
921        venting overruns.  The cheapest solution (no hardware cost) is for your
922        program  to  do this by pausing after operations that the terminal does
923        slowly, such as clearing the display.
924
925        As a result, many terminal  descriptions  (including  the  vt100)  have
926        delay  times embedded.  You may wish to use these descriptions, but not
927        want to pay the performance penalty.
928
929        Set the NCURSES_NO_PADDING environment  variable  to  disable  all  but
930        mandatory padding.  Mandatory padding is used as a part of special con-
931        trol sequences such as <EM>flash</EM>.
932
933
934 </PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
935        This setting is obsolete.  Before changes
936
937           <STRONG>o</STRONG>   started with 5.9 patch 20120825 and
938
939           <STRONG>o</STRONG>   continued though 5.9 patch 20130126
940
941        <STRONG>ncurses</STRONG> enabled buffered output during terminal  initialization.   This
942        was done (as in SVr4 curses) for performance reasons.  For testing pur-
943        poses, both of <STRONG>ncurses</STRONG> and certain applications, this feature was  made
944        optional.   Setting  the  NCURSES_NO_SETBUF  variable  disabled  output
945        buffering, leaving the output in the original (usually  line  buffered)
946        mode.
947
948        In  the  current implementation, ncurses performs its own buffering and
949        does not require this workaround.  It does not modify the buffering  of
950        the standard output.
951
952        The  reason  for the change was to make the behavior for interrupts and
953        other signals more robust.  One drawback  is  that  certain  nonconven-
954        tional  programs  would mix ordinary stdio calls with ncurses calls and
955        (usually) work.  This is no longer possible since ncurses is not  using
956        the  buffered  standard  output  but  its  own output (to the same file
957        descriptor).  As a special case, the low-level calls such as <STRONG>putp</STRONG> still
958        use the standard output.  But high-level curses calls do not.
959
960
961 </PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
962        During  initialization,  the  <STRONG>ncurses</STRONG>  library checks for special cases
963        where VT100 line-drawing (and the corresponding alternate character set
964        capabilities)  described  in  the  terminfo  are  known  to be missing.
965        Specifically, when running in a UTF-8 locale, the Linux console  emula-
966        tor  and  the GNU screen program ignore these.  Ncurses checks the <STRONG>TERM</STRONG>
967        environment variable for these.  For other special  cases,  you  should
968        set this environment variable.  Doing this tells ncurses to use Unicode
969        values which correspond to the VT100 line-drawing glyphs.   That  works
970        for  the special cases cited, and is likely to work for terminal emula-
971        tors.
972
973        When setting this variable, you should set it to a nonzero value.  Set-
974        ting  it  to  zero  (or  to a nonnumber) disables the special check for
975        "linux" and "screen".
976
977        As an alternative to the environment variable, ncurses  checks  for  an
978        extended  terminfo  capability  <STRONG>U8</STRONG>.  This is a numeric capability which
979        can be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>.  For example
980
981           # linux console, if patched to provide working
982           # VT100 shift-in/shift-out, with corresponding font.
983           linux-vt100|linux console with VT100 line-graphics,
984                   U8#0, use=linux,
985
986           # uxterm with vt100Graphics resource set to false
987           xterm-utf8|xterm relying on UTF-8 line-graphics,
988                   U8#1, use=xterm,
989
990        The name "U8" is chosen to be two characters, to permit it to  be  used
991        by applications that use ncurses' termcap interface.
992
993
994 </PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
995        During   initialization,  the  <STRONG>ncurses</STRONG>  debugging  library  checks  the
996        NCURSES_TRACE environment variable.  If it is  defined,  to  a  numeric
997        value,  <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function, using that value as the argu-
998        ment.
999
1000        The argument values, which are defined  in  <STRONG>curses.h</STRONG>,  provide  several
1001        types  of information.  When running with traces enabled, your applica-
1002        tion will write the file <STRONG>trace</STRONG> to the current directory.
1003
1004        See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
1005
1006
1007 </PRE><H3><a name="h3-TERM">TERM</a></H3><PRE>
1008        Denotes your terminal type.  Each terminal  type  is  distinct,  though
1009        many are similar.
1010
1011        <STRONG>TERM</STRONG>  is commonly set by terminal emulators to help applications find a
1012        workable terminal description.  Some of those choose a popular approxi-
1013        mation,  e.g.,  "ansi", "vt100", "xterm" rather than an exact fit.  Not
1014        infrequently, your application will have problems with  that  approach,
1015        e.g., incorrect function-key definitions.
1016
1017        If  you set <STRONG>TERM</STRONG> in your environment, it has no effect on the operation
1018        of the terminal emulator.  It only affects the  way  applications  work
1019        within  the  terminal.  Likewise, as a general rule (<STRONG>xterm</STRONG> being a rare
1020        exception), terminal emulators which allow you to  specify  <STRONG>TERM</STRONG>  as  a
1021        parameter  or configuration value do not change their behavior to match
1022        that setting.
1023
1024
1025 </PRE><H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
1026        If the <STRONG>ncurses</STRONG>  library  has  been  configured  with  <EM>termcap</EM>  support,
1027        <STRONG>ncurses</STRONG>  will  check for a terminal's description in termcap form if it
1028        is not available in the terminfo database.
1029
1030        The <STRONG>TERMCAP</STRONG> environment variable contains either a terminal description
1031        (with newlines stripped out), or a file name telling where the informa-
1032        tion denoted by the <STRONG>TERM</STRONG> environment variable exists.  In either  case,
1033        setting  it directs <STRONG>ncurses</STRONG> to ignore the usual place for this informa-
1034        tion, e.g., /etc/termcap.
1035
1036
1037 </PRE><H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
1038        <STRONG>ncurses</STRONG> can be configured to read  from  multiple  terminal  databases.
1039        The  <STRONG>TERMINFO</STRONG>  variable overrides the location for the default terminal
1040        database.  Terminal descriptions (in terminal  format)  are  stored  in
1041        terminal databases:
1042
1043        <STRONG>o</STRONG>   Normally these are stored in a directory tree, using subdirectories
1044            named by the first letter of the terminal names therein.
1045
1046            This is the scheme used in System V, which legacy Unix systems use,
1047            and  the  <STRONG>TERMINFO</STRONG> variable is used by <EM>curses</EM> applications on those
1048            systems to override the default location of the terminal database.
1049
1050        <STRONG>o</STRONG>   If <STRONG>ncurses</STRONG> is built to use hashed databases,  then  each  entry  in
1051            this list may be the path of a hashed database file, e.g.,
1052
1053                /usr/share/terminfo.db
1054
1055            rather than
1056
1057                /usr/share/terminfo/
1058
1059            The  hashed  database  uses  less disk-space and is a little faster
1060            than the directory tree.  However,  some  applications  assume  the
1061            existence  of  the  directory tree, reading it directly rather than
1062            using the terminfo library calls.
1063
1064        <STRONG>o</STRONG>   If <STRONG>ncurses</STRONG> is built  with  a  support  for  reading  termcap  files
1065            directly,  then  an entry in this list may be the path of a termcap
1066            file.
1067
1068        <STRONG>o</STRONG>   If the <STRONG>TERMINFO</STRONG> variable begins with "hex:" or "b64:", <STRONG>ncurses</STRONG> uses
1069            the  remainder of that variable as a compiled terminal description.
1070            You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
1071
1072                TERMINFO="$(infocmp -0 -Q2 -q)"
1073                export TERMINFO
1074
1075            The compiled description is used if it corresponds to the  terminal
1076            identified by the <STRONG>TERM</STRONG> variable.
1077
1078        Setting  <STRONG>TERMINFO</STRONG> is the simplest, but not the only way to set location
1079        of the default terminal database.  The complete list of database  loca-
1080        tions in order follows:
1081
1082           <STRONG>o</STRONG>   the  last  terminal  database to which <STRONG>ncurses</STRONG> wrote, if any, is
1083               searched first
1084
1085           <STRONG>o</STRONG>   the location specified by the TERMINFO environment variable
1086
1087           <STRONG>o</STRONG>   $HOME/.terminfo
1088
1089           <STRONG>o</STRONG>   locations listed in the TERMINFO_DIRS environment variable
1090
1091           <STRONG>o</STRONG>   one or more locations whose names are  configured  and  compiled
1092               into the ncurses library, i.e.,
1093
1094              <STRONG>o</STRONG>   /usr/local/ncurses/share/terminfo:/usr/share/terminfo (corre-
1095                  sponding to the TERMINFO_DIRS variable)
1096
1097              <STRONG>o</STRONG>   /usr/share/terminfo (corresponding to the TERMINFO variable)
1098
1099
1100 </PRE><H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
1101        Specifies a list of locations  to  search  for  terminal  descriptions.
1102        Each  location  in  the list is a terminal database as described in the
1103        section on the <STRONG>TERMINFO</STRONG> variable.  The  list  is  separated  by  colons
1104        (i.e., ":") on Unix, semicolons on OS/2 EMX.
1105
1106        There is no corresponding feature in System V terminfo; it is an exten-
1107        sion developed for <STRONG>ncurses</STRONG>.
1108
1109
1110 </PRE><H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
1111        If <STRONG>TERMCAP</STRONG> does not hold a file name then <STRONG>ncurses</STRONG> checks  the  <STRONG>TERMPATH</STRONG>
1112        environment  variable.  This is a list of filenames separated by spaces
1113        or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
1114
1115        If the <STRONG>TERMPATH</STRONG> environment variable is not set, <STRONG>ncurses</STRONG> looks  in  the
1116        files
1117
1118            /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
1119
1120        in that order.
1121
1122        The library may be configured to disregard the following variables when
1123        the current user is the superuser (root), or if  the  application  uses
1124        setuid or setgid permissions:
1125
1126            $TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
1127
1128
1129 </PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
1130        Several different configurations are possible, depending on the config-
1131        ure script options used when building <STRONG>ncurses</STRONG>.  There are  a  few  main
1132        options  whose  effects are visible to the applications developer using
1133        <STRONG>ncurses</STRONG>:
1134
1135        --disable-overwrite
1136             The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYNOPSIS</STRONG>:
1137
1138                 <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
1139
1140             This option is used to avoid filename conflicts  when  <STRONG>ncurses</STRONG>  is
1141             not the main implementation of curses of the computer.  If <STRONG>ncurses</STRONG>
1142             is installed disabling overwrite, it puts its headers in a  subdi-
1143             rectory, e.g.,
1144
1145                 <STRONG>#include</STRONG> <STRONG>&lt;ncurses/curses.h&gt;</STRONG>
1146
1147             It  also  omits  a  symbolic  link  which  would  allow you to use
1148             <STRONG>-lcurses</STRONG> to build executables.
1149
1150        --enable-widec
1151             The configure script  renames  the  library  and  (if  the  <STRONG>--dis-</STRONG>
1152             <STRONG>able-overwrite</STRONG>  option is used) puts the header files in a differ-
1153             ent subdirectory.  All of the library names have a "w" appended to
1154             them, i.e., instead of
1155
1156                 <STRONG>-lncurses</STRONG>
1157
1158             you link with
1159
1160                 <STRONG>-lncursesw</STRONG>
1161
1162             You  must  also  enable  the wide-character features in the header
1163             file when compiling for the  wide-character  library  to  use  the
1164             extended  (wide-character)  functions.   The  symbol which enables
1165             these features has changed since XSI Curses, Issue 4:
1166
1167             <STRONG>o</STRONG>   Originally, the wide-character  feature  required  the  symbol
1168                 <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG>  but  that  was  only  valid  for  XPG4
1169                 (1996).
1170
1171             <STRONG>o</STRONG>   Later, that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG>  defined
1172                 to 500.
1173
1174             <STRONG>o</STRONG>   As  of  mid-2018,  none of the features in this implementation
1175                 require a <STRONG>_XOPEN_SOURCE</STRONG> feature greater  than  600.   However,
1176                 X/Open Curses, Issue 7 (2009) recommends defining it to 700.
1177
1178             <STRONG>o</STRONG>   Alternatively,   you   can  enable  the  feature  by  defining
1179                 <STRONG>NCURSES_WIDECHAR</STRONG> with the caveat that some other  header  file
1180                 than  <STRONG>curses.h</STRONG>  may require a specific value for <STRONG>_XOPEN_SOURCE</STRONG>
1181                 (or a system-specific symbol).
1182
1183             The <STRONG>curses.h</STRONG>  file  which  is  installed  for  the  wide-character
1184             library  is  designed  to  be compatible with the normal library's
1185             header.  Only the size of the <STRONG>WINDOW</STRONG> structure differs,  and  very
1186             few applications require more than a pointer to <STRONG>WINDOW</STRONG>s.
1187
1188             If  the headers are installed allowing overwrite, the wide-charac-
1189             ter library's headers should be installed last, to allow  applica-
1190             tions  to be built using either library from the same set of head-
1191             ers.
1192
1193        --with-pthread
1194             The configure script renames the  library.   All  of  the  library
1195             names  have  a  "t"  appended  to  them  (before  any "w" added by
1196             <STRONG>--enable-widec</STRONG>).
1197
1198             The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow
1199             read-only access.  At the same time, setter-functions are provided
1200             to set these values.  Some applications  (very  few)  may  require
1201             changes to work with this convention.
1202
1203        --with-shared
1204
1205        --with-normal
1206
1207        --with-debug
1208
1209        --with-profile
1210             The  shared and normal (static) library names differ by their suf-
1211             fixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libncurses.a</STRONG>.  The debug  and  pro-
1212             filing  libraries  add a "_g" and a "_p" to the root names respec-
1213             tively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
1214
1215        --with-trace
1216             The <STRONG>trace</STRONG> function normally resides in the debug library,  but  it
1217             is sometimes useful to configure this in the shared library.  Con-
1218             figure scripts should check for the  function's  existence  rather
1219             than assuming it is always in the debug library.
1220
1221
1222 </PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
1223        /usr/share/tabset
1224             directory  containing  initialization files for the terminal capa-
1225             bility database /usr/share/terminfo terminal capability database
1226
1227
1228 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
1229        <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin  "curs_"  for  detailed
1230        routine descriptions.
1231        <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
1232        <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> for user-defined capabilities
1233
1234
1235 </PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
1236        The  <STRONG>ncurses</STRONG> library can be compiled with an option (<STRONG>-DUSE_GETCAP</STRONG>) that
1237        falls back to the old-style /etc/termcap file  if  the  terminal  setup
1238        code  cannot  find a terminfo entry corresponding to <STRONG>TERM</STRONG>.  Use of this
1239        feature is not recommended, as it essentially includes an entire  term-
1240        cap  compiler  in the <STRONG>ncurses</STRONG> startup code, at significant cost in core
1241        and startup cycles.
1242
1243        The <STRONG>ncurses</STRONG> library includes facilities for capturing mouse  events  on
1244        certain  terminals  (including  xterm).   See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual
1245        page for details.
1246
1247        The <STRONG>ncurses</STRONG> library includes facilities for responding to window resiz-
1248        ing events, e.g., when running in an xterm.  See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and
1249        <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for details.  In addition, the library may  be
1250        configured with a <STRONG>SIGWINCH</STRONG> handler.
1251
1252        The  <STRONG>ncurses</STRONG> library extends the fixed set of function key capabilities
1253        of terminals by allowing the application designer to define  additional
1254        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
1255        <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> manual pages for details.
1256
1257        The <STRONG>ncurses</STRONG> library can exploit the  capabilities  of  terminals  which
1258        implement  the  ISO-6429  SGR  39  and  SGR 49 controls, which allow an
1259        application to reset the terminal to its original foreground and  back-
1260        ground colors.  From the users' perspective, the application is able to
1261        draw colored text on a background whose  color  is  set  independently,
1262        providing  better  control  over color contrasts.  See the <STRONG>default_col-</STRONG>
1263        <STRONG><A HREF="default_colors.3x.html">ors(3x)</A></STRONG> manual page for details.
1264
1265        The <STRONG>ncurses</STRONG> library includes a function for directing application  out-
1266        put   to   a   printer  attached  to  the  terminal  device.   See  the
1267        <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
1268
1269
1270 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
1271        The <STRONG>ncurses</STRONG> library is intended to be BASE-level  conformant  with  XSI
1272        Curses.   The  EXTENDED  XSI Curses functionality (including color sup-
1273        port) is supported.
1274
1275        A small number of local differences (that  is,  individual  differences
1276        between  the XSI Curses and <STRONG>ncurses</STRONG> calls) are described in <STRONG>PORTABILITY</STRONG>
1277        sections of the library man pages.
1278
1279        Unlike other implementations, this one checks parameters such as point-
1280        ers  to WINDOW structures to ensure they are not null.  The main reason
1281        for providing this behavior is to guard against programmer error.   The
1282        standard  interface  does  not provide a way for the library to tell an
1283        application which of several possible errors were detected.  Relying on
1284        this (or some other) extension will adversely affect the portability of
1285        curses applications.
1286
1287        This implementation also contains several extensions:
1288
1289        <STRONG>o</STRONG>   The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it present in SVr4.
1290            See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page for details.
1291
1292        <STRONG>o</STRONG>   The  routine  <STRONG>slk_attr</STRONG>  is  not  part of XPG4, nor is it present in
1293            SVr4.  See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for details.
1294
1295        <STRONG>o</STRONG>   The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>,  <STRONG>ungetmouse</STRONG>,  <STRONG>mouseinterval</STRONG>,  and
1296            <STRONG>wenclose</STRONG>  relating  to  mouse interfacing are not part of XPG4, nor
1297            are they present in SVr4.  See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual  page  for
1298            details.
1299
1300        <STRONG>o</STRONG>   The  routine  <STRONG>mcprint</STRONG> was not present in any previous curses imple-
1301            mentation.  See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
1302
1303        <STRONG>o</STRONG>   The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it present in SVr4.
1304            See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for details.
1305
1306        <STRONG>o</STRONG>   The WINDOW structure's internal details can be hidden from applica-
1307            tion programs.  See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for the discussion of <STRONG>is_scrol-</STRONG>
1308            <STRONG>lok</STRONG>, etc.
1309
1310        <STRONG>o</STRONG>   This  implementation  can be configured to provide rudimentary sup-
1311            port for multi-threaded  applications.   See  <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>  for
1312            details.
1313
1314        <STRONG>o</STRONG>   This  implementation  can  also  be  configured to provide a set of
1315            functions which improve the ability  to  manage  multiple  screens.
1316            See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
1317
1318        In  historic  curses  versions, delays embedded in the capabilities <STRONG>cr</STRONG>,
1319        <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits  in  the  UNIX
1320        tty driver.  In this implementation, all padding is done by sending NUL
1321        bytes.  This method is slightly more expensive, but narrows the  inter-
1322        face  to  the  UNIX  kernel  significantly  and increases the package's
1323        portability correspondingly.
1324
1325
1326 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
1327        The header file <STRONG>&lt;curses.h&gt;</STRONG>  automatically  includes  the  header  files
1328        <STRONG>&lt;stdio.h&gt;</STRONG> and <STRONG>&lt;unctrl.h&gt;</STRONG>.
1329
1330        If  standard  output from a <STRONG>ncurses</STRONG> program is re-directed to something
1331        which is not a tty, screen updates will be directed to standard  error.
1332        This was an undocumented feature of AT&amp;T System V Release 3 curses.
1333
1334
1335 </PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
1336        Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.  Based on pcurses
1337        by Pavel Curtis.
1338
1339
1340
1341                                                                    <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
1342 </PRE>
1343 <div class="nav">
1344 <ul>
1345 <li><a href="#h2-NAME">NAME</a></li>
1346 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
1347 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
1348 <ul>
1349 <li><a href="#h3-Initialization">Initialization</a></li>
1350 <li><a href="#h3-Datatypes">Datatypes</a></li>
1351 <li><a href="#h3-Environment-variables">Environment variables</a></li>
1352 <li><a href="#h3-Routine-and-Argument-Names">Routine and Argument Names</a></li>
1353 <li><a href="#h3-Routine-Name-Index">Routine Name Index</a></li>
1354 </ul>
1355 </li>
1356 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
1357 <li><a href="#h2-ENVIRONMENT">ENVIRONMENT</a>
1358 <ul>
1359 <li><a href="#h3-CC-command-character">CC command-character</a></li>
1360 <li><a href="#h3-BAUDRATE">BAUDRATE</a></li>
1361 <li><a href="#h3-COLUMNS">COLUMNS</a></li>
1362 <li><a href="#h3-ESCDELAY">ESCDELAY</a></li>
1363 <li><a href="#h3-HOME">HOME</a></li>
1364 <li><a href="#h3-LINES">LINES</a></li>
1365 <li><a href="#h3-MOUSE_BUTTONS_123">MOUSE_BUTTONS_123</a></li>
1366 <li><a href="#h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></li>
1367 <li><a href="#h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></li>
1368 <li><a href="#h3-NCURSES_GPM_TERMS">NCURSES_GPM_TERMS</a></li>
1369 <li><a href="#h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></li>
1370 <li><a href="#h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></li>
1371 <li><a href="#h3-NCURSES_NO_PADDING">NCURSES_NO_PADDING</a></li>
1372 <li><a href="#h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></li>
1373 <li><a href="#h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></li>
1374 <li><a href="#h3-NCURSES_TRACE">NCURSES_TRACE</a></li>
1375 <li><a href="#h3-TERM">TERM</a></li>
1376 <li><a href="#h3-TERMCAP">TERMCAP</a></li>
1377 <li><a href="#h3-TERMINFO">TERMINFO</a></li>
1378 <li><a href="#h3-TERMINFO_DIRS">TERMINFO_DIRS</a></li>
1379 <li><a href="#h3-TERMPATH">TERMPATH</a></li>
1380 </ul>
1381 </li>
1382 <li><a href="#h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></li>
1383 <li><a href="#h2-FILES">FILES</a></li>
1384 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
1385 <li><a href="#h2-EXTENSIONS">EXTENSIONS</a></li>
1386 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
1387 <li><a href="#h2-NOTES">NOTES</a></li>
1388 <li><a href="#h2-AUTHORS">AUTHORS</a></li>
1389 </ul>
1390 </div>
1391 </BODY>
1392 </HTML>